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

@@ -51,6 +51,8 @@ quizzes:
navigation_comment: Dotyczy tylko testów.
max_attempts: Limit podejść
max_attempts_comment: Tylko dla testów. Zostaw puste, aby nie ograniczać.
grader: Ocenianie pytań otwartych
grader_comment: "Ręcznie: każdą odpowiedź oceniasz sam. Inne opcje dodają zainstalowane wtyczki."
questions:
title: Pytania
question: Pytanie
@@ -60,10 +62,15 @@ questions:
type_single: Jednokrotny wybór
type_multiple: Wielokrotny wybór
type_self_check: Fiszka (samoocena)
type_open: Pytanie otwarte
category: Kategoria
points: Punkty
answer_text: Wzorcowa odpowiedź
answer_text_comment: Pokazywana w fiszkach po odsłonięciu.
answer_text_comment: Pokazywana w fiszkach po odsłonięciu. W pytaniu otwartym to odpowiedź wzorcowa.
rubric: Kryteria oceny (tylko dla oceniającego)
rubric_comment: Widzi je tylko oceniający, nigdy student. Dotyczy pytań otwartych.
max_length: Maks. długość odpowiedzi
max_length_comment: Liczba znaków; puste oznacza 2000. Dotyczy pytań otwartych.
explanation: Wyjaśnienie
answers:
title: Odpowiedzi
@@ -81,3 +88,45 @@ attempts:
score_points: Punkty
max_points: Maks. punktów
score_percent: Wynik (%)
reviews:
title: Do oceny
answer: Odpowiedź otwarta
context: Odpowiedź
quiz: Quiz
question: Pytanie
student: Student
text: Odpowiedź studenta
max_length: Limit znaków
status: Status
status_pending: czeka na ocenę
status_graded: do weryfikacji
status_failed: błąd oceniania
status_reviewed: zweryfikowano
grader: Oceniający
grader_points: Punkty oceniającego
grader_feedback: Uwagi oceniającego
grading_error: Błąd oceniania
grading_attempts: Próby oceny
points: Punkty
points_short: pkt
graded_at: Oceniono
reviewed_at: Zweryfikowano
model_answer: Odpowiedź wzorcowa
rubric: Kryteria oceny
review_points: Punkty (ostateczne)
review_points_comment: Od 0 do liczby punktów pytania, co 0,5.
review_comment: Komentarz dla studenta
review_comment_comment: Student zobaczy go przy swojej odpowiedzi. Zapisanie punktów zastępuje wcześniejszy komentarz.
confirm: Zatwierdź ocenę
confirm_selected: Zatwierdź zaznaczone
confirmed: Ocena zatwierdzona.
regrade: Oceń ponownie
regrade_confirm: Odpowiedź wróci do oceniania i straci obecny wynik oceniającego.
regraded: Odpowiedź wysłana do ponownej oceny.
points_required: Podaj punkty, aby zapisać ocenę.
points_invalid: Punkty muszą mieścić się w zakresie od 0 do liczby punktów pytania, co 0,5.
no_grader_score: Ta odpowiedź nie ma jeszcze wyniku oceniającego; wpisz punkty sam.
already_reviewed: Ta odpowiedź jest już zweryfikowana.
grader_manual: Ten quiz jest oceniany ręcznie; nie ma kto ocenić odpowiedzi ponownie.
not_found: Nie znaleziono tej odpowiedzi.
not_created: Odpowiedzi otwarte pochodzą od studentów; tutaj nie można ich dodawać ani usuwać.