devilry / devilry-django

Devilry project main repository
http://devilry.org
BSD 3-Clause "New" or "Revised" License
51 stars 24 forks source link

Passed previous semester workflow should disgusting between attempts and re-uses #1296

Open torgeirl opened 5 months ago

torgeirl commented 5 months ago

Using the Passed previous semester wizards, it is a little too easy for a semester administrator to re-use an already re-used result.

For instance, given the following events for a student in a course:

Semester Assignment actions Assignment result
2021 Delivered Passed
2022 - Passed (based on 2021)
2023 - - (not a student that semester)
2024 - Passed (based on both 2021 and 2022)

If then the results from 2021 was deleted before the 2024 semester, the result from running the Passed previous semester wizards would still suggest the assignment should be set as Passed based on the result from 2022 even thought the 2022 result in based on the result of a now deleted assignment:

Semester Assignment actions Assignment result
2022 - Passed (based on the now deleted 2021)
2023 - - (not a student that semester)
2024 - Passed (based on 2022)

This is not the intended result of Passed previous semester, and we should make adjustments so it doesn't re-use results that are themselves re-used.

Suggested solutions