diff --git a/grade/report/singleview/classes/local/screen/grade.php b/grade/report/singleview/classes/local/screen/grade.php index 8f8206b58ed..427c58603ea 100644 --- a/grade/report/singleview/classes/local/screen/grade.php +++ b/grade/report/singleview/classes/local/screen/grade.php @@ -174,8 +174,8 @@ class grade extends tablelike implements selectable_items, filterable_items { return [ '', // For filter icon. get_string('fullnameuser', 'core'), - get_string('range', 'grades'), get_string('grade', 'grades'), + get_string('range', 'grades'), get_string('feedback', 'grades'), $this->make_toggle_links('override'), $this->make_toggle_links('exclude') @@ -219,16 +219,23 @@ class grade extends tablelike implements selectable_items, filterable_items { $grade->label = $fullname; $userpic = $OUTPUT->user_picture($item, ['link' => false, 'visibletoscreenreaders' => false]); + $formatteddefinition = $this->format_definition($grade); + $line = [ $OUTPUT->action_icon($this->format_link('user', $item->id), new pix_icon('t/editstring', ''), null, ['title' => $iconstring, 'aria-label' => $iconstring]), html_writer::link($url, $userpic . $fullname), - $this->item_range() + $formatteddefinition['finalgrade'], + $this->item_range(), + $formatteddefinition['feedback'], + $formatteddefinition['override'], + $formatteddefinition['exclude'], ]; $lineclasses = [ - "action", - "user", - "range" + 'action', + 'user', + 'grade', + 'range', ]; $outputline = []; $i = 0; @@ -245,7 +252,7 @@ class grade extends tablelike implements selectable_items, filterable_items { $i++; } - return $this->format_definition($outputline, $grade); + return $outputline; } /** diff --git a/grade/report/singleview/classes/local/screen/tablelike.php b/grade/report/singleview/classes/local/screen/tablelike.php index 59ee16b2a60..c9252312e07 100644 --- a/grade/report/singleview/classes/local/screen/tablelike.php +++ b/grade/report/singleview/classes/local/screen/tablelike.php @@ -134,11 +134,11 @@ abstract class tablelike extends screen { /** * Get a element to generate the HTML for this table row - * @param array $line This is a list of lines in the table (modified) * @param grade_grade $grade The grade. * @return array */ - public function format_definition(array $line, grade_grade $grade): array { + public function format_definition(grade_grade $grade): array { + $line = []; foreach ($this->definition() as $i => $field) { // Table tab index. $tab = ($i * $this->total) + $this->index; @@ -151,11 +151,11 @@ abstract class tablelike extends screen { // Singleview users without proper permissions should be presented // disabled checkboxes for the Exclude grade attribute. - if ($field == 'exclude' && !has_capability('moodle/grade:manage', $this->context)){ + if ($field == 'exclude' && !has_capability('moodle/grade:manage', $this->context)) { $html->disabled = true; } - $line[] = $html; + $line[$field] = $html; } return $line; } diff --git a/grade/report/singleview/classes/local/screen/user.php b/grade/report/singleview/classes/local/screen/user.php index 733d7efbfe0..9a4d651b824 100644 --- a/grade/report/singleview/classes/local/screen/user.php +++ b/grade/report/singleview/classes/local/screen/user.php @@ -138,8 +138,8 @@ class user extends tablelike implements selectable_items { '', // For filter icon. get_string('assessmentname', 'gradereport_singleview'), get_string('gradecategory', 'grades'), - get_string('range', 'grades'), get_string('grade', 'grades'), + get_string('range', 'grades'), get_string('feedback', 'grades'), $this->make_toggle_links('override'), $this->make_toggle_links('exclude') @@ -186,18 +186,25 @@ class user extends tablelike implements selectable_items { $itemlabel = $this->structure->get_element_header($gradetreeitem, true, false, false, false, true); $grade->label = $item->get_name(); + $formatteddefinition = $this->format_definition($grade); + $line = [ $OUTPUT->action_icon($this->format_link('grade', $item->id), new pix_icon('t/editstring', ''), null, ['title' => $iconstring, 'aria-label' => $iconstring]), $this->format_icon($item) . $lockicon . $itemlabel, $this->category($item), - new range($item) + $formatteddefinition['finalgrade'], + new range($item), + $formatteddefinition['feedback'], + $formatteddefinition['override'], + $formatteddefinition['exclude'], ]; $lineclasses = [ - "action", - "gradeitem", - "category", - "range" + 'action', + 'gradeitem', + 'category', + 'grade', + 'range', ]; $outputline = []; @@ -215,7 +222,7 @@ class user extends tablelike implements selectable_items { $i++; } - return $this->format_definition($outputline, $grade); + return $outputline; } /**