Constructor
new GatheringScheduleController()
Methods
connect()
Initialize controller
createFlashContainer()
Create flash message container if it doesn't exist
formatDate()
Format date for display
handleActivityChange()
Handle activity select change - disable/enable based on "other" checkbox
handleEditOtherChange()
Handle "other" checkbox change for edit form
handleOtherChange()
Handle "other" checkbox change for add form
normalizeErrors()
Normalize error response into a readable string Handles errors that may be an array, object, string, or missing
openEditModal()
Open edit modal and populate with activity data
resetAddForm()
Reset add form when modal is opened
setupDateTimeLimits()
Setup min/max limits on datetime inputs based on gathering dates This is called when modals open to ensure values are set
showFlashMessage()
Show flash message
(async) submitAddForm()
Submit add form via AJAX
(async) submitEditForm()
Submit edit form via AJAX
toggleEditEndTime()
Toggle end time field visibility for edit form
toggleEndTime()
Toggle end time field visibility for add form
validateDatetimeRange()
Validate datetime is within gathering range