docs: def can_reupload(self, user=None):
          """Determines whether a submission can be re-uploaded.
          Returns a boolean value.
  
          Requires: can_modify.
  
          Re-uploads are allowed only when test executions have failed."""
  
          # Re-uploads are allowed only when test executions have failed.
          if self.state not in (self.TEST_VALIDITY_FAILED, self.TEST_FULL_FAILED):
              return False
  
          # It must be allowed to modify the submission.
          if not self.can_modify(user=user):
              return False
  
          return True