]> _ Git - fluidbook-toolbox.git/commitdiff
wait #4231 @3
authorVincent Vanwaelscappel <vincent@cubedesigners.com>
Fri, 29 Jan 2021 16:18:21 +0000 (17:18 +0100)
committerVincent Vanwaelscappel <vincent@cubedesigners.com>
Fri, 29 Jan 2021 16:18:21 +0000 (17:18 +0100)
app/Models/Quiz.php
resources/quiz/js/main.js

index 5eae05606ce4633b99adf1ca492ca2095a0fc82c..543ca8382f7e33fdd824395c34713843aa24dabf 100644 (file)
@@ -303,10 +303,14 @@ class Quiz extends CubistMagicAbstractModel
         $d['countriesList'] = \Cubist\Locale\Country::getList($translation->getAttribute('locale'));
 
         // Fix boolean
-        $booleans = ['multiple', 'required', 'count_for_score'];
+        $booleans = ['multiple' => false, 'required' => true, 'count_for_score' => true];
         foreach ($d['questions'] as $qn => $q) {
-            foreach ($booleans as $b) {
-                $d['questions'][$qn][$b] = !!($q[$b]);
+            foreach ($booleans as $b => $default) {
+                if (!isset($d['questions'][$qn][$b])) {
+                    $d['questions'][$qn][$b] = $default;
+                } else {
+                    $d['questions'][$qn][$b] = !!($q[$b]);
+                }
             }
         }
 
index acfa2e6de9a680c26d01006ff154d4c02ff86f03..3e53619ae8ad8380d07294fca541e54243742ef8 100644 (file)
             countQuestions = 0;
             // Create questions
             $.each(DATA.questions, function (k, question) {
-                console.log(question);
                 if (question.count) {
                     countQuestions++;
                 }
-
-                var multipleclass = question.multiple ? ' multiple' : '';
-                var questionHtml = '<section class="question' + multipleclass + '" data-count="' + question.count + '" data-q="' + qn + '" data-min-score="' + question.min_score + '" data-type="' + question.type + '">';
+                var multipleClass = question.multiple ? ' multiple' : '';
+                var questionHtml = '<section class="question' + multipleClass + '" data-count="' + question.count_for_score + '" data-q="' + qn + '" data-min-score="' + question.min_score + '" data-type="' + question.type + '">';
                 questionHtml += '<div class="label"><h3>' + sprintf(getTranslation('question'), qn) + '</h3> ' + question.question + '</div>';
-                questionHtml += '<div class="answers">';
-                questionHtml += '</div>';
+                questionHtml += '<div class="answers"></div>';
                 if (question.multiple) {
                     questionHtml += '<a href="#" class="button validatemulti">' + getTranslation('validateAnswer') + '</a>';
                 } else if (question.type !== 'multiple') {
                         $(holder).append($(a));
                         an++;
                     });
-
-                    if (correctCount > 1 || $(this).attr('multiple') !== undefined) {
-                        q.addClass('multiple');
-                    }
                 } else if (question.type === 'text' || question.type === "email") {
                     $(holder).append('<input ' + required + ' type="' + question.type + '" name="answer" class="focusme" placeholder="' + question.placeholder + '" />')
                 } else if (question.type === 'textarea') {