oef/templates/responses_add_update.html.tpl
2020-01-09 12:09:47 +01:00

71 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 -}}
{{- $form := "form_add_update" -}}
<div class="row">
<div class="col-2 border-right">
<div class="sticky-top sticky-offset">
<nav class="nav flex-column">
{{- if and $isParticipant .Data.TimeLeft}}
<h5 class="mt-1 badge badge-info sticky-top sticky-offset">Tempo rimanente <span id="timeleft">{{.Data.TimeLeft.Minutes|toInt}}</span> min</h5>
{{- end -}}
{{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" id="question_{{$id}}"></div>
<div class="oef-anchor-selection">
<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 -}}