MDL-81945 gradereport_singleview: Fix hidden grade handling.
Seems to become broken after IR refactoring.
This commit is contained in:
@@ -219,11 +219,12 @@ class grade extends tablelike implements selectable_items, filterable_items {
|
||||
|
||||
$gradestatus = '';
|
||||
|
||||
$canviewhidden = $grade->is_hidden() &&
|
||||
!has_capability('moodle/grade:viewhidden', context_course::instance($this->courseid));
|
||||
// Show hidden icon if the grade is hidden and the user has permission to view hidden grades.
|
||||
$showhiddenicon = $grade->is_hidden() &&
|
||||
has_capability('moodle/grade:viewhidden', context_course::instance($this->courseid));
|
||||
|
||||
$context = [
|
||||
'hidden' => $canviewhidden,
|
||||
'hidden' => $showhiddenicon,
|
||||
'locked' => $grade->is_locked(),
|
||||
];
|
||||
|
||||
|
||||
@@ -172,11 +172,12 @@ class user extends tablelike implements selectable_items {
|
||||
$grade = $this->fetch_grade_or_default($item, $this->item->id);
|
||||
$gradestatus = '';
|
||||
|
||||
$canviewhidden = ($grade->is_hidden() || $item->is_hidden()) &&
|
||||
!has_capability('moodle/grade:viewhidden', context_course::instance($item->courseid));
|
||||
// Show hidden icon if the grade is hidden and the user has permission to view hidden grades.
|
||||
$showhiddenicon = ($grade->is_hidden() || $item->is_hidden()) &&
|
||||
has_capability('moodle/grade:viewhidden', context_course::instance($item->courseid));
|
||||
|
||||
$context = [
|
||||
'hidden' => $canviewhidden,
|
||||
'hidden' => $showhiddenicon,
|
||||
'locked' => $grade->is_locked(),
|
||||
];
|
||||
|
||||
|
||||
@@ -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->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(
|
||||
|
||||
Reference in New Issue
Block a user