Add the new service form
This commit is contained in:
parent
cdea3e59de
commit
d4cabce7f5
|
@ -45,6 +45,16 @@ func (h *AdminHandler) Handler(user *auth.User, company *auth.Company, conn *dat
|
||||||
switch r.Method {
|
switch r.Method {
|
||||||
case http.MethodGet:
|
case http.MethodGet:
|
||||||
serveHomeIndex(w, r, user, company, conn)
|
serveHomeIndex(w, r, user, company, conn)
|
||||||
|
case http.MethodPost:
|
||||||
|
addService(w, r, user, company, conn)
|
||||||
|
default:
|
||||||
|
httplib.MethodNotAllowed(w, r, http.MethodGet, http.MethodPost)
|
||||||
|
}
|
||||||
|
case "new":
|
||||||
|
switch r.Method {
|
||||||
|
case http.MethodGet:
|
||||||
|
f := newServiceForm(r.Context(), conn)
|
||||||
|
f.MustRender(w, r, user, company)
|
||||||
default:
|
default:
|
||||||
httplib.MethodNotAllowed(w, r, http.MethodGet)
|
httplib.MethodNotAllowed(w, r, http.MethodGet)
|
||||||
}
|
}
|
||||||
|
@ -172,6 +182,18 @@ func collectServiceEntries(ctx context.Context, company *auth.Company, conn *dat
|
||||||
return services, nil
|
return services, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func addService(w http.ResponseWriter, r *http.Request, user *auth.User, company *auth.Company, conn *database.Conn) {
|
||||||
|
f := newServiceForm(r.Context(), conn)
|
||||||
|
if ok, err := form.Handle(f, w, r, user); err != nil {
|
||||||
|
return
|
||||||
|
} else if !ok {
|
||||||
|
f.MustRender(w, r, user, company)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
conn.MustExec(r.Context(), "select add_service($1, $2, $3, $4)", company.ID, f.Icon, f.Name, f.Description)
|
||||||
|
httplib.Redirect(w, r, "/admin/services", http.StatusSeeOther)
|
||||||
|
}
|
||||||
|
|
||||||
func editService(w http.ResponseWriter, r *http.Request, user *auth.User, company *auth.Company, conn *database.Conn, f *serviceForm) {
|
func editService(w http.ResponseWriter, r *http.Request, user *auth.User, company *auth.Company, conn *database.Conn, f *serviceForm) {
|
||||||
if ok, err := form.Handle(f, w, r, user); err != nil {
|
if ok, err := form.Handle(f, w, r, user); err != nil {
|
||||||
return
|
return
|
||||||
|
|
21
po/ca.po
21
po/ca.po
|
@ -8,7 +8,7 @@ msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: camper\n"
|
"Project-Id-Version: camper\n"
|
||||||
"Report-Msgid-Bugs-To: jordi@tandem.blog\n"
|
"Report-Msgid-Bugs-To: jordi@tandem.blog\n"
|
||||||
"POT-Creation-Date: 2023-09-25 20:03+0200\n"
|
"POT-Creation-Date: 2023-09-26 16:50+0200\n"
|
||||||
"PO-Revision-Date: 2023-07-22 23:45+0200\n"
|
"PO-Revision-Date: 2023-07-22 23:45+0200\n"
|
||||||
"Last-Translator: jordi fita mas <jordi@tandem.blog>\n"
|
"Last-Translator: jordi fita mas <jordi@tandem.blog>\n"
|
||||||
"Language-Team: Catalan <ca@dodds.net>\n"
|
"Language-Team: Catalan <ca@dodds.net>\n"
|
||||||
|
@ -338,7 +338,7 @@ msgstr "Nom"
|
||||||
|
|
||||||
#: web/templates/admin/campsite/type/index.gohtml:18
|
#: web/templates/admin/campsite/type/index.gohtml:18
|
||||||
#: web/templates/admin/services/index.gohtml:19
|
#: web/templates/admin/services/index.gohtml:19
|
||||||
#: web/templates/admin/services/index.gohtml:56
|
#: web/templates/admin/services/index.gohtml:57
|
||||||
#: web/templates/admin/home/index.gohtml:19
|
#: web/templates/admin/home/index.gohtml:19
|
||||||
msgctxt "campsite type"
|
msgctxt "campsite type"
|
||||||
msgid "Translations"
|
msgid "Translations"
|
||||||
|
@ -473,14 +473,14 @@ msgid "Caption"
|
||||||
msgstr "Llegenda"
|
msgstr "Llegenda"
|
||||||
|
|
||||||
#: web/templates/admin/services/index.gohtml:20
|
#: web/templates/admin/services/index.gohtml:20
|
||||||
#: web/templates/admin/services/index.gohtml:57
|
#: web/templates/admin/services/index.gohtml:58
|
||||||
#: web/templates/admin/home/index.gohtml:20
|
#: web/templates/admin/home/index.gohtml:20
|
||||||
msgctxt "campsite type"
|
msgctxt "campsite type"
|
||||||
msgid "Actions"
|
msgid "Actions"
|
||||||
msgstr "Accions"
|
msgstr "Accions"
|
||||||
|
|
||||||
#: web/templates/admin/services/index.gohtml:39
|
#: web/templates/admin/services/index.gohtml:39
|
||||||
#: web/templates/admin/services/index.gohtml:73
|
#: web/templates/admin/services/index.gohtml:74
|
||||||
#: web/templates/admin/home/index.gohtml:39
|
#: web/templates/admin/home/index.gohtml:39
|
||||||
msgctxt "action"
|
msgctxt "action"
|
||||||
msgid "Delete"
|
msgid "Delete"
|
||||||
|
@ -491,12 +491,17 @@ msgstr "Esborra"
|
||||||
msgid "No slides added yet."
|
msgid "No slides added yet."
|
||||||
msgstr "No s’ha afegit cap diapositiva encara."
|
msgstr "No s’ha afegit cap diapositiva encara."
|
||||||
|
|
||||||
#: web/templates/admin/services/index.gohtml:55
|
#: web/templates/admin/services/index.gohtml:51
|
||||||
|
msgctxt "action"
|
||||||
|
msgid "Add service"
|
||||||
|
msgstr "Afegeix servei"
|
||||||
|
|
||||||
|
#: web/templates/admin/services/index.gohtml:56
|
||||||
msgctxt "header"
|
msgctxt "header"
|
||||||
msgid "Service"
|
msgid "Service"
|
||||||
msgstr "Servei"
|
msgstr "Servei"
|
||||||
|
|
||||||
#: web/templates/admin/services/index.gohtml:81
|
#: web/templates/admin/services/index.gohtml:82
|
||||||
msgid "No services added yet."
|
msgid "No services added yet."
|
||||||
msgstr "No s’ha afegit cap servei encara."
|
msgstr "No s’ha afegit cap servei encara."
|
||||||
|
|
||||||
|
@ -748,7 +753,7 @@ msgstr "Automàtic"
|
||||||
|
|
||||||
#: pkg/app/user.go:249 pkg/campsite/types/l10n.go:82
|
#: pkg/app/user.go:249 pkg/campsite/types/l10n.go:82
|
||||||
#: pkg/campsite/types/admin.go:274 pkg/season/admin.go:203
|
#: pkg/campsite/types/admin.go:274 pkg/season/admin.go:203
|
||||||
#: pkg/services/l10n.go:73 pkg/services/admin.go:232
|
#: pkg/services/l10n.go:73 pkg/services/admin.go:255
|
||||||
msgid "Name can not be empty."
|
msgid "Name can not be empty."
|
||||||
msgstr "No podeu deixar el nom en blanc."
|
msgstr "No podeu deixar el nom en blanc."
|
||||||
|
|
||||||
|
@ -802,7 +807,7 @@ msgstr "No podeu deixar el color en blanc."
|
||||||
msgid "This color is not valid. It must be like #123abc."
|
msgid "This color is not valid. It must be like #123abc."
|
||||||
msgstr "Aquest color no és vàlid. Hauria de ser similar a #123abc."
|
msgstr "Aquest color no és vàlid. Hauria de ser similar a #123abc."
|
||||||
|
|
||||||
#: pkg/services/admin.go:231
|
#: pkg/services/admin.go:254
|
||||||
msgid "Selected icon is not valid."
|
msgid "Selected icon is not valid."
|
||||||
msgstr "La icona escollida no és vàlida."
|
msgstr "La icona escollida no és vàlida."
|
||||||
|
|
||||||
|
|
21
po/es.po
21
po/es.po
|
@ -8,7 +8,7 @@ msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: camper\n"
|
"Project-Id-Version: camper\n"
|
||||||
"Report-Msgid-Bugs-To: jordi@tandem.blog\n"
|
"Report-Msgid-Bugs-To: jordi@tandem.blog\n"
|
||||||
"POT-Creation-Date: 2023-09-25 20:03+0200\n"
|
"POT-Creation-Date: 2023-09-26 16:50+0200\n"
|
||||||
"PO-Revision-Date: 2023-07-22 23:46+0200\n"
|
"PO-Revision-Date: 2023-07-22 23:46+0200\n"
|
||||||
"Last-Translator: jordi fita mas <jordi@tandem.blog>\n"
|
"Last-Translator: jordi fita mas <jordi@tandem.blog>\n"
|
||||||
"Language-Team: Spanish <es@tp.org.es>\n"
|
"Language-Team: Spanish <es@tp.org.es>\n"
|
||||||
|
@ -338,7 +338,7 @@ msgstr "Nombre"
|
||||||
|
|
||||||
#: web/templates/admin/campsite/type/index.gohtml:18
|
#: web/templates/admin/campsite/type/index.gohtml:18
|
||||||
#: web/templates/admin/services/index.gohtml:19
|
#: web/templates/admin/services/index.gohtml:19
|
||||||
#: web/templates/admin/services/index.gohtml:56
|
#: web/templates/admin/services/index.gohtml:57
|
||||||
#: web/templates/admin/home/index.gohtml:19
|
#: web/templates/admin/home/index.gohtml:19
|
||||||
msgctxt "campsite type"
|
msgctxt "campsite type"
|
||||||
msgid "Translations"
|
msgid "Translations"
|
||||||
|
@ -473,14 +473,14 @@ msgid "Caption"
|
||||||
msgstr "Leyenda"
|
msgstr "Leyenda"
|
||||||
|
|
||||||
#: web/templates/admin/services/index.gohtml:20
|
#: web/templates/admin/services/index.gohtml:20
|
||||||
#: web/templates/admin/services/index.gohtml:57
|
#: web/templates/admin/services/index.gohtml:58
|
||||||
#: web/templates/admin/home/index.gohtml:20
|
#: web/templates/admin/home/index.gohtml:20
|
||||||
msgctxt "campsite type"
|
msgctxt "campsite type"
|
||||||
msgid "Actions"
|
msgid "Actions"
|
||||||
msgstr "Acciones"
|
msgstr "Acciones"
|
||||||
|
|
||||||
#: web/templates/admin/services/index.gohtml:39
|
#: web/templates/admin/services/index.gohtml:39
|
||||||
#: web/templates/admin/services/index.gohtml:73
|
#: web/templates/admin/services/index.gohtml:74
|
||||||
#: web/templates/admin/home/index.gohtml:39
|
#: web/templates/admin/home/index.gohtml:39
|
||||||
msgctxt "action"
|
msgctxt "action"
|
||||||
msgid "Delete"
|
msgid "Delete"
|
||||||
|
@ -491,12 +491,17 @@ msgstr "Borrar"
|
||||||
msgid "No slides added yet."
|
msgid "No slides added yet."
|
||||||
msgstr "No se ha añadido ninguna diapositiva todavía."
|
msgstr "No se ha añadido ninguna diapositiva todavía."
|
||||||
|
|
||||||
#: web/templates/admin/services/index.gohtml:55
|
#: web/templates/admin/services/index.gohtml:51
|
||||||
|
msgctxt "action"
|
||||||
|
msgid "Add service"
|
||||||
|
msgstr "Añadir servicio"
|
||||||
|
|
||||||
|
#: web/templates/admin/services/index.gohtml:56
|
||||||
msgctxt "header"
|
msgctxt "header"
|
||||||
msgid "Service"
|
msgid "Service"
|
||||||
msgstr "Servicio"
|
msgstr "Servicio"
|
||||||
|
|
||||||
#: web/templates/admin/services/index.gohtml:81
|
#: web/templates/admin/services/index.gohtml:82
|
||||||
msgid "No services added yet."
|
msgid "No services added yet."
|
||||||
msgstr "No se ha añadido ningún servicio todavía."
|
msgstr "No se ha añadido ningún servicio todavía."
|
||||||
|
|
||||||
|
@ -748,7 +753,7 @@ msgstr "Automático"
|
||||||
|
|
||||||
#: pkg/app/user.go:249 pkg/campsite/types/l10n.go:82
|
#: pkg/app/user.go:249 pkg/campsite/types/l10n.go:82
|
||||||
#: pkg/campsite/types/admin.go:274 pkg/season/admin.go:203
|
#: pkg/campsite/types/admin.go:274 pkg/season/admin.go:203
|
||||||
#: pkg/services/l10n.go:73 pkg/services/admin.go:232
|
#: pkg/services/l10n.go:73 pkg/services/admin.go:255
|
||||||
msgid "Name can not be empty."
|
msgid "Name can not be empty."
|
||||||
msgstr "No podéis dejar el nombre en blanco."
|
msgstr "No podéis dejar el nombre en blanco."
|
||||||
|
|
||||||
|
@ -802,7 +807,7 @@ msgstr "No podéis dejar el color en blanco."
|
||||||
msgid "This color is not valid. It must be like #123abc."
|
msgid "This color is not valid. It must be like #123abc."
|
||||||
msgstr "Este color no es válido. Tiene que ser parecido a #123abc."
|
msgstr "Este color no es válido. Tiene que ser parecido a #123abc."
|
||||||
|
|
||||||
#: pkg/services/admin.go:231
|
#: pkg/services/admin.go:254
|
||||||
msgid "Selected icon is not valid."
|
msgid "Selected icon is not valid."
|
||||||
msgstr "El icono escogido no es válido."
|
msgstr "El icono escogido no es válido."
|
||||||
|
|
||||||
|
|
|
@ -48,6 +48,7 @@
|
||||||
{{- end }}
|
{{- end }}
|
||||||
|
|
||||||
<h2>{{( pgettext "Services" "title" )}}</h2>
|
<h2>{{( pgettext "Services" "title" )}}</h2>
|
||||||
|
<a href="/admin/services/new">{{( pgettext "Add service" "action" )}}</a>
|
||||||
{{ if .Services -}}
|
{{ if .Services -}}
|
||||||
<table class="services">
|
<table class="services">
|
||||||
<thead>
|
<thead>
|
||||||
|
|
Loading…
Reference in New Issue