Updating own past feedback sets other tutors assignment to is_done=True
View options
- Truncate descriptions
Summary
Updating own past feedback sets other tutors assignment to is_done=True
.
The function that implements this behaviour makes it seem as if it were intentional.
We should try to understand why the function has been written the way it is and if there are any side effects to changing to such that it doesn't set other people assignments to is_done=False
when a tutor updates his own feedback.
Steps to reproduce
Example Project
What is the current bug behavior?
What is the expected correct behavior?
Relevant logs and/or screenshots
from signals.py
@receiver(post_save, sender=Feedback)
def update_after_feedback_save(sender, instance, created, **kwargs):
""" Do the following steps when feedback is saved:
- set that feedback exists
- copy the final status of the feedback
- set all assignments of the submission done and remove active status
"""
log.debug('SIGNAL -- update_after_feedback_save')
meta = instance.of_submission.meta
meta.has_feedback = True
meta.has_final_feedback = instance.is_final
undone_assignment = meta.submission.assignments.filter(is_done=False)
assert undone_assignment.count() <= 1
if undone_assignment.count() > 0:
log.debug('SIGNAL -- Completed: %s' % undone_assignment.first())
meta.feedback_authors.add(undone_assignment.first().subscription.owner)
meta.done_assignments += 1
meta.has_active_assignment = False
undone_assignment.update(is_done=True)
meta.save()
Possible fixes


- Show labels
- Show closed items