From cb00d26105693e15cd3278795d4ca829755f5552 Mon Sep 17 00:00:00 2001 From: Ilya Tregubov Date: Wed, 8 Feb 2023 14:34:48 +0800 Subject: [PATCH] MDL-77029 gradereport_grader: Fix sorting bug When column was sorted in descending order, null values were shown first. --- grade/report/grader/lib.php | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/grade/report/grader/lib.php b/grade/report/grader/lib.php index 573d3a59408..2dc69acb508 100644 --- a/grade/report/grader/lib.php +++ b/grade/report/grader/lib.php @@ -414,7 +414,13 @@ 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, u.idnumber, u.lastname, u.firstname, u.email"; + + if ($this->sortorder == 'ASC') { + $sort = $DB->sql_order_by_null('g.finalgrade'); + } else { + $sort = $DB->sql_order_by_null('g.finalgrade', SORT_DESC); + } + $sort .= ", u.idnumber, u.lastname, u.firstname, u.email"; } else { $sortjoin = '';