@extends('layouts.app') @section('styles') @endsection @section('content') @php // Calculer le nombre de nuits $nights = 0; if ($reservation->date_arrive && $reservation->date_depart) { try { $nights = \Carbon\Carbon::parse($reservation->date_arrive) ->diffInDays(\Carbon\Carbon::parse($reservation->date_depart)); } catch (Exception $e) { $nights = 0; } } // Fonction pour gérer la pluralisation selon la langue function getPluralizedText($count, $type, $lang = 'ar') { if ($lang === 'ar') { if ($type === 'nights') { if ($count === 1) return 'ليلة'; if ($count === 2) return 'ليلتين'; if ($count >= 3 && $count <= 10) return 'ليالي'; return 'ليلة'; } if ($type === 'persons') { if ($count === 1) return 'شخص'; if ($count === 2) return 'شخصين'; if ($count >= 3 && $count <= 10) return 'أشخاص'; return 'شخص'; } } else if ($lang === 'fr') { if ($type === 'nights') { return $count === 1 ? 'nuit' : 'nuits'; } if ($type === 'persons') { return $count === 1 ? 'personne' : 'personnes'; } } else { if ($type === 'nights') { return $count === 1 ? 'night' : 'nights'; } if ($type === 'persons') { return $count === 1 ? 'person' : 'persons'; } } return ''; } // Déterminer la langue courante $currentLang = app()->getLocale(); // Récupérer les données de restauration par jour $restaurationsJours = collect(); if ($reservation->restaurationsJours && $reservation->restaurationsJours->count() > 0) { $restaurationsJours = $reservation->restaurationsJours->groupBy('date_service'); } // Récupérer les données de café par jour $cafeJours = collect(); if ($reservation->cafes && $reservation->cafes->count() > 0) { $cafeJours = $reservation->cafes->keyBy('date_service'); } // Générer la liste des dates du séjour $datesSejour = []; if ($reservation->date_arrive && $reservation->date_depart) { $start = \Carbon\Carbon::parse($reservation->date_arrive); $end = \Carbon\Carbon::parse($reservation->date_depart); for ($i = 0; $i < $nights; $i++) { $currentDate = clone $start; $currentDate->addDays($i); $datesSejour[] = $currentDate->format('Y-m-d'); } } // Vérifier s'il y a des données de restauration $hasRestoData = $restaurationsJours->isNotEmpty(); // Vérifier s'il y a des données de café $hasCafeData = $cafeJours->isNotEmpty() && $cafeJours->sum('quantite') > 0; @endphp
| {{ __('site.reservation.type_delegation') }} | {{ __('site.reservation.type_accomodation') }} | {{ __('site.reservation.hommes_tarif') }} | {{ __('site.reservation.femmes_tarif') }} | {{ __('site.reservation.tarif_per_person') }} | {{ __('site.reservation.subtotal_tarif') }} | {{ __('site.reservation.total_persons') }} |
|---|---|---|---|---|---|---|
| @if($person->typeTarif ?? false) @if(app()->getLocale() === 'ar') {{ $person->typeTarif->type_ar ?? '' }} @elseif(app()->getLocale() === 'fr') {{ $person->typeTarif->type_fr ?? '' }} @else {{ $person->typeTarif->type_en ?? '' }} @endif @if(($person->typeTarif->type ?? '') == 'groupe') ({{ __('site.reservation.group') }}) @else ({{ __('site.reservation.individual') }}) @endif @else {{ __('site.reservation.no_value') }} @endif | @if($person->accomodation_type == 'chambre') {{ __('site.reservation.accomodation.chambre') }} @elseif($person->accomodation_type == 'tente') {{ __('site.reservation.accomodation.tente') }} @else {{ __('site.reservation.accomodation.chambre') }} @endif | {{ $person->nbr_hommes ?? 0 }} | {{ $person->nbr_femmes ?? 0 }} | {{ number_format($person->tarif ?? 0, 3) }} {{ __('site.currency') }} | {{ number_format($person->subtotal ?? 0, 3) }} {{ __('site.currency') }} | {{ $totalPersonnes }} |
| {{ __('site.reservation.total_cups') }} | {{ __('site.reservation.unit_price') }} | {{ __('site.reservation.total_persons') }} | {{ __('site.reservation.day_total') }} |
|---|---|---|---|
| {{ $cafeDuJour->quantite }} | {{ number_format($cafeDuJour->tarif_unitaire, 3) }} {{ __('site.currency') }} | {{ $reservation->nbr_personnes ?? 0 }} | {{ number_format($cafeDuJour->total, 3) }} {{ __('site.currency') }} |
{{ $reservation->commentaire_motif }}