From f5781db5b0b0ea4c00ce7f5b93b57230ad1daad7 Mon Sep 17 00:00:00 2001 From: Andrea Fazzi Date: Tue, 28 Jan 2020 17:01:24 +0100 Subject: [PATCH] Add error for question order string empty --- errors/errors.go | 7 +++++- handlers/handlers.go | 25 +++++++++---------- i18n/i18n.go | 21 +++++----------- orm/response.go | 4 +++ .../error_questions_order_is_empty.html.tpl | 4 +++ 5 files changed, 32 insertions(+), 29 deletions(-) create mode 100644 templates/error_questions_order_is_empty.html.tpl diff --git a/errors/errors.go b/errors/errors.go index db51a8a0..fa749a12 100644 --- a/errors/errors.go +++ b/errors/errors.go @@ -33,7 +33,7 @@ var ( CategoryExists = &Error{ TemplateName: "error_category_exists", - Err: errors.New(i18n.FlashMessages["categoryExists"]["it"]), + Err: errors.New(i18n.Errors["categoryExists"]["it"]), } OutOfTime = &Error{ @@ -45,4 +45,9 @@ var ( TemplateName: "error_contest_has_zero_questions", Err: errors.New(i18n.Errors["contestHasZeroQuestions"]["it"]), } + + QuestionsOrderIsEmpty = &Error{ + TemplateName: "error_questions_order_is_empty", + Err: errors.New(i18n.Errors["questionsOrderIsEmpty"]["it"]), + } ) diff --git a/handlers/handlers.go b/handlers/handlers.go index 02aa77be..47776841 100644 --- a/handlers/handlers.go +++ b/handlers/handlers.go @@ -14,7 +14,6 @@ import ( "git.andreafazzi.eu/andrea/oef/config" "git.andreafazzi.eu/andrea/oef/errors" - "git.andreafazzi.eu/andrea/oef/i18n" "git.andreafazzi.eu/andrea/oef/orm" "git.andreafazzi.eu/andrea/oef/reflect" "git.andreafazzi.eu/andrea/oef/renderer" @@ -271,18 +270,18 @@ func DefaultRecoverHandler(next http.Handler) http.Handler { return http.HandlerFunc(fn) } -func (h *Handlers) setFlashMessage(w http.ResponseWriter, r *http.Request, key string) error { - session, err := h.CookieStore.Get(r, "flash-session") - if err != nil { - return err - } - session.AddFlash(i18n.FlashMessages[key][h.Config.Language]) - err = session.Save(r, w) - if err != nil { - return err - } - return nil -} +// func (h *Handlers) setFlashMessage(w http.ResponseWriter, r *http.Request, key string) error { +// session, err := h.CookieStore.Get(r, "flash-session") +// if err != nil { +// return err +// } +// session.AddFlash(i18n.FlashMessages[key][h.Config.Language]) +// err = session.Save(r, w) +// if err != nil { +// return err +// } +// return nil +// } func (h *Handlers) hasPermission(r *http.Request, path string) bool { claims := getClaims(r) diff --git a/i18n/i18n.go b/i18n/i18n.go index bd180f68..1cc325ff 100644 --- a/i18n/i18n.go +++ b/i18n/i18n.go @@ -1,21 +1,6 @@ package i18n var ( - FlashMessages = map[string]map[string]string{ - "participantExists": map[string]string{ - "it": "Un partecipante con questo codice fiscale è già presente nella base dati!", - }, - "schoolExists": map[string]string{ - "it": "Una scuola con questo codice meccanografico è già presente nella base dati!", - }, - "categoryExists": map[string]string{ - "it": "Un partecipante della stessa categoria è già stato iscritto dalla scuola.", - }, - "notAuthorized": map[string]string{ - "it": "L'utente non dispone delle autorizzazioni necessarie a visualizzare questa pagina.", - }, - } - Formats = map[string]map[string]string{ "dateTime": map[string]string{ "it": "il %02d/%02d/%d alle ore %02d:%02d", @@ -53,5 +38,11 @@ var ( "contestHasZeroQuestions": map[string]string{ "it": "La gara a cui il partecipante è iscritto non contiene alcuna domanda.", }, + "questionsOrderIsEmpty": map[string]string{ + "it": "La prova presenta la stringa relativa all'ordine delle domande vuota.", + }, + "categoryExists": map[string]string{ + "it": "Esiste già un partecipante di questa categoria.", + }, } ) diff --git a/orm/response.go b/orm/response.go index 3a71d143..bee82266 100644 --- a/orm/response.go +++ b/orm/response.go @@ -160,6 +160,10 @@ func (model *Response) Read(db *Database, args map[string]string, w http.Respons } + if response.QuestionsOrder == "" { + return nil, errors.QuestionsOrderIsEmpty + } + qOrder := make([]uint, 0) qIDs := strings.Split(response.QuestionsOrder, " ") for _, id := range qIDs { diff --git a/templates/error_questions_order_is_empty.html.tpl b/templates/error_questions_order_is_empty.html.tpl new file mode 100644 index 00000000..bc9d3bc6 --- /dev/null +++ b/templates/error_questions_order_is_empty.html.tpl @@ -0,0 +1,4 @@ +{{ define "content" }} +{{$options := `title: "Errore nell'apertura della prova di gara"`}} +{{template "error" dict "options" ($options|yaml) "data" .Data}} +{{end}}