mirror of
https://github.com/moodle/moodle.git
synced 2025-04-13 12:32:08 +02:00
Merge branch 'wip-MDL-45127-master' of git://github.com/abgreeve/moodle
This commit is contained in:
commit
a128a24fca
@ -94,6 +94,8 @@ if (isset($USER->modattempts[$lesson->id])) {
|
||||
$attempts = $DB->get_records("lesson_attempts", array("lessonid"=>$lesson->id, "userid"=>$USER->id, "retry"=>$nretakes), "timeseen", "id, pageid");
|
||||
$found = false;
|
||||
$temppageid = 0;
|
||||
// Make sure that the newpageid always defaults to something valid.
|
||||
$result->newpageid = LESSON_EOL;
|
||||
foreach($attempts as $attempt) {
|
||||
if ($found && $temppageid != $attempt->pageid) { // now try to find the next page, make sure next few attempts do no belong to current page
|
||||
$result->newpageid = $attempt->pageid;
|
||||
|
@ -385,6 +385,7 @@ $string['savechanges'] = 'Save changes';
|
||||
$string['savechangesandeol'] = 'Save all changes and go to the end of the lesson.';
|
||||
$string['savepage'] = 'Save page';
|
||||
$string['score'] = 'Score';
|
||||
$string['score_help'] = 'Score is only used when custom scoring is enabled. Each answer can then be given a numerical point value (positive or negative).';
|
||||
$string['scores'] = 'Scores';
|
||||
$string['secondpluswrong'] = 'Not quite. Would you like to try again?';
|
||||
$string['selectaqtype'] = 'Select a question type';
|
||||
|
@ -770,6 +770,12 @@ abstract class lesson_add_page_form_base extends moodleform {
|
||||
if ($value !== null) {
|
||||
$this->_form->setDefault($name, $value);
|
||||
}
|
||||
$this->_form->addHelpButton($name, 'score', 'lesson');
|
||||
|
||||
// Score is only used for custom scoring. Disable the element when not in use to stop some confusion.
|
||||
if (!$this->_customdata['lesson']->custom) {
|
||||
$this->_form->freeze($name);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
@ -1983,12 +1989,17 @@ abstract class lesson_page extends lesson_base {
|
||||
|
||||
$attempt->timeseen = time();
|
||||
// if allow modattempts, then update the old attempt record, otherwise, insert new answer record
|
||||
$userisreviewing = false;
|
||||
if (isset($USER->modattempts[$this->lesson->id])) {
|
||||
$attempt->retry = $nretakes - 1; // they are going through on review, $nretakes will be too high
|
||||
$userisreviewing = true;
|
||||
}
|
||||
|
||||
if ($this->lesson->retake || (!$this->lesson->retake && $nretakes == 0)) {
|
||||
$DB->insert_record("lesson_attempts", $attempt);
|
||||
// Only insert a record if we are not reviewing the lesson.
|
||||
if (!$userisreviewing) {
|
||||
if ($this->lesson->retake || (!$this->lesson->retake && $nretakes == 0)) {
|
||||
$DB->insert_record("lesson_attempts", $attempt);
|
||||
}
|
||||
}
|
||||
// "number of attempts remaining" message if $this->lesson->maxattempts > 1
|
||||
// displaying of message(s) is at the end of page for more ergonomic display
|
||||
|
86
mod/lesson/tests/behat/lesson_review.feature
Normal file
86
mod/lesson/tests/behat/lesson_review.feature
Normal file
@ -0,0 +1,86 @@
|
||||
@mod @mod_lesson
|
||||
Feature: In a lesson activity, students can review the answers they gave to questions
|
||||
To review questions of a lesson
|
||||
As a student
|
||||
I need to complete a lesson answering all of the questions.
|
||||
|
||||
@javascript
|
||||
Scenario: Student answers questions and then reviews them.
|
||||
Given the following "users" exist:
|
||||
| username | firstname | lastname | email |
|
||||
| teacher1 | Teacher | 1 | teacher1@asd.com |
|
||||
| student1 | Student | 1 | student1@asd.com |
|
||||
And the following "courses" exist:
|
||||
| fullname | shortname | category |
|
||||
| Course 1 | C1 | 0 |
|
||||
And the following "course enrolments" exist:
|
||||
| user | course | role |
|
||||
| teacher1 | C1 | editingteacher |
|
||||
| student1 | C1 | student |
|
||||
And I log in as "teacher1"
|
||||
And I follow "Course 1"
|
||||
And I turn editing mode on
|
||||
And I add a "Lesson" to section "1" and I fill the form with:
|
||||
| Name | Test lesson name |
|
||||
| Display ongoing score | Yes |
|
||||
| Slideshow | Yes |
|
||||
| Maximum number of answers | 10 |
|
||||
| Allow student review | Yes |
|
||||
| Maximum number of attempts | 3 |
|
||||
| Custom scoring | No |
|
||||
| Re-takes allowed | Yes |
|
||||
And I follow "Test lesson name"
|
||||
And I follow "Add a question page"
|
||||
And I set the field "Select a question type" to "Numerical"
|
||||
And I press "Add a question page"
|
||||
And I set the following fields to these values:
|
||||
| Page title | Hardest question ever |
|
||||
| Page contents | 1 + 1? |
|
||||
| id_answer_editor_0 | 2 |
|
||||
| id_response_editor_0 | Correct answer |
|
||||
| id_jumpto_0 | Next page |
|
||||
| id_answer_editor_1 | 1 |
|
||||
| id_response_editor_1 | Incorrect answer |
|
||||
| id_jumpto_1 | This page |
|
||||
And I press "Save page"
|
||||
And I set the field "qtype" to "Question"
|
||||
And I set the field "Select a question type" to "True/false"
|
||||
And I press "Add a question page"
|
||||
And I set the following fields to these values:
|
||||
| Page title | Next question |
|
||||
| Page contents | Paper is made from trees. |
|
||||
| id_answer_editor_0 | True |
|
||||
| id_response_editor_0 | Correct |
|
||||
| id_jumpto_0 | Next page |
|
||||
| id_answer_editor_1 | False |
|
||||
| id_response_editor_1 | Wrong |
|
||||
| id_jumpto_1 | This page |
|
||||
And I press "Save page"
|
||||
And I log out
|
||||
And I log in as "student1"
|
||||
And I follow "Course 1"
|
||||
And I follow "Test lesson name"
|
||||
And I should see "You have answered 0 correctly out of 0 attempts."
|
||||
And I set the following fields to these values:
|
||||
| Your answer | 1 |
|
||||
And I press "Submit"
|
||||
And I should see "You have answered 0 correctly out of 1 attempts."
|
||||
And I press "Continue"
|
||||
And I set the following fields to these values:
|
||||
| Your answer | 2 |
|
||||
And I press "Submit"
|
||||
And I should see "You have answered 1 correctly out of 2 attempts."
|
||||
And I press "Continue"
|
||||
And I set the following fields to these values:
|
||||
| True | 1 |
|
||||
And I press "Submit"
|
||||
And I should see "You have answered 2 correctly out of 3 attempts."
|
||||
And I press "Continue"
|
||||
When I follow "Review lesson"
|
||||
Then I should see "You have answered 2 correctly out of 3 attempts."
|
||||
And I press "Next page"
|
||||
And I should see "You have answered 2 correctly out of 3 attempts."
|
||||
And I press "Continue"
|
||||
And I should see "You have answered 2 correctly out of 3 attempts."
|
||||
And I press "Next page"
|
||||
And I should see "You have answered 2 correctly out of 3 attempts."
|
Loading…
x
Reference in New Issue
Block a user