Affects Version/s: 3.1.5
Fix Version/s: None
I'm using a fresh installation of Moodle 3.1.5, then I create a new course and a new assignment with
- Students submit in groups = YES
- Use marking workflow = YES
- Use marking allocation = YES
There is a course group.
There is only a student enrolled in the course and does'nt matter if it's also enrolled in a group. No groupings are defined at course level.
Loggin into moodle directly as the student, the assignment fails with the error page "You can't add comments"
and this is the stack trace:
Error code: nopermissiontocomment
× Stack trace: * line 58 of /mod/assign/submission/comments/lib.php: comment_exception thrown
- line ? of unknownfile: call to assignsubmission_comments_comment_validate()
- line 7564 of /lib/moodlelib.php: call to call_user_func_array()
- line 7546 of /lib/moodlelib.php: call to component_callback()
- line 947 of /comment/lib.php: call to plugin_callback()
- line 958 of /comment/lib.php: call to comment->validate()
- line 440 of /comment/lib.php: call to comment->can_view()
- line 74 of /mod/assign/submission/comments/locallib.php: call to comment->output()
- line 1146 of /mod/assign/renderer.php: call to assign_submission_comments->view_summary()
- line 319 of /lib/outputrenderers.php: call to mod_assign_renderer->render_assign_submission_plugin_submission()
- line 901 of /mod/assign/renderer.php: call to plugin_renderer_base->render()
- line 319 of /lib/outputrenderers.php: call to mod_assign_renderer->render_assign_submission_status()
- line 4657 of /mod/assign/locallib.php: call to plugin_renderer_base->render()
- line 4908 of /mod/assign/locallib.php: call to assign->view_student_summary()
- line 594 of /mod/assign/locallib.php: call to assign->view_submission_page()
- line 52 of /mod/assign/view.php: call to assign->view()
And the error page is missing the css information, so only text is printed (maybe because is a unexpected error)
Disabling the "use marking allocation" feature, the assignment it's available again to students.
I'm not sure that enabling these assignment options does make any sense, but a teacher can do that and then does not understand why the assignment is broken.
The relevant code is in mod/assign/locallib.php in the function list_participants where an additional join is added to the sql query that get the list of students that can do submissions.