]> git.mjollnir.org Git - moodle.git/commitdiff
MDL-12282 - Numerical question type - the units are displayed on the editing form...
authortjhunt <tjhunt>
Tue, 20 Nov 2007 16:57:22 +0000 (16:57 +0000)
committertjhunt <tjhunt>
Tue, 20 Nov 2007 16:57:22 +0000 (16:57 +0000)
question/type/numerical/edit_numerical_form.php
question/type/numerical/questiontype.php

index 9c731685440025766e9371e841afb316fa11723a..e47433c5a9bf9975d0c4fe740262650fb7fe637a 100644 (file)
@@ -62,7 +62,7 @@ class question_edit_numerical_form extends question_edit_form {
         $mform->setType('unit', PARAM_NOTAGS);
 
         $repeated[] =& $mform->createElement('text', 'multiplier', get_string('multiplier', 'quiz'));
-        $mform->setType('multiplier', PARAM_NOTAGS);
+        $mform->setType('multiplier', PARAM_NUMBER);
 
         if (isset($this->question->options)){
             $countunits = count($this->question->options->units);
index 63052f2dea418a5393b40633a2fce0d1fca111a2..2a3564a1782515909e5a018ecb820eaada8f1d46 100644 (file)
@@ -60,12 +60,16 @@ class question_numerical_qtype extends question_shortanswer_qtype {
     }
 
     function get_numerical_units(&$question) {
-        if ($question->options->units = get_records('question_numerical_units',
+        if ($units = get_records('question_numerical_units',
                                          'question', $question->id, 'id ASC')) {
-            $question->options->units  = array_values($question->options->units);
+            $units  = array_values($question->options->units);
         } else {
-            $question->options->units = array();
+            $units = array();
         }
+        foreach ($units as $key => $unit) {
+            $units[$key]->multiplier = clean_param($unit->multiplier, PARAM_NUMBER);
+        }
+        $question->options->units = $units;
         return true;
     }