From 726a3be81af1e35ea9971bbc7e647ab4db047507 Mon Sep 17 00:00:00 2001 From: Rajesh Taneja Date: Mon, 28 Oct 2013 12:55:52 +0800 Subject: [PATCH 1/2] MDL-42557 Events: Removed timemodified hack from course_deleted event --- lib/classes/event/course_deleted.php | 2 +- lib/moodlelib.php | 4 ---- 2 files changed, 1 insertion(+), 5 deletions(-) diff --git a/lib/classes/event/course_deleted.php b/lib/classes/event/course_deleted.php index db17175afc5..0f704a77b53 100644 --- a/lib/classes/event/course_deleted.php +++ b/lib/classes/event/course_deleted.php @@ -71,7 +71,7 @@ class course_deleted extends base { protected function get_legacy_eventdata() { $course = $this->get_record_snapshot('course', $this->objectid); $course->context = $this->context; - + $course->timemodified = $this->data['timecreated']; return $course; } diff --git a/lib/moodlelib.php b/lib/moodlelib.php index 2d344453efd..83d95db4f64 100644 --- a/lib/moodlelib.php +++ b/lib/moodlelib.php @@ -4842,10 +4842,6 @@ function delete_course($courseorid, $showfeedback = true) { // Delete the course and related context instance. context_helper::delete_instance(CONTEXT_COURSE, $courseid); - // We will update the course's timemodified, as it will be passed to the course_deleted event, - // which should know about this updated property, as this event is meant to pass the full course record. - $course->timemodified = time(); - $DB->delete_records("course", array("id" => $courseid)); $DB->delete_records("course_format_options", array("courseid" => $courseid)); From 0d22c248295369d26bcba5563a685b95a64dacce Mon Sep 17 00:00:00 2001 From: Rajesh Taneja Date: Mon, 28 Oct 2013 16:16:25 +0800 Subject: [PATCH 2/2] MDL-42557 Events: added idnumber to course_deleted event data --- course/tests/courselib_test.php | 4 ++++ lib/moodlelib.php | 7 +++++-- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/course/tests/courselib_test.php b/course/tests/courselib_test.php index b28522e4fb9..1935ec79a56 100644 --- a/course/tests/courselib_test.php +++ b/course/tests/courselib_test.php @@ -1534,6 +1534,10 @@ class core_course_courselib_testcase extends advanced_testcase { $this->assertEquals($coursecontext->id, $event->contextid); $this->assertEquals($course, $event->get_record_snapshot('course', $course->id)); $this->assertEquals('course_deleted', $event->get_legacy_eventname()); + $eventdata = $event->get_data(); + $this->assertSame($course->idnumber, $eventdata['other']['idnumber']); + $this->assertSame($course->fullname, $eventdata['other']['fullname']); + $this->assertSame($course->shortname, $eventdata['other']['shortname']); // The legacy data also passed the context in the course object. $course->context = $coursecontext; $this->assertEventLegacyData($course, $event); diff --git a/lib/moodlelib.php b/lib/moodlelib.php index 83d95db4f64..f9efd0acbe9 100644 --- a/lib/moodlelib.php +++ b/lib/moodlelib.php @@ -4849,8 +4849,11 @@ function delete_course($courseorid, $showfeedback = true) { $event = \core\event\course_deleted::create(array( 'objectid' => $course->id, 'context' => $context, - 'other' => array('shortname' => $course->shortname, - 'fullname' => $course->fullname) + 'other' => array( + 'shortname' => $course->shortname, + 'fullname' => $course->fullname, + 'idnumber' => $course->idnumber + ) )); $event->add_record_snapshot('course', $course); $event->trigger();