@php // Déterminer l'URL de retour selon la page actuelle $returnUrl = request()->url(); if (str_contains($returnUrl, '/entrees')) { $returnUrl = route('gestion_operation_caisse.entrees'); } elseif (str_contains($returnUrl, '/sorties')) { $returnUrl = route('gestion_operation_caisse.sorties'); } else { $returnUrl = route('gestion_operation_caisse.liste_operations'); } $editRoute = route('gestion_operation_caisse.page_modification_operation', $operation->encrypted_id ?? $operation->id) . '?return_url=' . urlencode($returnUrl); $deleteRoute = route('gestion_operation_caisse.suppression_operation', $operation->encrypted_id ?? $operation->id); $deleteName = "l'opération " . ($operation->external_reference ?? 'N/A'); // Récupérer l'action d'ajout $addAction = $operation->actionOperations() ->where('type_action', 'Enregistrement d\'opération') ->with('user') ->first(); // Récupérer l'action d'export $exportAction = $operation->actionOperations() ->where('type_action', 'Export vers comptabilité') ->with('user') ->first(); // Préparer les données pour le modal (pas de route, juste des données) $operationData = [ 'uuid' => $operation->uuid ?? null, 'type_badge' => $operation->type === 'entrée' ? ' Entrée' : ' Sortie', 'amount' => number_format($operation->amount, 0, ',', ' ') . ' F', 'operation_date' => $operation->operation_date ? $operation->operation_date->format('d/m/Y H:i') : '', 'external_reference' => $operation->external_reference, 'added_by' => $addAction ? ($addAction->user ? $addAction->user->first_name . ' ' . $addAction->user->last_name : 'N/A') : 'N/A', 'date_added' => $addAction ? $addAction->date_action->format('d/m/Y H:i') : 'N/A', 'exported_by' => $exportAction ? ($exportAction->user ? $exportAction->user->first_name . ' ' . $exportAction->user->last_name : 'N/A') : 'N/A', 'export_date' => $exportAction ? $exportAction->date_action->format('d/m/Y H:i') : 'N/A', 'is_exported_to_comptability' => $operation->is_exported_to_comptability, 'reason' => $operation->reason ]; @endphp
@php $isAllOps = request()->routeIs('gestion_operation_caisse.toutes_operations*'); @endphp @include('includes.action-buttons', [ // Pour la page "Toutes opérations", on peut injecter $onlyView=true // depuis le contrôleur si besoin. Par défaut, on affiche tout. 'editRoute' => ($isAllOps || !userHasPermission('can_edit_cash_operation')) ? null : (empty($onlyView) ? $editRoute : null), 'deleteRoute' => null, 'deleteName' => $deleteName, 'viewModalData' => $operationData ]) @unless($isAllOps) @if(userHasPermission('can_create_counter_cash_operation')) {{-- Bouton dédié à la suppression logique (opération contraire) --}} @endif @endunless