From f6232d583e947963cc275a17abe16808d5d5e0e9 Mon Sep 17 00:00:00 2001 From: pichetp Date: Thu, 8 Mar 2007 06:53:36 +0000 Subject: [PATCH] merge from 18-STABLE MDL-8809 --- .../type/calculated/edit_calculated_form.php | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/question/type/calculated/edit_calculated_form.php b/question/type/calculated/edit_calculated_form.php index b52f62823a..1dea97645d 100644 --- a/question/type/calculated/edit_calculated_form.php +++ b/question/type/calculated/edit_calculated_form.php @@ -62,6 +62,9 @@ class question_edit_calculated_form extends question_edit_form { $repeatsatstart = $count + 1; $this->repeat_elements($repeated, $repeatsatstart, $repeatedoptions, 'noanswers', 'addanswers', 1, get_string('addmoreanswerblanks', 'qtype_calculated'));*/ //------------------------------------------------------------------------------------------ + $label = get_string("sharedwildcards", "qtype_datasetdependent"); + $html2 = $this->qtypeobj->print_dataset_definitions_category($this->question); + $mform->insertElementBefore($mform->createElement('static','list',$label,$html2),'questiontext'); $mform->addElement('header', 'answerhdr', get_string('answerhdr', 'qtype_calculated')); @@ -73,7 +76,7 @@ class question_edit_calculated_form extends question_edit_form { $mform->addElement('select', 'fraction[0]', get_string('grade'), $gradeoptions); $mform->setDefault('fraction[0]', 0);*/ $mform->addElement('hidden', 'fraction[0]', 1); - $mform->setConstants(array('fraction[0]'=>PARAM_INT)); + // $mform->setConstants(array('fraction[0]'=>PARAM_INT)); $tolgrp = array(); $tolgrp[] =& $mform->createElement('text', 'tolerance[0]', get_string('tolerance', 'qtype_calculated')); @@ -170,8 +173,18 @@ class question_edit_calculated_form extends question_edit_form { $answercount = 0; //check grades /*$totalfraction = 0; - $maxfraction = -1;*/ - + $maxfraction = -1; */ + $possibledatasets = $this->qtypeobj->find_dataset_names($data['questiontext']); + $mandatorydatasets = array(); + foreach ($answers as $key => $answer){ + $mandatorydatasets += $this->qtypeobj->find_dataset_names($data['questiontext']); + } + if (count($possibledatasets) == 0 && count($mandatorydatasets )==0){ + $errors['questiontext']=get_string('atleastonewildcard', 'qtype_datasetdependent'); + foreach ($answers as $key => $answer){ + $errors['answers['.$key.']'] = get_string('atleastonewildcard', 'qtype_datasetdependent'); + } + } foreach ($answers as $key => $answer){ //check no of choices $trimmedanswer = trim($answer); -- 2.39.5