MDL-67458 tool_cohortroles: remove role mapping for deleted roles

Before syncing anything, clean up records pointing to deleted roles.
This commit is contained in:
Jake Dallimore
2019-12-11 09:33:10 +08:00
parent 8cf4c97217
commit 94eabe36df
+4
View File
@@ -144,6 +144,10 @@ class api {
$rolesadded = array();
$rolesremoved = array();
// Remove any cohort role mappings for roles which have been deleted.
// The role assignments are not a consideration because these will have been removed when the role was.
$DB->delete_records_select('tool_cohortroles', "roleid NOT IN (SELECT id FROM {role})");
// Get all cohort role assignments and group them by user and role.
$all = cohort_role_assignment::get_records(array(), 'userid, roleid');
// We build an better structure to loop on.