{{ __('Admin · Users & access · Permissions') }}
{{ __('All') }} {{ __('permissions') }}
{{ __('Every permission flag the platform recognises, grouped by module. Add a new flag here, then attach it to roles in the role editor.') }}
{{ session('status') }}
@endif
@if ($errors->any())
@foreach ($errors->all() as $err)
@endif
@php
$totalPermissions = $permissions->count();
$moduleCount = $permissionsGrouped->count();
$rolesCount = \Spatie\Permission\Models\Role::count();
// Permissions used in at least one role.
$usedPermissionIds = \Illuminate\Support\Facades\DB::table('role_has_permissions')
->select('permission_id')
->distinct()
->pluck('permission_id');
$usedCount = $usedPermissionIds->count();
$orphanCount = $totalPermissions - $usedCount;
// Per-permission role counts (for the listing cards).
$rolesPerPerm = \Illuminate\Support\Facades\DB::table('role_has_permissions')
->select('permission_id', \Illuminate\Support\Facades\DB::raw('COUNT(*) as roles_count'))
->groupBy('permission_id')
->pluck('roles_count', 'permission_id');
$lastPerm = $permissions->sortByDesc('created_at')->first();
@endphp
{{ $err }}
@endforeach
{{ __('Total permissions') }}
{{ $totalPermissions }}
across {{ $moduleCount }} {{ __('modules') }}
{{ __('Used in roles') }}
{{ $usedCount }}
{{ __('attached to ≥ 1 role') }}
{{ __('Orphan permissions') }}
{{ $orphanCount }}
{{ __('attached to 0 roles') }}
{{ __('Last added') }}
{{ $lastPerm?->name ?? '—' }}
{{ $lastPerm ? optional($lastPerm->created_at)->format('Y-m-d') : '' }}
{{ $module }}
{{ $perms->count() }}
{{ __('permissions') }}
@foreach ($perms as $perm)
@php $rolesUsing = (int) ($rolesPerPerm[$perm->id] ?? 0); @endphp
{{ $perm->name }}
@if ($rolesUsing === 0)
{{ __('orphan') }}
@endif
@endforeach
in
{{ $rolesUsing }}
{{ \Illuminate\Support\Str::plural('role', $rolesUsing) }}
No permissions defined yet. {{ __('Create the first one') }}.
@endforelse