diff --git a/app/controllers/admin/routes.py b/app/controllers/admin/routes.py index 8d24ffdf6..5c1638e42 100644 --- a/app/controllers/admin/routes.py +++ b/app/controllers/admin/routes.py @@ -181,13 +181,14 @@ def createEvent(templateid, programid): if cohort: bonnerCohorts[year] = cohort - + trainingEvents = Event.select().where(Event.isTraining == True).order_by(Event.name) return render_template(f"/events/{template.templateFile}", template = template, eventData = eventData, termList = selectSurroundingTerms(g.current_term, prevTerms=0), requirements = requirements, bonnerCohorts = bonnerCohorts, + trainingEvents = trainingEvents, isProgramManager = isProgramManager) @@ -333,6 +334,7 @@ def eventDisplay(eventId): rule = request.url_rule + trainingEvents = Event.select().where(Event.isTraining == True).order_by(Event.name) # Event Edit if 'edit' in rule.rule: return render_template("events/createEvent.html", @@ -344,6 +346,7 @@ def eventDisplay(eventId): invitedYears = invitedYears, userHasRSVPed = userHasRSVPed, isProgramManager = isProgramManager, + trainingEvents = trainingEvents, filepaths = filepaths) # Event View else: diff --git a/app/static/js/createEvents.js b/app/static/js/createEvents.js index 1a734a73c..14d7c318e 100644 --- a/app/static/js/createEvents.js +++ b/app/static/js/createEvents.js @@ -818,6 +818,26 @@ function handleTimeFormatting(timeArray){ setCharacterLimit($("#inputCharacters"), "#remainingCharacters"); + // Handle "None Required" checkbox behavior + $('#noTrainingRequired').on('change', function() { + if ($(this).is(':checked')) { + // Uncheck all training checkboxes when "None Required" is selected + $('.training-checkbox').prop('checked', false); + } + }); + + // Handle training checkbox behavior + $('.training-checkbox').on('change', function() { + if ($(this).is(':checked')) { + // Uncheck "None Required" when any training is selected + $('#noTrainingRequired').prop('checked', false); + } else { + // If no training checkboxes are checked, check "None Required" + if ($('.training-checkbox:checked').length === 0) { + $('#noTrainingRequired').prop('checked', true); + } + } + }); }); diff --git a/app/templates/events/createEvent.html b/app/templates/events/createEvent.html index c463fcb30..dbdd9a183 100644 --- a/app/templates/events/createEvent.html +++ b/app/templates/events/createEvent.html @@ -136,6 +136,42 @@
No training events available
+ {% endif %} +{% endmacro %}