{{ __('Edit Role') }}

@csrf @method('PUT')
@error('name')

{{ $message }}

@enderror
@php $groups = [ __('Dashboard') => ['dashboard', 'dashboard.'], __('User Management') => ['user.', 'users.', 'user'], __('Roles & Permissions') => ['role', 'roles', 'permission', 'permissions'], __('Employees') => ['employee', 'employees', 'employee.'], __('Departments / Sections') => ['section', 'sections', 'department', 'departments'], __('Contracts') => ['contract', 'contracts'], __('Documents') => ['document', 'documents'], __('Leave Management') => ['leave', 'leaves'], __('Loans') => ['loan', 'loans'], __('Payroll / Finance') => ['payroll', 'paye', 'nssf', 'wcf', 'bank', 'salary', 'deduction', 'deductions'], __('Promotions & Transfers') => ['promotion', 'promotions', 'transfer', 'transfers', 'resign', 'termination'], __('Reports') => ['report', 'reports'], __('Notifications') => ['notification', 'notifications'], __('Settings') => ['setting', 'settings', 'config'], __('Support') => ['support', 'ticket'], ]; $remaining = $permissions->values(); $grouped = []; foreach($groups as $label => $patterns) { $matches = $permissions->filter(function($p) use ($patterns) { foreach($patterns as $pat) { if (\Illuminate\Support\Str::contains($p->name, $pat)) return true; } return false; })->values(); $grouped[$label] = $matches; $remaining = $remaining->filter(function($p) use($matches){ return !$matches->contains($p); })->values(); } if($remaining->count() > 0) { $grouped[__('Other')] = $remaining; } @endphp
@foreach($grouped as $groupLabel => $groupPerms) @if($groupPerms->count() > 0) @php $groupKey = \Illuminate\Support\Str::slug($groupLabel); @endphp

{{ $groupLabel }}

@php // For User Management group render 3 columns with up to 6 items per column $isThreeCols = ($groupKey === 'user-management'); @endphp @if($isThreeCols) @php $count = $groupPerms->count(); $perColumn = $count < 9 ? 4 : 5; $numColumns = (int) ceil($count / $perColumn); $numColumns = max(1, min(3, $numColumns)); $colSize = (int) ceil($count / $numColumns); $chunks = $groupPerms->chunk($colSize); @endphp
@foreach($chunks as $chunk)
@foreach($chunk as $permission) @endforeach
@endforeach
@else
@foreach($groupPerms as $permission) @endforeach
@endif
@endif @endforeach
@error('permissions')

{{ $message }}

@enderror
{{ __('Cancel') }}