@extends('backoffice.dashboard') @section('content') @if(Auth::check()) @section('content') @if ($errors->any()) @endif
@csrf @method('PUT')

{{ $formulaire->type_ar }}

تحيين الاستمارة

@php // helper to get label from $statut collection (robust) $getStatLabel = function($all, $id) { if (is_null($id) || $id === '') return '—'; $found = $all->firstWhere('id_statut', $id) ?? $all->firstWhere('id', $id) ?? $all->firstWhere('ID', $id); if (!$found) return '—'; return $found->libelle_ar ?? $found->statut_ar ?? $found->label ?? $found->name ?? $found->statut ?? '—'; }; $currentAdminStatus = old('id_type', $demande->id_type ?? null); $currentUniversity = old('statut_id', $demande->statut_id ?? null); $currentCommittee = old('statut2_id', $demande->statut2_id ?? null); // determine the last overall status (keep your original logic but use full label) if (!is_null($demande->statut2_id)) { $lastStatut = $demande->statut2_id; $lastSource = 'اللجنة الوطنية المختلطة'; } elseif (!is_null($demande->statut_id)) { $lastStatut = $demande->statut_id; $lastSource = 'الجامعة'; } else { $lastStatut = $demande->id_type; $lastSource = 'الإدارة الفرعية'; } $lastLabel = $getStatLabel($statut, $lastStatut); @endphp
الوضعية الحالية:
{{-- badge: special styles for accepted/refused, otherwise show neutral with full label --}} @if((int)$lastStatut === 1) {{ $lastLabel }} @elseif((int)$lastStatut === 3) {{ $lastLabel }} @else {{ $lastLabel }} @endif

إذا كنت ترغب في تعديل الوضعية الحالية، يرجى الاختيار من القائمة أدناه:

{{-- SECTION 1: الإدارة الفرعية (id_type) --}} @php $currentStatusAdminLabel = $getStatLabel($statut, $currentAdminStatus ?? $demande->id_type); $currentMotifAdmin = old('commentaire_motif', $demande->commentaire_motif ?? ''); $adminValue = (int) old('id_type', $demande->id_type ?? 0); @endphp
تغيير الوضعية من قبل الادارة الفرعية
{{ $currentStatusAdminLabel }}
{{-- existing "reject" motif (for id == 3) --}}
{{-- new warning motif shown when id == 4 or 5 - uses same name as motif1 --}}
{{-- SECTION 2: الجامعة (statut_id) --}} @php $currentStatusUnivLabel = $getStatLabel($statut, $currentUniversity ?? $demande->statut_id); $currentMotifUniv = old('commentaire_motif2', $demande->commentaire_motif2 ?? ''); $univValue = (int) old('statut_id', $demande->statut_id ?? 0); @endphp
تغيير الوضعية من قبل الجامعة
{{ $currentStatusUnivLabel }}
{{-- existing "reject" motif (for id == 3) --}}
{{-- new warning motif shown when id == 4 or 5 - uses same name as motif2 --}}
{{-- SECTION 3: اللجنة الوطنية المختلطة (statut2_id) --}} @php $currentStatusCommLabel = $getStatLabel($statut, $currentCommittee ?? $demande->statut2_id); $currentMotifComm = old('commentaire_motif3', $demande->commentaire_motif3 ?? ''); $commValue = (int) old('statut2_id', $demande->statut2_id ?? 0); @endphp
تغيير الوضعية من قبل اللجنة الوطنية المختلطة
{{ $currentStatusCommLabel }}
{{-- existing "reject" motif (for id == 3) --}}
{{-- new warning motif shown when id == 4 or 5 - uses same name as motif3 --}}
@php // دالة مساعدة للتحقق من وجود الملف $checkFileExists = function($path) { if (empty($path)) { return false; } // إذا كان المسار مطلقاً (يبدأ بـ /) if (strpos($path, '/') === 0) { return file_exists($path); } // محاولة العثور على المسار المطلق $uploadDir = '/home/preprov/www/mjs/shared_uploads/images'; $fullPath = $uploadDir . '/' . basename($path); return file_exists($fullPath) || file_exists($path); }; $fileExists = $checkFileExists($demande->file ?? null); @endphp @if($demande->file && $fileExists)

الملف الحالي:

@php // Extraire le nom du fichier depuis le chemin $fileName = basename($demande->file); @endphp {{-- استخدام المسار manifestation.decision.show لعرض الملف مباشرة --}} عرض الملف: {{ $fileName }}
@elseif($demande->file) {{-- حالة: يوجد مسار في قاعدة البيانات ولكن الملف مفقود --}}

مسار الملف موجود ولكن الملف غير موجود على الخادم

مسار الملف: {{ $demande->file }}
@else

لا يوجد ملف مرفق حالياً

@endif يُسمح بصيغ: PDF, JPG, JPEG, PNG (الحجم الأقصى: 4MB) @error('file') {{ $message }} @enderror
{{-- TIMELINE: عرض كامل لتاريخ تغيّر الوضعية (يشمل كل السجلات المرتبطة بهذا الطلب) --}}
تاريخ تغيّر الوضعية (سجل كامل)
@php // تأكد أن العلاقة موجودة $histories = $demande->statutHistories ?? collect(); @endphp @if($histories->isEmpty())

لا توجد تغييرات سابقة.

@else
@foreach($histories as $hist) @php // From / To labels (full) $fromLabel = optional($hist->fromStatut)->statut_ar ?? optional($hist->fromStatut)->libelle_ar ?? $getStatLabel($statut, $hist->from_statut_id ?? null); $toLabel = optional($hist->toStatut)->statut_ar ?? optional($hist->toStatut)->libelle_ar ?? $getStatLabel($statut, $hist->to_statut_id ?? null); // Determine a human-friendly "source" if stored - best-effort: // if you stored demande_manifestation_id => we know it's from demande $source = 'سجل حالة'; if (!empty($hist->documents_financement_list_id)) { $source = 'قائمة تمويل'; } elseif (!empty($hist->documents_formulaire_id)) { $source = 'نموذج وثائق'; } elseif (!empty($hist->demande_manifestation_id)) { // optionally try to guess which "slot" changed by comparing values: $source = 'طلب تظاهرة'; } elseif (!empty($hist->projet_id)) { $source = 'مشروع مرتبط'; } $toId = $hist->to_statut_id ? (int)$hist->to_statut_id : null; $badgeClass = $toId === 1 ? 'badge-success' : ($toId === 3 ? 'badge-danger' : 'badge-muted'); $changer = optional($hist->changer)->nom_prenom ?? optional($hist->changer)->email ?? 'نظام'; @endphp
{{ $hist->created_at?->format('d/m/Y H:i') ?? $hist->created_at }}
بواسطة: {{ $changer }}
{{ $fromLabel }} {{ $toLabel }}
@if(!empty($hist->commentaire))
سبب / تعليق
{{ $hist->commentaire }}
@endif
@endforeach
@endif
{{-- Minimal JS to toggle motif areas (updated to show warning textarea for id 4 and 5) --}} {{-- Minimal JS to toggle motif areas (updated so when none selected only section1 is shown) --}}

{{ $formulaire2->type_ar }}


ملف التامين الخاص


@if($demande->assuranceFile)

الملف الحالي : عرض الملف

@endif @error('assurance_file') {{ $message }} @enderror
@php $evenement = $demande->evenementSportifs->first(); // On prend le premier événement lié @endphp

{{ $formulaire3->type_ar }}


{{ $formulaire4->type_ar }}


@php $membres = $evenement && $evenement->membres ? $evenement->membres->where('type_membre_id', 1) : collect(); @endphp @if($membres->count()) @foreach($membres as $index => $membre) @endforeach @else @endif
الاسم واللقب الصفة الجنسية
@php $invites = $evenement && $evenement->membres ? $evenement->membres->where('type_membre_id', 2) : collect(); @endphp @if($invites->count()) @foreach($invites as $index => $invite) @endforeach @else @endif
الاسم واللقب الصفة الجنسية

{{ $formulaire5->type_ar }}


@php $assocParticipantes = collect(); if ($demande->evenementSportifs && $demande->evenementSportifs->first()) { $assocParticipantes = $demande->evenementSportifs->first()->assocParticipantes ?? collect(); } @endphp @if($assocParticipantes->count()) @foreach($assocParticipantes as $index => $assoc) @endforeach @else {{-- Si aucune donnée n’existe --}} @endif
ع/ر الجمعيات المشاركة عدد الرياضيين المرافقون المجموع إجراء
ذكور إناث
{{ $index + 1 }}
1
المجموع العام

{{ $formulaire6->type_ar }}


@php $athleteIndex = 0; @endphp @foreach($demande->evenementSportifs->first()->athletesIndividuels ?? [] as $athlete) @php $athleteIndex++; @endphp @endforeach
ع/ر اسم و لقب الرياضي المشارك عدد الرياضيين المرافقون المجموع إجراء
ذكور إناث
{{ $loop->iteration }}
المجموع العام

{{ $formulaire7->type_ar }}


@php $sportifIndex = 0; @endphp @foreach($demande->evenementSportifs->first()->sportifs ?? [] as $sportif) @php $sportifIndex++; @endphp @endforeach
اسم و لقب الرياضي المشارك الصنف العمري تاريخ الولادة رقم بطاقة التعريف إجراء

{{ $formulaire8->type_ar }}


@foreach($evenement->etrangeres->where('type_etranger_id', 1) as $index => $touriste) @endforeach
الاسم واللقب البلد الأصلي رقم جواز السفر تاريخ الوصول مكان الإقامة تاريخ المغادرة الإجراءات
@foreach($evenement->etrangeres->where('type_etranger_id', 2) as $index => $touriste2) @endforeach
الاسم واللقب البلد الأصلي رقم جواز السفر تاريخ الوصول مكان الإقامة تاريخ المغادرة الإجراءات

{{ $formulaire9->type_ar }}


@if(isset($evenement) && $evenement->etrangeres) @foreach($evenement->etrangeres->where('type_etranger_id', 3) as $index => $touriste3) @endforeach @else @endif
الاسم واللقب البلد الأصلي رقم جواز السفر تاريخ الوصول مكان الإقامة تاريخ المغادرة الإجراءات

موافقة مبدئية


@if($demande->accordFile)

الملف الحالي : عرض الملف

@endif @error('accord_file') {{ $message }} @enderror

الملف الفني


@if($demande->techniqueFile)

الملف الحالي : عرض الملف

@endif @error('technique_file') {{ $message }} @enderror

مطلب في إقامة تظاهرة رياضية وطنية بالبلاد التونسية


@if($demande->demandeFile)

الملف الحالي : عرض الملف

@endif @error('technique_file') {{ $message }} @enderror
رجوع
@else @endif @endsection