feat: review open answers in the admin and pick a grader per quiz

- Do oceny admin screen (golem15.quizzes.reviews) over the open answers,
  with a read-only context partial, score and comment virtual fields saved
  through SetScore, confirm and regrade record actions, bulk confirm
- open question type, rubric and max_length in the question form; grader
  dropdown on the quiz form from the grader registry
- Review model with quiz, status and student filters
This commit is contained in:
Jakub Zych
2026-11-09 18:31:19 +01:00
parent 1ce1ebee16
commit 2ad4e8b1ec
20 changed files with 1244 additions and 9 deletions

View File

@@ -0,0 +1,21 @@
columns:
question:
label: golem15.quizzes::lang.reviews.question
relation: question
select: text
searchable: true
grading_status:
label: golem15.quizzes::lang.reviews.status
grader_points:
label: golem15.quizzes::lang.reviews.grader_points
points:
label: golem15.quizzes::lang.reviews.points
graded_at:
label: golem15.quizzes::lang.reviews.graded_at
type: datetime
reviewed_at:
label: golem15.quizzes::lang.reviews.reviewed_at
type: datetime
updated_at:
label: golem15.quizzes::lang.common.updated_at
type: datetime

View File

@@ -0,0 +1,19 @@
# The answer itself is read-only: the review_context partial shows it from a
# curated view model. review_points and review_comment are virtual fields the
# controller saves through the review service (SetScore).
fields:
review_context:
label: golem15.quizzes::lang.reviews.context
type: partial
path: review_context
span: full
review_points:
label: golem15.quizzes::lang.reviews.review_points
type: number
span: left
comment: golem15.quizzes::lang.reviews.review_points_comment
review_comment:
label: golem15.quizzes::lang.reviews.review_comment
type: textarea
size: small
comment: golem15.quizzes::lang.reviews.review_comment_comment