From 062dc30ffd507f88d262aaaa7cbfd5d71c64c048 Mon Sep 17 00:00:00 2001 From: Tim Schroeder Date: Tue, 3 Nov 2020 11:53:32 +0100 Subject: [PATCH] MDL-70110 assign: fixed ws get_submissions for groups --- mod/assign/externallib.php | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/mod/assign/externallib.php b/mod/assign/externallib.php index 68ae50f256e..5dd9021837f 100644 --- a/mod/assign/externallib.php +++ b/mod/assign/externallib.php @@ -754,14 +754,15 @@ class mod_assign_external extends external_api { $placeholders = array('assignid1' => $assign->get_instance()->id, 'assignid2' => $assign->get_instance()->id); - $submissionmaxattempt = 'SELECT mxs.userid, MAX(mxs.attemptnumber) AS maxattempt + $submissionmaxattempt = 'SELECT mxs.userid, mxs.groupid, MAX(mxs.attemptnumber) AS maxattempt FROM {assign_submission} mxs - WHERE mxs.assignment = :assignid1 GROUP BY mxs.userid'; + WHERE mxs.assignment = :assignid1 GROUP BY mxs.userid, mxs.groupid'; $sql = "SELECT mas.id, mas.assignment,mas.userid,". "mas.timecreated,mas.timemodified,mas.status,mas.groupid,mas.attemptnumber ". "FROM {assign_submission} mas ". "JOIN ( " . $submissionmaxattempt . " ) smx ON mas.userid = smx.userid ". + "AND mas.groupid = smx.groupid ". "WHERE mas.assignment = :assignid2 AND mas.attemptnumber = smx.maxattempt"; if (!empty($params['status'])) {