User Management
Backoffice path: backoffice/users
Available to roles: System Administrator, Administrator
Overview
The User Management page is the central hub for administering pilot accounts across your virtual airline. From here you can create new accounts, edit existing profiles, assign roles and permissions, and remove users when necessary.
User List
The main view displays a paginated table of all registered users with the following columns:
| Column | Description |
|---|---|
| Name | The pilot's full name |
| Account email address | |
| Airport | The pilot's currently assigned home airport (ICAO code) |
| Rank | Current rank within the airline |
| Roles | Assigned roles displayed as colored badges (e.g., sysadmin, administrator, operations-staff) |
| Created At | The date and time the account was created |
Sorting and Searching
All columns in the user list are sortable. Click any column header to sort ascending or descending.
Use the search bar to filter users by:
- Name -- partial or full name match
- Email -- partial or full email match
- Airport -- ICAO airport code
Creating a User
To create a new user account, click the Create button at the top of the user list. Fill in the following fields:
| Field | Required | Description |
|---|---|---|
| Name | Yes | The pilot's full name |
| Yes | A unique email address for the account | |
| Password | Yes | Initial password for the account |
| Airport | Yes | Home airport assignment (ICAO code) |
| Rank | Yes | Starting rank within the airline |
| Roles | No | One or more role checkboxes: sysadmin, administrator, operations-staff |
If no roles are selected, the user is created as a regular pilot with no backoffice access.
When pilots register through the self-service registration form, they must verify their email address before they can book flights. A verification email is sent automatically upon registration. Unverified pilots can still browse the platform (dashboard, fleet, roster, schedules) but are redirected to a verification notice when attempting to access the booking page.
Editing a User
Click on any user in the list to open their edit page. The edit page is divided into several sections.
Profile Information
Update the following fields for an existing user:
- Name -- the pilot's display name
- Email -- account email address
- Airport -- reassign the pilot's home airport
- Rank -- change the pilot's current rank
Role Assignment
Roles are managed via checkboxes on the edit page. Check or uncheck roles to sync the user's role assignments:
- System Administrator (
sysadmin) - Administrator (
administrator) - Operations Staff (
operations-staff)
Role changes take effect immediately upon saving.
Direct Permissions / Abilities
In addition to role-based permissions, you can grant specific abilities directly to a user. This allows fine-grained access control that bypasses the standard role definitions. Use the permissions section on the edit page to sync individual abilities for the user.
Activity Log
The user edit page includes a paginated activity log showing two categories:
- Changes to this user — Every edit to the user's profile fields (name, email, airport, rank, etc.) is recorded with timestamps and who made the change.
- Actions by this user — Staff actions performed by this user on other models (e.g., approving flights, moving aircraft) are displayed in a second table.
This provides a complete audit trail for both administrative changes to a pilot's account and the pilot's own staff actions.
Password Reset
A separate password reset form is available on the user edit page. Enter the new password and confirm it to update the user's credentials. This is independent of the profile information form and must be submitted separately.
Roles Overview
Users can be assigned one or more of the following roles. Each role grants a different level of backoffice access:
| Role | Key Abilities | Description |
|---|---|---|
| System Administrator | everything | Full, unrestricted access to every feature in the platform. |
| Administrator | see-admin-options + model-level permissions | Access to most management features including airlines, airports, schedules, fleet, users, settings, and more. |
| Operations Staff | see-admin-options + limited permissions | Restricted access to documents, licenses, spotter photos, and ferry flights. |
Regular users (pilots) do not have any backoffice roles assigned and cannot access the administration panel. Only users with at least one role that grants the see-admin-options ability will see the backoffice navigation.
Deleting a User
When a user account is deleted, the following cascade operations are performed:
| Data | Action |
|---|---|
| Bookings | Soft-deleted (preserved in database but marked as deleted) |
| Flights | Hard-deleted (permanently removed) |
| Points | Hard-deleted |
| License pivots | Hard-deleted (license assignments removed) |
| Activity log entries | Hard-deleted (both subject and causer records) |
| Tokens | Hard-deleted (API/session tokens revoked) |
| Profile picture | Removed from storage |
Deleting a user is a destructive action. Flights, points, license associations, logs, and authentication tokens are permanently removed and cannot be recovered. Only bookings are soft-deleted and could potentially be restored.
Central (Platform Admin) User Management
Central path: tenants/{tenant_id}/users
Available to: Platform administrators (central app)
In addition to managing users from within a tenant's backoffice, platform administrators can manage any tenant's users directly from the central dashboard. This is useful for support operations and account administration without needing to log into each tenant individually.
Accessing Central User Management
- Navigate to Tenants in the central dashboard.
- Click on a tenant to open its edit page.
- Click the Manage Users button in the header area.
Available Actions
The central user management interface mirrors the backoffice user CRUD with the following pages:
| Page | Path | Description |
|---|---|---|
| User List | tenants/{id}/users | Paginated table with search, sort, and delete — identical columns to the backoffice user list |
| Create User | tenants/{id}/users/create | Create a new user in the tenant's database with name, email, password, airport, rank, and roles |
| Edit User | tenants/{id}/users/{user_id}/edit | Edit user details, assign/retract roles and direct permissions, reset password |
Key Differences from Backoffice User Management
- No plan limits: Central admin bypasses the tenant's
UserLimitService— users can be created regardless of the tenant's plan restrictions. - No tenant-level authorization: Actions are not gated by the tenant's Bouncer permissions since the platform admin operates outside the tenant's permission context.
- No activity log panel: The edit page does not include the activity log component (which is tenant-scoped).