@extends('admin.layouts.main') @section('title','Manajemen Hak Akses & Role') @push('styles') @endpush @section('content') {{-- Role Selector --}}
@foreach($roles as $key => $label) {{ $label }} @if($key === $role) {{ $key === 'admin' ? 'Semua' : count($rolePerms) }} izin @endif @endforeach
{{-- Info banner --}} @if($role === 'admin')
Super Admin memiliki semua hak akses
Hak akses Admin tidak dapat diubah. Admin selalu memiliki akses ke semua fitur sistem.
@else
Perubahan berlaku untuk SEMUA pengguna dengan role "{{ $roles[$role] }}"
Simpan perubahan hanya jika Anda yakin. Hak akses "Lihat Dashboard" selalu aktif dan tidak dapat dinonaktifkan.
@endif
@csrf
{{-- Permission Groups --}} @foreach($allGroups as $groupName => $groupPerms) @php $groupHasAny = false; foreach($groupPerms as $pn) { if(isset($allPermissions[$pn])) { $groupHasAny = true; break; } } if(!$groupHasAny) continue; $checkedInGroup = 0; foreach($groupPerms as $pn) { if(in_array($pn,$rolePerms)) $checkedInGroup++; } @endphp
{{ $groupName }} {{ $checkedInGroup }}/{{ count($groupPerms) }}
@if($role !== 'admin')
@endif
@foreach($groupPerms as $permName) @if(isset($allPermissions[$permName])) @php $pdata = $allPermissions[$permName]; $isChecked = $role === 'admin' || in_array($permName, $rolePerms); $isLocked = $permName === 'view_dashboard'; @endphp @endif @endforeach
@endforeach @if($role !== 'admin')
@endif
{{-- Info Panel --}}
Ringkasan Akses
@foreach($allGroups as $gName => $gPerms) @php $total = 0; $active = 0; foreach($gPerms as $pn) { if(isset($allPermissions[$pn])) { $total++; if($role==='admin'||in_array($pn,$rolePerms)) $active++; } } if(!$total) continue; @endphp
{{ $gName }}
{{ $active }}/{{ $total }}
@endforeach
{{-- Role comparison --}}
Perbandingan Role
@foreach($roles as $rKey => $rLabel) @php $rPerms = $rKey === 'admin' ? array_keys($allPermissions) : \App\Models\RolePermission::getPermissionsForRole($rKey); @endphp
{{ $rLabel }}
{{ count($rPerms) }} izin
@endforeach
@endsection @push('scripts') @endpush