New caps wired into RoleManager (created on init + activation via Installer)
Instructors admin page (manage_instructors): create WP user with us_instructor role, toggle per-capability access; cannot grant a cap the admin lacks
src/Auth/InstructorController
Acceptance
Capability matrix in user-roles.md reflected in code; instructor create + cap toggles enforced; tests under tests/Unit/Auth/ passing
New `us_studio_admin` role that runs the studio, including creating instructor accounts and setting their permissions.
**Spec:** `docs/features/user-roles.md`
## Scope
- Register role `us_studio_admin` with caps: `manage_instructors`, `manage_offerings`, `manage_questions`, `manage_policies`, `manage_billing`, `view_all_payments`, `export_payments`
- Extend `us_instructor` caps: `manage_offerings`, `manage_questions`, `view_own_payments`, `export_payments`
- New caps wired into `RoleManager` (created on init + activation via `Installer`)
- **Instructors** admin page (`manage_instructors`): create WP user with `us_instructor` role, toggle per-capability access; cannot grant a cap the admin lacks
- `src/Auth/InstructorController`
## Acceptance
- Capability matrix in `user-roles.md` reflected in code; instructor create + cap toggles enforced; tests under `tests/Unit/Auth/` passing
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
New
us_studio_adminrole that runs the studio, including creating instructor accounts and setting their permissions.Spec:
docs/features/user-roles.mdScope
us_studio_adminwith caps:manage_instructors,manage_offerings,manage_questions,manage_policies,manage_billing,view_all_payments,export_paymentsus_instructorcaps:manage_offerings,manage_questions,view_own_payments,export_paymentsRoleManager(created on init + activation viaInstaller)manage_instructors): create WP user withus_instructorrole, toggle per-capability access; cannot grant a cap the admin lackssrc/Auth/InstructorControllerAcceptance
user-roles.mdreflected in code; instructor create + cap toggles enforced; tests undertests/Unit/Auth/passing