MDL-41155 Lesson: Fixed multiple question attempts logic

Thanks to Rajneel Totaram for providing this patch.
This commit is contained in:
Dave Cooper 2014-11-20 11:50:49 +08:00
parent 22cd6b3c8b
commit 0a6a254351

View File

@ -161,11 +161,11 @@ if ($canmanage) {
}
}
// Report attempts remaining
if ($result->attemptsremaining != 0 && !$lesson->review && !$reviewmode) {
if ($result->attemptsremaining != 0 && $lesson->review && !$reviewmode) {
$lesson->add_message(get_string('attemptsremaining', 'lesson', $result->attemptsremaining));
}
// Report if max attempts reached
if ($result->maxattemptsreached != 0 && !$lesson->review && !$reviewmode) {
if ($result->maxattemptsreached != 0 && $lesson->review && !$reviewmode) {
$lesson->add_message('('.get_string("maximumnumberofattemptsreached", "lesson").')');
}
@ -183,7 +183,9 @@ if ($lesson->displayleft) {
if ($lesson->ongoing && !$reviewmode) {
echo $lessonoutput->ongoing_score($lesson);
}
echo $result->feedback;
if (!$result->maxattemptsreached && !$reviewmode) {
echo $result->feedback;
}
// User is modifying attempts - save button and some instructions
if (isset($USER->modattempts[$lesson->id])) {
@ -198,7 +200,7 @@ if (isset($USER->modattempts[$lesson->id])) {
}
// Review button back
if (!$result->correctanswer && !$result->noanswer && !$result->isessayquestion && !$reviewmode && $lesson->review) {
if (!$result->correctanswer && !$result->noanswer && !$result->isessayquestion && !$reviewmode && $lesson->review && !$result->maxattemptsreached) {
$url = $CFG->wwwroot.'/mod/lesson/view.php';
$content = html_writer::empty_tag('input', array('type'=>'hidden', 'name'=>'id', 'value'=>$cm->id));
$content .= html_writer::empty_tag('input', array('type'=>'hidden', 'name'=>'pageid', 'value'=>$page->id));
@ -207,7 +209,7 @@ if (!$result->correctanswer && !$result->noanswer && !$result->isessayquestion &
}
$url = new moodle_url('/mod/lesson/view.php', array('id'=>$cm->id, 'pageid'=>$result->newpageid));
if ($lesson->review && !$result->correctanswer && !$result->noanswer && !$result->isessayquestion) {
if ($lesson->review && !$result->correctanswer && !$result->noanswer && !$result->isessayquestion && !$result->maxattemptsreached) {
// Review button continue
echo $OUTPUT->single_button($url, get_string('reviewquestioncontinue', 'lesson'));
} else {