Users
The Users module manages all system users, their credentials, and assigned roles. Users can be created, updated, and deleted. Each user can be assigned to a branch and configured as active or inactive.
Index Page
The Users Index Page displays a list of all system users, their assigned branches, roles, and activation status.

Filters
- Branch
- Role
- Gender
- Activation (Active / Inactive)
- From
- To
Actions
- Create User
Row Actions
- Edit User
- Delete User
Bulk Actions
- Delete User
CRUD Attributes
| Attribute | Description | Required |
|---|---|---|
| Name | Full name of the user | ✅ Required |
| Branch | The branch the user is assigned to (optional if not branch-specific) | Optional |
| Username | Unique username for login | ✅ Required |
| User’s email address | ✅ Required | |
| Gender | User’s gender (Male / Female) | ✅ Required |
| Role | System role (Admin, Manager, Cashier, Kitchen, Waiter, etc.) | ✅ Required |
| Active | Defines if the user is active or inactive. Default is false. | Optional |
| Password | Login password | ✅ Required (on create only) |
| Confirm Password | Must match password field | ✅ Required (on create only) |
Create Page
The Create User Page allows administrators to add new users.

- Fill in Name, Username, E-mail, Gender, and Role.
- Optionally assign a Branch if the user belongs to a specific location.
- Set Active status (default is unchecked).
- Define Password and confirm it (both required).
⚠️ Note: Password and confirmation must match before submission.
Edit Page
The Edit User Page allows modification of an existing user.

- Name, Username, E-mail, Gender, and Role can be updated.
- Branch cannot be changed once assigned during creation.
- Active status can be toggled between Active/Inactive.
- Password fields are optional during edit. If filled, the password will be updated. If left empty, the password remains unchanged.
Notes
- Each username must be unique across the system.
- Roles determine the access level and permissions of the user.
