diff --git a/frontend/static/js/challenge.js b/frontend/static/js/challenge.js index f64cd499..22595e29 100644 --- a/frontend/static/js/challenge.js +++ b/frontend/static/js/challenge.js @@ -219,18 +219,49 @@ angular.module("FICApp", ["ngRoute", "ngSanitize"]) o.found = $scope.my.exercices[$rootScope.current_exercice].solved_matrix[kid]; this.push(o); }, $scope.flags); + + $scope.mcqs = []; + angular.forEach($scope.my.exercices[$rootScope.current_exercice].mcqs, function(mcq,qid) { + var o = { + title: mcq.title, + kind: mcq.kind, + solved: mcq.solved, + choices: {} + }; + angular.forEach(mcq["choices"], function(choice,cid) { + this[cid] = { + label: choice, + value: false + }; + }, o["choices"]); + this.push(o); + }, $scope.mcqs); } } waitMy(); $scope.ssubmit = function() { - var flgs = {} + var resp = {} - angular.forEach($scope.flags, function(flag,kid) { - flgs[flag.name] = flag.value; - }); + if ($scope.flags && $scope.flags.length) + { + resp["flags"] = {}; + angular.forEach($scope.flags, function(flag,kid) { + resp["flags"][flag.name] = flag.value; + }); + } - $http({ url: "/submit/" + $rootScope.current_exercice, method: "POST", data: flgs }).then(function(response, status, header, config) { + if ($scope.mcqs && $scope.mcqs.length) + { + resp["mcqs"] = {}; + angular.forEach($scope.mcqs, function(mcq) { + angular.forEach(mcq.choices, function(choice, cid) { + if (choice.value) resp["mcqs"][cid] = choice.value; + }) + }); + } + + $http({ url: "/submit/" + $rootScope.current_exercice, method: "POST", data: resp }).then(function(response, status, header, config) { $rootScope.messageClass = {"text-success": true}; $rootScope.message = response.data.errmsg; $rootScope.sberr = ""; @@ -242,7 +273,7 @@ angular.module("FICApp", ["ngRoute", "ngSanitize"]) var checkDiff = function() { $http.get("/my.json").then(function(response) { var my = response.data; - if ($scope.my.exercices[$rootScope.current_exercice].solved_time != my.exercices[$rootScope.current_exercice].solved_time) { + if ($scope.my.exercices[$rootScope.current_exercice].tries != my.exercices[$rootScope.current_exercice].tries || $scope.my.exercices[$rootScope.current_exercice].solved_time != my.exercices[$rootScope.current_exercice].solved_time) { $rootScope.refresh(); $scope.my = my; waitMy(); diff --git a/frontend/static/views/theme.html b/frontend/static/views/theme.html index d5dadd63..abcd4508 100644 --- a/frontend/static/views/theme.html +++ b/frontend/static/views/theme.html @@ -67,6 +67,17 @@ + +