diff --git a/calendar/classes/privacy/provider.php b/calendar/classes/privacy/provider.php index 719394c005e..bcb56b5f7ae 100644 --- a/calendar/classes/privacy/provider.php +++ b/calendar/classes/privacy/provider.php @@ -531,8 +531,7 @@ class provider implements AND ctx.contextlevel = :categorycontext) OR (e.courseid = ctx.instanceid AND (e.eventtype = 'course' - OR e.eventtype = 'group' - OR e.modulename != '0') + OR e.eventtype = 'group') AND ctx.contextlevel = :coursecontext) OR (e.userid = ctx.instanceid AND e.eventtype = 'user' diff --git a/calendar/tests/privacy_test.php b/calendar/tests/privacy_test.php index 0921296143a..2b7157d5dc2 100644 --- a/calendar/tests/privacy_test.php +++ b/calendar/tests/privacy_test.php @@ -365,12 +365,23 @@ class core_calendar_privacy_testcase extends provider_testcase { // Delete all Calendar Events for all Users by Context for Course 2. provider::delete_data_for_all_users_in_context($course2context); - // Verify all Calendar Events for Course 2 were deleted. - $events = $DB->get_records('event', array('courseid' => $course2->id)); + // Verify all Calendar Events for Course 2 context were deleted. + $events = $DB->get_records('event', array('courseid' => $course2->id, 'modulename' => '0')); $this->assertCount(0, $events); // Verify all Calendar Subscriptions for Course 2 were deleted. $subscriptions = $DB->get_records('event_subscriptions', array('courseid' => $course2->id)); $this->assertCount(0, $subscriptions); + + // Verify all Calendar Events for the assignment exists still. + $events = $DB->get_records('event', array('modulename' => 'assign')); + $this->assertCount(2, $events); + + // Delete all Calendar Events for all Users by Context for the assignment. + provider::delete_data_for_all_users_in_context($modulecontext); + + // Verify all Calendar Events for the assignment context were deleted. + $events = $DB->get_records('event', array('modulename' => 'assign')); + $this->assertCount(0, $events); } /**