diff --git a/grade/report/user/classes/report/user.php b/grade/report/user/classes/report/user.php index 6f099ca912b..e27d667ce2b 100644 --- a/grade/report/user/classes/report/user.php +++ b/grade/report/user/classes/report/user.php @@ -450,7 +450,7 @@ class user extends grade_report { $depth = $element['depth']; $gradeobject = $element['object']; $eid = $gradeobject->id; - $element['userid'] = $this->user->id; + $element['userid'] = $userid = $this->user->id; $fullname = $this->gtree->get_element_header($element, true, false, true, true, true); $data = []; $gradeitemdata = []; @@ -592,7 +592,7 @@ class user extends grade_report { if ($this->showweight) { $data['weight']['class'] = $class; $data['weight']['content'] = '-'; - $data['weight']['headers'] = "$headercat $headerrow weight"; + $data['weight']['headers'] = "$headercat $headerrow weight$userid"; // Has a weight assigned, might be extra credit. // This obliterates the weight because it provides a more informative description. @@ -679,7 +679,7 @@ class user extends grade_report { $gradegrade->grade_item, true); $gradeitemdata['graderaw'] = $gradeval; } - $data['grade']['headers'] = "$headercat $headerrow grade"; + $data['grade']['headers'] = "$headercat $headerrow grade$userid"; $gradeitemdata['gradeformatted'] = $data['grade']['content']; } @@ -690,7 +690,7 @@ class user extends grade_report { GRADE_DISPLAY_TYPE_REAL, $this->rangedecimals ); - $data['range']['headers'] = "$headercat $headerrow range"; + $data['range']['headers'] = "$headercat $headerrow range$userid"; $gradeitemdata['rangeformatted'] = $data['range']['content']; $gradeitemdata['grademin'] = $gradegrade->grade_item->grademin; @@ -722,7 +722,7 @@ class user extends grade_report { GRADE_DISPLAY_TYPE_PERCENTAGE ); } - $data['percentage']['headers'] = "$headercat $headerrow percentage"; + $data['percentage']['headers'] = "$headercat $headerrow percentage$userid"; $gradeitemdata['percentageformatted'] = $data['percentage']['content']; } @@ -752,7 +752,7 @@ class user extends grade_report { GRADE_DISPLAY_TYPE_LETTER ); } - $data['lettergrade']['headers'] = "$headercat $headerrow lettergrade"; + $data['lettergrade']['headers'] = "$headercat $headerrow lettergrade$userid"; $gradeitemdata['lettergradeformatted'] = $data['lettergrade']['content']; } @@ -786,7 +786,7 @@ class user extends grade_report { $gradeitemdata['rank'] = $rank; $gradeitemdata['numusers'] = $numusers; } - $data['rank']['headers'] = "$headercat $headerrow rank"; + $data['rank']['headers'] = "$headercat $headerrow rank$userid"; } // Average. @@ -800,7 +800,7 @@ class user extends grade_report { } else { $data['average']['content'] = '-'; } - $data['average']['headers'] = "$headercat $headerrow average"; + $data['average']['headers'] = "$headercat $headerrow average$userid"; } // Feedback. @@ -834,13 +834,13 @@ class user extends grade_report { ['context' => $gradegrade->get_context()]); $gradeitemdata['feedback'] = $gradegrade->feedback; } - $data['feedback']['headers'] = "$headercat $headerrow feedback"; + $data['feedback']['headers'] = "$headercat $headerrow feedback$userid"; } // Contribution to the course total column. if ($this->showcontributiontocoursetotal) { $data['contributiontocoursetotal']['class'] = $class; $data['contributiontocoursetotal']['content'] = '-'; - $data['contributiontocoursetotal']['headers'] = "$headercat $headerrow contributiontocoursetotal"; + $data['contributiontocoursetotal']['headers'] = "$headercat $headerrow contributiontocoursetotal$userid"; } $this->gradeitemsdata[] = $gradeitemdata; @@ -1022,9 +1022,10 @@ class user extends grade_report { ]; // Set the table headings. + $userid = $this->user->id; foreach ($this->tableheaders as $index => $heading) { $headingcell = new \html_table_cell($heading); - $headingcell->attributes['id'] = $this->tablecolumns[$index]; + $headingcell->attributes['id'] = $this->tablecolumns[$index] . $userid; $headingcell->attributes['class'] = "header column-{$this->tablecolumns[$index]}"; if ($index == 0) { $headingcell->colspan = $this->maxdepth; @@ -1050,6 +1051,12 @@ class user extends grade_report { if (!is_null($content)) { $rowcell = new \html_table_cell($content); + // Grade item names and cateogry names are referenced in the `headers` attribute of table cells. + // These table cells should be set to