feat: add open questions with a pending grading state

- migration: open question type, rubric, max_length, quiz grader and
  the grading and review columns of attempt answers
- open answers are checked, stored as pending and never scored on
  answer; a changed text resets the grading state
- student JSON gains text, grading_status, grader_feedback,
  review_comment, max_length, needs_review and open_answers; the
  rubric is never serialized
This commit is contained in:
Jakub Zych
2026-11-09 17:48:11 +01:00
parent ef38b81fd9
commit 297780cb8e
19 changed files with 893 additions and 48 deletions

View File

@@ -15,6 +15,10 @@ api:
attempt_limit_reached: All attempts at this test have been used.
answer_locked: An answer in this test cannot be changed.
category_not_allowed: A test covers the whole quiz; a category cannot be chosen.
text_required: Write an answer to this question.
text_too_long: The answer is longer than this question allows.
graders:
manual: Manual (the owner grades)
permissions:
access_quizzes: Manage quizzes, questions and answers
access_attempts: View quiz attempts

View File

@@ -15,6 +15,10 @@ api:
attempt_limit_reached: Wykorzystano już wszystkie podejścia do tego testu.
answer_locked: W tym teście nie można zmienić udzielonej odpowiedzi.
category_not_allowed: Test obejmuje cały quiz; nie można wybrać kategorii.
text_required: Wpisz odpowiedź na to pytanie.
text_too_long: Odpowiedź jest dłuższa, niż pozwala to pytanie.
graders:
manual: Ręcznie (ocenia właściciel)
permissions:
access_quizzes: Zarządzanie quizami, pytaniami i odpowiedziami
access_attempts: Podgląd podejść do quizów