@extends('admin.layouts.app') @section('title', 'Access Control Management') @section('content')

Access Control Management

Manage admin roles, permissions, and access levels

Total Roles

{{ $stats['total_roles'] }}

Permissions

{{ $stats['total_permissions'] }}

Total Admins

{{ $stats['total_admins'] }}

Active Admins

{{ $stats['active_admins'] }}

Admin Roles & Permissions

@foreach($roles as $roleKey => $roleData)

{{ $roleData['name'] }}

{{ $roleData['description'] ?? 'No description' }}

{{ $stats['by_role'][$roleKey] ?? 0 }} admin{{ ($stats['by_role'][$roleKey] ?? 0) != 1 ? 's' : '' }}

Modules Access

@if(!empty($roleData['modules']))
@foreach($roleData['modules'] as $module) {{ ucwords(str_replace('_', ' ', $module)) }} @endforeach
@else

No modules assigned

@endif

{{ count($permissions[$roleKey] ?? []) }} permissions assigned

@if($roleData['can_edit_roles'] ?? false) ✓ Can Edit Roles @endif @if($roleData['can_manage_admins'] ?? false) ✓ Can Manage Admins @endif
@endforeach

Admin Role Assignments

@php $headers = [ ['label' => 'Admin', 'class' => ''], ['label' => 'Role', 'class' => 'w-40'], ['label' => 'Status', 'class' => 'w-32'], ['label' => 'Last Login', 'class' => 'w-36'], ['label' => 'Actions', 'class' => 'text-right w-36'], ]; $rows = []; foreach($admins as $admin) { $cells = []; $cells[] = ['content' => '

' . e($admin->name) . '

' . e($admin->email) . '

', 'class' => 'whitespace-nowrap']; $roleLabel = $roles[$admin->role]['name'] ?? $admin->role; $roleClass = $admin->role === 'super_admin' ? 'bg-purple-100 text-purple-800' : ($admin->role === 'operations_admin' ? 'bg-blue-100 text-blue-800' : ($admin->role === 'moderator' ? 'bg-green-100 text-green-800' : ($admin->role === 'employer_manager' ? 'bg-yellow-100 text-yellow-800' : ($admin->role === 'finance_admin' ? 'bg-indigo-100 text-indigo-800' : '')))); $cells[] = ['content' => '' . e($roleLabel) . '', 'class' => 'whitespace-nowrap']; $statusClass = $admin->status === 'active' ? 'bg-green-100 text-green-800' : ($admin->status === 'inactive' ? 'bg-gray-100 text-gray-800' : ($admin->status === 'suspended' ? 'bg-red-100 text-red-800' : '')); $cells[] = ['content' => '' . e(ucfirst($admin->status)) . '', 'class' => 'whitespace-nowrap']; $cells[] = ['content' => $admin->last_login_at ? e($admin->last_login_at->diffForHumans()) : 'Never', 'class' => 'whitespace-nowrap text-sm text-gray-600']; $actionHtml = $admin->id !== auth('admin')->id() ? 'Edit Permissions' : 'Own Account' ; $cells[] = ['content' => $actionHtml, 'class' => 'text-right text-sm font-medium']; $rows[] = ['cells' => $cells]; } @endphp
@include('admin.components.table_shell', [ 'headers' => $headers, 'rows' => $rows, 'emptyMessage' => 'No admins found', 'pagination' => $admins ])
`
@endsection