From ce686d21fed0a79e7f21271e0c47a2e3b7df36ef Mon Sep 17 00:00:00 2001 From: Dan Marsden Date: Tue, 20 Sep 2016 18:02:20 +1200 Subject: [PATCH] Fix #217 - hide percentage/points columns when no grade is set. --- renderer.php | 64 +++++++++++++++++++++++++++++----------------------- 1 file changed, 36 insertions(+), 28 deletions(-) diff --git a/renderer.php b/renderer.php index ec70c5d..8ef7570 100644 --- a/renderer.php +++ b/renderer.php @@ -897,34 +897,38 @@ class mod_attendance_renderer extends plugin_renderer_base { $table->align[] = 'center'; $table->size[] = '1px'; - $table->head[] = get_string('points', 'attendance'); - $table->align[] = 'center'; - $table->size[] = '1px'; - - $table->head[] = get_string('percentage', 'attendance'); - $table->align[] = 'center'; - $table->size[] = '1px'; - - if ($reportdata->pageparams->view == ATT_VIEW_SUMMARY) { - $table->head[] = get_string('sessionstotal', 'attendance'); + if (!empty($reportdata->att->grade)) { + $table->head[] = get_string('points', 'attendance'); $table->align[] = 'center'; $table->size[] = '1px'; - $table->head[] = get_string('pointsallsessions', 'attendance'); + $table->head[] = get_string('percentage', 'attendance'); $table->align[] = 'center'; $table->size[] = '1px'; + } - $table->head[] = get_string('percentageallsessions', 'attendance'); + if ($reportdata->pageparams->view == ATT_VIEW_SUMMARY) { + $table->head[] = get_string('sessionstotal', 'attendance'); $table->align[] = 'center'; $table->size[] = '1px'; - $table->head[] = get_string('maxpossiblepoints', 'attendance'); - $table->align[] = 'center'; - $table->size[] = '1px'; + if (!empty($reportdata->att->grade)) { + $table->head[] = get_string('pointsallsessions', 'attendance'); + $table->align[] = 'center'; + $table->size[] = '1px'; - $table->head[] = get_string('maxpossiblepercentage', 'attendance'); - $table->align[] = 'center'; - $table->size[] = '1px'; + $table->head[] = get_string('percentageallsessions', 'attendance'); + $table->align[] = 'center'; + $table->size[] = '1px'; + + $table->head[] = get_string('maxpossiblepoints', 'attendance'); + $table->align[] = 'center'; + $table->size[] = '1px'; + + $table->head[] = get_string('maxpossiblepercentage', 'attendance'); + $table->align[] = 'center'; + $table->size[] = '1px'; + } } if ($bulkmessagecapability) { // Display the table header for bulk messaging. @@ -948,19 +952,23 @@ class mod_attendance_renderer extends plugin_renderer_base { $usersummary = $reportdata->summary->get_taken_sessions_summary_for($user->id); } $row->cells[] = $usersummary->numtakensessions; - $row->cells[] = format_float($usersummary->takensessionspoints, 1, true, true) . ' / ' . - format_float($usersummary->takensessionsmaxpoints, 1, true, true); - $row->cells[] = format_float($usersummary->takensessionspercentage * 100) . '%'; + if (!empty($reportdata->att->grade)) { + $row->cells[] = format_float($usersummary->takensessionspoints, 1, true, true) . ' / ' . + format_float($usersummary->takensessionsmaxpoints, 1, true, true); + $row->cells[] = format_float($usersummary->takensessionspercentage * 100) . '%'; + } if ($reportdata->pageparams->view == ATT_VIEW_SUMMARY) { $row->cells[] = $usersummary->numallsessions; - $row->cells[] = format_float($usersummary->takensessionspoints, 1, true, true) . ' / ' . - format_float($usersummary->allsessionsmaxpoints, 1, true, true); - $row->cells[] = format_float($usersummary->allsessionspercentage * 100) . '%'; - - $row->cells[] = format_float($usersummary->maxpossiblepoints, 1, true, true) . ' / ' . - format_float($usersummary->allsessionsmaxpoints, 1, true, true); - $row->cells[] = format_float($usersummary->maxpossiblepercentage * 100) . '%'; + if (!empty($reportdata->att->grade)) { + $row->cells[] = format_float($usersummary->takensessionspoints, 1, true, true) . ' / ' . + format_float($usersummary->allsessionsmaxpoints, 1, true, true); + $row->cells[] = format_float($usersummary->allsessionspercentage * 100) . '%'; + + $row->cells[] = format_float($usersummary->maxpossiblepoints, 1, true, true) . ' / ' . + format_float($usersummary->allsessionsmaxpoints, 1, true, true); + $row->cells[] = format_float($usersummary->maxpossiblepercentage * 100) . '%'; + } } if ($bulkmessagecapability) { // Create the checkbox for bulk messaging.