Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Browse files

MDL-34993 questions: convert numeric fields to float on load.

NUMBER(X,Y) typically come back from the DB as strings. If you don't
convert them to float, then when you display them, it appears as
1.0000000, which is not normally what you want.

Also, increase the size of the field on the edit form, so if you
question does have default mark 0.1234567, you can see that!
  • Loading branch information...
commit cf6b831723cb0b3c9084f74b67bffb540e6416c4 1 parent 4ff0f02
@timhunt timhunt authored
Showing with 9 additions and 1 deletion.
  1. +8 −0 lib/questionlib.php
  2. +1 −1  question/type/edit_question_form.php
View
8 lib/questionlib.php
@@ -780,14 +780,22 @@ function question_load_questions($questionids, $extrafields = '', $join = '') {
*/
function _tidy_question($question, $loadtags = false) {
global $CFG;
+
+ // Load question-type specific fields.
if (!question_bank::is_qtype_installed($question->qtype)) {
$question->questiontext = html_writer::tag('p', get_string('warningmissingtype',
'qtype_missingtype')) . $question->questiontext;
}
question_bank::get_qtype($question->qtype)->get_question_options($question);
+
+ // Convert numeric fields to float. (Prevents these being displayed as 1.0000000.)
+ $question->defaultmark += 0;
+ $question->penalty += 0;
+
if (isset($question->_partiallyloaded)) {
unset($question->_partiallyloaded);
}
+
if ($loadtags && !empty($CFG->usetags)) {
require_once($CFG->dirroot . '/tag/lib.php');
$question->tags = tag_get_tags_array('question', $question->id);
View
2  question/type/edit_question_form.php
@@ -187,7 +187,7 @@ protected function definition() {
$mform->setType('questiontext', PARAM_RAW);
$mform->addElement('text', 'defaultmark', get_string('defaultmark', 'question'),
- array('size' => 3));
+ array('size' => 7));
$mform->setType('defaultmark', PARAM_FLOAT);
$mform->setDefault('defaultmark', 1);
$mform->addRule('defaultmark', null, 'required', null, 'client');
Please sign in to comment.
Something went wrong with that request. Please try again.