Skip to content

Commit

Permalink
MDL-34993 questions: convert numeric fields to float on load.
Browse files Browse the repository at this point in the history
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
timhunt committed Aug 23, 2012
1 parent bac15e5 commit 7f8d657
Show file tree
Hide file tree
Showing 2 changed files with 9 additions and 1 deletion.
8 changes: 8 additions & 0 deletions lib/questionlib.php
Expand Up @@ -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);
Expand Down
2 changes: 1 addition & 1 deletion question/type/edit_question_form.php
Expand Up @@ -190,7 +190,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');
Expand Down

0 comments on commit 7f8d657

Please sign in to comment.