diff --git a/mod/assign/locallib.php b/mod/assign/locallib.php index e28217b3fe5..559728825c8 100644 --- a/mod/assign/locallib.php +++ b/mod/assign/locallib.php @@ -3051,7 +3051,7 @@ class assign { * Throw an error if the permissions to view this users submission are missing. * * @throws required_capability_exception - * @return none + * @return void */ public function require_view_submission($userid) { if (!$this->can_view_submission($userid)) { @@ -3063,7 +3063,7 @@ class assign { * Throw an error if the permissions to view grades in this assignment are missing. * * @throws required_capability_exception - * @return none + * @return void */ public function require_view_grades() { if (!$this->can_view_grades()) { @@ -3081,7 +3081,11 @@ class assign { if (!has_any_capability(array('mod/assign:viewgrades', 'mod/assign:grade'), $this->context)) { return false; } - + // Checks for the edge case when user belongs to no groups and groupmode is sep. + if ($this->get_course_module()->effectivegroupmode == SEPARATEGROUPS) { + $groupflag = !empty(groups_get_activity_allowed_groups($this->get_course_module())); + return (bool)$groupflag; + } return true; }