As identified in
MDL-51476, when a question, for example an essay, has a max mark of 0, but has been commented on, the report "Manual grading" reports that question as grading required.
Fred, the other problem you highlight is the one alluded to in this comment in the unit tests: https://github.com/timhunt/moodle/compare/master...MDL-51476#diff-9e61f811b4890a3439d19dd932f49273R253. Anyway, that was an existing problem which is different from what this issue is about.
So, it is off-topic, but let me explain the issue:
It is a principle in the question system that you can change the mark for a particular question_attempt in a question_usage at any time, and that doing that should just require changing question_attempt.maxmark without extensive re-calculation. So, a teacher is allowed to change the essay question from being graded out of 1 to being ungraded, and change it back.
So, consider there sequence:
Teacher creates a quiz containing an essay worth zero marks.
Student attempts quiz. (Essay is in state: requires grading)
Teacher comments on the question (but obviously cannot assign a mark). Essay goes into state: ???
Teacher edits the quiz and changes max mark for the essay to 10.
The essay does not currently have a grade, so really should be in state: requires grading)
Therefore, because of the general principle I mentioned, ??? must be 'requires grading'. However, that makes the UI in the quiz manual grading report behave weirdly.
There is no simple fix. Possible fixes include:
Include a new question state 'manually commented but not graded' or something like that.
Make the quiz manual grading report query the data in more detail, rather than just trusting the question state.
Change the general principle.
I am pretty sure that option 1) there is the best, and then make a small change to the quiz manual grading report to understand the new state.
- Discovered while testing
MDL-51476 Cannot manually comment on an un-graded quiz question since MDL-51090