generated from jric11/baseProject
52 lines
3.0 KiB
Markdown
52 lines
3.0 KiB
Markdown
# Club summary action dialogs
|
|
|
|
Club add/edit forms now open in Bootstrap modals. The summary shows club details,
|
|
tables, history and action buttons; it no longer displays editing fields inline.
|
|
|
|
Dialogs cover club editing/archiving, membership edits, existing-account
|
|
assignment, invitations, invitation revocation, new seasons, recording dues and
|
|
payments, dues corrections and payment reversals. The Invite members header
|
|
action opens its dialog directly. Existing-record dialogs identify the selected
|
|
member, dues or payment row. Separate club creation and ticket pages retain their
|
|
existing workflows.
|
|
|
|
`classes/ClubFormModals.php` transforms only the club forms the server has already
|
|
authorized for the viewer. It moves dialogs outside the tables, supplies unique
|
|
IDs, labelled headings, close and cancel controls, and scrollable phone-friendly
|
|
layouts. Members receive no administrator forms or action dialogs.
|
|
|
|
`js/club-modals.js` submits these forms through the existing protected club
|
|
controller. Validation and permission errors appear inside the dialog without
|
|
clearing entered values. Saving disables action buttons and prevents dismissal
|
|
until the response returns; existing financial request keys are retained.
|
|
Successful saves reload the club summary and display its success notice. Cancel,
|
|
close and Escape dismiss an idle dialog without submitting changes. Bootstrap
|
|
provides focus containment and returns focus to the opening action.
|
|
|
|
`classes/Roster.php` renders the dialog layout and returns a JSON success result
|
|
only for the modal's explicitly marked AJAX requests. Existing ordinary POST
|
|
flows retain their redirects. All existing CSRF, tenant access, recent MFA,
|
|
validation, audit and financial safeguards continue to run on the server.
|
|
|
|
Browser regressions exercise the real dialogs rather than hidden forms,
|
|
including cancellation, validation failures, membership changes, invitation
|
|
delivery feedback, seasons, dues, payments, corrections and reversals. Release
|
|
packaging checks require both new files. No new dependency or database migration
|
|
is required.
|
|
|
|
Validation passed 262 targeted checks: 99 project HTTP, 19 onboarding HTTP,
|
|
33 general browser, 19 tenant browser, 16 deployment tooling, 24 MFA/session HTTP,
|
|
41 security/capacity service and 11 paging/export HTTP checks. Source validation
|
|
passed for 66 PHP files, 58 JavaScript files and 39 XSL stylesheets. Browser tests
|
|
also verify club edits, cancellation of invitation revocation, phone dialog
|
|
width, first-field focus and focus restoration after Escape.
|
|
|
|
The three application files were deployed to development and their hashes
|
|
verified. A protected temporary runtime check confirmed server-side dialog
|
|
rendering, and the new script was fetched successfully; the probe was removed.
|
|
Prior files were saved under
|
|
`.tools/deployment-backups/club-modals-07cbd8d9f91242e19f5501609489e35a`.
|
|
No existing development database records were changed. Tests used disposable
|
|
local databases and generated accounts with external email disabled; the local
|
|
test database server was stopped after cleanup.
|