Skip to content

Commit

Permalink
MDL-44403 events: added public methods to get eventdata
Browse files Browse the repository at this point in the history
  • Loading branch information
marinaglancy committed Mar 4, 2014
1 parent ed0a48b commit ce3b9d2
Show file tree
Hide file tree
Showing 10 changed files with 126 additions and 48 deletions.
6 changes: 3 additions & 3 deletions blog/locallib.php
Expand Up @@ -267,7 +267,7 @@ public function add() {
'objectid' => $this->id,
'relateduserid' => $this->userid
));
$event->set_custom_data($this);
$event->set_blog_entry($this);
$event->trigger();
}

Expand Down Expand Up @@ -309,7 +309,7 @@ public function edit($params=array(), $form=null, $summaryoptions=array(), $atta
'objectid' => $entry->id,
'relateduserid' => $entry->userid
));
$event->set_custom_data($entry);
$event->set_blog_entry($entry);
$event->trigger();
}

Expand All @@ -334,7 +334,7 @@ public function delete() {
'relateduserid' => $this->userid
));
$event->add_record_snapshot("post", $record);
$event->set_custom_data($this);
$event->set_blog_entry($this);
$event->trigger();
}

Expand Down
2 changes: 0 additions & 2 deletions group/lib.php
Expand Up @@ -326,7 +326,6 @@ function groups_create_grouping($data, $editoroptions=null) {
'objectid' => $id
);
$event = \core\event\grouping_created::create($params);
$event->set_legacy_eventdata($data);
$event->trigger();

return $id;
Expand Down Expand Up @@ -442,7 +441,6 @@ function groups_update_grouping($data, $editoroptions=null) {
'objectid' => $data->id
);
$event = \core\event\grouping_updated::create($params);
$event->set_legacy_eventdata($data);
$event->trigger();

return true;
Expand Down
16 changes: 8 additions & 8 deletions group/tests/lib_test.php
Expand Up @@ -124,12 +124,6 @@ public function test_grouping_created_event() {

$this->assertInstanceOf('\core\event\grouping_created', $event);

// 'Repairing' the object for comparison because of type of variables being wrong.
$group->id = (int) $group->id;
$group->timemodified = (int) $group->timemodified;
$group->timecreated = (int) $group->timecreated;
unset($group->idnumber);
unset($group->configdata);
$this->assertEventLegacyData($group, $event);
$this->assertSame('groups_grouping_created', $event->get_legacy_eventname());

Expand Down Expand Up @@ -187,10 +181,16 @@ public function test_grouping_updated_event() {

$this->assertInstanceOf('\core\event\grouping_updated', $event);

// 'Repairing' the object for comparison because of type of variables being wrong.
$data->id = (int) $grouping->id;
// Get the timemodified from DB for comparison with snapshot.
$data->timemodified = $DB->get_field('groupings', 'timemodified', array('id'=>$grouping->id));
$this->assertTimeCurrent($data->timemodified);
// Following fields were not updated so the snapshot should have them the same as in original group.
$data->description = $grouping->description;
$data->descriptionformat = $grouping->descriptionformat;
$data->configdata = $grouping->configdata;
$data->idnumber = $grouping->idnumber;
$data->timecreated = $grouping->timecreated;
// Assert legacy event data.
$this->assertEventLegacyData($data, $event);
$this->assertSame('groups_grouping_updated', $event->get_legacy_eventname());

Expand Down
36 changes: 30 additions & 6 deletions lib/classes/event/blog_entry_created.php
Expand Up @@ -37,8 +37,8 @@
*/
class blog_entry_created extends \core\event\base {

/** @var \blog_entry A reference to the active blog_entry object. */
protected $customobject;
/** @var \blog_entry A reference to the active blog_entry object. */
protected $blogentry;

/**
* Set basic properties for the event.
Expand All @@ -53,10 +53,34 @@ protected function init() {
/**
* Set custom data of the event.
*
* @param \blog_entry $data A reference to the active blog_entry object.
* @param \blog_entry $data
*/
public function set_custom_data(\blog_entry $data) {
$this->customobject = $data;
// This function will be removed in 2.7.
$this->set_blog_entry($data);
}

/**
* Set blog_entry object to be used by observers.
*
* @since 2.6.2
* @param \blog_entry $data A reference to the active blog_entry object.
*/
public function set_blog_entry(\blog_entry $blogentry) {
$this->blogentry = $blogentry;
}

/**
* Returns created blog_entry object for event observers.
*
* @since 2.6.2
* @return \blog_entry
*/
public function get_blog_entry() {
if ($this->is_restored()) {
throw new \coding_exception('Function get_blog_entry() can not be used on restored events.');
}
return $this->blogentry;
}

/**
Expand Down Expand Up @@ -100,7 +124,7 @@ public static function get_legacy_eventname() {
* @return \blog_entry
*/
protected function get_legacy_eventdata() {
return $this->customobject;
return $this->blogentry;
}

/**
Expand All @@ -110,6 +134,6 @@ protected function get_legacy_eventdata() {
*/
protected function get_legacy_logdata() {
return array (SITEID, 'blog', 'add', 'index.php?userid=' . $this->relateduserid . '&entryid=' . $this->objectid,
$this->customobject->subject);
$this->blogentry->subject);
}
}
30 changes: 27 additions & 3 deletions lib/classes/event/blog_entry_deleted.php
Expand Up @@ -37,7 +37,7 @@
class blog_entry_deleted extends \core\event\base {

/** @var \blog_entry A reference to the active blog_entry object. */
protected $customobject;
protected $blogentry;

/**
* Set basic event properties.
Expand All @@ -64,7 +64,31 @@ public static function get_name() {
* @param \blog_entry $data A reference to the active blog_entry object.
*/
public function set_custom_data(\blog_entry $data) {
$this->customobject = $data;
// Note, this function will be removed in 2.7.
$this->set_blog_entry($data);
}

/**
* Sets blog_entry object to be used by observers.
*
* @since 2.6.2
* @param \blog_entry $data A reference to the active blog_entry object.
*/
public function set_blog_entry(\blog_entry $blogentry) {
$this->blogentry = $blogentry;
}

/**
* Returns deleted blog entry for event observers.
*
* @since 2.6.2
* @return \blog_entry
*/
public function get_blog_entry() {
if ($this->is_restored()) {
throw new \coding_exception('Function get_blog_entry() can not be used on restored events.');
}
return $this->blogentry;
}

/**
Expand All @@ -91,7 +115,7 @@ public static function get_legacy_eventname() {
* @return \blog_entry
*/
protected function get_legacy_eventdata() {
return $this->customobject;
return $this->blogentry;
}

/**
Expand Down
32 changes: 27 additions & 5 deletions lib/classes/event/blog_entry_updated.php
Expand Up @@ -36,7 +36,7 @@
class blog_entry_updated extends base {

/** @var \blog_entry A reference to the active blog_entry object. */
protected $customobject;
protected $blogentry;

/**
* Set basic event properties.
Expand All @@ -49,12 +49,34 @@ protected function init() {
}

/**
* Set custom data of the event.
* Set custom data of the event - updated blog entry.
*
* @param \blog_entry $data A reference to the active blog_entry object.
*/
public function set_custom_data(\blog_entry $data) {
$this->customobject = $data;
// Note, this function will be removed in 2.7.
$this->set_blog_entry($data);
}

/**
* Sets blog_entry object to be used by observers.
*
* @param \blog_entry $data A reference to the active blog_entry object.
*/
public function set_blog_entry(\blog_entry $blogentry) {
$this->blogentry = $blogentry;
}

/**
* Returns updated blog entry for event observers.
*
* @return \blog_entry
*/
public function get_blog_entry() {
if ($this->is_restored()) {
throw new \coding_exception('Function get_blog_entry() can not be used on restored events.');
}
return $this->blogentry;
}

/**
Expand Down Expand Up @@ -89,7 +111,7 @@ public function get_url() {
* @return \blog_entry
*/
protected function get_legacy_eventdata() {
return $this->customobject;
return $this->blogentry;
}

/**
Expand All @@ -108,7 +130,7 @@ public static function get_legacy_eventname() {
*/
protected function get_legacy_logdata() {
return array(SITEID, 'blog', 'update', 'index.php?userid=' . $this->relateduserid . '&entryid=' . $this->objectid,
$this->customobject->subject);
$this->blogentry->subject);
}
}

26 changes: 25 additions & 1 deletion lib/classes/event/course_category_deleted.php
Expand Up @@ -83,7 +83,31 @@ protected function get_legacy_eventdata() {
* @param coursecat $class instance of the coursecat class
*/
public function set_legacy_eventdata($class) {
$this->coursecat = $class;
// This function will be removed in 2.7.
$this->set_coursecat($class);
}

/**
* Set custom data of the event - deleted coursecat.
*
* @since 2.6.2
* @param \coursecat $coursecat
*/
public function set_coursecat(\coursecat $coursecat) {
$this->coursecat = $coursecat;
}

/**
* Returns deleted coursecat for event observers.
*
* @since 2.6.2
* @return \coursecat
*/
public function get_coursecat() {
if ($this->is_restored()) {
throw new \coding_exception('Function get_coursecat() can not be used on restored events.');
}
return $this->coursecat;
}

/**
Expand Down
11 changes: 2 additions & 9 deletions lib/classes/event/grouping_created.php
Expand Up @@ -34,13 +34,6 @@
*/
class grouping_created extends \core\event\base {

/**
* Legacy data.
*
* @var mixed
*/
protected $legacydata;

/**
* Returns description of what happened.
*
Expand All @@ -56,7 +49,7 @@ public function get_description() {
* @return stdClass
*/
protected function get_legacy_eventdata() {
return $this->legacydata;
return $this->get_record_snapshot('groupings', $this->objectid);
}

/**
Expand Down Expand Up @@ -104,7 +97,7 @@ protected function init() {
* @return void
*/
public function set_legacy_eventdata($legacydata) {
$this->legacydata = $legacydata;
// This function is not used and will be removed in 2.7.
}

}
11 changes: 2 additions & 9 deletions lib/classes/event/grouping_updated.php
Expand Up @@ -34,13 +34,6 @@
*/
class grouping_updated extends \core\event\base {

/**
* Legacy data.
*
* @var mixed
*/
protected $legacydata;

/**
* Returns description of what happened.
*
Expand All @@ -56,7 +49,7 @@ public function get_description() {
* @return stdClass
*/
protected function get_legacy_eventdata() {
return $this->legacydata;
return $this->get_record_snapshot('groupings', $this->objectid);
}

/**
Expand Down Expand Up @@ -104,7 +97,7 @@ protected function init() {
* @return void
*/
public function set_legacy_eventdata($legacydata) {
$this->legacydata = $legacydata;
// This function is not used and will be removed in 2.7.
}

}
4 changes: 2 additions & 2 deletions lib/coursecatlib.php
Expand Up @@ -1632,7 +1632,7 @@ public function delete_full($showfeedback = true) {
'context' => $coursecatcontext,
'other' => array('name' => $this->name)
));
$event->set_legacy_eventdata($this);
$event->set_coursecat($this);
$event->trigger();

// If we deleted $CFG->defaultrequestcategory, make it point somewhere else.
Expand Down Expand Up @@ -1781,7 +1781,7 @@ public function delete_move($newparentid, $showfeedback = false) {
'context' => $context,
'other' => array('name' => $this->name)
));
$event->set_legacy_eventdata($this);
$event->set_coursecat($this);
$event->trigger();

cache_helper::purge_by_event('changesincoursecat');
Expand Down

0 comments on commit ce3b9d2

Please sign in to comment.