MDL-81945 gradereport_singleview: Fix hidden grade handling.

Seems to become broken after IR refactoring.
This commit is contained in:
Ilya Tregubov
2025-03-14 15:20:15 +00:00
committed by Jenkins
parent eef27680b9
commit 57fc983d37
@@ -96,9 +96,11 @@ class override extends grade_attribute_format implements be_checked, be_disabled
* @return element
*/
public function determine_format(): element {
$canviewhidden = ($this->grade->is_hidden() || $this->grade->grade_item->is_hidden()) &&
!has_capability('moodle/grade:viewhidden', context_course::instance($this->grade->grade_item->courseid));
if (!$canviewhidden || !$this->grade->grade_item->is_overridable_item()) {
// If the grade is hidden and the user does not have permission to view hidden grades,
// then we don't show the override checkbox.
$allowhiddenoverride = (!$this->grade->is_hidden() && !$this->grade->grade_item->is_hidden()) ||
has_capability('moodle/grade:viewhidden', context_course::instance($this->grade->grade_item->courseid));
if (!$allowhiddenoverride || !$this->grade->grade_item->is_overridable_item()) {
return new empty_element();
}
return new checkbox_attribute(