MDL-77447 gradereport_singleview: Add grade status icons

This commit is contained in:
Ilya Tregubov
2023-07-20 10:55:21 +08:00
parent 62588d8fb1
commit 565dbaa573
3 changed files with 22 additions and 29 deletions
@@ -215,24 +215,21 @@ class grade extends tablelike implements selectable_items, filterable_items {
$grade = $this->fetch_grade_or_default($this->item, $item->id);
$lockicon = '';
$gradestatus = '';
$context = [
'hidden' => $grade->is_hidden(),
'locked' => $grade->is_locked(),
];
$lockedgrade = $lockedgradeitem = 0;
if (!empty($grade->locked)) {
$lockedgrade = 1;
}
if (!empty($grade->grade_item->locked)) {
$lockedgradeitem = 1;
}
// Check both grade and grade item.
if ( $lockedgrade || $lockedgradeitem ) {
$lockicon = $OUTPUT->pix_icon('t/locked', 'grade is locked') . ' ';
if (in_array(true, $context)) {
$context['classes'] = 'gradestatus';
$gradestatus = $OUTPUT->render_from_template('core_grades/status_icons', $context);
}
if (has_capability('moodle/site:viewfullnames', \context_course::instance($this->courseid))) {
$fullname = $lockicon . fullname($item, true);
$fullname = fullname($item, true);
} else {
$fullname = $lockicon . fullname($item);
$fullname = fullname($item);
}
$item->imagealt = $fullname;
@@ -245,7 +242,7 @@ class grade extends tablelike implements selectable_items, filterable_items {
$line = [
html_writer::link($url, $userpic . $fullname),
$this->get_user_action_menu($item),
$formatteddefinition['finalgrade'],
$formatteddefinition['finalgrade'] . $gradestatus,
$this->item_range(),
$formatteddefinition['feedback'],
$formatteddefinition['override'],
@@ -169,18 +169,16 @@ class user extends tablelike implements selectable_items {
global $OUTPUT;
$grade = $this->fetch_grade_or_default($item, $this->item->id);
$lockicon = '';
$gradestatus = '';
$lockeditem = $lockeditemgrade = 0;
if (!empty($grade->locked)) {
$lockeditem = 1;
}
if (!empty($grade->grade_item->locked)) {
$lockeditemgrade = 1;
}
// Check both grade and grade item.
if ($lockeditem || $lockeditemgrade) {
$lockicon = $OUTPUT->pix_icon('t/locked', 'grade is locked', 'moodle', ['class' => 'ml-3']);
$context = [
'hidden' => $grade->is_hidden(),
'locked' => $grade->is_locked(),
];
if (in_array(true, $context)) {
$context['classes'] = 'gradestatus';
$gradestatus = $OUTPUT->render_from_template('core_grades/status_icons', $context);
}
// Create a fake gradetreeitem so we can call get_element_header().
@@ -210,10 +208,10 @@ class user extends tablelike implements selectable_items {
}
$line = [
html_writer::div($itemicon . $itemcontent . $lockicon, "{$type} d-flex align-items-center"),
html_writer::div($itemicon . $itemcontent, "{$type} d-flex align-items-center"),
$this->get_item_action_menu($item),
$this->category($item),
$formatteddefinition['finalgrade'],
$formatteddefinition['finalgrade'] . $gradestatus,
new range($item),
$formatteddefinition['feedback'],
$formatteddefinition['override'],
@@ -17,9 +17,7 @@
namespace gradereport_singleview\report;
use context_course;
use grade_helper;
use grade_report;
use html_writer;
use moodle_url;
use renderer_base;
use stdClass;