]> git.mjollnir.org Git - moodle.git/commitdiff
MDL-13045: Made groups UI use role name aliases
authorsam_marshall <sam_marshall>
Fri, 18 Jan 2008 11:03:00 +0000 (11:03 +0000)
committersam_marshall <sam_marshall>
Fri, 18 Jan 2008 11:03:00 +0000 (11:03 +0000)
group/lib.php

index a1ac96994cd5e559bfccd4b86065b72c0b0470bc..8f9d38311b74cac89b5e20b7c161bbbb8048e57a 100644 (file)
@@ -344,7 +344,7 @@ function groups_get_users_not_in_group_by_role($courseid, $groupid, $searchtext=
     $orderby = " ORDER BY $sort";
 
     return groups_calculate_role_people(get_recordset_sql(
-        $select.$from.$where.$orderby));
+        $select.$from.$where.$orderby),$context->id);
 }
 
 
@@ -540,7 +540,7 @@ function groups_get_members_by_role($groupid, $courseid, $fields='u.*', $sort='u
                                    AND ra.contextid ".get_related_contexts_string($context)."
                               ORDER BY r.sortorder,$sort");
 
-    return groups_calculate_role_people($rs);
+    return groups_calculate_role_people($rs,$context->id);
 }
 
 /**
@@ -549,13 +549,19 @@ function groups_get_members_by_role($groupid, $courseid, $fields='u.*', $sort='u
  * roles on a course.
  *
  * @param object $rs The record set (may be false)
+ * @param int $contextid ID of course context
  * @return array As described in groups_get_members_by_role 
  */
-function groups_calculate_role_people($rs) {
+function groups_calculate_role_people($rs,$contextid) {
     global $CFG;
     if(!$rs) {
         return false;
     }
+    
+    // Get role aliases for course in array of roleid => obj->text
+    if(!($aliasnames=get_records('role_names','contextid',$contextid,'','roleid,text'))) {
+        $aliasnames=array();
+    }
 
     // Array of all involved roles
     $roles=array();
@@ -585,7 +591,11 @@ function groups_calculate_role_people($rs) {
                 $roledata=new StdClass;
                 $roledata->id=$rec->roleid;
                 $roledata->shortname=$rec->roleshortname;
-                $roledata->name=$rec->rolename;
+                if(array_key_exists($rec->roleid,$aliasnames)) {
+                    $roledata->name=$aliasnames[$rec->roleid]->text;
+                } else {
+                    $roledata->name=$rec->rolename;
+                }
                 $roledata->users=array();
                 $roles[$roledata->id]=$roledata;
             }