Steps to reproduce:
- Setup a quiz with a small "Time limit", "When time expires" set to "There is a grace period when open attempts can be submitted, but no more questions answered" and a long "Submission grace period".
- Access the app with a student and start a new quiz attempt.
- Answers some questions but don't submit the attempt, let the time limit run out.
- Once the attempt is overdue, click "Submit all and finish"
- An modal error is shown with text "Overdue" and the attempt is not submitted.
The error is returned by the web service function "mod_quiz_process_attempt". Maybe we should pass the parameter "timeup" set to 1 in this case, althought the documentation says it is only for timers.