Fix #217 - hide percentage/points columns when no grade is set.
authorDan Marsden <dan@danmarsden.com>
Tue, 20 Sep 2016 06:02:20 +0000 (18:02 +1200)
committerDan Marsden <dan@danmarsden.com>
Tue, 20 Sep 2016 06:02:20 +0000 (18:02 +1200)
renderer.php

index ec70c5d..8ef7570 100644 (file)
@@ -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.