oef/templates/responses_show.html.tpl
2021-01-05 12:28:40 +01:00

131 lines
4.7 KiB
Smarty

{{ define "content" }}
{{$isAdmin := .Claims|isAdmin}}
{{$isParticipant := .Claims|isParticipant}}
<div class="container">
{{if $isAdmin}}
{{template "breadcrumb" toSlice "Prove dei partecipanti" (all "Response") (.Data|string) "current"}}
{{template "show_header" dict "title" (.Data|string) "updatePath" (.Data.ID|update "Response") "deletePath" (.Data.ID|delete "Response")}}
{{end}}
{{if $isParticipant}}
{{if .Data.IsActive}}
{{$options := `{updateButtonTitle: "Vai alla gara!"}`}}
{{template "show_header" dict "options" ($options|yaml) "title" (.Data|string) "updatePath" (.Data.ID|update "Response")}}
{{end}}
{{end}}
<h2 class="karmen-relation-header">Informazioni generali</h2>
<dl class="row">
<dt class="col-sm-3">Finestra di prima visualizzazione</dt>
<dd class="col-sm-9">
{{if not (.Data.Contest.Date|zeroTime)}}
E' possibile visualizzare la prova di gara per la prima volta il giorno {{.Data.Contest.Date|prettyDate}} dalle ore {{.Data.Contest.StartTime|convertTime}} alle ore {{.Data.Contest.EndTime|convertTime}}
{{- if not .Data.IsActive -}}<strong> [La gara è scaduta o non è ancora attiva]</strong>{{- end -}}
{{else}}
La gara è sempre attiva.
{{end}}
</dd>
{{if not (.Data.Contest.Date|zeroTime)}}
<dt class="col-sm-3">Prima visualizzazione</dt>
<dd class="col-sm-9">
{{if not (.Data.StartTime|zeroTime)}}
La prova di gara è stata visualizzata per la prima volta il giorno {{.Data.StartTime|prettyDate}} alle ore {{.Data.StartTime|convertTime}}
{{else}}
Il partecipante non ha ancora visualizzato la prova.
{{end}}
</dd>
<dt class="col-sm-3">Durata della gara</dt>
<dd class="col-sm-9">
{{if not .Data.Contest.IsAlwaysActive}}
{{.Data.Contest.Duration}} min {{if .Data.StartTime|zeroTime}}(la prova dovrà comunque essere consegnata al massimo entro le ore {{.Data.Contest.EndTime|convertTime}}){{end}}
{{else}}
La gara ha una durata illimitata.
{{end}}
</dd>
{{if not (.Data.StartTime|zeroTime)}}
<dt class="col-sm-3">Finestra di consegna</dt>
<dd class="col-sm-9">
E' possibile consegnare la prova entro il giorno {{.Data.Contest.Date|prettyDate}} fino alle ore {{.Data.EndTime|convertTime}}
{{- if not .Data.IsActive -}}<strong> [Termini per la consegna scaduti]</strong>{{- end -}}
</dd>
<dt class="col-sm-3">Ultimo salvataggio</dt>
<dd class="col-sm-9">
L'ultimo salvataggio della prova di gara è stato effettuato il {{.Data.UpdatedAt|prettyDateTime}}
</dd>
{{end}}
{{end}}
{{if $isAdmin}}
<dt class="col-sm-3">Ordine delle domande</dt>
<dd class="col-sm-9">{{.Data.QuestionsOrder}}</dd>
<dt class="col-sm-3">Risposte fornite (IDs)</dt>
{{if .Data.AnswersIDs}}
<dd class="col-sm-9">{{printf "[%v]" .Data.AnswersIDs}}</dd>
{{else}}
<dd class="col-sm-9">nessuna risposta fornita</dd>
{{end}}
<dt class="col-sm-3">Punteggio</dt>
<dd id="score" class="col-sm-9">{{.Data.Score}}</dd>
{{if $creatorUser:=.Data.CreatedBy}}
<dt class="col-sm-3">Creato da</dt>
<dd class="col-sm-9">{{$creatorUser.Username}}[{{$creatorUser.Role}}] {{$.Data.CreatedAt|prettyDateTime}} da {{.Data.CreatorIP}}</dd>
{{end}}
{{if $updaterUser:=.Data.UpdatedBy}}
<dt class="col-sm-3">Modificato da</dt>
<dd class="col-sm-9">{{$updaterUser.Username}}[{{$updaterUser.Role}}] {{$.Data.UpdatedAt|prettyDateTime}} da {{.Data.UpdaterIP}}</dd>
{{end}}
{{end}}
</dl>
{{if .Data.Contest.Description}}
<h2 class="karmen-relation-header">Descrizione della prova</h2>
<div class="row">
<div class="col-md-12">
{{.Data.Contest.Description|markdown|html}}
</div>
</div>
{{end}}
{{if $isParticipant}}
<div class="row">
<div class="col-md-12">
<h2 class="karmen-relation-header">Suggerimenti</h2>
{{if .Data.IsActive}}
<p>
Per iniziare o riprendere la gara clicca sul pulsante a destra.
<a id="update-response" href="{{.Data.ID | update "Response"}}" class="float-right btn btn-primary btn-sm">
<span class="fa fa-edit" aria-hidden="true"></span>
Vai alla gara!
</a>
</p>
{{else}}
<p>
La gara è scaduta o non è ancora attiva.
</p>
{{end}}
</div>
</div>
{{end}}
{{if $isAdmin}}
<div class="row">
<div class="col-md-12">
{{$options := `
title: "Domande"
model: "Question"
icon: "fa fa-question-circle"
`}}
{{$noElements := "La prova del partecipante non contiene alcuna domanda."}}
{{template "relation_list" dict "options" ($options|yaml) "data" .Data.Questions "noElements" $noElements}}
</div>
</div>
{{end}}
</div>
{{ end }}