Minor - Behat - Fix question creation

pull/3432/head
Julio Montoya 5 years ago
parent f80d1427f1
commit f362361831
  1. 19
      public/main/exercise/MultipleAnswerTrueFalseDegreeCertainty.php
  2. 4
      public/main/exercise/answer.class.php
  3. 18
      public/main/exercise/multiple_answer_true_false.class.php
  4. 2
      public/main/exercise/question.class.php
  5. 4
      src/CourseBundle/Component/CourseCopy/CourseRestorer.php

@ -252,8 +252,8 @@ class MultipleAnswerTrueFalseDegreeCertainty extends Question
if (!empty($options)) { if (!empty($options)) {
foreach ($options as $optionData) { foreach ($options as $optionData) {
$id = $optionData['id']; $id = $optionData['iid'];
unset($optionData['id']); unset($optionData['iid']);
Question::updateQuestionOption($id, $optionData, $courseId); Question::updateQuestionOption($id, $optionData, $courseId);
} }
} else { } else {
@ -949,7 +949,7 @@ class MultipleAnswerTrueFalseDegreeCertainty extends Question
$userId = $data['exe_user_id']; $userId = $data['exe_user_id'];
$attemptDate = $data['exe_date']; $attemptDate = $data['exe_date'];
if ('0000-00-00 00:00:00' == $attemptDate) { if ('0000-00-00 00:00:00' === $attemptDate) {
// incomplete attempt, close it before continue // incomplete attempt, close it before continue
return 0; return 0;
} }
@ -959,12 +959,13 @@ class MultipleAnswerTrueFalseDegreeCertainty extends Question
$userId = (int) $userId; $userId = (int) $userId;
$sql = "SELECT * $sql = "SELECT *
FROM $tblTrackEExercise FROM $tblTrackEExercise
WHERE c_id = '$courseCode' WHERE
AND exe_exo_id = $exerciseId c_id = '$courseCode' AND
AND exe_user_id = $userId exe_exo_id = $exerciseId AND
AND status = '' exe_user_id = $userId AND
AND exe_date > '0000-00-00 00:00:00' status = '' AND
AND exe_date < '$attemptDate' exe_date > '0000-00-00 00:00:00' AND
exe_date < '$attemptDate'
ORDER BY exe_date DESC"; ORDER BY exe_date DESC";
$res = Database::query($sql); $res = Database::query($sql);

@ -870,7 +870,7 @@ class Answer
if (!empty($origin_options)) { if (!empty($origin_options)) {
foreach ($origin_options as $item) { foreach ($origin_options as $item) {
$new_option_list[] = $item['id']; $new_option_list[] = $item['iid'];
} }
} }
@ -881,7 +881,7 @@ class Answer
$i = 0; $i = 0;
if (!empty($destination_options)) { if (!empty($destination_options)) {
foreach ($destination_options as $item) { foreach ($destination_options as $item) {
$fixed_list[$new_option_list[$i]] = $item['id']; $fixed_list[$new_option_list[$i]] = $item['iid'];
$i++; $i++;
} }
} }

@ -109,9 +109,9 @@ class MultipleAnswerTrueFalse extends Question
$answer_number->freeze(); $answer_number->freeze();
if (is_object($answer)) { if (is_object($answer)) {
$defaults['answer['.$i.']'] = $answer->answer[$i]; $defaults['answer['.$i.']'] = $answer->answer[$i] ?? null;
$defaults['comment['.$i.']'] = $answer->comment[$i]; $defaults['comment['.$i.']'] = $answer->comment[$i] ?? null;
$correct = $answer->correct[$i]; $correct = $answer->correct[$i] ?? false;
$defaults['correct['.$i.']'] = $correct; $defaults['correct['.$i.']'] = $correct;
$j = 1; $j = 1;
@ -201,9 +201,9 @@ class MultipleAnswerTrueFalse extends Question
$renderer->setElementTemplate($doubtScoreInputTemplate, 'option[3]'); $renderer->setElementTemplate($doubtScoreInputTemplate, 'option[3]');
// 3 scores // 3 scores
$form->addElement('text', 'option[1]', get_lang('Correct'), ['class' => 'span1', 'value' => '1']); $txtOption1 = $form->addElement('text', 'option[1]', get_lang('Correct'), ['class' => 'span1', 'value' => '1']);
$form->addElement('text', 'option[2]', get_lang('Wrong'), ['class' => 'span1', 'value' => '-0.5']); $txtOption2 = $form->addElement('text', 'option[2]', get_lang('Wrong'), ['class' => 'span1', 'value' => '-0.5']);
$form->addElement('text', 'option[3]', get_lang('Don\'t know'), ['class' => 'span1', 'value' => '0']); $txtOption3 = $form->addElement('text', 'option[3]', get_lang('Don\'t know'), ['class' => 'span1', 'value' => '0']);
$form->addRule('option[1]', get_lang('Required field'), 'required'); $form->addRule('option[1]', get_lang('Required field'), 'required');
$form->addRule('option[2]', get_lang('Required field'), 'required'); $form->addRule('option[2]', get_lang('Required field'), 'required');
@ -252,8 +252,8 @@ class MultipleAnswerTrueFalse extends Question
if (!empty($options)) { if (!empty($options)) {
foreach ($options as $optionData) { foreach ($options as $optionData) {
$id = $optionData['id']; $id = $optionData['iid'];
unset($optionData['id']); unset($optionData['iid']);
Question::updateQuestionOption($id, $optionData, $course_id); Question::updateQuestionOption($id, $optionData, $course_id);
} }
} else { } else {
@ -293,7 +293,7 @@ class MultipleAnswerTrueFalse extends Question
if (empty($options)) { if (empty($options)) {
//If this is the first time that the question is created when //If this is the first time that the question is created when
// change the default values from the form 1 and 2 by the correct "option id" registered // change the default values from the form 1 and 2 by the correct "option id" registered
$goodAnswer = isset($sortedByPosition[$goodAnswer]) ? $sortedByPosition[$goodAnswer]['id'] : ''; $goodAnswer = isset($sortedByPosition[$goodAnswer]) ? $sortedByPosition[$goodAnswer]['iid'] : '';
} }
$questionWeighting += $extra_values[0]; //By default 0 has the correct answers $questionWeighting += $extra_values[0]; //By default 0 has the correct answers
$objAnswer->createAnswer($answer, $goodAnswer, $comment, '', $i); $objAnswer->createAnswer($answer, $goodAnswer, $comment, '', $i);

@ -1105,7 +1105,7 @@ abstract class Question
foreach ($options as $item) { foreach ($options as $item) {
$item['question_id'] = $newQuestionId; $item['question_id'] = $newQuestionId;
$item['c_id'] = $course_id; $item['c_id'] = $course_id;
unset($item['id']); unset($item['iid']);
unset($item['iid']); unset($item['iid']);
Database::insert($TBL_QUESTION_OPTIONS, $item); Database::insert($TBL_QUESTION_OPTIONS, $item);
} }

@ -2124,8 +2124,8 @@ class CourseRestorer
if ($question_option_list) { if ($question_option_list) {
$old_option_ids = []; $old_option_ids = [];
foreach ($question_option_list as $item) { foreach ($question_option_list as $item) {
$old_id = $item['id']; $old_id = $item['iid'];
unset($item['id']); unset($item['iid']);
if (isset($item['iid'])) { if (isset($item['iid'])) {
unset($item['iid']); unset($item['iid']);
} }

Loading…
Cancel
Save