-
Bug
-
Resolution: Fixed
-
Major
-
3.6.6, 3.6.9, 3.7.2, 3.7.5, 3.8.2
-
MOODLE_36_STABLE, MOODLE_37_STABLE, MOODLE_38_STABLE
-
MOODLE_38_STABLE
-
MDL-67126_master -
Moderate
-
The completion state of the activity in assignments are not set when group submission setting is set to "Students submit in groups: Yes" and "Require students to click the submit button: No" then only the submitter will have at the activity completion state set to "Complete".
To reproduce:
- Create a course
- Setup a group of least two members
- As a teacher insert an assignment to the course
- Set the activity settings "Activity completion" -> "Completion tracking: Show activity as complete when conditions are met" and select only "Student must submit to this activity to complete it".
- Set the "Students submit in groups" to "Yes"
- Set the "Require students to click the submit button" to "No"
- As a member of the group make a submission
- Access the course of the second member of the group.
What you expect:
- The completion state is set to completed
What actually happens:
- The completion state is not set as completed
Remarks:
- The problem is that the update activity completion record state seems to depending on the "Require students to click the submit button" setting.
- If it is set to "No" the activity completion records will not be updated for all group members. It only adds and updates the submissions. It uses the process_save_submission function.
- If it is set to "Yes" the completion records will be set for all group members. In this case it adds and updates the completion states as well. It uses the process_submit_for_grading function.
- In the test_update_activity_completion_records_team_submission unit test it is always set to update these completion state of all members. Which is not according the normal submit procedure.
- The normal submit procedure will only run the process_save_submission method, and if the "Require students to click the submit button" is set to "Yes", it will run additionally the process_submit_for_grading method.