Skip to content
Snippets Groups Projects
Closed Updating own past feedback sets other tutors assignment to is_done=True
  • View options
  • Updating own past feedback sets other tutors assignment to is_done=True

  • View options
  • Closed Issue created by robinwilliam.hundt

    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

    Linked items ... 0

  • Activity

    • All activity
    • Comments only
    • History only
    • Newest first
    • Oldest first
    Loading Loading Loading Loading Loading Loading Loading Loading Loading Loading