Student screens
internal/interfaces/http/routes_students.go.
| Method | Path | Gate |
|---|---|---|
| GET | /students |
students read |
| GET | /students/new |
students write |
| POST | /students |
students write |
| GET | /students/import |
students write |
| POST | /students/import |
students write (CSV) |
| GET | /students/export |
students read (CSV) |
| GET | /students/:id |
students read (details) |
| GET/POST | /students/:id/edit |
students write |
| POST | /students/:id/delete |
students delete |
| POST | /students/:id/parents |
guardians write (add-and-link a parent) |
| POST | /parents/new |
guardians write (create a parent from the student form) |
| GET | /students/:id/pay |
payments write (pay form) |
| POST | /students/:id/pay |
payments write (post the payment) |
| GET | /transfers |
transfers read |
| GET | /transfers/new |
transfers write |
| POST | /transfers |
transfers write |
| GET | /students/:id/transfers |
transfers read |
| POST | /students/:id/transfers |
transfers write |
Record-level scope applies throughout: a teacher (scope assigned) sees only
their roster, a parent (scope own) only their children; the pay form and the
transfer routes re-check membership, not just the catalogue grant.
Rendered from simple-lms/screens/students.md · OKF bundle · regenerate with npm run render