Admin screens
internal/interfaces/http/routes_admin.go. Manager-only by default: none of
these resources are granted to accountant/teacher/parent.
| Method | Path | Gate |
|---|---|---|
| GET | /users |
users read |
| GET | /users/new |
users write |
| POST | /users |
users write |
| GET/POST | /users/:id/edit |
users write |
| POST | /users/:id/delete |
users write |
| POST | /users/:id/enable |
users write (enable/disable — disable is not delete) |
| GET | /users/guardians |
guardians read (assign parents to children) |
| POST | /users/guardians |
guardians write |
| GET | /roles |
roles read (the permission matrix) |
| POST | /roles/new |
roles write |
| POST | /roles |
roles write (matrix save; validates against the catalogue) |
| GET | /settings |
settings read (host form + plugin tabs) |
| POST | /settings |
settings write (one-transaction save) |
| GET | /settings/register |
settings read — redirects to /settings; the plugin tab is part of the settings page, not a separate route |
| GET | /setup |
settings read (first-boot box/currency setup) |
| POST | /setup |
settings write |
| GET | /audit |
audit read (paginated, filterable) |
| GET | /system |
settings read (diagnostics) |
Role saves invalidate the affected role's permission cache; user edits invalidate that user's. Deleting a built-in role or reusing its code is refused; the matrix renders every catalogue resource including denied ones, so a grant can be toggled on later.
Rendered from simple-lms/screens/admin.md · OKF bundle · regenerate with npm run render