MDL-59921 calendar: fix wrong array assumptions

This commit is contained in:
Simey Lameze 2017-10-11 16:22:06 +08:00
parent 1b3f3d5761
commit 580a168a15
3 changed files with 8 additions and 16 deletions

View File

@ -253,7 +253,7 @@ class create extends \moodleform {
$options = ['limittoenrolled' => true];
// Exclude courses without group.
if (isset($eventtypes['course']) && isset($eventtypes['groupcourses'])) {
$options['excludedcourses'] = array_diff(array_keys($eventtypes['course']),
$options['exclude'] = array_diff(array_keys($eventtypes['course']),
array_keys($eventtypes['groupcourses']));
}

View File

@ -2407,19 +2407,11 @@ function calendar_get_all_allowed_types() {
calendar_get_allowed_types($allowed, $course, $coursegroups);
if (!empty($allowed->courses)) {
if (!isset($types['course'])) {
$types['course'] = [$course];
} else {
$types['course'][$course->id] = $course;
}
$types['course'][$course->id] = $course;
}
if (!empty($allowed->groups)) {
if (!isset($types['groupcourses'])) {
$types['groupcourses'] = [$course];
} else {
$types['groupcourses'][$course->id] = $course;
}
$types['groupcourses'][$course->id] = $course;
if (!isset($types['group'])) {
$types['group'] = array_values($allowed->groups);

View File

@ -499,7 +499,7 @@ class core_calendar_lib_testcase extends advanced_testcase {
$types = calendar_get_all_allowed_types();
$typecourses = $types['course'];
$this->assertCount(1, $typecourses);
$this->assertEquals($course1->id, $typecourses[0]->id);
$this->assertEquals($course1->id, $typecourses[$course1->id]->id);
assign_capability('moodle/calendar:manageentries', CAP_ALLOW, $roleid, $context2, true);
@ -543,7 +543,7 @@ class core_calendar_lib_testcase extends advanced_testcase {
$types = calendar_get_all_allowed_types();
$typecourses = $types['course'];
$this->assertCount(1, $typecourses);
$this->assertEquals($course->id, $typecourses[0]->id);
$this->assertEquals($course->id, $typecourses[$course->id]->id);
$this->assertArrayNotHasKey('group', $types);
$this->assertArrayNotHasKey('groupcourses', $types);
}
@ -570,7 +570,7 @@ class core_calendar_lib_testcase extends advanced_testcase {
$types = calendar_get_all_allowed_types();
$typecourses = $types['course'];
$this->assertCount(1, $typecourses);
$this->assertEquals($course->id, $typecourses[0]->id);
$this->assertEquals($course->id, $typecourses[$course->id]->id);
$this->assertArrayNotHasKey('group', $types);
$this->assertArrayNotHasKey('groupcourses', $types);
}
@ -622,7 +622,7 @@ class core_calendar_lib_testcase extends advanced_testcase {
$this->assertEquals($course1->id, $typecourses[0]->id);
$this->assertEquals($course2->id, $typecourses[1]->id);
$this->assertCount(1, $typegroupcourses);
$this->assertEquals($course1->id, $typegroupcourses[0]->id);
$this->assertEquals($course1->id, $typegroupcourses[$course1->id]->id);
$this->assertCount(2, $typegroups);
$this->assertEquals($group1->id, $typegroups[0]->id);
$this->assertEquals($group2->id, $typegroups[1]->id);
@ -667,7 +667,7 @@ class core_calendar_lib_testcase extends advanced_testcase {
usort($typegroups, $idascfunc);
$this->assertCount(1, $typegroupcourses);
$this->assertEquals($course->id, $typegroupcourses[0]->id);
$this->assertEquals($course->id, $typegroupcourses[$course->id]->id);
$this->assertCount(2, $typegroups);
$this->assertEquals($group1->id, $typegroups[0]->id);
$this->assertEquals($group2->id, $typegroups[1]->id);