From d6b498f6ae17e7c424bef98b32136aae97a92508 Mon Sep 17 00:00:00 2001 From: Juan Leyva Date: Fri, 16 Nov 2018 15:48:39 +0100 Subject: [PATCH] MDL-62668 mod_workshop: Return feedback for reviewer in assessment phase Teachers were not able to view the existing feedback. --- mod/workshop/classes/external.php | 7 +++++-- mod/workshop/tests/external_test.php | 1 + 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/mod/workshop/classes/external.php b/mod/workshop/classes/external.php index 3c37a454649..f3ce788dbf0 100644 --- a/mod/workshop/classes/external.php +++ b/mod/workshop/classes/external.php @@ -1042,8 +1042,11 @@ class mod_workshop_external extends external_api { return null; } - // Remove the feedback for the reviewer if the feedback phase is not valid or if we don't have enough permissions to see it. - if ($workshop->phase < workshop::PHASE_EVALUATION || !($isreviewer || $canviewallassessments)) { + // Remove the feedback for the reviewer if: + // I can't see it in the evaluation phase because I'm not a teacher or the reviewer AND + // I can't see it in the assessment phase because I'm not a teacher. + if (($workshop->phase < workshop::PHASE_EVALUATION || !($isreviewer || $canviewallassessments)) && + ($workshop->phase < workshop::PHASE_ASSESSMENT || !$canviewallassessments) ) { // Remove all the feedback information (all the optional fields). foreach ($properties as $attribute => $settings) { if (!empty($settings['optional'])) { diff --git a/mod/workshop/tests/external_test.php b/mod/workshop/tests/external_test.php index e8e9f5dd49d..a84d5b6bf2e 100644 --- a/mod/workshop/tests/external_test.php +++ b/mod/workshop/tests/external_test.php @@ -1436,6 +1436,7 @@ class mod_workshop_external_testcase extends externallib_advanced_testcase { $result = mod_workshop_external::get_reviewer_assessments($this->workshop->id, $this->student->id); $result = external_api::clean_returnvalue(mod_workshop_external::get_reviewer_assessments_returns(), $result); $this->assertCount(2, $result['assessments']); + $this->assertArrayNotHasKey('feedbackreviewer', $result['assessments'][0]); } /**