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 1/8] 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 2/8] 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 3/8] 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 4/8] 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 5/8] 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 6/8] 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 7/8] 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 8/8] 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 %}