-
Notifications
You must be signed in to change notification settings - Fork 18
Description
Background
Right now, if you've taken a quiz (successfully), you cannot redo it. It would be useful, however, to retake a quiz as a refresher. For example, if the wood room is reopening, taking the relevant quizzes can be a good way to freshen up your knowledge.
This was brought up in this Slack thread: https://stockholmmakerspace.slack.com/archives/C4MM2M5EV/p1764326574309419.
What happens?
- You can still load a quiz that you've taken, but when you press the Start! button, the call to
GET quiz/quiz/1/next_questionreturns{"data":null,"status":"ok"}. - This moves the frontend component to the "done" state, rendering the completion screen.
The logic for filtering questions is driven by
makeradmin/api/src/quiz/views.py
Line 98 in 4637976
| @service.route("/quiz/<int:quiz_id>/next_question", method=GET, permission=USER) |
The simplest solution is therefore probably for this endpoint to accept a timestamp parameter, ignoring questions answered before a point in time. This would be in line with the suggestion by @HalfVoxel in this Slack thread: https://stockholmmakerspace.slack.com/archives/C9LB8R8VB/p1764333141905889?thread_ts=1764332637.657959&cid=C9LB8R8VB.
The model for questions and answers supports multiple answers per question per member. But let's be careful about what might happen if there's >1 correct answer per question per member. Would it mess up any statistics, for example?