@extends('mainlayout.layout') @section('title', config('app.name') . ' | Users') @section('topbar-search', 'enabled') @section('content')
Access management

Users

Review portal accounts, roles, activity and invitation status.

@role('superadmin') @endrole
Total accounts{{ number_format($metrics['total']) }}
{{ $selectedRole !== '' ? 'Selected role · ' . Str::headline($selectedRole) : 'All roles' }}{{ number_format($metrics['role_count']) }}
Added in 30 days {{ $selectedRole !== '' ? '· ' . Str::headline($selectedRole) : '· All roles' }}{{ number_format($metrics['recent']) }}
@if(request()->filled('per_page'))@endif @if($search !== '' || $selectedRole !== '') Clear @endif

{{ $search !== '' || $selectedRole !== '' ? 'Matching users' : 'Recent users' }}

{{ $search !== '' || $selectedRole !== '' ? 'All matching accounts, with adjustable page sizes.' : 'Newest accounts first. Choose how many results to show per page.' }}

@if($users->total()) {{ number_format($users->firstItem()) }}–{{ number_format($users->lastItem()) }} of {{ number_format($users->total()) }} @else 0 users @endif
Loading users…
@forelse($users as $user) @php $userUrl = url('/users/view_user/' . encrypt($user->uid)); $name = trim($user->first_name . ' ' . $user->middle_name . ' ' . $user->last_name); $roles = $user->roles->pluck('name')->map(fn ($role) => ucfirst($role))->join(', '); $invitationPending = (bool) $user->invitation_pending; $statusLabel = $user->trashed() ? 'Deleted · purges ' . optional($user->permanent_deletion_at)->format('d M Y') : ($user->is_banned ? 'Banned' : ($invitationPending ? 'Invitation pending' : ($user->status_description ?: (($user->status === 0 || $user->status === '0') ? 'Inactive' : 'Active')))); $statusClass = $user->trashed() || $user->is_banned || $invitationPending ? 'portal-status--neutral' : 'portal-status--success'; @endphp @empty @endforelse
UserContactRoleAccount statusLast sign-inCreated
{{ $name ?: 'Unnamed user' }}Account #{{ $user->uid }} {{ $user->phone ?: 'Phone not available' }}{{ $user->email ?: 'Email not available' }} {{ $roles ?: 'No role assigned' }} {{ $statusLabel }} {{ optional($user->last_logon)->format('d M Y') ?: 'Never' }}{{ optional($user->last_logon)->format('H:i') }} {{ optional($user->created_at)->format('d M Y') ?: '—' }}{{ optional($user->created_at)->format('H:i') }}
No users match the current search.
@include('partials.directory-pagination', ['paginator' => $users])
@endsection @push('scripts') @endpush