{{ __('Admin Roles') }}

{{ __('Manage roles that can be assigned to admin profiles. System roles cannot be modified.') }}

@can('create roles')
{{ __('Create Role') }}
@endcan
@if ($search) @endif
@forelse ($roles as $role) @empty @endforelse
{{ __('Label') }} @if ($sortField === 'label') @endif
{{ __('Name') }} @if ($sortField === 'name') @endif
{{ __('Type') }} {{ __('Actions') }}
{{ $role->label }} {{ $role->name }} @if ($role->is_system) {{ __('System') }} @else {{ __('Custom') }} @endif
@can('update roles') @endcan @can('delete roles') @if (!$role->is_system) @endif @endcan
{{ __('No roles found.') }}
@if ($roles->hasPages())
{{ $roles->links() }}
@endif
@php $roleTableHeaders = ['Label', 'Name', 'Permissions', 'Type', 'Actions']; @endphp

{{ __('Organization Roles') }}

{{ __('Roles assigned to users linked to organization profiles. System roles cannot be deleted.') }}

@can('create roles')
{{ __('Create Organization Role') }}
@endcan
@forelse ($orgRoles as $orgRole) @empty @endforelse
{{ __('Label') }} {{ __('Name') }} {{ __('Type') }} {{ __('Actions') }}
{{ $orgRole->label }} {{ $orgRole->name }} @if ($orgRole->is_system) {{ __('System') }} @else {{ __('Custom') }} @endif
@can('update roles') @endcan @can('delete roles') @if (!$orgRole->is_system) @endif @endcan
{{ __('No roles found.') }}

{{ __('Bank Roles') }}

{{ __('Roles assigned to users linked to bank profiles. System roles cannot be deleted.') }}

@can('create roles')
{{ __('Create Bank Role') }}
@endcan
@forelse ($bankRoles as $orgRole) @empty @endforelse
{{ __('Label') }} {{ __('Name') }} {{ __('Type') }} {{ __('Actions') }}
{{ $orgRole->label }} {{ $orgRole->name }} @if ($orgRole->is_system) {{ __('System') }} @else {{ __('Custom') }} @endif
@can('update roles') @endcan @can('delete roles') @if (!$orgRole->is_system) @endif @endcan
{{ __('No roles found.') }}
@php // Rows = resources, columns = verbs. // Each row lists only the verbs that apply to that resource. $permissionGroups = [ ['label' => 'Posts', 'resource' => 'posts', 'verbs' => ['view','create','update','publish','unpublish','delete','manage']], ['label' => 'Polls', 'resource' => 'polls', 'verbs' => ['view','create','update','export','delete','manage']], ['label' => 'Calls', 'resource' => 'calls', 'verbs' => ['view','create','update','publish','unpublish','delete','manage']], ['label' => 'Mailings', 'resource' => 'mailings', 'verbs' => ['view','create','update','send','delete','manage']], ['label' => 'Tags', 'resource' => 'tags', 'verbs' => ['view','create','update','delete','manage']], ['label' => 'Categories', 'resource' => 'categories', 'verbs' => ['view','create','update','delete','manage']], ['label' => 'Users', 'resource' => 'users', 'verbs' => ['view','create','update','delete','manage']], ['label' => 'Organizations', 'resource' => 'organizations', 'verbs' => ['view','create','update','delete','manage']], ['label' => 'Banks', 'resource' => 'banks', 'verbs' => ['view','create','update','delete','manage']], ['label' => 'Admins', 'resource' => 'admins', 'verbs' => ['view','create','update','delete','manage']], ['label' => 'Accounts', 'resource' => 'accounts', 'verbs' => ['view','create','update','delete','manage']], ['label' => 'Profiles', 'resource' => 'profiles', 'verbs' => ['view','create','update','delete','manage']], ['label' => 'Roles', 'resource' => 'roles', 'verbs' => ['view','create','update','delete','manage']], ['label' => 'Statistics', 'resource' => 'stats', 'verbs' => ['view'], 'unlocked' => true], ['label' => 'Maintenance', 'resource' => 'maintenance', 'verbs' => ['manage']], ['section' => 'Logs'], ['label' => 'Search', 'resource' => 'search-metrics', 'verbs' => ['view'], 'unlocked' => true], ['label' => 'Search Reindex', 'resource' => 'search-reindex-log', 'verbs' => ['view'], 'unlocked' => true], ['label' => 'Application', 'resource' => 'application-log', 'verbs' => ['view'], 'unlocked' => true], ['label' => 'Inactive Profiles', 'resource' => 'inactive-profiles-log', 'verbs' => ['view'], 'unlocked' => true], ]; // All verb columns in display order $allVerbs = ['view','create','update','publish','unpublish','send','export','delete','manage']; // Admin profile capability permissions (separate inline grid) $adminCapGroups = [ ['inline' => 'Capabilities', 'permissions' => [ 'admin reports' => 'Reports', 'admin contacts' => 'Contacts', 'admin messenger' => 'Messenger', 'admin settings' => 'Settings', 'admin change-password' => 'Change Password', ]], ]; $adminCapVerbs = ['reports', 'contacts', 'messenger', 'settings', 'change-password']; @endphp @if ($modalCreateRole) {{ __('Create New Role') }}
@include('livewire.roles._permission-grid', ['model' => 'createRole', 'isSystem' => false]) @error('createRole.permissions')

{{ $message }}

@enderror

{{ __('Permissions that apply when the user is acting as an admin profile.') }}

@include('livewire.roles._permission-grid', ['model' => 'createRole', 'isSystem' => false, 'permissionGroups' => $adminCapGroups, 'allVerbs' => $adminCapVerbs])
{{ __('Cancel') }} {{ __('Create Role') }}
@endif @if ($modalEditRole) {{ __('Edit Role') }}: {{ $editRole['name'] }}
@include('livewire.roles._permission-grid', ['model' => 'editRole', 'isSystem' => $editRoleIsSystem]) @error('editRole.permissions')

{{ $message }}

@enderror

{{ __('Permissions that apply when the user is acting as an admin profile.') }}

@include('livewire.roles._permission-grid', ['model' => 'editRole', 'isSystem' => $editRoleIsSystem, 'permissionGroups' => $adminCapGroups, 'allVerbs' => $adminCapVerbs])

{{ __('Important') }}: {{ __('Changing permissions will immediately update all admin profiles that have this role assigned.') }}

{{ __('Cancel') }} {{ __('Save Changes') }}
@endif @if ($modalDeleteRole) {{ __('Delete Role') }}

{{ __('Are you sure you want to delete the role') }} {{ $deleteRoleName }}?

@if (!empty($deleteAffectedUsers))

{{ __('The following users will be unlinked from their admin profile:') }}

    @foreach ($deleteAffectedUsers as $entry)
  • {{ $entry['user'] }} — {{ $entry['profile'] }}
  • @endforeach
@else
{{ __('No users are currently assigned this role.') }}
@endif
{{ __('Cancel') }} {{ __('Delete Role') }}
@endif @php $orgPermissionGroups = [ ['inline' => 'Capabilities', 'permissions' => [ 'org pay' => 'Pay', 'org transactions' => 'Transactions', 'org reports' => 'Reports', 'org stats' => 'Statistics', 'org contacts' => 'Contacts', 'org calls' => 'Calls', 'org messenger' => 'Messenger', 'org edit-profile' => 'Edit Profile', 'org settings' => 'Settings', 'org change-password' => 'Change Password', ]], ]; $orgAllVerbs = ['pay','transactions','reports','stats','contacts','calls','messenger','edit-profile','settings','change-password']; @endphp @if ($modalCreateOrgRole) {{ $createOrgRoleType === 'bank' ? __('Create New Bank Role') : __('Create New Organization Role') }}
@include('livewire.roles._permission-grid', ['model' => 'createOrgRole', 'isSystem' => false, 'permissionGroups' => $orgPermissionGroups, 'allVerbs' => $orgAllVerbs]) @error('createOrgRole.permissions')

{{ $message }}

@enderror
{{ __('Cancel') }} {{ __('Create Role') }}
@endif @if ($modalEditOrgRole) {{ __('Edit Role') }}: {{ $editOrgRole['name'] }}
@include('livewire.roles._permission-grid', ['model' => 'editOrgRole', 'isSystem' => $editOrgRoleIsSystem, 'permissionGroups' => $orgPermissionGroups, 'allVerbs' => $orgAllVerbs]) @error('editOrgRole.permissions')

{{ $message }}

@enderror

{{ __('Important') }}: {{ str_starts_with($editOrgRole['name'], 'bank-') ? __('Changing permissions will immediately update all bank profiles that have this role assigned.') : __('Changing permissions will immediately update all organization profiles that have this role assigned.') }}

{{ __('Cancel') }} {{ __('Save Changes') }}
@endif @if ($modalDeleteOrgRole) {{ __('Delete Role') }}

{{ __('Are you sure you want to delete the role') }} {{ $deleteOrgRoleName }}?

@if (!empty($deleteOrgAffectedUsers))

{{ $deleteOrgRoleType === 'bank' ? __('The following users will be unlinked from their bank profile:') : __('The following users will be unlinked from their organization profile:') }}

    @foreach ($deleteOrgAffectedUsers as $entry)
  • {{ $entry['user'] }} — {{ $entry['profile'] }}
  • @endforeach
@else
{{ __('No users are currently assigned this role.') }}
@endif
{{ __('Cancel') }} {{ __('Delete Role') }}
@endif