70 lines
2.7 KiB
Smarty
70 lines
2.7 KiB
Smarty
{{- define "content" -}}
|
|
{{- $isAdmin := .Claims|isAdmin -}}
|
|
{{- $isParticipant := .Claims|isParticipant -}}
|
|
{{- $update := .Options.Get "update" -}}
|
|
<div class="container-fluid">
|
|
{{- if $isAdmin -}}
|
|
{{- if $update -}}
|
|
{{template "breadcrumb" toSlice "Prove" (all "Response") (.Data|string) (.Data.ID|show "Response") "Aggiorna" "current"}}
|
|
{{- else -}}
|
|
{{template "breadcrumb" toSlice "Prove" (all "Response") "Aggiungi" "current"}}
|
|
{{- end -}}
|
|
{{- end -}}
|
|
{{- if $isAdmin -}}
|
|
{{template "add_update_header" dict "update" $update "addTitle" "Rispondi al questionario" "updateTitle" (printf "Aggiorna %s" (.Data|string))}}
|
|
{{- else -}}
|
|
{{template "add_update_header" dict "update" $update "addTitle" "Rispondi al questionario" "updateTitle" (.Data|string)}}
|
|
{{- end -}}
|
|
{{- if and $isParticipant .Data.TimeLeft}}
|
|
<h5 class="mb-5">Tempo rimanente <span id="timeleft">{{.Data.TimeLeft.Minutes|toInt}}</span> min</h5>
|
|
{{- end -}}
|
|
{{- $form := "form_add_update" -}}
|
|
<div class="row">
|
|
<div class="col-2 border-right">
|
|
<div class="sticky-top sticky-offset">
|
|
<nav class="nav flex-column">
|
|
{{range $n, $question := .Data.Questions -}}
|
|
<a class="nav-link" href="#question_{{$n}}">Domanda {{$n|incr}}</a>
|
|
{{end -}}
|
|
</nav>
|
|
</div>
|
|
</div>
|
|
<div class="col">
|
|
<form
|
|
class="needs-validation"
|
|
action="{{if $update}}{{.Data.ID|update "Response"}}{{else}}{{create "Response"}}{{end}}"
|
|
method="POST"
|
|
role="form"
|
|
id={{$form}}>
|
|
{{range $id,$question := .Data.Questions -}}
|
|
<div class="oef-anchor-selection" id="question_{{$id}}">
|
|
<div class="form-group p-3">
|
|
<p class="lead">{{$id|incr}}. {{$question.Text}}</p>
|
|
{{range $answer := $question.Answers -}}
|
|
<div class="form-check">
|
|
{{$checked := false}}
|
|
{{if isResponseIn $answer.ID $.Data.AnswersIDs}}
|
|
{{$checked = true}}
|
|
{{end}}
|
|
<input class="form-check-input" type="radio" name="SingleResponses.{{$id}}" id="answer_{{$answer.ID}}" value="{{$answer.ID}}" required {{if $checked}}checked{{end}}>
|
|
<label class="form-check-label {{if and $isAdmin $answer.Correct}}text-success{{end}}" for="answer_{{$answer.ID}}">
|
|
{{$answer}}
|
|
</label>
|
|
</div>
|
|
{{end}}
|
|
</div>
|
|
</div>
|
|
<hr>
|
|
{{end}}
|
|
{{- if $isAdmin -}}
|
|
{{- $options := ` { cancelTitle: "Annulla", saveTitle: "Salva", model: "Response" } ` -}}
|
|
{{- template "submit_cancel_buttons" dict "options" ($options|yaml) "id" (.Data|field "ID") "update" $update -}}
|
|
{{- else -}}
|
|
{{- $options := ` { saveTitle: "Invia le risposte", model: "Response" } ` -}}
|
|
{{template "submit_cancel_buttons" dict "options" ($options|yaml) "id" (.Data|field "ID") "update" $update}}
|
|
{{end -}}
|
|
</form>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
{{ end -}}
|