MDL-62428 core: fix incorrect early return in privacy providers

This commit is contained in:
Mark Nelson 2018-05-14 12:46:55 +08:00
parent 6df0fa92f3
commit e1baf5e1d6
10 changed files with 14 additions and 11 deletions

View file

@ -169,7 +169,7 @@ class core_backup_privacy_provider_testcase extends \core_privacy\tests\provider
$coursecontext = context_course::instance($this->course->id);
$contextlist = new \core_privacy\local\request\approved_contextlist($this->user, 'core_backup',
[$coursecontext->id]);
[context_system::instance()->id, $coursecontext->id]);
provider::delete_data_for_user($contextlist);
// After deletion, the backup operation for the user should have been deleted.

View file

@ -163,7 +163,7 @@ class provider implements
$userid = $contextlist->get_user()->id;
foreach ($contextlist->get_contexts() as $context) {
if (!$context instanceof \context_course) {
return;
continue;
}
$DB->delete_records('backup_controllers', ['itemid' => $context->instanceid, 'userid' => $userid]);

View file

@ -167,7 +167,7 @@ class provider implements
$userid = $contextlist->get_user()->id;
foreach ($contextlist->get_contexts() as $context) {
if (!$context instanceof \context_system && !$context instanceof \context_coursecat) {
return;
continue;
}
static::delete_data($context, $userid);
}

View file

@ -202,7 +202,10 @@ class core_cohort_testcase extends provider_testcase {
$this->assertEquals(5, $count);
$contextlist = provider::get_contexts_for_userid($user1->id);
$approvedcontextlist = new approved_contextlist($user1, 'cohort', $contextlist->get_contextids());
$contexts = [];
$contexts[] = \context_user::instance($user1->id)->id;
$contexts = array_merge($contexts, $contextlist->get_contextids());
$approvedcontextlist = new approved_contextlist($user1, 'cohort', $contexts);
provider::delete_data_for_user($approvedcontextlist);
// After deletion, the cohort_members entries for the first student should have been deleted.

View file

@ -156,7 +156,7 @@ class provider implements
foreach ($contextlist->get_contexts() as $context) {
if (!($context instanceof \context_course || $context instanceof \context_module)) {
return;
continue;
}
$enrolltitools = $DB->get_fieldset_select('enrol_lti_tools', 'id', 'contextid = :contextid',

View file

@ -158,8 +158,8 @@ class enrol_lti_privacy_provider_testcase extends \core_privacy\tests\provider_t
$count = $DB->count_records('enrol_lti_users');
$this->assertEquals(4, $count);
$contextlist = new \core_privacy\local\request\approved_contextlist($this->user, 'core_backup',
[$coursecontext->id, $cmcontext->id]);
$contextlist = new \core_privacy\local\request\approved_contextlist($this->user, 'enrol_lti',
[context_system::instance()->id, $coursecontext->id, $cmcontext->id]);
provider::delete_data_for_user($contextlist);
$ltiusers = $DB->get_records('enrol_lti_users');

View file

@ -210,7 +210,7 @@ class provider implements
foreach ($contextlist->get_contexts() as $context) {
if (!$context instanceof \context_module) {
return;
continue;
}
$instanceid = $DB->get_field('course_modules', 'instance', ['id' => $context->instanceid], MUST_EXIST);
$DB->delete_records('choice_answers', ['choiceid' => $instanceid, 'userid' => $userid]);

View file

@ -208,7 +208,7 @@ class mod_choice_privacy_provider_testcase extends \core_privacy\tests\provider_
$context1 = context_module::instance($cm1->id);
$context2 = context_module::instance($cm2->id);
$contextlist = new \core_privacy\local\request\approved_contextlist($this->student, 'choice',
[$context1->id, $context2->id]);
[context_system::instance()->id, $context1->id, $context2->id]);
provider::delete_data_for_user($contextlist);
// After deletion, the choice answers for the first student should have been deleted.

View file

@ -182,7 +182,7 @@ class provider implements
$userid = $contextlist->get_user()->id;
foreach ($contextlist->get_contexts() as $context) {
if (!$context instanceof \context_module) {
return;
continue;
}
$instanceid = $DB->get_field('course_modules', 'instance', ['id' => $context->instanceid], MUST_EXIST);
$DB->delete_records('lti_submission', ['ltiid' => $instanceid, 'userid' => $userid]);

View file

@ -271,7 +271,7 @@ class mod_lti_privacy_provider_testcase extends \core_privacy\tests\provider_tes
$context = \context_module::instance($lti->cmid);
$contextlist = new \core_privacy\local\request\approved_contextlist($user1, 'lti',
[$context->id]);
[context_system::instance()->id, $context->id]);
provider::delete_data_for_user($contextlist);
// After deletion the lti submission for the first user should have been deleted.