From 33f29f5adccd994c0603b7f2ca26ae2d03fcd9dd Mon Sep 17 00:00:00 2001 From: Gregory Faller Date: Tue, 27 May 2014 11:08:29 +0930 Subject: [PATCH] MDL-44098: Late submissions with extension calculate period of lateness incorrectly --- mod/assign/gradingtable.php | 25 +++++++++++-------------- 1 file changed, 11 insertions(+), 14 deletions(-) diff --git a/mod/assign/gradingtable.php b/mod/assign/gradingtable.php index 7590685baf9..743f472da21 100644 --- a/mod/assign/gradingtable.php +++ b/mod/assign/gradingtable.php @@ -912,20 +912,21 @@ class assign_grading_table extends table_sql implements renderable { $instance = $this->assignment->get_instance(); + $due = $instance->duedate; + if ($row->extensionduedate) { + $due = $row->extensionduedate; + } + if ($this->assignment->is_any_submission_plugin_enabled()) { $o .= $this->output->container(get_string('submissionstatus_' . $row->status, 'assign'), array('class'=>'submissionstatus' .$row->status)); - if ($instance->duedate && - $row->timesubmitted > $instance->duedate) { - if (!$row->extensionduedate || - $row->timesubmitted > $row->extensionduedate) { - $usertime = format_time($row->timesubmitted - $instance->duedate); - $latemessage = get_string('submittedlateshort', - 'assign', - $usertime); - $o .= $this->output->container($latemessage, 'latesubmission'); - } + if ($due && $row->timesubmitted > $due) { + $usertime = format_time($row->timesubmitted - $due); + $latemessage = get_string('submittedlateshort', + 'assign', + $usertime); + $o .= $this->output->container($latemessage, 'latesubmission'); } if ($row->locked) { $lockedstr = get_string('submissionslockedshort', 'assign'); @@ -941,10 +942,6 @@ class assign_grading_table extends table_sql implements renderable { if (!$row->timesubmitted) { $now = time(); - $due = $instance->duedate; - if ($row->extensionduedate) { - $due = $row->extensionduedate; - } if ($due && ($now > $due)) { $overduestr = get_string('overdue', 'assign', format_time($now - $due)); $o .= $this->output->container($overduestr, 'overduesubmission');