Use new error template for errors

This commit is contained in:
Andrea Fazzi 2020-01-28 15:04:28 +01:00
parent 55a3605bd0
commit f7d0fa4b39
10 changed files with 58 additions and 59 deletions

View file

@ -1 +1 @@
0.1.0-6-gb421739
0.1.0-9-g5616fce-master

View file

@ -268,16 +268,29 @@ func (model *Participant) Read(db *Database, args map[string]string, w http.Resp
}
if strconv.Itoa(int(participant.SchoolID)) != getUserIDFromToken(r) {
// setFlashMessage(w, r, "notAuthorized")
return nil, errors.NotAuthorized
}
if err := db._db.Preload("User").Preload("School").Preload("School.Participants").Preload("Category").First(&participant, id).Error; err != nil {
if err := db._db.
Preload("User").
Preload("School").
Preload("School.Participants").
Preload("Category").
First(&participant, id).Error; err != nil {
return nil, err
}
} else {
if err := db._db.Preload("User").Preload("School").Preload("School.Participants").Preload("Responses").Preload("Contests").Preload("Category").First(&participant, id).Error; err != nil {
if err := db._db.
Preload("User").
Preload("Creator").
Preload("Updater").
Preload("School").
Preload("School.Participants").
Preload("Responses").
Preload("Contests").
Preload("Category").
First(&participant, id).Error; err != nil {
return nil, err
}
@ -295,7 +308,12 @@ func (model *Participant) ReadAll(db *Database, args map[string]string, w http.R
if err != nil {
return nil, err
}
if err := db._db.Preload("Category").Preload("School").Preload("Contests").Order("lastname").Find(&participants, &Participant{SchoolID: uint(schoolId)}).Error; err != nil {
if err := db._db.
Preload("Category").
Preload("School").
Preload("Contests").
Order("lastname").
Find(&participants, &Participant{SchoolID: uint(schoolId)}).Error; err != nil {
return nil, err
}
} else {
@ -359,11 +377,7 @@ func (model *Participant) Update(db *Database, args map[string]string, w http.Re
if user, err := participant.(*Participant).exists(db); err == nil && user != nil {
if user.ID != participant.(*Participant).UserID {
// err := setFlashMessage(w, r, "participantExists")
// if err != nil {
// return nil, err
// }
return participant, nil
return nil, errors.ParticipantExists
}
} else if err != nil {
return nil, err
@ -382,7 +396,9 @@ func (model *Participant) Update(db *Database, args map[string]string, w http.Re
return nil, errors.CategoryExists
}
if err := db._db.Where([]uint(participant.(*Participant).ContestIDs)).Find(&participant.(*Participant).Contests).Error; err != nil {
if err := db._db.
Where([]uint(participant.(*Participant).ContestIDs)).
Find(&participant.(*Participant).Contests).Error; err != nil {
return nil, err
}
@ -393,7 +409,10 @@ func (model *Participant) Update(db *Database, args map[string]string, w http.Re
return nil, err
}
if err := db._db.Model(participant).Association("Contests").Replace(participant.(*Participant).Contests).Error; err != nil {
if err := db._db.
Model(participant).
Association("Contests").
Replace(participant.(*Participant).Contests).Error; err != nil {
return nil, err
}
@ -406,7 +425,10 @@ func (model *Participant) Update(db *Database, args map[string]string, w http.Re
if isAdministrator(r) {
var response Response
if err := db._db.First(&response, &Response{ParticipantID: participant.(*Participant).ID}).Error; err != nil {
if err := db._db.First(
&response,
&Response{ParticipantID: participant.(*Participant).ID},
).Error; err != nil {
return nil, err
}

View file

@ -228,7 +228,7 @@ func (model *School) Read(db *Database, args map[string]string, w http.ResponseW
func (model *School) ReadAll(db *Database, args map[string]string, w http.ResponseWriter, r *http.Request) (interface{}, error) {
var schools []*School
if err := db._db.
Preload("Participant").
Preload("Participants").
Preload("Participants.Category").
Order("code").
Find(&schools).Error; err != nil {
@ -315,7 +315,9 @@ func SaveSchool(db *Database, school interface{}) (interface{}, error) {
func (model *School) HasCategory(db *Database, participant *Participant) (bool, error) {
var participants []*Participant
if err := db._db.Where("category_id = ? AND school_id = ? AND id <> ?", participant.CategoryID, model.ID, participant.ID).Find(&participants).Error; err != nil {
if err := db._db.
Where("category_id = ? AND school_id = ? AND id <> ?", participant.CategoryID, model.ID, participant.ID).
Find(&participants).Error; err != nil {
return false, err
}
return len(participants) > 0, nil

View file

@ -50,6 +50,7 @@ var (
"mod2": mod2,
"toLower": toLower,
"anchor": anchor,
"alertLink": alertLink,
"html": html,
"field": field,
"modelName": modelName,
@ -185,6 +186,10 @@ func anchor(text, url string) template.HTML {
return template.HTML(fmt.Sprintf("<a href=\"%s\">%s</a>", url, text))
}
func alertLink(text, url string) template.HTML {
return template.HTML(fmt.Sprintf("<a class=\"alert-link\" href=\"%s\">%s</a>", url, text))
}
func toLower(text string) string {
return strings.ToLower(text)
}

View file

@ -1,11 +1,4 @@
{{ define "content" }}
<div class="container">
<h1 class="border-bottom">Errore</h1>
<p>
Si è verificato un errore durante la creazione o l'aggiornamento di un partecipante: <strong>{{.Data}}</strong>
</p>
<p>
Clicca {{.Referer|anchor "qui"}} per tornare al modulo di creazione del partecipante.
</p>
</div>
{{ end }}
{{$options := `title: "Errore nella creazione/aggiornamento di un partecipante"`}}
{{template "error" dict "options" ($options|yaml) "data" .Data}}
{{end}}

View file

@ -1,6 +1,4 @@
{{ define "content" }}
{{$options := `
title: "Errore nella creazione/aggiornamento di un partecipante"
`}}
{{$options := `title: "Errore nella creazione/aggiornamento di un partecipante"`}}
{{template "error" dict "options" ($options|yaml) "data" .Data}}
{{end}}

View file

@ -1,11 +1,4 @@
{{ define "content" }}
<div class="container">
<h1 class="border-bottom">Errore</h1>
<p>
Si è verificato nella gestione della prova di gara: <strong>{{.Data}}</strong>
</p>
<p>
Clicca {{.Claims|userId|show "Participant"|anchor "qui"}} per tornare alle informazioni sul partecipante.
</p>
</div>
{{ end }}
{{$options := `title: "Errore nella gestione della prova di gara"`}}
{{template "error" dict "options" ($options|yaml) "data" .Data}}
{{end}}

View file

@ -1,11 +1,4 @@
{{ define "content" }}
<div class="container">
<h1 class="border-bottom">Errore</h1>
<p>
Si è verificato un errore durante la creazione o l'aggiornamento di un partecipante: <strong>{{.Data}}</strong>
</p>
<p>
Clicca {{create "Participant"|anchor "qui"}} per tornare al modulo di creazione del partecipante.
</p>
</div>
{{ end }}
{{$options := `title: "Errore nella creazione/aggiornamento di un partecipante"`}}
{{template "error" dict "options" ($options|yaml) "data" .Data}}
{{end}}

View file

@ -1,11 +1,4 @@
{{ define "content" }}
<div class="container">
<h1 class="border-bottom">Errore</h1>
<p>
Si è verificato un errore durante la creazione o l'aggiornamento di una scuola: <strong>{{.Data}}</strong>
</p>
<p>
Clicca {{create "School"|anchor "qui"}} per tornare al modulo di iscrizione.
</p>
</div>
{{ end }}
{{$options := `title: "Errore nella creazione/aggiornamento di una scuola"`}}
{{template "error" dict "options" ($options|yaml) "data" .Data}}
{{end}}

View file

@ -6,7 +6,7 @@
</h4>
{{.data}}
{{if .data.Referer}}
Clicca {{.data.Referer|anchor "qui"}} per tornare all'azione precedente.
Clicca {{.data.Referer|alertLink "qui"}} per tornare all'azione precedente.
{{end}}
</div>
<p>