From 48125a940811c0c721645d38c3f52df0db9cdc45 Mon Sep 17 00:00:00 2001 From: Damyon Wiese Date: Wed, 14 Oct 2015 14:01:28 +0800 Subject: [PATCH] MDL-51720 assign: Always fallback on userid as a default sort Even when the table has no userid column (this is normally the edit column). --- mod/assign/gradingtable.php | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/mod/assign/gradingtable.php b/mod/assign/gradingtable.php index 8e512ae5650..8c845892740 100644 --- a/mod/assign/gradingtable.php +++ b/mod/assign/gradingtable.php @@ -402,8 +402,6 @@ class assign_grading_table extends table_sql implements renderable { foreach ($extrauserfields as $extrafield) { $this->column_class($extrafield, $extrafield); } - // We require at least one unique column for the sort. - $this->sortable(true, 'userid'); $this->no_sorting('recordid'); $this->no_sorting('finalgrade'); $this->no_sorting('userid'); @@ -1368,6 +1366,16 @@ class assign_grading_table extends table_sql implements renderable { has_capability('moodle/grade:viewall', $context); } + /** + * Always return a valid sort - even if the userid column is missing. + * @return array column name => SORT_... constant. + */ + public function get_sort_columns() { + $result = parent::get_sort_columns(); + $result = array_merge($result, array('userid' => SORT_ASC)); + return $result; + } + /** * Override the table show_hide_link to not show for select column. *