diff --git a/lib/classes/event/base.php b/lib/classes/event/base.php index c2c621ed352de..58329d98382c4 100644 --- a/lib/classes/event/base.php +++ b/lib/classes/event/base.php @@ -304,12 +304,18 @@ public function get_description() { } /** - * Define whether a user can view the event or not. + * This method was originally intended for granular + * access control on the event level, unfortunately + * the proper implementation would be too expensive + * in many cases. + * + * @deprecated since 2.7 * * @param int|\stdClass $user_or_id ID of the user. * @return bool True if the user can view the event, false otherwise. */ public function can_view($user_or_id = null) { + debugging('can_view() method is deprecated, use anonymous flag instead if necessary.', DEBUG_DEVELOPER); return is_siteadmin($user_or_id); } diff --git a/mod/feedback/classes/event/course_module_viewed.php b/mod/feedback/classes/event/course_module_viewed.php index 2f3e1df4501a2..eda3d4197fc10 100644 --- a/mod/feedback/classes/event/course_module_viewed.php +++ b/mod/feedback/classes/event/course_module_viewed.php @@ -53,11 +53,14 @@ protected function init() { /** * Define whether a user can view the event or not. Make sure no one except admin can see details of an anonymous response. * + * @deprecated since 2.7 + * * @param int|\stdClass $userorid ID of the user. * @return bool True if the user can view the event, false otherwise. */ public function can_view($userorid = null) { global $USER; + debugging('can_view() method is deprecated, use anonymous flag instead if necessary.', DEBUG_DEVELOPER); if (empty($userorid)) { $userorid = $USER; diff --git a/mod/feedback/classes/event/response_deleted.php b/mod/feedback/classes/event/response_deleted.php index e200f1abf0767..b04591c93e062 100644 --- a/mod/feedback/classes/event/response_deleted.php +++ b/mod/feedback/classes/event/response_deleted.php @@ -84,11 +84,14 @@ protected function get_legacy_logdata() { /** * Define whether a user can view the event or not. Make sure no one except admin can see details of an anonymous response. * + * @deprecated since 2.7 + * * @param int|\stdClass $userorid ID of the user. * @return bool True if the user can view the event, false otherwise. */ public function can_view($userorid = null) { global $USER; + debugging('can_view() method is deprecated, use anonymous flag instead if necessary.', DEBUG_DEVELOPER); if (empty($userorid)) { $userorid = $USER; diff --git a/mod/feedback/classes/event/response_submitted.php b/mod/feedback/classes/event/response_submitted.php index 83ff1da1956f8..c273f8c23fda5 100644 --- a/mod/feedback/classes/event/response_submitted.php +++ b/mod/feedback/classes/event/response_submitted.php @@ -106,11 +106,14 @@ protected function get_legacy_logdata() { /** * Define whether a user can view the event or not. Make sure no one except admin can see details of an anonymous response. * + * @deprecated since 2.7 + * * @param int|\stdClass $userorid ID of the user. * @return bool True if the user can view the event, false otherwise. */ public function can_view($userorid = null) { global $USER; + debugging('can_view() method is deprecated, use anonymous flag instead if necessary.', DEBUG_DEVELOPER); if (empty($userorid)) { $userorid = $USER; diff --git a/mod/feedback/tests/events_test.php b/mod/feedback/tests/events_test.php index bdd422e4a5c75..5e198e1b2ac0f 100644 --- a/mod/feedback/tests/events_test.php +++ b/mod/feedback/tests/events_test.php @@ -135,8 +135,10 @@ public function test_response_deleted_event() { // Test can_view() . $this->setUser($this->eventuser); $this->assertFalse($event->can_view()); + $this->assertDebuggingCalled(); $this->setAdminUser(); $this->assertTrue($event->can_view()); + $this->assertDebuggingCalled(); // Create a response, with anonymous set to no and test can_view(). $response = new stdClass(); @@ -162,8 +164,10 @@ public function test_response_deleted_event() { // Test can_view() . $this->setUser($this->eventuser); $this->assertTrue($event->can_view()); + $this->assertDebuggingCalled(); $this->setAdminUser(); $this->assertTrue($event->can_view()); + $this->assertDebuggingCalled(); $this->assertEventContextNotUsed($event); } @@ -228,8 +232,10 @@ public function test_response_submitted_event() { $this->assertEquals(FEEDBACK_ANONYMOUS_YES, $event->other['anonymous']); $this->setUser($this->eventuser); $this->assertFalse($event->can_view()); + $this->assertDebuggingCalled(); $this->setAdminUser(); $this->assertTrue($event->can_view()); + $this->assertDebuggingCalled(); // Test legacy data. $this->assertEventLegacyLogData(null, $event); @@ -262,8 +268,10 @@ public function test_response_submitted_event() { // Test can_view(). $this->assertTrue($event->can_view()); + $this->assertDebuggingCalled(); $this->setAdminUser(); $this->assertTrue($event->can_view()); + $this->assertDebuggingCalled(); $this->assertEventContextNotUsed($event); }