code: def _after_submission_insertion(self, task, inputdata, debug, submission, submissionid):
          
          # If we are submitting for a group, send the group (user list joined with ",") as username
          if "group" not in [p.get_id() for p in task.get_problems()]:  # do not overwrite
              username = self._user_manager.session_username()
              if task.is_group_task() and not self._user_manager.has_staff_rights_on_course(task.get_course(), username):
                  group = self._database.aggregations.find_one(
                      {"courseid": task.get_course_id(), "groups.students": username},
                      {"groups": {"$elemMatch": {"students": username}}})
                  inputdata["username"] = ','.join(group["groups"][0]["students"])
  
          return self._delete_exceeding_submissions(self._user_manager.session_username(), task)
docs: Called after any new submission is inserted into the database, but before starting the job.  Should be overridden in subclasses.
                  :param task: Task related to the submission
                  :param inputdata: input of the student
                  :param debug: True, False or "ssh". See add_job.
                  :param submission: the new document that was inserted (do not contain _id)
                  :param submissionid: submission id of the submission