Allow students to self-sign-up with email confirmation and admin approval #63

Closed
opened 2026-07-18 13:49:51 +00:00 by thatguygriff · 0 comments
Owner

Summary

Currently students can only join by invite — a studio admin sends a tokenised
registration link. Add an optional mode where anyone can sign up, confirm their
email, and then be approved by a studio admin
before the account becomes usable.

Requirements

  • A toggle in Studio Settings → Registration enables open self-signup.
  • Enabling it aligns with WordPress's own membership setting — mirrors
    users_can_register (Settings → General "Anyone can register") — and sets the
    default new-user role to Student (default_role = us_student). Disabling
    restores the previous values.
  • Self-signup goes through the existing [us_student_register] page so required
    signup policies are still accepted; WordPress's native registration form is
    blocked so it can't be used to bypass policy acceptance.
  • New accounts must confirm their email (tokenised link) and then be
    approved by a studio admin.
  • Pending login behaviour: unconfirmed email → cannot log in; confirmed but not
    approved → can log in but only reaches a "pending approval" screen (no booking).
  • Rejection hard-deletes the account so the email is freed to re-apply.
  • Invite registration keeps working unchanged; both modes coexist.

See docs/features/account-registration.md for the full data/flow model.

## Summary Currently students can only join **by invite** — a studio admin sends a tokenised registration link. Add an optional mode where **anyone can sign up, confirm their email, and then be approved by a studio admin** before the account becomes usable. ## Requirements - A toggle in **Studio Settings → Registration** enables open self-signup. - Enabling it aligns with WordPress's own membership setting — mirrors `users_can_register` (Settings → General "Anyone can register") — and sets the default new-user role to Student (`default_role = us_student`). Disabling restores the previous values. - Self-signup goes through the existing `[us_student_register]` page so required signup policies are still accepted; WordPress's native registration form is blocked so it can't be used to bypass policy acceptance. - New accounts must **confirm their email** (tokenised link) and then be **approved** by a studio admin. - Pending login behaviour: unconfirmed email → cannot log in; confirmed but not approved → can log in but only reaches a "pending approval" screen (no booking). - Rejection hard-deletes the account so the email is freed to re-apply. - Invite registration keeps working unchanged; both modes coexist. See `docs/features/account-registration.md` for the full data/flow model.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: Unsupervised/unsupervised-scheduler#63