@extends('layout.app') @section('title', __('Test')) @push('styles') @endpush @section('data_col', '2-columns') @section('body_class', '2-columns') @section('content')

{{ __('Réservations et Passagers') }}

{{ __('Sélectionnez les passagers à ajouter au trip (glisser-déposer)') }}

{{--
@csrf
{{ __('Référence Réservation') }}
{{ __('Mission') }}
{{ __('Site départ') }}
{{ __('Site destination') }}
{{ __('Priorité') }}
{{ __('Date réservation') }}
{{ __('Référence Passager') }}
{{ __('Nom Passager') }}
{{ __('Réinitialiser') }}
@if(request()->anyFilled(['reservation_ref', 'mission_id', 'depart_site_id', 'destination_site_id', 'priority', 'date', 'passager_ref', 'passager_name']))
{{ __('Filtres actifs:') }}
@if(request('reservation_ref')) Rés: #{{ request('reservation_ref') }} @endif @if(request('mission_id')) @php $mission = \App\Models\Mission::find(request('mission_id')); @endphp @if($mission) {{ $mission->name }} @endif @endif @if(request('depart_site_id')) @php $depart_site = \App\Models\Site::find(request('depart_site_id')); @endphp @if($depart_site) Départ: {{ $depart_site->name }} @endif @endif @if(request('destination_site_id')) @php $dest_site = \App\Models\Site::find(request('destination_site_id')); @endphp @if($dest_site) Destination: {{ $dest_site->name }} @endif @endif @if(request('priority')) Priorité: {{ __(ucfirst(request('priority'))) }} @endif @if(request('date')) Date: {{ request('date') }} @endif @if(request('passager_ref')) Passager #: {{ request('passager_ref') }} @endif @if(request('passager_name')) Passager: {{ request('passager_name') }} @endif
@endif
--}}
@php // Construction de la requête avec filtres $query = \App\Models\Reservation\Reservation::with(['mission', 'employe', 'depart_site', 'destination_site']) ->whereIn('status', ['accepted', 'pending']); // Filtre par référence réservation if(request('reservation_ref')) { $query->where('reference', 'LIKE', '%' . request('reservation_ref') . '%'); } // Filtre par mission if(request('mission_id')) { $query->where('mission_id', request('mission_id')); } // Filtre par site départ if(request('depart_site_id')) { $query->where('depart_site_id', request('depart_site_id')); } // Filtre par site destination if(request('destination_site_id')) { $query->where('destination_site_id', request('destination_site_id')); } // Filtre par priorité if(request('priority')) { $query->where('priority', request('priority')); } // Filtre par date if(request('date')) { $query->whereDate('date', request('date')); } $reservations = $query->get(); // Filtrer les passagers selon les critères $filteredPassagers = collect(); foreach ($reservations as $reservation) { $passagers = $reservation->passagers(); // Filtre par référence passager if(request('passager_ref')) { $passagers = $passagers->filter(function($passager) { return stripos($passager->reference, request('passager_ref')) !== false; }); } // Filtre par nom passager if(request('passager_name')) { $passagers = $passagers->filter(function($passager) { $fullName = $passager->first_name . ' ' . $passager->last_name; return stripos($fullName, request('passager_name')) !== false || stripos($passager->first_name, request('passager_name')) !== false || stripos($passager->last_name, request('passager_name')) !== false; }); } foreach ($passagers as $passager) { $filteredPassagers->push([ 'passager' => $passager, 'reservation' => $reservation ]); } } @endphp
@forelse ($filteredPassagers as $item) @php $passager = $item['passager']; $reservation = $item['reservation']; @endphp
#{{ $passager->reference }} {{ $passager->first_name }} {{ $passager->last_name }}
Rés: #{{ $reservation->reference }}
{{ $reservation->depart_site->name ?? $reservation->depart }} → {{ $reservation->destination_site->name ?? $reservation->destination }}
@if($reservation->mission) {{ $reservation->mission->name }} @endif {{ __(ucfirst($reservation->priority)) }} {{ $reservation->date->format('d/m/Y H:i') }}
@empty
{{ __('Aucun passager trouvé') }}

{{ __('Essayez de modifier vos critères de filtre') }}

@endforelse
{{ __('Total') }}: {{ $filteredPassagers->count() }} {{ __('passagers') }}

{{ __('Trip en cours de constitution') }}

{{ __('Déposez les passagers ici pour les ajouter au trip') }}

@csrf
{{ __('Passagers sélectionnés') }} 0
@endsection @section('modals') @endsection @push('scripts') @endpush