MDL-22309 report_singleview: Fixing wrong uses of get_role_users()
authorDavid Monllao <davidm@moodle.com>
Mon, 24 Nov 2014 02:50:39 +0000 (10:50 +0800)
committerDavid Monllao <davidm@moodle.com>
Mon, 24 Nov 2014 02:53:53 +0000 (10:53 +0800)
grade/report/singleview/classes/local/screen/grade.php
grade/report/singleview/classes/local/screen/select.php

index 2739f0f..51346d1 100644 (file)
@@ -123,9 +123,13 @@ class grade extends tablelike implements selectable_items, filterable_items {
     public function init($selfitemisempty = false) {
         $roleids = explode(',', get_config('moodle', 'gradebookroles'));
 
-        $this->items = get_role_users(
-            $roleids, $this->context, false, '',
-            'u.lastname, u.firstname', null, $this->groupid);
+        $this->items = array();
+        foreach ($roleids as $roleid) {
+            // Keeping the first user appearance.
+            $this->items = $this->items + get_role_users(
+                $roleid, $this->context, false, '',
+                'u.lastname, u.firstname', null, $this->groupid);
+        }
 
         $this->totalitemcount = count_role_users($roleids, $this->context);
 
index 0719fd0..c90d9ba 100644 (file)
@@ -48,11 +48,15 @@ class select extends screen {
 
         $roleids = explode(',', get_config('moodle', 'gradebookroles'));
 
-        $this->items = get_role_users(
-            $roleids, $this->context, false, '',
-            'u.id, u.lastname, u.firstname', null, $this->groupid,
-            $this->perpage * $this->page, $this->perpage
-        );
+        $this->items = array();
+        foreach ($roleids as $roleid) {
+            // Keeping the first user appearance.
+            $this->items = $this->items + get_role_users(
+                $roleid, $this->context, false, '',
+                'u.id, u.lastname, u.firstname', null, $this->groupid,
+                $this->perpage * $this->page, $this->perpage
+            );
+        }
         $this->item = $DB->get_record('course', array('id' => $this->courseid));
     }