Makes the studio owner's WordPress administrator account run the studio, and marks the plugin as a release candidate.
Administrators get studio-admin capabilities
New user_has_cap filter (RoleManager::grantStudioCapsToAdministrators()) grants every studio-admin capability to any user with manage_options.
Dynamic — persists nothing, and the grant disappears when the plugin is deactivated.
One-way: the us_studio_admin role still grants only studio caps and confers no core WordPress admin powers (no plugin install, user/content/settings management). It remains available for non-administrator studio staff.
Studio-admin caps consolidated into a single STUDIO_ADMIN_CAPS source of truth.
Re-gate the Scheduler dashboard
Added a dedicated view_all_lessons capability (parallel to view_all_payments) to the studio-admin set.
The studio-wide Scheduler page is now gated on view_all_lessons in both AdminMenu and LessonController::renderAdminDashboard, instead of manage_options — so a us_studio_admin user can see it too (administrators still do, via the cap filter).
Version
Bumped to 1.0.0-rc.1 to reflect the in-progress, pre-release state (header + USC_VERSION). Verified composer build emits unsupervised-schedular-1.0.0-rc.1.zip and the packaged header matches. Will move to 1.0.0 before tagging a release.
Makes the studio owner's WordPress administrator account run the studio, and marks the plugin as a release candidate.
## Administrators get studio-admin capabilities
- New `user_has_cap` filter (`RoleManager::grantStudioCapsToAdministrators()`) grants every studio-admin capability to any user with `manage_options`.
- Dynamic — persists nothing, and the grant disappears when the plugin is deactivated.
- One-way: the `us_studio_admin` role still grants **only** studio caps and confers **no** core WordPress admin powers (no plugin install, user/content/settings management). It remains available for non-administrator studio staff.
- Studio-admin caps consolidated into a single `STUDIO_ADMIN_CAPS` source of truth.
## Re-gate the Scheduler dashboard
- Added a dedicated **`view_all_lessons`** capability (parallel to `view_all_payments`) to the studio-admin set.
- The studio-wide **Scheduler** page is now gated on `view_all_lessons` in both `AdminMenu` and `LessonController::renderAdminDashboard`, instead of `manage_options` — so a `us_studio_admin` user can see it too (administrators still do, via the cap filter).
## Version
- Bumped to **`1.0.0-rc.1`** to reflect the in-progress, pre-release state (header + `USC_VERSION`). Verified `composer build` emits `unsupervised-schedular-1.0.0-rc.1.zip` and the packaged header matches. Will move to `1.0.0` before tagging a release.
## Docs & tests
- `docs/features/user-roles.md` (cap matrix + administrator note), `docs/features/lesson-booking.md` (Scheduler gating)
- Tests: administrators receive all studio caps; non-admins receive none
Verification: 65 tests / 200 assertions pass; PHPCS clean; PHPStan level 6 no errors. Branch rebased on current `main` (includes #12).
🤖 Generated with [Claude Code](https://claude.com/claude-code)
WordPress administrators (manage_options) now implicitly hold every
studio-admin capability via a user_has_cap filter, so the site owner runs
the studio without being assigned the separate us_studio_admin role. The
grant persists nothing and is removed on deactivation. The us_studio_admin
role still exists for non-administrator staff and does NOT confer any core
WordPress admin powers.
Also re-gate the studio-wide "Scheduler" dashboard off manage_options onto
a new view_all_lessons capability (added to the studio-admin cap set), so a
us_studio_admin user can see it too — previously it was administrator-only.
- RoleManager: STUDIO_ADMIN_CAPS constant, CAP_VIEW_ALL_LESSONS,
grantStudioCapsToAdministrators() user_has_cap filter
- AdminMenu + LessonController: Scheduler gated on view_all_lessons
- Docs: user-roles.md cap matrix + administrator note; lesson-booking.md
- Tests: administrators receive studio caps; non-admins do not
Co-Authored-By: Claude Opus 4.8 <[email protected]>
Reflect the in-progress, pre-release state. Bump to 1.0.0 before tagging a
release. Updates both the plugin header and USC_VERSION; the build/CI zip
artifact name tracks this automatically.
Co-Authored-By: Claude Opus 4.8 <[email protected]>
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.
Makes the studio owner's WordPress administrator account run the studio, and marks the plugin as a release candidate.
Administrators get studio-admin capabilities
user_has_capfilter (RoleManager::grantStudioCapsToAdministrators()) grants every studio-admin capability to any user withmanage_options.us_studio_adminrole still grants only studio caps and confers no core WordPress admin powers (no plugin install, user/content/settings management). It remains available for non-administrator studio staff.STUDIO_ADMIN_CAPSsource of truth.Re-gate the Scheduler dashboard
view_all_lessonscapability (parallel toview_all_payments) to the studio-admin set.view_all_lessonsin bothAdminMenuandLessonController::renderAdminDashboard, instead ofmanage_options— so aus_studio_adminuser can see it too (administrators still do, via the cap filter).Version
1.0.0-rc.1to reflect the in-progress, pre-release state (header +USC_VERSION). Verifiedcomposer buildemitsunsupervised-schedular-1.0.0-rc.1.zipand the packaged header matches. Will move to1.0.0before tagging a release.Docs & tests
docs/features/user-roles.md(cap matrix + administrator note),docs/features/lesson-booking.md(Scheduler gating)Verification: 65 tests / 200 assertions pass; PHPCS clean; PHPStan level 6 no errors. Branch rebased on current
main(includes #12).🤖 Generated with Claude Code