-
v1.5.4
StableCI / Coding Standards & Static Analysis (push) Successful in 13m23sCI / Tests (PHP 8.1) (push) Successful in 55sCI / Tests (PHP 8.2) (push) Successful in 1m7sCI / Tests (PHP 8.3) (push) Successful in 6m59sCI / Tests (PHP 8.5) (push) Successful in 12m55sCI / No Debug Code (push) Successful in 3sCI / Build Plugin Zip (push) Successful in 5m53sRelease / Build and Publish Release (push) Successful in 8m5sRelease / Open next-version bump PR (push) Successful in 5sreleased this
2026-08-24 23:41:46 +00:00 | 47 commits to main since this releaseFixed
- Adding students to a group class now checks that each one is actually a student. Add students directly and Make available acted on whatever ids the form posted without confirming they named students at all, so a stale page — or a tampered submission — could put an instructor, an administrator, or an account that had since been deleted onto a class roster, raising a real payment against them. Both controls now skip anything that is not a student, and the "%d student(s) added" count tells you how many actually went through. Children and students awaiting approval are unaffected: they are students, and adding them is what these controls are for.
- A refused booking no longer empties the Book a lesson for a student form. Whatever the reason it came back — the time taken while you were typing, a weekly reservation asked for on a time that does not repeat — the panel reopens with the student, time, lesson type, both ticks and your note exactly as you left them, so a correction is one field, not five. A booking that goes through still leaves an empty form behind for the next one.
- Booking a lesson for a child, or for a student you have not approved yet, no longer fails with "Choose a student to book for." The Book a lesson for a student panel offered every student it could see, but then refused a good half of them: a parent's child and a self-signup still awaiting approval both appeared in the list, and both were rejected on submit — with an error that read as though no student had been chosen, and which cleared the form. Neither of those accounts is allowed to book in their own name (a child's is never signed in to at all, and an unapproved signup waits for you), and the panel was mistakenly applying that same restriction to the studio booking on their behalf, which is precisely the case it was built for. Anyone the panel offers can now be booked for.
Downloads