// Got password: students answers locked to this page until potential teacher
// action (power failure, computer down, ...)
}
- socket = io.connect("/" + assessment.name, {
+ socket = io.connect("/", {
query: "aid=" + assessment._id + "&number=" + this.student.number + "&password=" + this.student.password
});
socket.on(message.allAnswers, this.setAnswers);
}, 1000);
},
// stage 2
- sendAnswer: function() {
+ sendOneAnswer: function() {
const realIndex = this.answers.indices[this.answers.index];
let gotoNext = () => {
if (this.answers.index == assessment.questions.length - 1)
},
});
},
+ // TODO: I don't like that + sending should not be definitive in exam mode with display = all
+ sendAnswer: function() {
+ if (assessment.display == "one")
+ this.sendOneAnswer();
+ else
+ assessment.questions.forEach(this.sendOneAnswer);
+ },
// stage 2 --> 3 (or 4)
// from a message by statements component, or time over
endAssessment: function() {
{
this.stage = 4;
this.answers.showSolution = true;
+ this.answers.displayAll = true;
return;
}
$.ajax("/end/assessment", {
assessment.conclusion = ret.conclusion;
this.stage = 3;
delete this.student["password"]; //unable to send new answers now
- socket.disconnect();
- socket = null;
},
});
},
// stage 3 --> 4 (on socket message "feedback")
setAnswers: function(m) {
- for (let i=0; i<m.answers.length; i++)
- assessment.questions[i].answer = m.answers[i];
+ const answers = JSON.parse(m.answers);
+ for (let i=0; i<answers.length; i++)
+ assessment.questions[i].answer = answers[i];
this.answers.showSolution = true;
+ this.answers.displayAll = true;
this.stage = 4;
+ socket.disconnect();
+ socket = null;
},
},
});