]> git.mjollnir.org Git - moodle.git/commitdiff
MDL-13081 add "long grade" formatted string "score / maxscore" into grade_get_grades...
authorskodak <skodak>
Mon, 21 Jan 2008 07:19:19 +0000 (07:19 +0000)
committerskodak <skodak>
Mon, 21 Jan 2008 07:19:19 +0000 (07:19 +0000)
grade/querylib.php
lang/en_utf8/grades.php
lib/gradelib.php

index cf809d889a240998b834d67c440e657b51584dd6..2380aa8621746c3aabb00914aefc99e669d7384f 100644 (file)
@@ -68,14 +68,24 @@ function grade_get_course_grades($courseid, $userid_or_ids=null) {
 
             // create text representation of grade
             if ($grade_item->needsupdate) {
-                $grade->grade     = false;
-                $grade->str_grade = get_string('error');
+                $grade->grade          = false;
+                $grade->str_grade      = get_string('error');
+                $grade->str_long_grade = $grade->str_grade;
 
             } else if (is_null($grade->grade)) {
-                $grade->str_grade = '-';
+                $grade->str_grade      = '-';
+                $grade->str_long_grade = $grade->str_grade;
 
             } else {
                 $grade->str_grade = grade_format_gradevalue($grade->grade, $grade_item);
+                if ($grade_item->gradetype == GRADE_TYPE_SCALE or $grade_item->get_displaytype() != GRADE_DISPLAY_TYPE_REAL) {
+                    $grade->str_long_grade = $grade->str_grade;
+                } else {
+                    $a = new object();
+                    $a->grade = $grade->str_grade;
+                    $a->max   = grade_format_gradevalue($grade_item->grademax, $grade_item);
+                    $grade->str_long_grade = get_string('gradelong', 'grades', $a);
+                }
             }
 
             // create html representation of feedback
@@ -172,14 +182,24 @@ function grade_get_course_grade($userid, $courseid_or_ids=null) {
 
         // create text representation of grade
         if ($grade_item->needsupdate) {
-            $grade->grade     = false;
-            $grade->str_grade = get_string('error');
+            $grade->grade          = false;
+            $grade->str_grade      = get_string('error');
+            $grade->str_long_grade = $grade->str_grade;
 
         } else if (is_null($grade->grade)) {
-            $grade->str_grade = '-';
+            $grade->str_grade      = '-';
+            $grade->str_long_grade = $grade->str_grade;
 
         } else {
             $grade->str_grade = grade_format_gradevalue($grade->grade, $grade_item);
+            if ($grade_item->gradetype == GRADE_TYPE_SCALE or $grade_item->get_displaytype() != GRADE_DISPLAY_TYPE_REAL) {
+                $grade->str_long_grade = $grade->str_grade;
+            } else {
+                $a = new object();
+                $a->grade = $grade->str_grade;
+                $a->max   = grade_format_gradevalue($grade_item->grademax, $grade_item);
+                $grade->str_long_grade = get_string('gradelong', 'grades', $a);
+            }
         }
 
         // create html representation of feedback
index abf9d0f5726ea977b05197fbac4880281ac809f2..ed6962402993d505897f03e53864a25ccbc5013d 100644 (file)
@@ -207,6 +207,7 @@ $string['gradeletter'] = 'Grade letter';
 $string['gradeletters'] = 'Grade letters';
 $string['gradeletterhelp'] = 'Grade letter Help';
 $string['gradeletternote'] = 'To delete a grade letter just empty any of the<br /> three text areas for that letter and click submit.';
+$string['gradelong'] = '$a->grade / $a->max';
 $string['grademax'] = 'Maximum grade';
 $string['grademaxhelp'] = 'The maximum allowable grade for this grade item.';
 $string['grademin'] = 'Minimum grade';
index fff2a2d6cc679d2dee165a34d6d425cafd31f063..85b769dc02ecdd52c8acfd92b5cf4a4fa52483cd 100644 (file)
@@ -348,14 +348,24 @@ function grade_get_grades($courseid, $itemtype, $itemmodule, $iteminstance, $use
 
                         // create text representation of grade
                         if (in_array($grade_item->id, $needsupdate)) {
-                            $grade->grade     = false;
-                            $grade->str_grade = get_string('error');
+                            $grade->grade          = false;
+                            $grade->str_grade      = get_string('error');
+                            $grade->str_long_grade = $grade->str_grade;
 
                         } else if (is_null($grade->grade)) {
-                            $grade->str_grade = '-';
+                            $grade->str_grade      = '-';
+                            $grade->str_long_grade = $grade->str_grade;
 
                         } else {
                             $grade->str_grade = grade_format_gradevalue($grade->grade, $grade_item);
+                            if ($grade_item->gradetype == GRADE_TYPE_SCALE or $grade_item->get_displaytype() != GRADE_DISPLAY_TYPE_REAL) {
+                                $grade->str_long_grade = $grade->str_grade;
+                            } else {
+                                $a = new object();
+                                $a->grade = $grade->str_grade;
+                                $a->max   = grade_format_gradevalue($grade_item->grademax, $grade_item);
+                                $grade->str_long_grade = get_string('gradelong', 'grades', $a);
+                            }
                         }
 
                         // create html representation of feedback