MDL-33572: Make the display of the "graded" status consistent in mod_assign
authorDamyon Wiese <damyon.wiese@netspot.com.au>
Thu, 7 Jun 2012 02:18:53 +0000 (10:18 +0800)
committerDamyon Wiese <damyon.wiese@netspot.com.au>
Thu, 7 Jun 2012 02:22:46 +0000 (10:22 +0800)
Do not display "graded" when the grade is set to -1.

mod/assign/gradingtable.php
mod/assign/locallib.php

index db4432d..6d11be0 100644 (file)
@@ -414,7 +414,7 @@ class assign_grading_table extends table_sql implements renderable {
             if ($row->locked) {
                 $o .= $this->output->container(get_string('submissionslockedshort', 'assign'), 'lockedsubmission');
             }
-            if ($row->grade) {
+            if ($row->grade >= 0) {
                 $o .= $this->output->container(get_string('graded', 'assign'), 'submissiongraded');
             }
         }
index aa53202..a4365fd 100644 (file)
@@ -895,7 +895,12 @@ class assign {
         if ($this->get_instance()->grade >= 0) {
             // Normal number
             if ($editing) {
-                $o = '<input type="text" name="quickgrade_' . $userid . '" value="' . format_float($grade) . '" size="6" maxlength="10" class="quickgrade"/>';
+                if ($grade < 0) {
+                    $displaygrade = '';
+                } else {
+                    $displaygrade = format_float($grade);
+                }
+                $o = '<input type="text" name="quickgrade_' . $userid . '" value="' . $displaygrade . '" size="6" maxlength
                 $o .= '&nbsp;/&nbsp;' . format_float($this->get_instance()->grade,2);
                 $o .= '<input type="hidden" name="grademodified_' . $userid . '" value="' . $modified . '"/>';
                 return $o;
@@ -1636,7 +1641,7 @@ class assign {
         }
         if ($grade) {
             $data = new stdClass();
-            if ($grade->grade >= 0) {
+            if ($grade->grade !== NULL && $grade->grade >= 0) {
                 $data->grade = format_float($grade->grade,2);
             }
         } else {
@@ -1897,7 +1902,7 @@ class assign {
     private function is_graded($userid) {
         $grade = $this->get_user_grade($userid, false);
         if ($grade) {
-            return ($grade->grade != '');
+            return ($grade->grade !== NULL && $grade->grade >= 0);
         }
         return false;
     }