From 92b21daad7036956ca02b6b68507194c015be062 Mon Sep 17 00:00:00 2001 From: Ivo Oskamp Date: Sun, 8 Feb 2026 12:10:36 +0100 Subject: [PATCH] Fix user management documentation: use checkboxes (not comma-separated), add screenshot, remove admin+operator example, add password reset section --- .../images/documentation/user-management.png | Bin 0 -> 16393 bytes .../documentation/users/users-and-roles.html | 49 ++++++++++++++---- 2 files changed, 38 insertions(+), 11 deletions(-) create mode 100644 containers/backupchecks/src/static/images/documentation/user-management.png diff --git a/containers/backupchecks/src/static/images/documentation/user-management.png b/containers/backupchecks/src/static/images/documentation/user-management.png new file mode 100644 index 0000000000000000000000000000000000000000..d838f2645213acdaa62a5ee03feb9cd29baad4e3 GIT binary patch literal 16393 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 spPu-9jkHow Multiple Roles Work
    -
  1. A user can be assigned any combination of roles (e.g., "admin, operator")
  2. +
  3. A user can be assigned any combination of roles using checkboxes
  4. When logged in, the user selects their active role from a dropdown in the navigation bar
  5. The interface and available features adapt based on the selected active role
  6. Users can switch between their assigned roles at any time
-
- 💡 Example:
- A user assigned both "admin" and "operator" roles can switch between system administration tasks (admin) and daily backup reviews (operator) without logging out. +
+ 💡 When to Use Multiple Roles:
+ Multiple roles are useful when a user occasionally needs different access levels. However, use sparingly - most users should have a single role that matches their primary responsibility.

Managing Users

@@ -146,12 +146,26 @@
  1. Navigate to SettingsUser Management (Admin only)
  2. -
  3. Click New User
  4. -
  5. Enter username and password
  6. -
  7. Assign one or more roles (comma-separated: e.g., "admin,operator")
  8. -
  9. Save the user
  10. +
  11. Scroll down to the Create new user section
  12. +
  13. Enter a Username in the username field
  14. +
  15. Enter a Password in the password field
  16. +
  17. Select one or more roles by checking the appropriate checkboxes: +
      +
    • Admin
    • +
    • Operator
    • +
    • Reporter
    • +
    • Viewer
    • +
    +
  18. +
  19. Click the Create button
+
+ User Management Interface +
Figure 1: User Management interface showing role checkboxes and user creation
+
+
📝 Future Feature:
Email address configuration for users is planned for a future update. The database field exists but is not yet available in the user interface. @@ -161,9 +175,10 @@
  1. Navigate to SettingsUser Management
  2. -
  3. Click the edit icon next to the user
  4. -
  5. Modify the roles field (comma-separated list)
  6. -
  7. Save changes
  8. +
  9. Find the user you want to edit in the list
  10. +
  11. Check or uncheck the role checkboxes to modify their assigned roles
  12. +
  13. The Current: line below the checkboxes shows the currently assigned roles
  14. +
  15. Click the Save button to apply the changes
@@ -171,6 +186,18 @@ Role changes take effect immediately. If you remove a user's current active role, they will be switched to their first remaining role automatically.
+

Resetting User Passwords

+ +
    +
  1. Navigate to SettingsUser Management
  2. +
  3. Find the user whose password you want to reset
  4. +
  5. Click the New password button
  6. +
  7. Enter the new password in the dialog
  8. +
  9. Confirm the password change
  10. +
+ +

The user can immediately log in with their new password.

+

Deleting Users

Administrators can delete user accounts via Settings → User Management.