@extends('admin.layout') @section('title', 'Modifier un rôle') @section('content')

@yield('title')

@if(session('error'))
{{ session('error') }}
@endif
@csrf @method('PUT')
@error('name')
{{ $message }}
@enderror
Permissions
@php $permissionsByResource = $permissions->groupBy(function($perm){ return explode('.', $perm->name)[0] ?? 'Autre'; }); $actionsOrder = ['view', 'create', 'edit', 'delete']; $rolePerms = $role->permissions->pluck('name')->toArray(); @endphp @foreach($permissionsByResource as $resource => $perms)
{{ \App\Helpers\PermissionHelper::resourceLabel($resource) }}
{{-- D'abord les actions CRUD dans l'ordre --}} @foreach($actionsOrder as $action) @foreach($perms->where('name', $resource . '.' . $action) as $perm)
name, old('permissions', $rolePerms))) checked @endif>
@endforeach @endforeach {{-- Ensuite les actions personnalisées --}} @php $customActions = $perms->filter(function($perm) use ($resource, $actionsOrder) { $action = explode('.', $perm->name)[1] ?? null; return !in_array($action, $actionsOrder); }); @endphp @foreach($customActions as $perm)
name, old('permissions', $rolePerms))) checked @endif>
@endforeach {{-- Tout cocher la ligne (inutile si la ressource n'a qu'une seule permission) --}} @if($perms->count() > 1)
@endif
@endforeach Annuler
@endsection