docs: def submission_post_save(sender, instance, **kwargs):
      ''' Several sanity checks after we got a valid submission object.'''
      logger.debug("Running post-processing for submission")
      # Make the submitter an author
      if instance.submitter not in instance.authors.all():
          instance.authors.add(instance.submitter)
          instance.save()
      # Mark all existing submissions for this assignment by these authors as invalid.
      # This fixes a race condition with parallel new submissions in multiple browser windows by the same user.
      # Solving this as pre_save security exception does not work, since we have no instance with valid foreign keys to check there.
      # Considering that this runs also on tutor correction backend activities, it also serves as kind-of cleanup functionality
      # for multiplse submissions by the same students for the same assignment - however they got in here.
      if instance.state == instance.get_initial_state():
          for author in instance.authors.all():
              same_author_subm = User.objects.get(pk=author.pk).authored.all().exclude(
                  pk=instance.pk).filter(assignment=instance.assignment)
              for subm in same_author_subm:
                  subm.state = Submission.WITHDRAWN
                  subm.save()