MDL-54035 accesslib: separate role definition cache clear

Thanks to MDL-49398, we can separate the combined user session and role
definition cache clearing function into two separate functions. At the
same time, we want to identify and remove mark_dirty() calls that were
added for role definition changes but were incorrectly left behind.

Change highlights:
 - Remove unnecessary mark_dirty() calls performed after
   assign_capability(), unassign_capability(), delete_role(),
   deleted contexts, brand new contexts
 - Move role definition cache clear from the user-centric
   accesslib_clear_all_caches() to the newly created,
   role-dedicated accesslib_reset_role_cache()
This commit is contained in:
Jonathan Champ
2018-09-21 09:17:42 -04:00
parent 6902f39141
commit b2f349a433
18 changed files with 31 additions and 66 deletions
-7
View File
@@ -1669,7 +1669,6 @@ class core_questionlib_testcase extends advanced_testcase {
foreach ($capabilities as $capname => $capvalue) {
assign_capability($capname, $capvalue, $roleid, $context->id);
}
$context->mark_dirty();
$this->setUser($user);
@@ -1719,7 +1718,6 @@ class core_questionlib_testcase extends advanced_testcase {
foreach ($capabilities as $capname => $capvalue) {
assign_capability($capname, $capvalue, $roleid, $context->id);
}
$context->mark_dirty();
// Create the question.
$qtype = 'truefalse';
@@ -1771,7 +1769,6 @@ class core_questionlib_testcase extends advanced_testcase {
foreach ($capabilities as $capname => $capvalue) {
assign_capability($capname, $capvalue, $roleid, $context->id);
}
$context->mark_dirty();
// Create the question.
$qtype = 'truefalse';
@@ -1823,7 +1820,6 @@ class core_questionlib_testcase extends advanced_testcase {
foreach ($capabilities as $capname => $capvalue) {
assign_capability($capname, $capvalue, $roleid, $context->id);
}
$context->mark_dirty();
// Create the question.
$qtype = 'truefalse';
@@ -1881,8 +1877,6 @@ class core_questionlib_testcase extends advanced_testcase {
foreach ($capabilities as $capname => $capvalue) {
assign_capability($capname, $capvalue, $roleid, $newcontext->id);
}
$context->mark_dirty();
$newcontext->mark_dirty();
// Create the question.
$qtype = 'truefalse';
@@ -1938,7 +1932,6 @@ class core_questionlib_testcase extends advanced_testcase {
foreach ($capabilities as $capname => $capvalue) {
assign_capability($capname, $capvalue, $roleid, $context->id);
}
$context->mark_dirty();
// Create the question.
$question = $questiongenerator->create_question('truefalse', null, [