MDL-37026 - lib: The function user_can_assign() returns true for admins.
authorAdrian Greeve <adrian@moodle.com>
Thu, 6 Dec 2012 02:52:09 +0000 (10:52 +0800)
committerAdrian Greeve <adrian@moodle.com>
Thu, 6 Dec 2012 03:07:20 +0000 (11:07 +0800)
lib/accesslib.php

index 50a9ee4..48f24df 100644 (file)
@@ -2937,8 +2937,13 @@ function get_user_roles_in_course($userid, $courseid) {
 function user_can_assign(context $context, $targetroleid) {
     global $DB;
 
 function user_can_assign(context $context, $targetroleid) {
     global $DB;
 
-    // first check if user has override capability
-    // if not return false;
+    // First check to see if the user is a site administrator.
+    if (is_siteadmin()) {
+        return true;
+    }
+
+    // Check if user has override capability.
+    // If not return false.
     if (!has_capability('moodle/role:assign', $context)) {
         return false;
     }
     if (!has_capability('moodle/role:assign', $context)) {
         return false;
     }