From 5600faa4662a090c3d4cb01b3e304ac31b3fffd2 Mon Sep 17 00:00:00 2001 From: Dan Marsden Date: Mon, 14 Jan 2019 10:06:29 +1300 Subject: [PATCH 1/2] MDL-64507 mod_assign: check grader visibility for previous submissions. --- mod/assign/locallib.php | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/mod/assign/locallib.php b/mod/assign/locallib.php index c2c9e18ad23..cd9f4c11fbc 100644 --- a/mod/assign/locallib.php +++ b/mod/assign/locallib.php @@ -5422,6 +5422,12 @@ class assign { $gradercache = array(); $cangrade = has_capability('mod/assign:grade', $this->get_context()); + // Show the grader's identity if 'Hide Grader' is disabled or has the 'Show Hidden Grader' capability. + $showgradername = ( + has_capability('mod/assign:showhiddengrader', $this->context, $userid) or + !$this->is_hidden_grader() + ); + // Need gradingitem and gradingmanager. $gradingmanager = get_grading_manager($this->get_context(), 'mod_assign', 'submissions'); $controller = $gradingmanager->get_active_controller(); @@ -5439,7 +5445,9 @@ class assign { foreach ($grades as $grade) { // First lookup the grader info. - if (isset($gradercache[$grade->grader])) { + if (!$showgradername) { + $grade->grader = null; + } else if (isset($gradercache[$grade->grader])) { $grade->grader = $gradercache[$grade->grader]; } else if ($grade->grader > 0) { // Not in cache - need to load the grader record. From 74f6a5d482c0d12aa462e8c3e097a5ef0f9bc1ca Mon Sep 17 00:00:00 2001 From: Damyon Wiese Date: Tue, 15 Jan 2019 13:14:50 +0800 Subject: [PATCH 2/2] MDL-64507 assign: Behat test "Hide grader identity" Test that you can't see the identity of the grader even on previous attempts. --- mod/assign/tests/behat/allow_another_attempt.feature | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/mod/assign/tests/behat/allow_another_attempt.feature b/mod/assign/tests/behat/allow_another_attempt.feature index 29fdb6bbfad..feae31245f1 100644 --- a/mod/assign/tests/behat/allow_another_attempt.feature +++ b/mod/assign/tests/behat/allow_another_attempt.feature @@ -25,6 +25,7 @@ Feature: In an assignment, students start a new attempt based on their previous | assignsubmission_onlinetext_enabled | 1 | | assignsubmission_file_enabled | 0 | | Attempts reopened | Manually | + | Hide grader identity from students | Yes | And I log out And I log in as "student1" And I am on "Course 1" course homepage @@ -45,12 +46,13 @@ Feature: In an assignment, students start a new attempt based on their previous And I press "Ok" And I click on "Edit settings" "link" And I log out - And I log in as "student1" + Then I log in as "student1" And I am on "Course 1" course homepage And I follow "Test assignment name" + And I should not see "Teacher 1" And I press "Add a new attempt based on previous submission" And I press "Save changes" - Then I log out + And I log out And I log in as "teacher1" And I am on "Course 1" course homepage And I follow "Test assignment name"