$this->addField(['name' => 'review',
'label' => 'Enable answer review',
'hint' => 'Let the user review his answers and the correct ones at the end of the quiz',
- 'type' => 'Checkbox',
+ 'type' => 'SelectFromArray',
+ 'allows_null' => false,
+ 'options' => [
+ 'always' => 'Always',
+ 'passed' => 'Only if passed',
+ 'never' => 'Never',
+ ],
+ 'options_aliases' => [
+ '1' => 'always',
+ '0' => 'never',
+ ],
'default' => true,
'tab' => 'Settings']);
cssVars({});
var rev = $(data).find('review');
- showReview = (rev.length === 0 || rev.text() === '1');
+ showReview = rev.text();
threshold = 0;
instantReview = $(data).find('instantReview').text() === '1';
logAttempts = $(data).find('logattempts').text() === '1';
}
if ($(next).is("#resultsscreen")) {
- if (showReview) {
- $('#correction').show();
- } else {
+ var show = showReview === 'always' || (showReview === 'passed' && checkScore());
+ if (show) {
$('#correction').hide();
+ } else {
+ $('#correction').show();
}
completed();
}
function displayBadge(correct) {
resize();
- if (!instantReview || correct===null) {
+ if (!instantReview || correct === null) {
nextScreen();
return;
}