Files
sm-quizzes-plugin/controllers/reviews/_review_context.htm
Jakub Zych 1cba2c4d32 fix: keep the Do oceny preview under cabana's partial cap
WR-04: cut each long text of the review context view model to an
escaped-byte budget, so a 20000-character answer of characters that
html/template expands to 5 bytes can no longer push the partial over
64 KiB. Ordinary answers stay whole; a cut text gets a note pointing to
quizzes_review_show.
2026-11-09 22:50:07 +01:00

52 lines
2.7 KiB
HTML

<div class="quizzes-review">
{{with .Data}}
{{if .Cut}}
<p class="help-block">{{trans "golem15.quizzes::lang.reviews.cut"}}</p>
{{end}}
<dl>
<dt>{{trans "golem15.quizzes::lang.reviews.quiz"}}</dt>
<dd>{{.QuizTitle}}</dd>
<dt>{{trans "golem15.quizzes::lang.reviews.student"}}</dt>
<dd>{{if .StudentName}}{{.StudentName}} <span class="help-block">{{.StudentEmail}}</span>{{else}}{{.StudentEmail}}{{end}}</dd>
<dt>{{trans "golem15.quizzes::lang.reviews.question"}} ({{.QuestionPoints}} {{trans "golem15.quizzes::lang.reviews.points_short"}})</dt>
<dd><p class="whitespace-pre-wrap">{{.QuestionText}}</p></dd>
{{if .ModelAnswer}}
<dt>{{trans "golem15.quizzes::lang.reviews.model_answer"}}</dt>
<dd><p class="whitespace-pre-wrap">{{.ModelAnswer}}</p></dd>
{{end}}
{{if .Rubric}}
<dt>{{trans "golem15.quizzes::lang.reviews.rubric"}}</dt>
<dd><p class="whitespace-pre-wrap">{{.Rubric}}</p></dd>
{{end}}
<dt>{{trans "golem15.quizzes::lang.reviews.text"}} <span class="help-block">{{trans "golem15.quizzes::lang.reviews.max_length"}}: {{.MaxLength}}</span></dt>
<dd><blockquote class="whitespace-pre-wrap">{{.Text}}</blockquote>{{if .TextCut}}<p class="help-block">{{trans "golem15.quizzes::lang.reviews.text_cut"}}</p>{{end}}</dd>
<dt>{{trans "golem15.quizzes::lang.reviews.status"}}</dt>
<dd><strong>{{trans .StatusLabel}}</strong></dd>
{{if .Grader}}
<dt>{{trans "golem15.quizzes::lang.reviews.grader"}}</dt>
<dd>{{trans .GraderLabel}} <span class="help-block">{{trans "golem15.quizzes::lang.reviews.grading_attempts"}}: {{.GradingAttempts}}{{if .GradedAt}} · {{trans "golem15.quizzes::lang.reviews.graded_at"}}: {{.GradedAt}}{{end}}</span></dd>
{{end}}
{{if .HasGraderPoints}}
<dt>{{trans "golem15.quizzes::lang.reviews.grader_points"}}</dt>
<dd>{{.GraderPoints}}</dd>
{{end}}
{{if .GraderFeedback}}
<dt>{{trans "golem15.quizzes::lang.reviews.grader_feedback"}}</dt>
<dd><p class="whitespace-pre-wrap">{{.GraderFeedback}}</p></dd>
{{end}}
{{if .GradingError}}
<dt>{{trans "golem15.quizzes::lang.reviews.grading_error"}}</dt>
<dd><p class="whitespace-pre-wrap">{{.GradingError}}</p></dd>
{{end}}
{{if .Reviewed}}
<dt>{{trans "golem15.quizzes::lang.reviews.points"}}</dt>
<dd><strong>{{.Points}}</strong> / {{.QuestionPoints}}{{if .ReviewedAt}} <span class="help-block">{{trans "golem15.quizzes::lang.reviews.reviewed_at"}}: {{.ReviewedAt}}</span>{{end}}</dd>
{{end}}
{{if .ReviewComment}}
<dt>{{trans "golem15.quizzes::lang.reviews.review_comment"}}</dt>
<dd><p class="whitespace-pre-wrap">{{.ReviewComment}}</p></dd>
{{end}}
</dl>
{{end}}
</div>