This was intentionally ruled out of scope when the
MDL-3030 work was done, but from various recent threads in the quiz forum, it seems this is functionality that people really need.
Technically, this is very easy to implement. We just need to set quiz_attempts.state back to 'inprogress'. That is, the opposite of what process_abandon in attemptlib.php does. Of course, we should also consider firing an event at that point.
The question is, what UI should trigger this. Options include:
1. Do it automatically (cron) when teachers edit the quiz settings, or a group or use override, or add a user to a group with an override, or ... That rapidly gets very complex, but cron already has to deal with it, particularly after we fix
2. Add a new button at the bottom of Results / Grades report, next to "Regrade selected attempts" and "Delete selected attempts", we could add "Re-open selected attempts". (Of course, it makes no sense to let teachers re-open an attempt if cron will just move it back to Never submitted very soon.)
3. We could make a special new report for re-opening Never submitted attempts, and/or submitting open attempts on behalf of the student, which only shows the applicable buttons for each attempt.
I am not really sure which of these ideas would work best.
Relevant forum threads include http://moodle.org/mod/forum/discuss.php?d=212819