diff --git a/mod/workshop/locallib.php b/mod/workshop/locallib.php index 20c579d98e8..d6706a48f6d 100644 --- a/mod/workshop/locallib.php +++ b/mod/workshop/locallib.php @@ -1547,8 +1547,11 @@ class workshop { public function assessing_allowed($userid) { if ($this->phase != self::PHASE_ASSESSMENT) { - // assessing is not allowed but in the assessment phase - return false; + // assessing is allowed in the assessment phase only, unless the user is a teacher + // providing additional assessment during the evaluation phase + if ($this->phase != self::PHASE_EVALUATION or !has_capability('mod/workshop:overridegrades', $this->context, $userid)) { + return false; + } } $now = time();