From 11fc7da77ce1fd8b6491b3fc18cf2370a31f9336 Mon Sep 17 00:00:00 2001 From: Ariana Meatchem <146577403+Meatchema@users.noreply.github.com> Date: Thu, 22 Jan 2026 16:17:36 -0500 Subject: [PATCH 01/18] Added in InvitedUser variable to differentiate between users who were not rsvp and have attended and or have not attended --- app/controllers/admin/volunteers.py | 9 ++++++--- app/templates/events/volunteerDetails.html | 18 ++++++++++++------ 2 files changed, 18 insertions(+), 9 deletions(-) diff --git a/app/controllers/admin/volunteers.py b/app/controllers/admin/volunteers.py index 2dbe81479..bb71e4745 100644 --- a/app/controllers/admin/volunteers.py +++ b/app/controllers/admin/volunteers.py @@ -115,11 +115,14 @@ def volunteerDetailsPage(eventID): waitlistUser = list(set([obj for obj in eventRsvpData if obj.rsvpWaitlist])) rsvpUser = list(set([obj for obj in eventRsvpData if not obj.rsvpWaitlist ])) - + invitedUser = list(set([obj for obj in eventParticipantData if not obj.rsvpWaitlist and datetime.now() < datetime.combine(event.startDate, event.timeStart)])) + attendedUser = list(set([obj for obj in eventParticipantData if not obj.rsvpWaitlist and datetime.now() >= datetime.combine(event.startDate, event.timeStart)])) + return render_template("/events/volunteerDetails.html", waitlistUser = waitlistUser, - attendedUser= eventParticipantData, - rsvpUser= rsvpUser, + attendedUser = attendedUser, + rsvpUser = rsvpUser, + invitedUser = invitedUser, event = event) diff --git a/app/templates/events/volunteerDetails.html b/app/templates/events/volunteerDetails.html index 8bc2a9eee..0101ec337 100644 --- a/app/templates/events/volunteerDetails.html +++ b/app/templates/events/volunteerDetails.html @@ -56,8 +56,8 @@

{{ participant.user.firstName }} {{ participant {% endmacro %} -{% macro printParticipants(type, attended, rsvp, waitlist) %} - {% set combinedParticipants = attended + rsvp + waitlist %} +{% macro printParticipants(type, attended, rsvp, waitlist, invited) %} + {% set combinedParticipants = attended + rsvp + waitlist + invited %} {% for p in combinedParticipants | unique %} {% if p in rsvp %} {{createTable(p, 'rsvp') if type == 'table' else createCard(p, 'rsvp') }} @@ -68,11 +68,14 @@

{{ participant.user.firstName }} {{ participant {% if p in waitlist %} {{createTable(p, 'waitlist') if type == 'table' else createCard(p, 'waitlist') }} {% endif %} + {% if p in invited %} + {{createTable(p, 'invited') if type == 'table' else createCard(p, 'invited') }} + {% endif %} {% endfor %} {% endmacro %} {% macro createCheckbox(checkboxName) %} - {% set labelText = "RSVP" if checkboxName == 'rsvp' else 'Waitlist' if checkboxName == 'waitlist' else 'Attended' %} + {% set labelText = "RSVP" if checkboxName == 'rsvp' else 'Waitlist' if checkboxName == 'waitlist' else 'Attended' if checkboxName == 'attended' else 'Invited' %}
{% endmacro %} @@ -82,7 +85,7 @@

{{ participant.user.firstName }} {{ participant {{super()}} -{% if attendedUser or waitlistUser or rsvpUser %} +{% if attendedUser or waitlistUser or rsvpUser or invitedUser %}

{{event.name}} on {{event.startDate.strftime('%m/%d/%Y')}} @@ -103,6 +106,9 @@

{% if attendedUser %} {{createCheckbox('attended')}} {% endif %} + {% if invitedUser %} + {{createCheckbox('invited')}} + {% endif %}


@@ -148,7 +154,7 @@


- {{ printParticipants('card', attendedUser, rsvpUser, waitlistUser) }} + {{ printParticipants('card', attendedUser, rsvpUser, waitlistUser, invitedUser) }}
@@ -165,7 +171,7 @@

- {{ printParticipants('table', attendedUser, rsvpUser, waitlistUser) }} + {{ printParticipants('table', attendedUser, rsvpUser, waitlistUser, invitedUser) }} {% else %} From fa303f19c14e00174b663e3514f49ffee4d545e6 Mon Sep 17 00:00:00 2001 From: Ariana Meatchem <146577403+Meatchema@users.noreply.github.com> Date: Fri, 6 Feb 2026 10:23:49 -0500 Subject: [PATCH 02/18] Fixed the user's Invited label in the table and card --- app/controllers/admin/volunteers.py | 2 -- app/templates/events/volunteerDetails.html | 20 ++++++++++---------- 2 files changed, 10 insertions(+), 12 deletions(-) diff --git a/app/controllers/admin/volunteers.py b/app/controllers/admin/volunteers.py index bb71e4745..8d2c77ada 100644 --- a/app/controllers/admin/volunteers.py +++ b/app/controllers/admin/volunteers.py @@ -115,14 +115,12 @@ def volunteerDetailsPage(eventID): waitlistUser = list(set([obj for obj in eventRsvpData if obj.rsvpWaitlist])) rsvpUser = list(set([obj for obj in eventRsvpData if not obj.rsvpWaitlist ])) - invitedUser = list(set([obj for obj in eventParticipantData if not obj.rsvpWaitlist and datetime.now() < datetime.combine(event.startDate, event.timeStart)])) attendedUser = list(set([obj for obj in eventParticipantData if not obj.rsvpWaitlist and datetime.now() >= datetime.combine(event.startDate, event.timeStart)])) return render_template("/events/volunteerDetails.html", waitlistUser = waitlistUser, attendedUser = attendedUser, rsvpUser = rsvpUser, - invitedUser = invitedUser, event = event) diff --git a/app/templates/events/volunteerDetails.html b/app/templates/events/volunteerDetails.html index 13494eda6..0130a9bfb 100644 --- a/app/templates/events/volunteerDetails.html +++ b/app/templates/events/volunteerDetails.html @@ -56,9 +56,12 @@

{{ participant.user.firstName }} {{ participant {% endmacro %} -{% macro printParticipants(type, attended, rsvp, waitlist, invited) %} - {% set combinedParticipants = attended + rsvp + waitlist + invited %} +{% macro printParticipants(type, attended, rsvp, waitlist) %} + {% set combinedParticipants = attended + rsvp + waitlist %} {% for p in combinedParticipants | unique %} + {% if p in rsvp and not event.isRsvpRequired %} + {{createTable(p, 'invited') if type == 'table' else createCard(p, 'invited') }} + {% endif %} {% if p in rsvp %} {{createTable(p, 'rsvp') if type == 'table' else createCard(p, 'rsvp') }} {% endif %} @@ -68,9 +71,6 @@

{{ participant.user.firstName }} {{ participant {% if p in waitlist %} {{createTable(p, 'waitlist') if type == 'table' else createCard(p, 'waitlist') }} {% endif %} - {% if p in invited %} - {{createTable(p, 'invited') if type == 'table' else createCard(p, 'invited') }} - {% endif %} {% endfor %} {% endmacro %} @@ -85,7 +85,7 @@

{{ participant.user.firstName }} {{ participant {{super()}} -{% if attendedUser or waitlistUser or rsvpUser or invitedUser %} +{% if attendedUser or waitlistUser or rsvpUser %}

{{event.name}} on {{event.startDate.strftime('%m/%d/%Y')}} @@ -97,7 +97,7 @@


- {% if rsvpUser %} + {% if rsvpUser and event.isRsvpRequired %} {{createCheckbox('rsvp')}} {% endif %} {% if waitlistUser %} @@ -106,7 +106,7 @@

{% if attendedUser %} {{createCheckbox('attended')}} {% endif %} - {% if invitedUser %} + {% if rsvpUser and not event.isRsvpRequired %} {{createCheckbox('invited')}} {% endif %}

@@ -154,7 +154,7 @@


- {{ printParticipants('card', attendedUser, rsvpUser, waitlistUser, invitedUser) }} + {{ printParticipants('card', attendedUser, rsvpUser, waitlistUser) }}
@@ -171,7 +171,7 @@

- {{ printParticipants('table', attendedUser, rsvpUser, waitlistUser, invitedUser) }} + {{ printParticipants('table', attendedUser, rsvpUser, waitlistUser) }} {% else %} From 79180c35a3166790b50bbd521b5f6388500b4a10 Mon Sep 17 00:00:00 2001 From: Ariana Meatchem <146577403+Meatchema@users.noreply.github.com> Date: Fri, 6 Feb 2026 10:33:29 -0500 Subject: [PATCH 03/18] Fixed the entry counter in 'volunteer details'-html printParticipants counted for two sections --- app/templates/events/volunteerDetails.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/templates/events/volunteerDetails.html b/app/templates/events/volunteerDetails.html index 0130a9bfb..3e2c43c90 100644 --- a/app/templates/events/volunteerDetails.html +++ b/app/templates/events/volunteerDetails.html @@ -62,7 +62,7 @@

{{ participant.user.firstName }} {{ participant {% if p in rsvp and not event.isRsvpRequired %} {{createTable(p, 'invited') if type == 'table' else createCard(p, 'invited') }} {% endif %} - {% if p in rsvp %} + {% if p in rsvp and event.isRsvpRequired %} {{createTable(p, 'rsvp') if type == 'table' else createCard(p, 'rsvp') }} {% endif %} {% if p in attended%} From fb6af41eb0012cfdbbf56fb47476632c1d1d5de0 Mon Sep 17 00:00:00 2001 From: Ariana Meatchem <146577403+Meatchema@users.noreply.github.com> Date: Mon, 9 Feb 2026 15:20:23 -0500 Subject: [PATCH 04/18] Removed datetime restriction so that scanned user can show in volunteer details --- app/controllers/admin/volunteers.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/controllers/admin/volunteers.py b/app/controllers/admin/volunteers.py index 8d2c77ada..cf730ea73 100644 --- a/app/controllers/admin/volunteers.py +++ b/app/controllers/admin/volunteers.py @@ -115,7 +115,7 @@ def volunteerDetailsPage(eventID): waitlistUser = list(set([obj for obj in eventRsvpData if obj.rsvpWaitlist])) rsvpUser = list(set([obj for obj in eventRsvpData if not obj.rsvpWaitlist ])) - attendedUser = list(set([obj for obj in eventParticipantData if not obj.rsvpWaitlist and datetime.now() >= datetime.combine(event.startDate, event.timeStart)])) + attendedUser = list(set([obj for obj in eventParticipantData if not obj.rsvpWaitlist])) return render_template("/events/volunteerDetails.html", waitlistUser = waitlistUser, From 12ebcff7f99c071608e41b73d8781568951866de Mon Sep 17 00:00:00 2001 From: Ariana Meatchem <146577403+Meatchema@users.noreply.github.com> Date: Mon, 9 Feb 2026 15:25:52 -0500 Subject: [PATCH 05/18] changed eventVolunteerData to include non-waitlist RSVP's so that the manage volunteer table can see ALL the volunteers added to the event --- app/logic/participants.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/logic/participants.py b/app/logic/participants.py index 630ea0aea..b0933a959 100644 --- a/app/logic/participants.py +++ b/app/logic/participants.py @@ -193,8 +193,8 @@ def sortParticipantsByStatus(event): # if rsvp is required for the event, grab all volunteers that are in the waitlist eventWaitlistData = [volunteer for volunteer in (eventParticipants + eventRsvpData) if volunteer.rsvpWaitlist and event.isRsvpRequired] - # put the rest of the users that are not on the waitlist into the volunteer data - eventVolunteerData = [volunteer for volunteer in eventNonAttendedData if volunteer not in eventWaitlistData] + # put all participants and non-waitlisted RSVPs into the volunteer data + eventVolunteerData = [volunteer for volunteer in (eventParticipants + eventNonAttendedData) if volunteer not in eventWaitlistData] eventNonAttendedData = [] return eventNonAttendedData, eventWaitlistData, eventVolunteerData, eventParticipants \ No newline at end of file From d977e8a887b32c34f787ec2befe7e854eabd49dd Mon Sep 17 00:00:00 2001 From: Ariana Meatchem <146577403+Meatchema@users.noreply.github.com> Date: Mon, 9 Feb 2026 15:59:56 -0500 Subject: [PATCH 06/18] Removed resourceReader import statement --- app/logic/volunteerSpreadsheet.py | 1 - 1 file changed, 1 deletion(-) diff --git a/app/logic/volunteerSpreadsheet.py b/app/logic/volunteerSpreadsheet.py index 6a03ca6ac..c86600b14 100644 --- a/app/logic/volunteerSpreadsheet.py +++ b/app/logic/volunteerSpreadsheet.py @@ -1,4 +1,3 @@ -from importlib.abc import ResourceReader from os import major import xlsxwriter from peewee import fn, Case, JOIN, SQL, Select From 8fb90531712df0c7e3b32b7092da52831817be39 Mon Sep 17 00:00:00 2001 From: Ariana Meatchem <146577403+Meatchema@users.noreply.github.com> Date: Tue, 17 Feb 2026 15:30:10 -0500 Subject: [PATCH 07/18] I have changed the verbage from waitlist to waitlisted in volunteerDetails.html --- app/templates/events/volunteerDetails.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/templates/events/volunteerDetails.html b/app/templates/events/volunteerDetails.html index 3e2c43c90..0f9aa1f74 100644 --- a/app/templates/events/volunteerDetails.html +++ b/app/templates/events/volunteerDetails.html @@ -69,7 +69,7 @@

{{ participant.user.firstName }} {{ participant {{createTable(p, 'attended') if type == 'table' else createCard(p, 'attended') }} {% endif %} {% if p in waitlist %} - {{createTable(p, 'waitlist') if type == 'table' else createCard(p, 'waitlist') }} + {{createTable(p, 'waitlisted') if type == 'table' else createCard(p, 'waitlisted') }} {% endif %} {% endfor %} {% endmacro %} From 2440ebb3adf1512597afe750fbbd5b6777fa3336 Mon Sep 17 00:00:00 2001 From: Ariana Meatchem <146577403+Meatchema@users.noreply.github.com> Date: Tue, 17 Feb 2026 15:40:00 -0500 Subject: [PATCH 08/18] Changed createCheckbox to a dictionary to increase readability. Also, finished updating waitlisted references for user in the checkbox --- app/templates/events/volunteerDetails.html | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/app/templates/events/volunteerDetails.html b/app/templates/events/volunteerDetails.html index 0f9aa1f74..e198f4809 100644 --- a/app/templates/events/volunteerDetails.html +++ b/app/templates/events/volunteerDetails.html @@ -75,7 +75,13 @@

{{ participant.user.firstName }} {{ participant {% endmacro %} {% macro createCheckbox(checkboxName) %} - {% set labelText = "RSVP" if checkboxName == 'rsvp' else 'Waitlist' if checkboxName == 'waitlist' else 'Attended' if checkboxName == 'attended' else 'Invited' %} + {%- set labelMap = { + 'rsvp': 'RSVP', + 'waitlist': 'Waitlisted', + 'attended': 'Attended', + 'invited': 'Invited' + } -%} + {% set labelText = labelMap.get(checkboxName, 'Invited') %}
{% endmacro %} From c42cd9de8d02b40264ca78366d5fbf054fab9336 Mon Sep 17 00:00:00 2001 From: Ariana Meatchem <146577403+Meatchema@users.noreply.github.com> Date: Thu, 19 Feb 2026 08:55:05 -0500 Subject: [PATCH 09/18] removed hidden class to show the Senior status after graduate check box is unchecked --- app/static/js/graduationManagement.js | 2 ++ 1 file changed, 2 insertions(+) diff --git a/app/static/js/graduationManagement.js b/app/static/js/graduationManagement.js index ccbf80cb2..e26028acd 100644 --- a/app/static/js/graduationManagement.js +++ b/app/static/js/graduationManagement.js @@ -150,6 +150,8 @@ $(document).ready(function() { } else { row.data('status', 'enrolled'); $(`#${username}ClassLevel`).text("Senior"); + row.removeClass('hidden'); + redrawTable(); } }, error: function(status, error) { From 1fe7b8445f595855e5aeb6806c51c6c3ab282dc3 Mon Sep 17 00:00:00 2001 From: Arohasina Date: Thu, 19 Feb 2026 17:18:11 -0500 Subject: [PATCH 10/18] added the laborAttendanceByTerm function --- app/logic/volunteerSpreadsheet.py | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/app/logic/volunteerSpreadsheet.py b/app/logic/volunteerSpreadsheet.py index 255cbc97b..5031d05e7 100644 --- a/app/logic/volunteerSpreadsheet.py +++ b/app/logic/volunteerSpreadsheet.py @@ -225,7 +225,25 @@ def calculateRetentionRate(fallDict, springDict): return retentionDict +def laborAttendanceByTerm(academicYear): + """Get labor students and their meeting attendance count for each term""" + base = getBaseQuery(academicYear) + query = (base.select( + fn.CONCAT(User.firstName, ' ', User.lastNAme).alias('fullName'), + User.bnumber, + User.email, + Term.description, + fn.COUNT(EventParticipant.event_id).alias('meetingsAttended'), + ) + .where(Event.isLaborOnly == True) + .group_by(User.username, Term.description) + .order_by(User.lastName, Term.description) + ) + + columns = ("Full Name", "B-Number", "Email", "Term", "Meetings Attended") + return (query.tuples()) + def makeDataXls(sheetName, sheetData, workbook, sheetDesc=None): # assumes the length of the column titles matches the length of the data (columnTitles, dataTuples) = sheetData From 2680d7b7f8aaaba3668ae156f8d42586d0d1ae5e Mon Sep 17 00:00:00 2001 From: Ariana Meatchem <146577403+Meatchema@users.noreply.github.com> Date: Tue, 24 Feb 2026 10:28:34 -0500 Subject: [PATCH 11/18] removed direct event binding allowing handlers to work accross multiple pages --- app/static/js/graduationManagement.js | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/app/static/js/graduationManagement.js b/app/static/js/graduationManagement.js index e26028acd..f04283785 100644 --- a/app/static/js/graduationManagement.js +++ b/app/static/js/graduationManagement.js @@ -18,8 +18,7 @@ $(document).ready(function() { return true; }); - $('.graduated-checkbox').not('.hasHandler').addClass("hasHandler") - $('.graduated-checkbox').change(checkboxClickHandler); + $(document).on('change', '.graduated-checkbox', checkboxClickHandler); initializePage() @@ -123,9 +122,7 @@ $(document).ready(function() { } function redrawTable() { - gradStudentsTable.draw(); - $('.graduated-checkbox').not('.hasHandler').change(checkboxClickHandler); - $('.graduated-checkbox').not('.hasHandler').addClass("hasHandler") + gradStudentsTable.draw(); } function checkboxClickHandler() { From f922a9c9ee2a512b036927fe3cdc4c46b7de24ec Mon Sep 17 00:00:00 2001 From: Ariana Meatchem <146577403+Meatchema@users.noreply.github.com> Date: Tue, 24 Feb 2026 10:37:07 -0500 Subject: [PATCH 12/18] reorganized the code so that the page saves after updating the data for the page. (So it doesn't switch pages after every graduate selection) --- app/static/js/graduationManagement.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/app/static/js/graduationManagement.js b/app/static/js/graduationManagement.js index f04283785..037e8c73e 100644 --- a/app/static/js/graduationManagement.js +++ b/app/static/js/graduationManagement.js @@ -134,22 +134,22 @@ $(document).ready(function() { data: {status: hasGraduated ? 1 : 0}, url: `/${username}/setGraduationStatus`, success: function(response) { - initializePage() msgFlash(`Saved graduation status for ${username}.`, "success", 1000) const row = $(`tr[data-username="${username}"]`); + var currentPage = gradStudentsTable.page(); if (hasGraduated) { row.data('status', 'alumni'); $(`#${username}ClassLevel`).text("Alumni"); if (!showGraduatedStudents()) { row.addClass('hidden'); - redrawTable(); } } else { row.data('status', 'enrolled'); $(`#${username}ClassLevel`).text("Senior"); row.removeClass('hidden'); - redrawTable(); } + gradStudentsTable.draw(); + gradStudentsTable.page(currentPage).draw(false); }, error: function(status, error) { console.error("Error updating graduation status:", error); From b6ee7f9b72e747ca24cc794d8b636da365d73864 Mon Sep 17 00:00:00 2001 From: Ariana Meatchem <146577403+Meatchema@users.noreply.github.com> Date: Mon, 9 Mar 2026 15:45:43 -0400 Subject: [PATCH 13/18] reverted incoming changes to previous changes to make code work again --- app/templates/events/volunteerDetails.html | 33 +++++++++------------- 1 file changed, 13 insertions(+), 20 deletions(-) diff --git a/app/templates/events/volunteerDetails.html b/app/templates/events/volunteerDetails.html index 9286db45a..f96ec7347 100644 --- a/app/templates/events/volunteerDetails.html +++ b/app/templates/events/volunteerDetails.html @@ -59,26 +59,19 @@

{{ participant.user.firstName }} {{ participant {% macro printParticipants(type, attended, rsvp, waitlist) %} {% set seen = [] %} {% set combinedParticipants = attended + rsvp + waitlist %} - {% for p in combinedParticipants %} - {% set username = p.user.username %} - {% if username not in seen %} - {% set _ = seen.append(username) %} - {% set status = none %} - {% if p in attended %} - {% set status = 'attended'%} - {% elif p in rsvp %} - {% set status = 'rsvp'%} - {% elif p in waitlist %} - {% set status = 'waitlist'%} - {% endif %} - {% if status %} - {% if type == 'card' %} - {{ createCard(p, status) }} - {% elif type == 'table' %} - {{ createTable(p, status) }} - {% endif %} - {% endif %} - {% endif %} + {% for p in combinedParticipants | unique %} + {% if p in rsvp and not event.isRsvpRequired %} + {{createTable(p, 'invited') if type == 'table' else createCard(p, 'invited') }} + {% endif %} + {% if p in rsvp and event.isRsvpRequired %} + {{createTable(p, 'rsvp') if type == 'table' else createCard(p, 'rsvp') }} + {% endif %} + {% if p in attended%} + {{createTable(p, 'attended') if type == 'table' else createCard(p, 'attended') }} + {% endif %} + {% if p in waitlist %} + {{createTable(p, 'waitlisted') if type == 'table' else createCard(p, 'waitlisted') }} + {% endif %} {% endfor %} {% endmacro %} From ed8d721f3ea88cae560ebef79c27e04b1d962c03 Mon Sep 17 00:00:00 2001 From: Ariana Meatchem <146577403+Meatchema@users.noreply.github.com> Date: Thu, 12 Mar 2026 15:38:16 -0400 Subject: [PATCH 14/18] removed laborAttendancebyTerm function --- app/logic/volunteerSpreadsheet.py | 19 ------------------- 1 file changed, 19 deletions(-) diff --git a/app/logic/volunteerSpreadsheet.py b/app/logic/volunteerSpreadsheet.py index 5031d05e7..8bbada14a 100644 --- a/app/logic/volunteerSpreadsheet.py +++ b/app/logic/volunteerSpreadsheet.py @@ -225,25 +225,6 @@ def calculateRetentionRate(fallDict, springDict): return retentionDict -def laborAttendanceByTerm(academicYear): - """Get labor students and their meeting attendance count for each term""" - base = getBaseQuery(academicYear) - - query = (base.select( - fn.CONCAT(User.firstName, ' ', User.lastNAme).alias('fullName'), - User.bnumber, - User.email, - Term.description, - fn.COUNT(EventParticipant.event_id).alias('meetingsAttended'), - ) - .where(Event.isLaborOnly == True) - .group_by(User.username, Term.description) - .order_by(User.lastName, Term.description) - ) - - columns = ("Full Name", "B-Number", "Email", "Term", "Meetings Attended") - return (query.tuples()) - def makeDataXls(sheetName, sheetData, workbook, sheetDesc=None): # assumes the length of the column titles matches the length of the data (columnTitles, dataTuples) = sheetData From 8e66c28e2addce61de375de551373760929264e1 Mon Sep 17 00:00:00 2001 From: Ariana Meatchem <146577403+Meatchema@users.noreply.github.com> Date: Fri, 13 Mar 2026 10:23:29 -0400 Subject: [PATCH 15/18] Resolved: Reverted participants.py this file, reinserted rsvp user, reverted dictionary enhancement in voluteerdetails.html --- app/controllers/admin/volunteers.py | 2 +- app/logic/participants.py | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/app/controllers/admin/volunteers.py b/app/controllers/admin/volunteers.py index cf730ea73..75663be23 100644 --- a/app/controllers/admin/volunteers.py +++ b/app/controllers/admin/volunteers.py @@ -119,8 +119,8 @@ def volunteerDetailsPage(eventID): return render_template("/events/volunteerDetails.html", waitlistUser = waitlistUser, - attendedUser = attendedUser, rsvpUser = rsvpUser, + attendedUser = attendedUser, event = event) diff --git a/app/logic/participants.py b/app/logic/participants.py index b0933a959..630ea0aea 100644 --- a/app/logic/participants.py +++ b/app/logic/participants.py @@ -193,8 +193,8 @@ def sortParticipantsByStatus(event): # if rsvp is required for the event, grab all volunteers that are in the waitlist eventWaitlistData = [volunteer for volunteer in (eventParticipants + eventRsvpData) if volunteer.rsvpWaitlist and event.isRsvpRequired] - # put all participants and non-waitlisted RSVPs into the volunteer data - eventVolunteerData = [volunteer for volunteer in (eventParticipants + eventNonAttendedData) if volunteer not in eventWaitlistData] + # put the rest of the users that are not on the waitlist into the volunteer data + eventVolunteerData = [volunteer for volunteer in eventNonAttendedData if volunteer not in eventWaitlistData] eventNonAttendedData = [] return eventNonAttendedData, eventWaitlistData, eventVolunteerData, eventParticipants \ No newline at end of file From ca10c2f9cb71cdef509890db621955e1241c2f9d Mon Sep 17 00:00:00 2001 From: Ariana Meatchem <146577403+Meatchema@users.noreply.github.com> Date: Fri, 13 Mar 2026 10:24:06 -0400 Subject: [PATCH 16/18] volunteerdetail.htm dictionary reversion --- app/templates/events/volunteerDetails.html | 13 ++----------- 1 file changed, 2 insertions(+), 11 deletions(-) diff --git a/app/templates/events/volunteerDetails.html b/app/templates/events/volunteerDetails.html index f96ec7347..57068d3a5 100644 --- a/app/templates/events/volunteerDetails.html +++ b/app/templates/events/volunteerDetails.html @@ -76,13 +76,7 @@

{{ participant.user.firstName }} {{ participant {% endmacro %} {% macro createCheckbox(checkboxName) %} - {%- set labelMap = { - 'rsvp': 'RSVP', - 'waitlist': 'Waitlisted', - 'attended': 'Attended', - 'invited': 'Invited' - } -%} - {% set labelText = labelMap.get(checkboxName, 'Invited') %} + {% set labelText = "RSVP" if checkboxName == 'rsvp' else 'Waitlist' if checkboxName == 'waitlist' else 'Attended' %}
{% endmacro %} @@ -109,9 +103,6 @@

{% endif %} {% if waitlistUser %} {{createCheckbox('waitlist')}} - {% endif %} - {% if attendedUser %} - {{createCheckbox('attended')}} {% endif %} {% if rsvpUser and not event.isRsvpRequired %} {{createCheckbox('invited')}} @@ -161,7 +152,7 @@


- {{ printParticipants('card', attendedUser, rsvpUser, waitlistUser) }} + {{ printParticipants('card', rsvpUser, waitlistUser) }}
From 866151a64c114c192a6103de3342e73584bf8e5a Mon Sep 17 00:00:00 2001 From: Ariana Meatchem <146577403+Meatchema@users.noreply.github.com> Date: Fri, 13 Mar 2026 10:28:23 -0400 Subject: [PATCH 17/18] removed attendedUser object in volunteer.py and reordered callings back to original placement --- app/controllers/admin/volunteers.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/controllers/admin/volunteers.py b/app/controllers/admin/volunteers.py index 75663be23..81ad6f418 100644 --- a/app/controllers/admin/volunteers.py +++ b/app/controllers/admin/volunteers.py @@ -115,12 +115,12 @@ def volunteerDetailsPage(eventID): waitlistUser = list(set([obj for obj in eventRsvpData if obj.rsvpWaitlist])) rsvpUser = list(set([obj for obj in eventRsvpData if not obj.rsvpWaitlist ])) - attendedUser = list(set([obj for obj in eventParticipantData if not obj.rsvpWaitlist])) + return render_template("/events/volunteerDetails.html", waitlistUser = waitlistUser, + attendedUser = eventParticipantData, rsvpUser = rsvpUser, - attendedUser = attendedUser, event = event) From e8de9897cc92b27aec7773d1807107f406c11373 Mon Sep 17 00:00:00 2001 From: Ariana Meatchem <146577403+Meatchema@users.noreply.github.com> Date: Fri, 13 Mar 2026 10:39:17 -0400 Subject: [PATCH 18/18] Removed invited checkbox --- app/templates/events/volunteerDetails.html | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/app/templates/events/volunteerDetails.html b/app/templates/events/volunteerDetails.html index 57068d3a5..6cef14b5e 100644 --- a/app/templates/events/volunteerDetails.html +++ b/app/templates/events/volunteerDetails.html @@ -98,14 +98,14 @@


- {% if rsvpUser and event.isRsvpRequired %} + {% if rsvpUser %} {{createCheckbox('rsvp')}} {% endif %} {% if waitlistUser %} {{createCheckbox('waitlist')}} {% endif %} - {% if rsvpUser and not event.isRsvpRequired %} - {{createCheckbox('invited')}} + {% if attendedUser %} + {{createCheckbox('attended')}} {% endif %}