Description
Awaiting a proper 'merge into' option (issue #1122) we have solved mid-semester username switches by the following procedure:
Merge the old and new user on already corrected or delivered assignments.
Remove the old user from assignments awaiting delivery.
Deactivate the old user on active semesters to prevent it from getting added to assignments and signal to semester admins that it's not in use.
This procedure is time-consuming, error-prone, and creates additional issues:
the passed previous function can no longer recognize the student due to different usernames.
if the new user had to be manually added to the assignment before step 1 and the assignment already was corrected, the status gets masked as waiting for feedback due to issue #1101.
If the old user isn't just deactivated, but split out of the group and then removed from the assignment a third issue gets introduced:
files uploaded by the user are still visual, but trying to download them or generating a Zip file for the assignment both causes a FileNotFoundError. Re-merging the old user to the group doesn't solve the issue.
Sticking to the old 'merge into' procedure will prevent this from happening from future username switches, but the issue still holds for other scenarios involving group changes, and we should probably handle it better than a 500 error.
Solution A
when an student with files is removed from ('split out of') a group an addition warning listing the file info (names, dates and size) should be displayed, warning that the files could become unavailable for the remaining students if the user later gets removed from the assignment.
when a student group (of 1 or more students) is removed from an assignment, also check if that effects other other student groups and if so remove their clickable link and add a strikethrough effect to them.
Solution B
rework how student group file ownership works to prevent this issue overall.
Description Awaiting a proper 'merge into' option (issue #1122) we have solved mid-semester username switches by the following procedure:
This procedure is time-consuming, error-prone, and creates additional issues:
waiting for feedback
due to issue #1101.If the old user isn't just deactivated, but split out of the group and then removed from the assignment a third issue gets introduced:
FileNotFoundError
. Re-merging the old user to the group doesn't solve the issue.Sticking to the old 'merge into' procedure will prevent this from happening from future username switches, but the issue still holds for other scenarios involving group changes, and we should probably handle it better than a 500 error.
Solution A
Solution B