User Management
Quick Links
Screenshots & Videos
Place real assets under /images and /videos using root paths.
📌 Why User Management?
Central governance for who can see and do what. Roles provide guardrails; direct permissions tailor edge cases; event assignment scopes impact.
Manage organizer and staff users, assign roles, and control access across Organizers, Event Managers, Scanners, and Printers. Admins can seed and sync roles/permissions from configuration.
Overview
- Create, update, and delete users
- Assign events to Event Managers, Scanners, and Printers
- Grant or revoke direct permissions in addition to role defaults
- Filter and preview permissions by Organizer (admin only)
- Seed and sync roles/permissions via config
Interface Preview

Quick Start
- Go to Organizer > Users
- Click Create User for the desired role
- Enter user details and assign roles/events
- Save and confirm access
User Roles
Organizers
High-privilege users managing a set of events.
Create
- Click Create Organizer
- Enter Name and Email
- Review Permissions panel:
- Role permissions: checked and read-only
- Direct permissions: toggle additional grants
- Submit
Edit/Delete
- Edit: name, email, direct permissions
- Delete: removes user (confirmation required)
Event Managers
Manage specific events under an Organizer.
Create
- Click Create Event Manager
- Enter Name and Email
- Select For Organizer (admin only)
- Choose Events (multi-select)
- Review Permissions:
- Role permissions: read-only
- Direct permissions: toggle allowed items
- Submit
Edit/Delete
- Edit: name, email, organizer (admin), events, direct permissions
- Delete: removes user (confirmation required)

Scanners
Operate scanning devices for assigned events.
Create
- Click Create Scanner
- Enter Name and Email
- Select For Organizer (admin only)
- Choose Events
- Review permissions: only allowed direct permissions available
- Submit
Edit/Delete
- Edit: name, email, organizer (admin), events, direct permissions
- Delete: removes user (confirmation required)
Printers
Generate and print badges; require guest visibility.
Create
- Click Create Printer
- Enter Name and Email
- Select For Organizer (admin only)
- Choose Events
- Review permissions: role defaults read-only; additional allowed permissions toggleable
- Submit
Edit/Delete
- Edit: name, email, organizer (admin), events, direct permissions
- Delete: removes user (confirmation required)
Permissions and Roles

- Permissions are exact strings (see
config/roles_permissions.php), e.g.:organizer.viewAny,organizer.create,organizer.edit,organizer.deleteevent-manager.*,scanner.*,printer.*guest.*,badge.*,email-template.*,email.send, etc.
Default Role Mappings
| Role | Role Permissions | Direct Permissions |
|---|---|---|
| Admin | All | N/A |
| Organizer | preference.edit, dashboard.view, event.viewAny, event.view | Operational management (event., scanner., printer., guest., badge., email-template., ticket.*, etc.) |
| Event Manager | preference.edit, dashboard.view, event.viewAny, event.view | Similar to Organizer minus admin-level settings |
| Scanner | dashboard.view, event.viewAny, event.view, scanner.scan | None by default |
| Printer | preference.edit, dashboard.view, event.viewAny, event.view, badge.viewAny | badge.create, edit, print, delete; guest.viewAny |
Notes
- Role permissions always applied; appear read-only
- Direct permissions grant additional access
- Selecting an Organizer limits available direct permissions
Actions and Required Permissions
| Role | Action | Permission |
|---|---|---|
| Organizers | List | organizer.viewAny |
| Create | organizer.create | |
| Edit | organizer.edit | |
| Delete | organizer.delete | |
| Event Managers | List | event-manager.viewAny |
| Create | event-manager.create | |
| Edit | event-manager.edit | |
| Delete | event-manager.delete | |
| Scanners | List | scanner.viewAny |
| Create | scanner.create | |
| Edit | scanner.edit | |
| Delete | scanner.delete | |
| Scan mode | scanner.scan | |
| Printers | List | printer.viewAny |
| Create | printer.create | |
| Edit | printer.edit | |
| Delete | printer.delete |
Seeding and Syncing Roles/Permissions
- Source:
config/roles_permissions.php - Initialize or sync:
php artisan db:seed --class=RolePermissionSeeder
php artisan permission:cache-reset - Editing role_permissions + re-seeding updates role permissions; direct user permissions unaffected
- Plan role changes carefully in production
Tips and Best Practices
- Use least privilege; rely on role defaults
- Assign Event Managers/Scanners/Printers to specific events
- Re-check direct permissions when changing Event Manager's Organizer
Troubleshooting
| Issue | Resolution |
|---|---|
| Cannot access page | Ensure viewAny permission |
| Permissions toggle disabled | Role-based or disallowed by Organizer |
| Event list empty | User has no access to events for chosen Organizer |
| Scanner cannot scan | Grant scanner.scan and assign events |
| Printer blocked | Ensure badge.print and guest.viewAny for assigned events |
Last updated: 2025-10-09