MDL-40044 Roles: Updated role_assigned and role_unassigned event to remove add_to_log

This commit is contained in:
Rajesh Taneja 2013-08-08 11:42:13 +08:00
parent 1613ffa55f
commit 35e4eb42c0
4 changed files with 35 additions and 5 deletions

View file

@ -75,4 +75,16 @@ class role_assigned extends base {
protected function get_legacy_eventdata() {
return $this->get_record_snapshot('role_assignments', $this->data['other']['id']);
}
/**
* Returns array of parameters to be passed to legacy add_to_log() function.
*
* @return array
*/
protected function get_legacy_logdata() {
$roles = get_all_roles();
$rolenames = role_fix_names($roles, $this->get_context(), ROLENAME_ORIGINAL, true);
return array($this->courseid, 'role', 'assign', 'admin/roles/assign.php?contextid='.$this->contextid.'&roleid='.$this->objectid,
$rolenames[$this->objectid], '', $this->userid);
}
}

View file

@ -75,4 +75,16 @@ class role_unassigned extends base {
protected function get_legacy_eventdata() {
return $this->get_record_snapshot('role_assignments', $this->data['other']['id']);
}
/**
* Returns array of parameters to be passed to legacy add_to_log() function.
*
* @return array
*/
protected function get_legacy_logdata() {
$roles = get_all_roles();
$rolenames = role_fix_names($roles, $this->get_context(), ROLENAME_ORIGINAL, true);
return array($this->courseid, 'role', 'unassign', 'admin/roles/assign.php?contextid='.$this->contextid.'&roleid='.$this->objectid,
$rolenames[$this->objectid], '', $this->userid);
}
}

View file

@ -508,13 +508,18 @@ class core_accesslib_testcase extends advanced_testcase {
$this->assertSame('', $event->other['component']);
$this->assertEquals(0, $event->other['itemid']);
$this->assertSame('role_assigned', $event::get_legacy_eventname());
$roles = get_all_roles();
$rolenames = role_fix_names($roles, $context, ROLENAME_ORIGINAL, true);
$expectedlegacylog = array($course->id, 'role', 'assign',
'admin/roles/assign.php?contextid='.$context->id.'&roleid='.$role->id, $rolenames[$role->id], '', $USER->id);
$this->assertEventLegacyLogData($expectedlegacylog, $event);
}
/**
* Test role unassigning.
*/
public function test_role_unassign() {
global $DB;
global $DB, $USER;
$this->resetAfterTest();
@ -551,6 +556,11 @@ class core_accesslib_testcase extends advanced_testcase {
$this->assertCount(3, $event->other);
$this->assertSame('', $event->other['component']);
$this->assertEquals(0, $event->other['itemid']);
$roles = get_all_roles();
$rolenames = role_fix_names($roles, $context, ROLENAME_ORIGINAL, true);
$expectedlegacylog = array($course->id, 'role', 'unassign',
'admin/roles/assign.php?contextid='.$context->id.'&roleid='.$role->id, $rolenames[$role->id], '', $USER->id);
$this->assertEventLegacyLogData($expectedlegacylog, $event);
}
/**