Browse Source

Split out graded and ungraded sessions on students all courses list.

MOODLE_34_STABLE
Dan Marsden 7 years ago
parent
commit
8e52d83c20
  1. 5
      lang/en/attendance.php
  2. 29
      renderer.php
  3. 2
      version.php

5
lang/en/attendance.php

@ -74,7 +74,7 @@ If "Set unmarked at end of session" any students who have not marked their atten
$string['automarktask'] = 'Check for attendance sessions that require auto marking';
$string['autorecorded'] = 'system auto recorded';
$string['averageattendance'] = 'Average attendance';
$string['averageattendancegraded'] = 'Average attendance excluding ungraded';
$string['averageattendancegraded'] = 'Average attendance';
$string['calclose'] = 'Close';
$string['caleventcreated'] = 'Calendar event for session successfully created';
$string['caleventdeleted'] = 'Calendar event for session successfully deleted';
@ -482,7 +482,8 @@ $string['to'] = 'to:';
$string['triggered'] = 'First notified';
$string['tuseremail'] = 'Email';
$string['tusername'] = 'Full name';
$string['ungraded'] = '(ungraded)';
$string['graded'] = 'Graded sessions';
$string['ungraded'] = 'Ungraded sessions';
$string['unknowngroup'] = 'Unknown group';
$string['update'] = 'Update';
$string['usedefaultsubnet'] = 'Use default';

29
renderer.php

@ -950,7 +950,6 @@ class mod_attendance_renderer extends plugin_renderer_base {
$o .= construct_user_data_stat($userdata->summary->get_all_sessions_summary_for($userdata->user->id),
$userdata->pageparams->view);
} else {
$prevcid = 0;
$table = new html_table();
$table->head = array(get_string('course'),
get_string('pluginname', 'mod_attendance'),
@ -960,6 +959,8 @@ class mod_attendance_renderer extends plugin_renderer_base {
$table->align = array('left', 'left', 'center', 'center', 'center');
$table->colclasses = array('colcourse', 'colatt', 'colsessionscompleted',
'colpointssessionscompleted', 'colpercentagesessionscompleted');
$table2 = clone($table); // Duplicate table for ungraded sessions.
$totalattendance = 0;
$totalpercentage = 0;
foreach ($userdata->coursesatts as $ca) {
@ -969,12 +970,7 @@ class mod_attendance_renderer extends plugin_renderer_base {
$attendanceurl = new moodle_url('/mod/attendance/view.php', array('id' => $ca->cmid,
'studentid' => $userdata->user->id,
'view' => ATT_VIEW_ALL));
$attendanceurl = html_writer::link($attendanceurl, $ca->attname);
if (empty($ca->attgrade)) {
$attendanceurl .= " ". html_writer::span(get_string('ungraded', 'mod_attendance'),
'ungraded');
}
$row->cells[] = $attendanceurl;
$row->cells[] = html_writer::link($attendanceurl, $ca->attname);
$usersummary = new stdClass();
if (isset($userdata->summary[$ca->attid])) {
$usersummary = $userdata->summary[$ca->attid]->get_all_sessions_summary_for($userdata->user->id);
@ -989,12 +985,16 @@ class mod_attendance_renderer extends plugin_renderer_base {
}
}
if (empty($ca->attgrade)) {
$table2->data[] = $row;
} else {
$table->data[] = $row;
if ($usersummary->numtakensessions > 0 && !empty($ca->attgrade)) {
if ($usersummary->numtakensessions > 0) {
$totalattendance++;
$totalpercentage = $totalpercentage + format_float($usersummary->takensessionspercentage * 100);
}
}
}
$row = new html_table_row();
if (empty($totalattendance)) {
$average = '-';
@ -1011,9 +1011,22 @@ class mod_attendance_renderer extends plugin_renderer_base {
$row->cells = array($col, $col2);
$table->data[] = $row;
if (!empty($table2->data) && !empty($table->data)) {
// Print graded header if both tables are being shown.
$o .= html_writer::div("<h3>".get_string('graded', 'mod_attendance')."</h3>");
}
if (!empty($table->data)) {
// don't bother printing the table if no sessions are being shown.
$o .= html_writer::table($table);
}
if (!empty($table2->data)) {
// Don't print this if it doesn't contain any data.
$o .= html_writer::div("<h3>".get_string('ungraded', 'mod_attendance')."</h3>");
$o .= html_writer::table($table2);
}
}
return $o;
}

2
version.php

@ -23,7 +23,7 @@
*/
defined('MOODLE_INTERNAL') || die();
$plugin->version = 2017112002;
$plugin->version = 2017112003;
$plugin->requires = 2017102700; // Requires 3.4
$plugin->release = '3.4.2';
$plugin->maturity = MATURITY_STABLE;

Loading…
Cancel
Save