@extends('layouts.app') @section('content') @if(Auth::check())
| {{ __('site.mainifestations.key.table_header_number') }} | {{ __('site.mainifestations.key.table_header_file_number') }} | {{ __('site.mainifestations.key.table_header_structure') }} | {{ __('site.mainifestations.key.table_header_event') }} | {{ __('site.mainifestations.key.table_header_date') }} | {{ __('site.mainifestations.key.table_header_time') }} | {{ __('site.mainifestations.key.table_header_gouvernorat') }} | {{ __('site.mainifestations.key.table_header_delegation') }} | {{ __('site.mainifestations.key.table_header_status') }} | {{ __('site.mainifestations.key.table_header_actions') }} | {{ __('site.mainifestations.key.table_header_decision') }} |
|---|---|---|---|---|---|---|---|---|---|---|
| {{ $i + 1 }} | {{ $row->num_dossier }} | {{ trans_field($row, 'nom_organisme') ?? '-' }} | {{ trans_field($row, 'nom_evenement') ?? '-' }} | {{ $row->date_even ?? '-' }} | {{ $row->heure_even ?? '-' }} | {{ trans_field($row->gouvernorat ? $row : ($row->raw->evenementSportifs->first()?->gouvernorat ?? null), 'nom') ?? '-' }} | {{ trans_field($row->delegation ? $row : ($row->raw->evenementSportifs->first()?->delegation ?? null), 'nom') ?? '-' }} | @php // Use trans_field for dynamic status text $statut = trans_field($row->statut ?? $row->raw->statut ?? null, 'statut') ?? __('site.mainifestations.key.status_pending'); // Normalize displayed statut for substring checks $normStat = mb_strtolower(trim(strip_tags((string) $statut))); // keywords (Arabic / French / English variants) — add more if you use other labels $pendingKeywords = [ 'في الانتظار', 'pending', 'en attente', 'enattente', 'en_attente' ]; $acceptedKeywords = [ 'قبول', 'accepted', 'accepté', 'accepter', 'acceptation', 'accept', 'accepté' ]; $refusedKeywords = [ 'رفض', 'refusé', 'refus', 'refused', 'rejeter', 'rejeté', 'rejet', 'rejected' ]; $badgeClass = 'bg-secondary'; // helper to find a keyword inside displayed label $containsAny = function(array $keywords, string $value) { foreach ($keywords as $k) { if ($k === '') continue; if (mb_stripos($value, mb_strtolower($k)) !== false) return true; } return false; }; if ($containsAny($pendingKeywords, $normStat)) { $badgeClass = 'status-badge--pending'; } elseif ($containsAny($acceptedKeywords, $normStat)) { $badgeClass = 'status-badge--success'; } elseif ($containsAny($refusedKeywords, $normStat)) { $badgeClass = 'status-badge--danger'; } else { // fallback: check known numeric ids or codes if present $rawStatId = $row->raw->statut_id ?? $row->raw->statut_code ?? null; if ($rawStatId !== null) { // attempt common mapping: 1 => pending/accepted depending on system, // so only treat very common refusals explicitly here if you know ids. // We'll map a few common conventions: 3 or -1 often represent 'rejected' if ((int)$rawStatId === 3 || (int)$rawStatId === -1) { $badgeClass = 'status-badge--danger'; } elseif ((int)$rawStatId === 2) { $badgeClass = 'status-badge--success'; } elseif ((int)$rawStatId === 1) { $badgeClass = 'status-badge--pending'; } else { $badgeClass = 'bg-secondary'; } } else { $badgeClass = 'bg-secondary'; } } @endphp {{ $statut }} | @if($row->raw->id_type == 1 && $row->raw->statut_id == 1 && $row->raw->statut2_id == 1) @if(!empty($row->raw->file)) @else {{ __('site.mainifestations.key.no_file') }} @endif @else {{ __('site.mainifestations.key.no_value') }} @endif | |
| {{ __('site.mainifestations.key.empty_list') }} | ||||||||||