Преглед изворни кода

Answer required for unique answers see BT#6522

Julio Montoya пре 11 година
родитељ
комит
23a694a936

+ 7 - 1
main/exercice/exercise_submit.php

@@ -1144,6 +1144,10 @@ if (!empty($error)) {
                 $.ajax({
                 $.ajax({
                     type:"post",
                     type:"post",
                     async: false,
                     async: false,
+                    beforeSend: function ( xhr ) {
+                         $("#save_for_now_"+question_id).html("'.addslashes(Display::return_icon('loading1.gif')).'");
+
+                    },
                     url: "'.api_get_path(WEB_AJAX_PATH).'exercise.ajax.php?a=save_exercise_by_now",
                     url: "'.api_get_path(WEB_AJAX_PATH).'exercise.ajax.php?a=save_exercise_by_now",
                     data: "'.$params.'&type=simple&question_id="+question_id+"&"+my_choice+"&"+hotspot+"&"+remind_list,
                     data: "'.$params.'&type=simple&question_id="+question_id+"&"+my_choice+"&"+hotspot+"&"+remind_list,
                     success: function(return_value) {
                     success: function(return_value) {
@@ -1151,8 +1155,10 @@ if (!empty($error)) {
                             $("#save_for_now_"+question_id).html("'.addslashes(Display::return_icon('save.png', get_lang('Saved'), array(), ICON_SIZE_SMALL)).'");
                             $("#save_for_now_"+question_id).html("'.addslashes(Display::return_icon('save.png', get_lang('Saved'), array(), ICON_SIZE_SMALL)).'");
                         } else if (return_value == "error") {
                         } else if (return_value == "error") {
                             $("#save_for_now_"+question_id).html("'.addslashes(Display::return_icon('error.png', get_lang('Error'), array(), ICON_SIZE_SMALL)).'");
                             $("#save_for_now_"+question_id).html("'.addslashes(Display::return_icon('error.png', get_lang('Error'), array(), ICON_SIZE_SMALL)).'");
+                        } else if (return_value == "answer_required") {
+                            $("#save_for_now_"+question_id).html("'.addslashes(Display::return_icon('warning.png', get_lang('warning'), array(), ICON_SIZE_SMALL).
+                            " ".get_lang('SelectAnAnswerToContinue')).'");
                         } else if (return_value == "one_per_page") {
                         } else if (return_value == "one_per_page") {
-
                             var url = "";
                             var url = "";
                             if ('.$reminder.' == 1 ) {
                             if ('.$reminder.' == 1 ) {
                                 url = "'.$urlMainExercise.'exercise_reminder.php?'.$params.'&num='.$current_question.'";
                                 url = "'.$urlMainExercise.'exercise_reminder.php?'.$params.'&num='.$current_question.'";

+ 8 - 1
main/inc/ajax/exercise.ajax.php

@@ -445,9 +445,16 @@ switch ($action) {
                     error_log("my_choice = ".print_r($my_choice, 1)."");
                     error_log("my_choice = ".print_r($my_choice, 1)."");
                 }
                 }
 
 
-               // creates a temporary Question object
+                // Creates a temporary Question object
             	$objQuestionTmp = Question::read($my_question_id, $course_id);
             	$objQuestionTmp = Question::read($my_question_id, $course_id);
 
 
+                if ($objExercise->type == ONE_PER_PAGE && $objQuestionTmp->type == UNIQUE_ANSWER) {
+                    if (empty($my_choice)) {
+                        echo 'answer_required';
+                        exit;
+                    }
+                }
+
                 // Getting free choice data.
                 // Getting free choice data.
             	if ($objQuestionTmp->type  == FREE_ANSWER && $type == 'all') {
             	if ($objQuestionTmp->type  == FREE_ANSWER && $type == 'all') {
             	    $my_choice = isset($_REQUEST['free_choice'][$my_question_id]) && !empty($_REQUEST['free_choice'][$my_question_id])? $_REQUEST['free_choice'][$my_question_id]: null;
             	    $my_choice = isset($_REQUEST['free_choice'][$my_question_id]) && !empty($_REQUEST['free_choice'][$my_question_id])? $_REQUEST['free_choice'][$my_question_id]: null;

+ 2 - 8
main/locale/exercice/en.po

@@ -1612,11 +1612,5 @@ msgstr "Using categories"
 msgid "OrderedByUser"
 msgid "OrderedByUser"
 msgstr "Ordered by user"
 msgstr "Ordered by user"
 
 
-msgid "NoIWantToTurnBack"
-msgstr "No, quiero regresar"
-
-msgid "YesImSure"
-msgstr "¡Sí, estoy seguro!"
-
-msgid "IfYouContinueYourAnswerWillBeSavedAnyChangeWillBeNotAllowed"
-msgstr "Si continua, sus respuestas serán guardadas y no se permitirá ninguna modificación adicional. ¿Está seguro de querer terminar?"
+msgid "SelectAnAnswerToContinue"
+msgstr "Select an answer to continue"

+ 13 - 0
main/locale/exercice/es.po

@@ -1618,3 +1618,16 @@ msgstr "Por revisar"
 
 
 msgid "Unanswered"
 msgid "Unanswered"
 msgstr "Sin responder"
 msgstr "Sin responder"
+
+msgid "NoIWantToTurnBack"
+msgstr "No, quiero regresar"
+
+msgid "YesImSure"
+msgstr "¡Sí, estoy seguro!"
+
+msgid "IfYouContinueYourAnswerWillBeSavedAnyChangeWillBeNotAllowed"
+msgstr "Si continua, sus respuestas serán guardadas y no se permitirá ninguna modificación adicional. ¿Está seguro de querer terminar?"
+
+msgid "SelectAnAnswerToContinue"
+msgstr "Seleccione una repuesta para continuar."
+