MDL-39846 remove contextlevel validation
Do this in new validate_data() instead, thanks Fred.
This commit is contained in:
@@ -161,9 +161,6 @@ abstract class base implements \IteratorAggregate {
|
||||
throw new \coding_exception('context (or contextid) is a required event property, system context may be hardcoded in init() method.');
|
||||
}
|
||||
|
||||
if (isset($event->data['contextlevel']) and $event->data['contextlevel'] != $event->context->contextlevel) {
|
||||
throw new \coding_exception('Context does not match expected context level');
|
||||
}
|
||||
$event->data['contextid'] = $event->context->id;
|
||||
$event->data['contextlevel'] = $event->context->contextlevel;
|
||||
$event->data['contextinstanceid'] = $event->context->instanceid;
|
||||
@@ -217,7 +214,6 @@ abstract class base implements \IteratorAggregate {
|
||||
*
|
||||
* Optionally it can set:
|
||||
* a/ fixed system context
|
||||
* b/ required context level
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
|
||||
@@ -620,22 +620,14 @@ class core_event_testcase extends advanced_testcase {
|
||||
$event6->trigger();
|
||||
$this->assertDebuggingCalled();
|
||||
|
||||
$event = \core_tests\event\problematic_event2::create(array('context'=>\context_course::instance(1)));
|
||||
try {
|
||||
$event = \core_tests\event\problematic_event2::create(array('context'=>\context_system::instance()));
|
||||
$this->fail('Exception expected when $data contains context that does not match hardcoded level');
|
||||
} catch (\moodle_exception $e) {
|
||||
$this->assertInstanceOf('\coding_exception', $e);
|
||||
}
|
||||
|
||||
$event = \core_tests\event\problematic_event3::create(array());
|
||||
$event = \core_tests\event\problematic_event2::create(array());
|
||||
$this->assertDebuggingNotCalled();
|
||||
$event = \core_tests\event\problematic_event3::create(array('context'=>\context_system::instance()));
|
||||
$event = \core_tests\event\problematic_event2::create(array('context'=>\context_system::instance()));
|
||||
$this->assertDebuggingCalled();
|
||||
|
||||
$event = \core_tests\event\problematic_event4::create(array('other'=>1));
|
||||
$event = \core_tests\event\problematic_event3::create(array('other'=>1));
|
||||
$this->assertDebuggingNotCalled();
|
||||
$event = \core_tests\event\problematic_event4::create(array());
|
||||
$event = \core_tests\event\problematic_event3::create(array());
|
||||
$this->assertDebuggingCalled();
|
||||
}
|
||||
|
||||
|
||||
+1
-9
@@ -164,14 +164,6 @@ class problematic_event1 extends \core\event\base {
|
||||
}
|
||||
|
||||
class problematic_event2 extends \core\event\base {
|
||||
protected function init() {
|
||||
$this->data['crud'] = 'c';
|
||||
$this->data['level'] = 10;
|
||||
$this->data['contextlevel'] = CONTEXT_COURSE;
|
||||
}
|
||||
}
|
||||
|
||||
class problematic_event3 extends \core\event\base {
|
||||
protected function init() {
|
||||
$this->data['crud'] = 'c';
|
||||
$this->data['level'] = 10;
|
||||
@@ -179,7 +171,7 @@ class problematic_event3 extends \core\event\base {
|
||||
}
|
||||
}
|
||||
|
||||
class problematic_event4 extends \core\event\base {
|
||||
class problematic_event3 extends \core\event\base {
|
||||
protected function init() {
|
||||
$this->data['crud'] = 'c';
|
||||
$this->data['level'] = 10;
|
||||
|
||||
Reference in New Issue
Block a user