From 4956503b11682f7c7903ab203fbed9e7ab73ed09 Mon Sep 17 00:00:00 2001 From: Clement Smith Date: Fri, 22 Jan 2016 10:03:11 -0600 Subject: [PATCH] MDL-52566 mod/assign: Fix group submission draft records When group assignments are submitted by the first student in a group, the logic that saves the submission is not creating a draft assignment record in mdl_assign_submission. This leads to problems when other functions are used that depend on these records, such as marking workflow. This fixes the issue and correctly creates draft assignment submission records for the non-submitting students in the group. --- mod/assign/locallib.php | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/mod/assign/locallib.php b/mod/assign/locallib.php index f3539480110..6ce551dcc92 100644 --- a/mod/assign/locallib.php +++ b/mod/assign/locallib.php @@ -5986,6 +5986,17 @@ class assign { $this->update_submission($submission, $userid, true, $instance->teamsubmission); + if ($instance->teamsubmission && !$instance->requireallteammemberssubmit) { + $team = $this->get_submission_group_members($submission->groupid, true); + + foreach ($team as $member) { + if ($member->id != $userid) { + $membersubmission = clone($submission); + $this->update_submission($membersubmission, $member->id, true, $instance->teamsubmission); + } + } + } + // Logging. if (isset($data->submissionstatement) && ($userid == $USER->id)) { \mod_assign\event\statement_accepted::create_from_submission($this, $submission)->trigger();