diff --git a/app/controllers/admin/volunteers.py b/app/controllers/admin/volunteers.py index 2dbe81479..5a0a94dbd 100644 --- a/app/controllers/admin/volunteers.py +++ b/app/controllers/admin/volunteers.py @@ -115,11 +115,11 @@ 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 ])) - + return render_template("/events/volunteerDetails.html", waitlistUser = waitlistUser, - attendedUser= eventParticipantData, - rsvpUser= rsvpUser, + attendedUser = eventParticipantData, + rsvpUser = rsvpUser, event = event) diff --git a/app/logic/volunteerSpreadsheet.py b/app/logic/volunteerSpreadsheet.py index 255cbc97b..8bbada14a 100644 --- a/app/logic/volunteerSpreadsheet.py +++ b/app/logic/volunteerSpreadsheet.py @@ -225,7 +225,6 @@ def calculateRetentionRate(fallDict, springDict): return retentionDict - def makeDataXls(sheetName, sheetData, workbook, sheetDesc=None): # assumes the length of the column titles matches the length of the data (columnTitles, dataTuples) = sheetData diff --git a/app/static/js/graduationManagement.js b/app/static/js/graduationManagement.js index ccbf80cb2..037e8c73e 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() { @@ -137,20 +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'); } + gradStudentsTable.draw(); + gradStudentsTable.page(currentPage).draw(false); }, error: function(status, error) { console.error("Error updating graduation status:", error); diff --git a/app/templates/events/volunteerDetails.html b/app/templates/events/volunteerDetails.html index 6464a869c..5ce9f2fce 100644 --- a/app/templates/events/volunteerDetails.html +++ b/app/templates/events/volunteerDetails.html @@ -58,7 +58,6 @@

{{ 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 %} @@ -66,7 +65,7 @@

{{ participant.user.firstName }} {{ participant {% set status = none %} {% if p in attended %} {% set status = 'attended'%} - {% elif p in rsvp %} + {% elif p in rsvp and event.isRsvpRequired %} {% set status = 'rsvp'%} {% elif p in waitlist %} {% set status = 'waitlist'%}