CI / Tests (PHP 8.2) (pull_request) Successful in 39s
CI / Tests (PHP 8.1) (pull_request) Successful in 46s
CI / No Debug Code (pull_request) Successful in 2s
CI / Coding Standards (pull_request) Successful in 2m52s
CI / PHPStan (pull_request) Successful in 2m50s
CI / Tests (PHP 8.3) (pull_request) Successful in 2m36s
CI / Build Plugin Zip (pull_request) Skipped
Group classes now carry a specific class time (alongside date and duration) and an assigned instructor: - Schema: add `class_time` (TIME) to `us_offerings`; `Offering` gains `normalizeTime`/`sessionWindows`. (Rides the pending 1.0.0->1.1.0 dbDelta upgrade, so no version bump.) - Offering form: class-time field, plus a studio-admin instructor picker (plain instructors always own their own classes). - `ClassSlotReconciler`: assigning an instructor clears their open booking slots overlapping each session and flags already-booked lessons that clash (a booked lesson is never deleted). Uses new `AvailabilityRepository::findOverlapping`. - Front end: `GET /offerings` exposes `instructor_name`; the enrolment page shows who teaches each class and when it meets. Back-office group-class views redesigned: - Instructor **My Group Classes** and studio-admin **Group Classes** are now per-class summaries with enrolment counts, not flat student lists. - Each links through (`?class_id=<id>`) to a per-class **details page** (schedule panel, roster with payment status, and — for invite-only classes — the add/make-available/invite-by-email controls). Invite-only membership is managed entirely from this page. - Invite actions are allowed for the class's owning instructor or any `view_all_lessons` studio admin, so an owner-operator (studio admin who also teaches) can reach every class's roster and invites from the Group Classes page. Tests: composer test (508), composer lint, composer cs all pass. Co-Authored-By: Claude Opus 4.8 <[email protected]>
34 lines
2.3 KiB
Markdown
34 lines
2.3 KiB
Markdown
# Changelog
|
|
|
|
All notable changes to Unsupervised Scheduler are documented in this file, one
|
|
section per version, newest first. The top section is always the version the code
|
|
on `main` currently carries (the `Version:` header in `unsupervised-schedular.php`).
|
|
Whether a version is "released" is purely a matter of whether its tag exists — the
|
|
changelog itself does not track that.
|
|
|
|
When a `v*` tag is pushed, `.gitea/workflows/release.yml` publishes the matching
|
|
`## [x.y.z]` section verbatim as the Gitea release notes, then opens a PR that bumps
|
|
the plugin to the next patch version and adds a fresh section here for it. Record
|
|
each change under the current top section as you work.
|
|
|
|
## [1.1.0]
|
|
|
|
### Added
|
|
- Invite-only group classes, so a class can be restricted to students who hold an invite.
|
|
- Instructor group-class roster view under **My Lessons**.
|
|
- Cancellation cutoff that limits how close to a lesson a student can cancel.
|
|
- Studio-defined account-registration questions collected during student sign-up.
|
|
- Group classes now carry a specific class time (alongside the date and duration), and studio admins can assign the teaching instructor. Assigning an instructor clears their open booking slots at the class time and flags any already-booked lesson that clashes.
|
|
- Students see who teaches each group class and when it meets on the enrolment page.
|
|
|
|
### Changed
|
|
- Plugin metadata links now point at Unsupervised and the Gitea repository.
|
|
- The instructor **My Group Classes** view is now a summary of classes with enrolment counts; each class links through to a per-class **details page** (class schedule, roster, and — for invite-only classes — the controls to add or invite students), rather than listing every student inline. Managing who is in an invite-only class is now done from that details page. The studio-admin **Group Classes** page is likewise a per-class summary that links through to the same details page, so a studio admin — including an owner-operator who also teaches — can view any class's roster and manage its invite-only membership.
|
|
|
|
## [1.0.0]
|
|
|
|
First stable release: instructor/student lesson scheduling for WordPress, including
|
|
availability management, one-on-one and group-class booking, Stripe payments, student
|
|
self-registration with email confirmation and admin approval, group invite links, and
|
|
self-update from tagged Gitea releases.
|