{{ __('Edit User') }}

@csrf @method('PUT')
@if ($user->avatar)
Avatar
@endif

Leave empty to keep current avatar. PNG, JPG max 2MB.

@error('avatar')

{{ $message }}

@enderror
@error('name')

{{ $message }}

@enderror
@error('username')

{{ $message }}

@enderror
@error('email')

{{ $message }}

@enderror
@error('phone')

{{ $message }}

@enderror
@error('department_id')

{{ $message }}

@enderror

Password Update: Leave password fields blank to keep the current password.

@error('password')

{{ $message }}

@enderror
@error('role')

{{ $message }}

@enderror

0 selected

ℹ️ Current Role: "{{ $user->roles->first()->name ?? 'None' }}"

Role Permissions: {{ $user->roles->first()?->permissions->pluck('name')->implode(', ') ?: 'No permissions' }}

💡 Check boxes below to grant additional permissions beyond the role's permissions. Permissions marked from role are already granted via the role.

@php $actionOrder = ['view', 'create', 'edit', 'delete', 'approve', 'accept', 'distribute', 'manage', 'download']; $actionLabels = [ 'view' => 'View', 'create' => 'Create', 'edit' => 'Edit', 'delete' => 'Delete', 'approve' => 'Approve', 'accept' => 'Accept', 'distribute' => 'Distribute', 'manage' => 'Manage', 'download' => 'Download', ]; $groupedPermissions = $permissions ->reject(fn($p) => $p->name === 'manage users') ->groupBy(function ($p) { $parts = explode(' ', $p->name, 2); return $parts[1] ?? $parts[0]; }) ->map(function ($group) use ($actionOrder) { return $group->sortBy(function ($p) use ($actionOrder) { $index = array_search(explode(' ', $p->name)[0], $actionOrder); return $index === false ? 999 : $index; }); }) ->sortKeys(); @endphp
@foreach ($groupedPermissions as $module => $perms)
{{ $perms->count() }} permissions
@endforeach
@error('permissions')

{{ $message }}

@enderror
Cancel
@push('scripts') @endpush