diff --git a/mod/assign/locallib.php b/mod/assign/locallib.php index 2dd73c5fd1d..a8298a2e396 100644 --- a/mod/assign/locallib.php +++ b/mod/assign/locallib.php @@ -1483,6 +1483,10 @@ class assign { $submission = $this->get_user_submission($member->id, false); if ($submission && $submission->status != ASSIGN_SUBMISSION_STATUS_DRAFT) { unset($members[$id]); + } else { + if ($this->is_blind_marking()) { + $members[$id]->alias = get_string('hiddenuser', 'assign') . $this->get_uniqueid_for_user($id); + } } } return $members; @@ -1987,8 +1991,7 @@ class assign { if ($grade) { $extensionduedate = $grade->extensionduedate; } - $showedit = has_capability('mod/assign:submit', $this->context) && - $this->submissions_open($userid) && ($this->is_any_submission_plugin_enabled()); + $showedit = $this->submissions_open($userid) && ($this->is_any_submission_plugin_enabled()); if ($teamsubmission) { $showsubmit = $showedit && $teamsubmission && ($teamsubmission->status == ASSIGN_SUBMISSION_STATUS_DRAFT); @@ -2019,7 +2022,8 @@ class assign { $showsubmit, $viewfullnames, $extensionduedate, - $this->get_context())); + $this->get_context(), + $this->is_blind_marking())); } if ($grade) { $data = new stdClass(); diff --git a/mod/assign/renderable.php b/mod/assign/renderable.php index c4cb86971b3..82dd79cd2a2 100644 --- a/mod/assign/renderable.php +++ b/mod/assign/renderable.php @@ -335,6 +335,8 @@ class assign_submission_status implements renderable { public $extensionduedate = 0; /** @var context context */ public $context = 0; + /** @var bool blindmarking - Should we hide student identities from graders? */ + public $blindmarking = false; /** * constructor @@ -362,13 +364,14 @@ class assign_submission_status implements renderable { * @param bool $canviewfullnames * @param int $extensionduedate - Any extension to the due date granted for this user * @param context $context - Any extension to the due date granted for this user + * @param blindmarking $blindmarking - Should we hide student identities from graders? */ public function __construct($allowsubmissionsfromdate, $alwaysshowdescription, $submission, $teamsubmissionenabled, $teamsubmission, $submissiongroup, $submissiongroupmemberswhoneedtosubmit, $submissionsenabled, $locked, $graded, $duedate, $cutoffdate, $submissionplugins, $returnaction, $returnparams, $coursemoduleid, $courseid, $view, $canedit, $cansubmit, $canviewfullnames, $extensionduedate, - $context) { + $context, $blindmarking) { $this->allowsubmissionsfromdate = $allowsubmissionsfromdate; $this->alwaysshowdescription = $alwaysshowdescription; $this->submission = $submission; @@ -392,6 +395,7 @@ class assign_submission_status implements renderable { $this->canviewfullnames = $canviewfullnames; $this->extensionduedate = $extensionduedate; $this->context = $context; + $this->blindmarking = $blindmarking; } } diff --git a/mod/assign/renderer.php b/mod/assign/renderer.php index 734b3dd890e..0a0d4fe7ca3 100644 --- a/mod/assign/renderer.php +++ b/mod/assign/renderer.php @@ -429,7 +429,11 @@ class mod_assign_renderer extends plugin_renderer_base { $userslist = array(); foreach ($members as $member) { $url = new moodle_url('/user/view.php', array('id' => $member->id, 'course'=>$status->courseid)); - $userslist[] = $this->output->action_link($url, fullname($member, $status->canviewfullnames)); + if ($status->view == assign_submission_status::GRADER_VIEW && $status->blindmarking) { + $userslist[] = $member->alias; + } else { + $userslist[] = $this->output->action_link($url, fullname($member, $status->canviewfullnames)); + } } if (count($userslist) > 0) { $userstr = join(', ', $userslist);