Skip to content

Built signature page and updated profile to show signature status - #1756

Open
sheggen wants to merge 50 commits into
developmentfrom
signature
Open

Built signature page and updated profile to show signature status#1756
sheggen wants to merge 50 commits into
developmentfrom
signature

Conversation

@sheggen

@sheggen sheggen commented Jul 10, 2026

Copy link
Copy Markdown
Collaborator

Issue Description

Fixes issue #1739

Changes

Signatures:

  • Adds a signature field to each user's profile. The signature field is only accessible to:
    • the user whose profile you are viewing (i.e., no one can sign on someone else's behalf).
    • the user if they are attending or have attended All volunteers training (for non-labor students)
    • the user if they are attending or have attended All CELTS training (for labor students)
    • the CELTS staff have uploaded the appropriate handbook for each case above
  • Only one signature is needed for an academic year
  • Program Managers can view signature statuses in Rosters (see below)

Rosters

  • Program Managers and admins can view rosters for participants in their program:
    • All interested volunteers (checked the box in their profile or in the extravaganza page)
    • All active volunteers (have earned service hours in their program)
    • All previous year's volunteers (earned service hours last AY)
  • Rosters can be exported to Excel

Volunteer Extravaganza

  • Added a page for the volunteer Extravaganza (/extravaganza).
  • Added a QR and link to the extravaganza in the "Create Event" templates.

Term Management

  • CELTS admins can now upload:
    • All Volunteers Handbook (for all volunteers)
    • All CELTS Handbook (for labor)
    • The Background check form (which students will need to submit to Sheila in paper format, due to SSN and other private info we do not want to store)
  • All three files above are stored for an AY, depending on the selected term (i.e., If the form is uploaded in Summer 2026, it applies to Fall 25, Spring 26, and Summer 26)

Event Templates

  • Added two new event templates: All CELTS training and Weekly Labor Meeting

Event Flags

  • Events now have a more robust way of ensuring we don't have combinations that are not allowed.
  • On production, the fix_event_flags.py script should be run to fix old events. This will require some manual attention, as the fix is only applied to events I have confirmed with CELTS. There may be more that need fixed in the production data.

Testing

Signature Workflow

  • Reset your database (test) and run the app.
  • Set the user to an admin or Program Manager
  • View your profile. You should not be able to sign anything yet.
  • Set the current term, then upload a handbook (all volunteer or celts labor).
  • Create a new All Volunteers/All CELTS labor event in the future. RSVP a user. Check that the user cannot sign the handbook yet (as the event hasn't happened yet)
  • Move the event into the present or past. Mark the user as "attended". Try signing again (they should be able to sign now).
  • After the handbook is signed, test that it persists for the current academic year, and then resets during the following AY.

Rosters

  • Pick a program to test against. Mark a user as "interested" in the program. Check the roster as a PM and as an admin.
  • Add an event to the program. Add the user to the event. Check the roster (specifically, the "Engaged Volunteers" section).
  • Add an event to the program in the previous academic year, and add a user to that event. Check the roster (specifically, the "Last Year's Volunteers" section).
  • Export the rosters and confirm the data matches on the spreadsheet.

Event Templates

  • Create events using each template. In particular, test recurring events for labor meetings.

Remaining Tasks

  • Prevent a user from participating in an event that earns service hours if they have not completed the four requirements (signed the handbook, attended AVT, attended PST, and have submitted their background check form).
  • How do we handle RSVPs vs. attended in the rosters?
  • New functions need tests written
  • How does /extravaganza look on a mobile, since that is how most will use it on that day?
  • In the "Engaged Volunteer" and "Last Year Volunteer" rosters, add columns for # events they attended, as well as if they were trained (training matter for the case were a student did all the trainings but could not participate in the actual events).

sheggen added 30 commits July 10, 2026 17:29
@sheggen sheggen changed the title [DRAFT] Built signature page and updated profile to show signature status Built signature page and updated profile to show signature status Jul 28, 2026
@sheggen
sheggen requested review from BrianRamsay and MImran2002 and removed request for MImran2002 July 28, 2026 19:10

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

makeDataXls is critically broken. It works for the new rosters but breaks for all Reports.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant