Skip to content

Commit

Permalink
MDL-36009 grader_gradereport: filler and extra user cells should not …
Browse files Browse the repository at this point in the history
…be headers
  • Loading branch information
Jetha Chan committed Feb 9, 2015
1 parent 88cd577 commit 6929b68
Show file tree
Hide file tree
Showing 2 changed files with 22 additions and 14 deletions.
1 change: 1 addition & 0 deletions grade/report/grader/lang/en/gradereport_grader.php
Expand Up @@ -33,6 +33,7 @@
$string['grader:view'] = 'View the grader report';
$string['pluginname'] = 'Grader report';
$string['preferences'] = 'Grader report preferences';
$string['summarygrader'] = 'A table with the names of students in the first column, with assessable activities grouped by course and category across the top.';
$string['useractivitygrade'] = '{$a} grade';
$string['useractivityfeedback'] = '{$a} feedback';
$string['overriddengrade'] = 'Overridden grade';
35 changes: 21 additions & 14 deletions grade/report/grader/lib.php
Expand Up @@ -600,12 +600,18 @@ public function get_left_rows($displayaverages) {

$levels = count($this->gtree->levels) - 1;

for ($i = 0; $i < $levels; $i++) {
$fillercell = new html_table_cell();
$fillercell->attributes['class'] = 'fixedcolumn cell topleft';
$fillercell->text = ' ';
$fillercell->colspan = $colspan;
$row = new html_table_row(array($fillercell));
$fillercell = new html_table_cell();
$fillercell->header = true;
$fillercell->attributes['scope'] = 'col';
$fillercell->attributes['class'] = 'cell topleft';
$fillercell->text = html_writer::span(get_string('participants'), 'accesshide');
$fillercell->colspan = $colspan;
$fillercell->rowspan = $levels;
$row = new html_table_row(array($fillercell));
$rows[] = $row;

for ($i = 1; $i < $levels; $i++) {
$row = new html_table_row();
$rows[] = $row;
}

Expand Down Expand Up @@ -644,13 +650,13 @@ public function get_left_rows($displayaverages) {
$userrow->id = 'fixed_user_'.$userid;

$usercell = new html_table_cell();
$usercell->attributes['class'] = 'user';
$usercell->attributes['class'] = 'header user';

$usercell->header = true;
$usercell->scope = 'row';

if ($showuserimage) {
$usercell->text = $OUTPUT->user_picture($user);
$usercell->text = $OUTPUT->user_picture($user, array('visibletoscreenreaders' => false));
}

$fullname = fullname($user);
Expand All @@ -673,7 +679,7 @@ public function get_left_rows($displayaverages) {

$userreportcell = new html_table_cell();
$userreportcell->attributes['class'] = 'userreport';
$userreportcell->header = true;
$userreportcell->header = false;
if (has_capability('gradereport/'.$CFG->grade_profilereport.':view', $this->context)) {
$a = new stdClass();
$a->user = $fullname;
Expand All @@ -694,9 +700,8 @@ public function get_left_rows($displayaverages) {

foreach ($extrafields as $field) {
$fieldcell = new html_table_cell();
$fieldcell->attributes['class'] = 'header userfield user' . $field;
$fieldcell->header = true;
$fieldcell->scope = 'row';
$fieldcell->attributes['class'] = 'userfield user' . $field;
$fieldcell->header = false;
$fieldcell->text = $user->{$field};
$userrow->cells[] = $fieldcell;
}
Expand Down Expand Up @@ -785,8 +790,9 @@ public function get_right_rows($displayaverages) {
$fillercell->attributes['class'] = $type . ' ' . $catlevel;
$fillercell->colspan = $colspan;
$fillercell->text = '&nbsp;';
$fillercell->header = true;
$fillercell->scope = 'col';

// This is a filler cell; don't use a <th>, it'll confuse screen readers.
$fillercell->header = false;
$headingrow->cells[] = $fillercell;
} else if ($type == 'category') {
// Element is a category
Expand Down Expand Up @@ -1155,6 +1161,7 @@ public function get_grade_table($displayaverages = false) {
$fulltable = new html_table();
$fulltable->attributes['class'] = 'gradereport-grader-table';
$fulltable->id = 'user-grades';
$fulltable->summary = get_string('summarygrader', 'gradereport_grader');

// Extract rows from each side (left and right) and collate them into one row each
foreach ($leftrows as $key => $row) {
Expand Down

0 comments on commit 6929b68

Please sign in to comment.