mirror of
https://github.com/moodle/moodle.git
synced 2025-03-14 12:40:01 +01:00
MDL-53451 tool_lpmigrate: Keep course competency on module failure
When permissions are lacking and the course module competencies could not be migrated we must keep the course competency to preserve the original competency in the course module.
This commit is contained in:
parent
8ef18bda2b
commit
3577bbe101
@ -543,6 +543,7 @@ class framework_processor {
|
||||
|
||||
} catch (moodle_exception $e) {
|
||||
// There was a major problem with this competency in this module.
|
||||
$competencieswithissues[$competencyid] = true;
|
||||
$message = get_string('errorwhilemigratingmodulecompetencywithexception', 'tool_lpmigrate',
|
||||
$e->getMessage());
|
||||
$this->log_error($courseid, $competencyid, $cmid, $message);
|
||||
@ -564,6 +565,7 @@ class framework_processor {
|
||||
$this->modulecompetencyremovals++;
|
||||
}
|
||||
} catch (moodle_exception $e) {
|
||||
$competencieswithissues[$competencyid] = true;
|
||||
$this->log_warning($courseid, $competencyid, $cmid,
|
||||
get_string('warningcouldnotremovemodulecompetency', 'tool_lpmigrate'));
|
||||
}
|
||||
|
@ -456,7 +456,7 @@ class tool_lpmigrate_framework_processor_testcase extends advanced_testcase {
|
||||
$this->assertEquals(1, $processor->get_courses_found_count());
|
||||
$this->assertEquals(2, $processor->get_expected_course_competency_migrations());
|
||||
$this->assertEquals(2, $processor->get_course_competency_migrations());
|
||||
$this->assertEquals(2, $processor->get_course_competency_removals());
|
||||
$this->assertEquals(0, $processor->get_course_competency_removals());
|
||||
|
||||
$this->assertEquals(1, $processor->get_cms_found_count());
|
||||
$this->assertEquals(2, $processor->get_expected_module_competency_migrations());
|
||||
@ -472,8 +472,13 @@ class tool_lpmigrate_framework_processor_testcase extends advanced_testcase {
|
||||
$this->assertRegexp('/Sorry, but you do not currently have permissions to do that/', $errors[0]['message']);
|
||||
$this->assertEquals($this->f1comps['A3']->get_id(), $errors[1]['competencyid']);
|
||||
|
||||
$this->assertCourseCompetencyMigrated($this->c2, $this->f1comps['A2'], $this->f2comps['A2']);
|
||||
$this->assertCourseCompetencyMigrated($this->c2, $this->f1comps['A3'], $this->f2comps['A3']);
|
||||
// The new competencies were added to the course, but the old ones were not removed because they are still in modules.
|
||||
$this->assertCourseCompetencyExists($this->c2, $this->f1comps['A2']);
|
||||
$this->assertCourseCompetencyExists($this->c2, $this->f1comps['A3']);
|
||||
$this->assertCourseCompetencyExists($this->c2, $this->f2comps['A2']);
|
||||
$this->assertCourseCompetencyExists($this->c2, $this->f2comps['A3']);
|
||||
|
||||
// Module competencies were not migrated because permissions are lacking.
|
||||
$this->assertModuleCompetencyNotMigrated($this->cms[$this->c2->id]['F1'], $this->f1comps['A2'], $this->f2comps['A2']);
|
||||
$this->assertModuleCompetencyNotMigrated($this->cms[$this->c2->id]['F1'], $this->f1comps['A3'], $this->f2comps['A2']);
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user