Patriot Platform Members 1.07 — Event views and event summaries

INSTALL
Upload patriot-platform-1.07.zip through Plugins > Add New > Upload Plugin.
Replace the existing plugin. This full ZIP includes all earlier additions,
including calendar downloads. No reactivation or new SQL table is needed.

EVENT VIEWS
Patriot Platform > Event attendance now opens Upcoming by default.
Upcoming: non-cancelled events whose scheduled start has not passed, nearest first.
Past: non-cancelled events whose start has passed, newest first. This does not
claim an event has finished; no end time is currently recorded.
Cancelled: unpublished events that were previously published and withdrawn.
Trash: removed event records, with an administrator Restore as draft button.
All events: all non-trashed events, including undated and unpublished drafts.
Region, title, publication status and date filters operate within the chosen view.
View buttons reset filters. Pagination retains the view and filters.
Normal drafts are not labelled cancelled. Prior withdrawal records are labelled
from their stored notification snapshot, in batches of 100 per WordPress init.
New publication transitions label withdrawals immediately. Republishing clears
the cancellation label. Cancellation sends administrators to Cancelled view.
Regional coordinator overviews receive the same views within their region.

RETIREMENT CONTROLS
Administrators can expand Move to Trash for past or unpublished events.
Confirm that any needed records have been saved before submitting.
Upcoming published events must first be cancelled through the existing control.
Pending, sending or failed cancellation email handoffs and unfinished event
notification jobs block retirement. Resolve failed messages in Event email queue.
The same checks protect normal WordPress trash/permanent deletion paths.
A successful mail handoff means accepted by wp_mail, not confirmed delivery.
No automatic cleanup is added. WordPress may automatically empty Trash according
to its existing retention settings; export anything you want before trashing.
Trash view links to the standard Activities Trash for permanent deletion.
Permanent deletion removes the event's RSVP/email records via existing hooks.
Restoring through the new button produces a draft, without republishing or
sending invitations. Review the event and its old registrations before publishing.
If WordPress Trash is disabled (EMPTY_TRASH_DAYS = 0), this plugin's Move to
Trash control refuses to delete immediately.

NEXT PHASE: EVENT SUMMARY
Open an event's Attendance list to see summary cards for:
Registered, Volunteers, Attended, No-show, Not marked, Cancelled registrations.
Cards use the entire event, regardless of attendee list filters or pagination.
Attendance and volunteer totals count current confirmed registrations only.
Cancelled registrations have a separate total and do not inflate attendance.
Uses existing attendance permissions: administrator or approved regional organiser.
No personal data is added to the summary. Existing CSV export remains available.

LOCAL ACCEPTANCE CHECK
1. Open Event attendance: only upcoming non-cancelled events should appear.
2. Cancel a test upcoming event. Find it under Cancelled, not Upcoming.
3. Check Past and All events, including an undated draft.
4. Attempt to trash a cancelled event while notices await processing: it must block.
5. Process its notices; once resolved, move the event to Trash.
6. Restore as draft and confirm it has not been published automatically.
7. Record attendance; check all six summary totals against the complete CSV.
8. Confirm a regional coordinator cannot see another region's summary or trash events.

VALIDATION
130 isolated PHP behaviour/render/calendar/lifecycle checks passed, including
prior RSVP, notification and attendance tests. PHP 8.0 parsing and ZIP integrity
checked. Live WordPress SQL, cron, SMTP and browser testing remains local.
