MDL-43619 Roles: reset_role_capabilities function destroys overrides
authorsam marshall <s.marshall@open.ac.uk>
Wed, 8 Jan 2014 17:11:10 +0000 (17:11 +0000)
committersam marshall <s.marshall@open.ac.uk>
Tue, 14 Jan 2014 13:46:24 +0000 (13:46 +0000)
lib/accesslib.php

index 8e92faf..5122bdb 100644 (file)
@@ -2626,7 +2626,8 @@ function reset_role_capabilities($roleid) {
 
     $systemcontext = context_system::instance();
 
-    $DB->delete_records('role_capabilities', array('roleid'=>$roleid));
+    $DB->delete_records('role_capabilities',
+            array('roleid'=>$roleid, 'contextid' => $systemcontext->id));
 
     foreach($defaultcaps as $cap=>$permission) {
         assign_capability($cap, $permission, $roleid, $systemcontext->id);