{{-- resources/views/components/admin/action-buttons.blade.php --}} {{-- Edit and Delete buttons — only shown if user has direct edit/delete permission --}} {{-- Admin role always sees both. Non-admin only sees what their direct permissions allow --}} {{-- Props: editRoute, deleteRoute, id, itemName, module (e.g. 'hotels') --}} @props([ 'editRoute' => '#', 'deleteRoute' => '#', 'id' => 0, 'itemName' => 'this item', 'module' => '', // e.g. 'hotels' — used for permission check ]) @php $u = auth()->user(); $isAdmin = $u->hasRole('admin'); $canEdit = $isAdmin || ($module && $u->permissions->contains('name', $module . '.edit')); $canDelete= $isAdmin || ($module && $u->permissions->contains('name', $module . '.delete')); // If no module passed, show both (legacy fallback) if (!$module) { $canEdit = true; $canDelete = true; } @endphp
{{-- Edit button — only if user has edit permission --}} @if($canEdit) @endif {{-- Delete button — only if user has delete permission --}} @if($canDelete) @endif {{-- If user has no edit or delete, show view-only indicator --}} @if(!$canEdit && !$canDelete) @endif