131 lines
4.7 KiB
Smarty
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 }}
|