WIP: Sicherheitsnetz vor Phase-1-R\u00fcckbau
Enth\u00e4lt gemischt: Laravel-10-Upgrade + Phase 1 (Contacts-Modul, Duplicats-Commands, Soft-Delete+Merge-Fields) + Phase 2 Code-Umstellungen (inquiry_id, $table='contacts'/'inquiries') + Offers-Modul (Migrationen, Models, offer_id in Booking, offer-Disk in filesystems.php). Phase 2 + Offers werden im folgenden Commit nach dev/backups/phase2-offers-2026-04-17/ verschoben, damit der Workspace auf Phase-1-only (= Test-System-Stand) reduziert ist und direkt auf Live deploybar wird. Tarball-Backup zus\u00e4tzlich unter: ../backups-safety/workspace-pre-phase1-rollback-2026-04-17.tar.gz Made-with: Cursor
This commit is contained in:
parent
389d5d1820
commit
e3dc1afd8e
165 changed files with 21914 additions and 3516 deletions
122
resources/views/contact/_detail_history.blade.php
Normal file
122
resources/views/contact/_detail_history.blade.php
Normal file
|
|
@ -0,0 +1,122 @@
|
|||
@php $modal = $modal ?? false; @endphp
|
||||
|
||||
@if(!$modal)
|
||||
<div class="card mb-2 border-primary">
|
||||
<h6 class="card-header bg-primary text-white py-2"
|
||||
data-toggle="collapse" data-target="#collapseContactHistory"
|
||||
aria-expanded="false" aria-controls="collapseContactHistory">
|
||||
<strong style="line-height: 1.6em">
|
||||
Anfragen <span class="badge badge-secondary">{{ $contact->leads->count() }}</span>
|
||||
</strong>
|
||||
|
|
||||
<strong style="line-height: 1.6em">
|
||||
Buchungen <span class="badge badge-secondary">{{ $contact->bookings->count() }}</span>
|
||||
</strong>
|
||||
</h6>
|
||||
<div class="collapse" id="collapseContactHistory">
|
||||
<div class="card-body">
|
||||
@endif
|
||||
|
||||
{{-- Anfragen --}}
|
||||
@if($contact->leads->isNotEmpty())
|
||||
<h6 class="text-muted mb-2">{{ __('Anfragen') }}</h6>
|
||||
<div class="table-responsive">
|
||||
<table class="table table-striped table-sm mb-4">
|
||||
<thead>
|
||||
<tr>
|
||||
<th style="max-width: 80px;">{{ __('ID') }}</th>
|
||||
<th>{{ __('Sachbearbeiter') }}</th>
|
||||
<th>{{ __('Status') }}</th>
|
||||
<th>{{ __('Anfrage-Datum') }}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@foreach($contact->leads as $lead)
|
||||
<tr>
|
||||
<td>
|
||||
<a href="{{ route('lead_detail', [$lead->id]) }}" class="btn icon-btn btn-sm btn-primary" target="{{ $modal ? '_blank' : '_self' }}">
|
||||
<span class="fa fa-edit"></span>
|
||||
</a>
|
||||
{{ $lead->id }}
|
||||
</td>
|
||||
<td>
|
||||
@if($lead->sf_guard_user_id && $lead->sf_guard_user)
|
||||
{{ $lead->sf_guard_user->first_name }} {{ $lead->sf_guard_user->last_name }}
|
||||
@endif
|
||||
</td>
|
||||
<td>{!! $lead->getStatusBadge() !!}</td>
|
||||
<td>{{ _format_date($lead->request_date) }}</td>
|
||||
</tr>
|
||||
@endforeach
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
@else
|
||||
<p class="text-muted small mb-4">{{ __('Keine Anfragen vorhanden.') }}</p>
|
||||
@endif
|
||||
|
||||
<hr class="my-3">
|
||||
|
||||
{{-- Buchungen --}}
|
||||
@if($contact->bookings->isNotEmpty())
|
||||
<h6 class="text-muted mb-2">{{ __('Buchungen') }}</h6>
|
||||
<div class="table-responsive">
|
||||
<table class="table table-striped table-sm">
|
||||
<thead>
|
||||
<tr>
|
||||
<th style="max-width: 80px;">{{ __('ID') }}</th>
|
||||
<th>{{ __('Reiseland') }}</th>
|
||||
<th>{{ __('Programm') }}</th>
|
||||
<th>{{ __('Anreise') }}</th>
|
||||
<th>{{ __('Abreise') }}</th>
|
||||
<th>{{ __('Sachbearbeiter') }}</th>
|
||||
<th>{{ __('Status') }}</th>
|
||||
<th>{{ __('Datum') }}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@foreach($contact->bookings as $booking)
|
||||
<tr>
|
||||
<td>
|
||||
<a href="{{ route('booking_detail', [$booking->id]) }}" class="btn icon-btn btn-sm btn-primary" target="{{ $modal ? '_blank' : '_self' }}">
|
||||
<span class="fa fa-edit"></span>
|
||||
</a>
|
||||
{{ $booking->id }}
|
||||
</td>
|
||||
<td>
|
||||
@if($booking->travel_country_id && $booking->travel_country)
|
||||
{{ $booking->travel_country->name }}
|
||||
@endif
|
||||
</td>
|
||||
<td>
|
||||
@if($booking->travelagenda_id && $booking->travel_agenda)
|
||||
{{ $booking->travel_agenda->name }}
|
||||
@endif
|
||||
</td>
|
||||
<td>{{ _format_date($booking->start_date) }}</td>
|
||||
<td>{{ _format_date($booking->end_date) }}</td>
|
||||
<td>
|
||||
@if($booking->sf_guard_user_id && $booking->sf_guard_user)
|
||||
{{ $booking->sf_guard_user->first_name }} {{ $booking->sf_guard_user->last_name }}
|
||||
@endif
|
||||
</td>
|
||||
<td>
|
||||
@if($booking->lead)
|
||||
{!! $booking->lead->getStatusBadge($booking) !!}
|
||||
@endif
|
||||
</td>
|
||||
<td>{{ _format_date($booking->booking_date) }}</td>
|
||||
</tr>
|
||||
@endforeach
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
@else
|
||||
<p class="text-muted small">{{ __('Keine Buchungen vorhanden.') }}</p>
|
||||
@endif
|
||||
|
||||
@if(!$modal)
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@endif
|
||||
Loading…
Add table
Add a link
Reference in a new issue