csmberkeley / csm_web

Web applications for CS Mentors.
https://scheduler.csmentors.org/
MIT License
15 stars 10 forks source link

Allow attendance tracking for users not logged into Scheduler #236

Open smartspot2 opened 2 years ago

smartspot2 commented 2 years ago

Currently, if a section has any users that were manually added by coordinators, the student objects have no related name, and as such fail the validation when a mentor submits attendance.

This means that the mentor would need to keep track of attendance on their own, adding an inconvenience—it would be nice to allow mentors to still submit attendance for users who have not logged into Scheduler yet.

This would likely involve either (1) modification of the Student model to allow blank names, or (2) set a default name for a Student (though for (2), we'd need to check whether this name is overwritten when the user finally logs in)

noloerino commented 2 years ago

I think the most robust solution would be to let users to set their own names through some profile page or similar (and possibly for coordinators to set student names for the enrollment use case). This would also address #200, which would help in cases where someone has a name that's not originally English, or with people whose oauth identities have a deadname.

One thing I've previously observed (back when enrollment spreadsheets also included student names before we uploaded them to Scheduler) is that the oauth library seems to overwrite any preset first name/last name information as soon as the user logs in for the first time. I haven't looked into whether this behavior is changeable.