Bulk delete availability slots from the admin list view
CI / No Debug Code (pull_request) Successful in 2s
CI / Coding Standards (pull_request) Successful in 1m40s
CI / Tests (PHP 8.1) (pull_request) Successful in 46s
CI / Tests (PHP 8.2) (pull_request) Successful in 45s
CI / Tests (PHP 8.3) (pull_request) Successful in 1m34s
CI / PHPStan (pull_request) Successful in 2m52s
CI / Build Plugin Zip (pull_request) Has been skipped
CI / No Debug Code (pull_request) Successful in 2s
CI / Coding Standards (pull_request) Successful in 1m40s
CI / Tests (PHP 8.1) (pull_request) Successful in 46s
CI / Tests (PHP 8.2) (pull_request) Successful in 45s
CI / Tests (PHP 8.3) (pull_request) Successful in 1m34s
CI / PHPStan (pull_request) Successful in 2m52s
CI / Build Plugin Zip (pull_request) Has been skipped
The list view of Current Slots gets a checkbox per unbooked slot, a select-all header checkbox, and a Delete selected button submitting a new bulk_delete form action. Each id is ownership-checked through the same path as single delete; the repository's is_booked guard refuses booked slots as a second layer. Row checkboxes attach to the bulk form via the HTML form attribute because the table already contains the per-row delete forms and forms cannot nest. Closes #57 Co-Authored-By: Claude Fable 5 <[email protected]>
This commit is contained in:
@@ -41,6 +41,7 @@ Instructors access **My Availability** in wp-admin (`?page=us-availability`).
|
||||
- Add availability: provide a same-day start/end window, lesson length, and (optionally) a linked private-lesson offering
|
||||
- Add a weekly series: tick weekly repeat and choose the number of weeks
|
||||
- Delete a slot: only allowed if `is_booked = 0`
|
||||
- Bulk delete: the list view has a checkbox per unbooked slot (with a select-all header checkbox) and a **Delete selected** button (`usc_action=bulk_delete`, `slot_ids[]`); each id is ownership-checked, and booked slots are refused at the repository level
|
||||
- Current slots can be shown as a **list** or a **weekly calendar** (`usc_view=week`, navigated with `usc_week=Y-m-d`); the grid honours the site's `start_of_week` option via `Availability\WeekCalendar`
|
||||
|
||||
## Public Calendar
|
||||
@@ -77,6 +78,7 @@ lists.
|
||||
- REST endpoint: `Unsupervised\Schedular\Availability\AvailabilityEndpoint`
|
||||
|
||||
## Tests
|
||||
- `tests/Unit/Availability/AvailabilityControllerTest.php`
|
||||
- `tests/Unit/Availability/AvailabilityRepositoryTest.php`
|
||||
- `tests/Unit/Availability/AvailabilitySlotTest.php`
|
||||
- `tests/Unit/Availability/AvailabilityEndpointTest.php`
|
||||
|
||||
Reference in New Issue
Block a user