Student administration: cancel/edit actions from the admin view #70

Closed
opened 2026-07-18 21:03:21 +00:00 by thatguygriff · 0 comments
Owner

What

docs/features/student-administration.md ships the studio-admin Students view deliberately read-only:

Read-only in this iteration; cancel/edit actions are a possible follow-up.

Add admin actions to the student list/detail view (manage_students):

  • Cancel an upcoming lesson on the student's behalf (reuse the existing cancellation path — slot release + pending-payment voiding, see docs/features/lesson-booking.md "Cancellation").
  • Cancel/withdraw a group-class enrolment.
  • Edit basic account details (display name, email) where appropriate.

Where

  • Spec: docs/features/student-administration.md
  • Controllers under src/Auth/; booking/enrolment mutations go through the existing Booking\BookingRepository / GroupClass\EnrollmentRepository paths so payment-seam behaviour stays consistent.
  • Tests under tests/Unit/Auth/
## What `docs/features/student-administration.md` ships the studio-admin Students view deliberately read-only: > Read-only in this iteration; cancel/edit actions are a possible follow-up. Add admin actions to the student list/detail view (`manage_students`): - Cancel an upcoming lesson on the student's behalf (reuse the existing cancellation path — slot release + pending-payment voiding, see `docs/features/lesson-booking.md` "Cancellation"). - Cancel/withdraw a group-class enrolment. - Edit basic account details (display name, email) where appropriate. ## Where - Spec: `docs/features/student-administration.md` - Controllers under `src/Auth/`; booking/enrolment mutations go through the existing `Booking\BookingRepository` / `GroupClass\EnrollmentRepository` paths so payment-seam behaviour stays consistent. - Tests under `tests/Unit/Auth/`
thatguygriff added the feature label 2026-07-18 21:03:21 +00:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: Unsupervised/unsupervised-scheduler#70