From c4d5303ce04143701aa15fb39b9704537a06364f Mon Sep 17 00:00:00 2001 From: Josh Ebarvia Date: Wed, 3 May 2017 13:38:38 +0930 Subject: [PATCH] MDL-58795 gradereport_grader: Prevent duplicates in grader report Currently, the sorting being used for the grader report table (asc/desc arrows) is just the grade_grades.finalgrade. This adds grade_grades.userid in the sort to prevent duplicate in records returned when using pages. --- grade/report/grader/lib.php | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/grade/report/grader/lib.php b/grade/report/grader/lib.php index b69e31022ac..c4b6e63e8fa 100644 --- a/grade/report/grader/lib.php +++ b/grade/report/grader/lib.php @@ -448,22 +448,22 @@ class grade_report_grader extends grade_report { $this->groupwheresql_params, $enrolledparams, $relatedctxparams); $sortjoin = "LEFT JOIN {grade_grades} g ON g.userid = u.id AND g.itemid = $this->sortitemid"; - $sort = "g.finalgrade $this->sortorder"; + $sort = "g.finalgrade $this->sortorder, u.idnumber, u.lastname, u.firstname, u.email"; } else { $sortjoin = ''; switch($this->sortitemid) { case 'lastname': - $sort = "u.lastname $this->sortorder, u.firstname $this->sortorder"; + $sort = "u.lastname $this->sortorder, u.firstname $this->sortorder, u.idnumber, u.email"; break; case 'firstname': - $sort = "u.firstname $this->sortorder, u.lastname $this->sortorder"; + $sort = "u.firstname $this->sortorder, u.lastname $this->sortorder, u.idnumber, u.email"; break; case 'email': - $sort = "u.email $this->sortorder"; + $sort = "u.email $this->sortorder, u.firstname, u.lastname, u.idnumber"; break; case 'idnumber': default: - $sort = "u.idnumber $this->sortorder"; + $sort = "u.idnumber $this->sortorder, u.firstname, u.lastname, u.email"; break; }