From 950bae16e1fdd08c4c8b76c5bfe361a19ab719e3 Mon Sep 17 00:00:00 2001 From: jordi fita mas Date: Sat, 24 Feb 2024 20:03:11 +0100 Subject: [PATCH] Make address, postcode, and city require for booking Customer changed their mind. --- pkg/booking/payment.go | 1 + pkg/booking/public.go | 11 +- pkg/company/admin.go | 4 +- po/ca.po | 146 +++++++++++--------- po/es.po | 148 +++++++++++---------- po/fr.po | 148 +++++++++++---------- web/static/public.css | 23 ++-- web/templates/admin/form.gohtml | 2 +- web/templates/public/booking/fields.gohtml | 52 ++++---- web/templates/public/booking/page.gohtml | 5 + 10 files changed, 298 insertions(+), 242 deletions(-) diff --git a/pkg/booking/payment.go b/pkg/booking/payment.go index 8b7523f..fa120df 100644 --- a/pkg/booking/payment.go +++ b/pkg/booking/payment.go @@ -27,6 +27,7 @@ func requestPayment(w http.ResponseWriter, r *http.Request, user *auth.User, com w.WriteHeader(http.StatusUnprocessableEntity) } page := newPublicPageWithForm(f) + page.HasErrors = true page.MustRender(w, r, user, company, conn) return } diff --git a/pkg/booking/public.go b/pkg/booking/public.go index 21451f2..a563f12 100644 --- a/pkg/booking/public.go +++ b/pkg/booking/public.go @@ -56,7 +56,8 @@ func (h *PublicHandler) Handler(user *auth.User, company *auth.Company, conn *da type publicPage struct { *template.PublicPage - Form *bookingForm + Form *bookingForm + HasErrors bool } func newPublicPage(r *http.Request, company *auth.Company, conn *database.Conn, l *locale.Locale) (*publicPage, error) { @@ -525,15 +526,17 @@ func (f *bookingCustomerFields) Valid(ctx context.Context, conn *database.Conn, v.CheckMinLength(f.FullName, 1, l.GettextNoop("Full name must have at least one letter.")) } - if country != "" && f.PostalCode.Val != "" { - if _, err := v.CheckValidPostalCode(ctx, conn, f.PostalCode, country, l.GettextNoop("This postal code is not valid.")); err != nil { + v.CheckRequired(f.Address, l.GettextNoop("Address can not be empty.")) + v.CheckRequired(f.City, l.GettextNoop("Town or village can not be empty.")) + if v.CheckRequired(f.PostalCode, l.GettextNoop("Postcode can not be empty.")) && country != "" { + if _, err := v.CheckValidPostalCode(ctx, conn, f.PostalCode, country, l.GettextNoop("This postcode is not valid.")); err != nil { return err } } if v.CheckRequired(f.Email, l.GettextNoop("Email can not be empty.")) { v.CheckValidEmail(f.Email, l.GettextNoop("This email is not valid. It should be like name@domain.com.")) } - if v.CheckRequired(f.Phone, l.GettextNoop("Phone can not be empty.")) { + if v.CheckRequired(f.Phone, l.GettextNoop("Phone can not be empty.")) && country != "" { if _, err := v.CheckValidPhone(ctx, conn, f.Phone, country, l.GettextNoop("This phone number is not valid.")); err != nil { return err } diff --git a/pkg/company/admin.go b/pkg/company/admin.go index 8073ebc..081c137 100644 --- a/pkg/company/admin.go +++ b/pkg/company/admin.go @@ -223,8 +223,8 @@ func (f *taxDetailsForm) Valid(ctx context.Context, conn *database.Conn, l *loca v.CheckRequired(f.Address, l.GettextNoop("Address can not be empty.")) v.CheckRequired(f.City, l.GettextNoop("City can not be empty.")) v.CheckRequired(f.Province, l.GettextNoop("Province can not be empty.")) - if v.CheckRequired(f.PostalCode, l.GettextNoop("Postal code can not be empty.")) { - if _, err := v.CheckValidPostalCode(ctx, conn, f.PostalCode, country, l.GettextNoop("This postal code is not valid.")); err != nil { + if v.CheckRequired(f.PostalCode, l.GettextNoop("Postcode can not be empty.")) { + if _, err := v.CheckValidPostalCode(ctx, conn, f.PostalCode, country, l.GettextNoop("This postcode is not valid.")); err != nil { return false, err } } diff --git a/po/ca.po b/po/ca.po index 0053e78..58da615 100644 --- a/po/ca.po +++ b/po/ca.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: camper\n" "Report-Msgid-Bugs-To: jordi@tandem.blog\n" -"POT-Creation-Date: 2024-02-15 15:41+0100\n" +"POT-Creation-Date: 2024-02-24 19:56+0100\n" "PO-Revision-Date: 2024-02-06 10:04+0100\n" "Last-Translator: jordi fita mas \n" "Language-Team: Catalan \n" @@ -256,7 +256,7 @@ msgid "Discover" msgstr "Descobreix" #: web/templates/public/campsite/type.gohtml:49 -#: web/templates/public/booking/fields.gohtml:266 +#: web/templates/public/booking/fields.gohtml:268 msgctxt "action" msgid "Book" msgstr "Reserva" @@ -645,6 +645,10 @@ msgstr "Obertura" msgid "RTC #%s" msgstr "Núm. RTC %s" +#: web/templates/public/booking/page.gohtml:15 +msgid "Sorry, there was a problem. You’ll find more details highlighted below." +msgstr "Hi ha hagut un problema. Trobeu més informació ressaltada a baix." + #: web/templates/public/booking/fields.gohtml:14 #: web/templates/admin/payment/details.gohtml:44 msgctxt "title" @@ -715,19 +719,23 @@ msgid "Full name" msgstr "Nom i cognoms" #: web/templates/public/booking/fields.gohtml:157 +#: web/templates/admin/payment/details.gohtml:113 +#: web/templates/admin/taxDetails.gohtml:69 msgctxt "input" -msgid "Address (optional)" -msgstr "Adreça (opcional)" +msgid "Address" +msgstr "Adreça" #: web/templates/public/booking/fields.gohtml:166 +#: web/templates/admin/payment/details.gohtml:117 +#: web/templates/admin/taxDetails.gohtml:93 msgctxt "input" -msgid "Postcode (optional)" -msgstr "Codi postal (opcional)" +msgid "Postcode" +msgstr "Codi postal" #: web/templates/public/booking/fields.gohtml:175 msgctxt "input" -msgid "Town or village (optional)" -msgstr "Població (opcional)" +msgid "Town or village" +msgstr "Població" #: web/templates/public/booking/fields.gohtml:184 #: web/templates/admin/payment/details.gohtml:125 @@ -760,31 +768,31 @@ msgctxt "input" msgid "ACSI card? (optional)" msgstr "Targeta ACSI? (opcional)" -#: web/templates/public/booking/fields.gohtml:222 +#: web/templates/public/booking/fields.gohtml:223 msgctxt "input" msgid "I have read and I accept %[1]sthe reservation conditions%[2]s" msgstr "He llegit i accepto %[1]sles condicions de reserves%[2]s" -#: web/templates/public/booking/fields.gohtml:239 +#: web/templates/public/booking/fields.gohtml:241 msgctxt "cart" msgid "Total" msgstr "Total" -#: web/templates/public/booking/fields.gohtml:244 +#: web/templates/public/booking/fields.gohtml:246 #: web/templates/admin/payment/details.gohtml:84 msgctxt "cart" msgid "Down payment" msgstr "A compte" -#: web/templates/public/booking/fields.gohtml:258 +#: web/templates/public/booking/fields.gohtml:260 msgid "By down paying the %d %% of the total, you are pre-booking your preferences. We will respond within 24 hours and this percentage will be charged if accepted." msgstr "En tramitar el %d %% del total esteu realitzant la prereserva de les vostres preferències. Us respondrem en un termini de 24 hores i us cobrarem aquest percentatge en cas que sigui acceptada." -#: web/templates/public/booking/fields.gohtml:260 +#: web/templates/public/booking/fields.gohtml:262 msgid "By paying the total you are pre-booking your preferences. We will respond within 24 hours and this amount will be charged if accepted." msgstr "En tramitar el pagament del total esteu realitzant la prereserva de les vostres preferències. Us respondrem en un termini de 24 hores i us cobrarem aquesta quantitat en cas que sigui acceptada." -#: web/templates/public/booking/fields.gohtml:264 +#: web/templates/public/booking/fields.gohtml:266 msgid "See <%s>our conditions for more information." msgstr "Consulteu <%s>les nostres condicions per a més informació." @@ -916,18 +924,6 @@ msgctxt "title" msgid "Campsite Type Options" msgstr "Opcions del tipus d’allotjament" -#: web/templates/admin/payment/details.gohtml:113 -#: web/templates/admin/taxDetails.gohtml:69 -msgctxt "input" -msgid "Address" -msgstr "Adreça" - -#: web/templates/admin/payment/details.gohtml:117 -#: web/templates/admin/taxDetails.gohtml:93 -msgctxt "input" -msgid "Postcode" -msgstr "Codi postal" - #: web/templates/admin/payment/details.gohtml:121 #: web/templates/admin/taxDetails.gohtml:77 msgctxt "input" @@ -2257,12 +2253,12 @@ msgid "Slide image must be an image media type." msgstr "La imatge de la diapositiva ha de ser un mèdia de tipus imatge." #: pkg/app/login.go:56 pkg/app/user.go:246 pkg/company/admin.go:217 -#: pkg/booking/public.go:533 +#: pkg/booking/public.go:536 msgid "Email can not be empty." msgstr "No podeu deixar el correu-e en blanc." #: pkg/app/login.go:57 pkg/app/user.go:247 pkg/company/admin.go:218 -#: pkg/booking/public.go:534 +#: pkg/booking/public.go:537 msgid "This email is not valid. It should be like name@domain.com." msgstr "Aquest correu-e no és vàlid. Hauria de ser similar a nom@domini.com." @@ -2473,8 +2469,8 @@ msgctxt "header" msgid "Children (aged 2 to 10)" msgstr "Mainada (entre 2 i 10 anys)" -#: pkg/campsite/admin.go:275 pkg/booking/public.go:171 -#: pkg/booking/public.go:226 +#: pkg/campsite/admin.go:275 pkg/booking/public.go:172 +#: pkg/booking/public.go:227 msgid "Selected campsite type is not valid." msgstr "El tipus d’allotjament escollit no és vàlid." @@ -2630,7 +2626,7 @@ msgstr "No podeu deixar l’adreça de l’enllaç en blanc." msgid "This web address is not valid. It should be like https://domain.com/." msgstr "Aquesta adreça web no és vàlida. Hauria de ser similar a https://domini.com/." -#: pkg/company/admin.go:200 pkg/booking/public.go:520 +#: pkg/company/admin.go:200 pkg/booking/public.go:521 msgid "Selected country is not valid." msgstr "El país escollit no és vàlid." @@ -2650,15 +2646,15 @@ msgstr "No podeu deixar el NIF en blanc." msgid "This VAT number is not valid." msgstr "Aquest NIF no és vàlid." -#: pkg/company/admin.go:212 pkg/booking/public.go:536 +#: pkg/company/admin.go:212 pkg/booking/public.go:539 msgid "Phone can not be empty." msgstr "No podeu deixar el telèfon en blanc." -#: pkg/company/admin.go:213 pkg/booking/public.go:537 +#: pkg/company/admin.go:213 pkg/booking/public.go:540 msgid "This phone number is not valid." msgstr "Aquest número de telèfon no és vàlid." -#: pkg/company/admin.go:223 +#: pkg/company/admin.go:223 pkg/booking/public.go:529 msgid "Address can not be empty." msgstr "No podeu deixar l’adreça en blanc." @@ -2670,12 +2666,12 @@ msgstr "No podeu deixar la població en blanc." msgid "Province can not be empty." msgstr "No podeu deixar la província en blanc." -#: pkg/company/admin.go:226 -msgid "Postal code can not be empty." +#: pkg/company/admin.go:226 pkg/booking/public.go:531 +msgid "Postcode can not be empty." msgstr "No podeu deixar el codi postal en blanc." -#: pkg/company/admin.go:227 pkg/booking/public.go:529 -msgid "This postal code is not valid." +#: pkg/company/admin.go:227 pkg/booking/public.go:532 +msgid "This postcode is not valid." msgstr "Aquest codi postal no és vàlid." #: pkg/company/admin.go:231 @@ -2744,127 +2740,145 @@ msgctxt "filename" msgid "bookings.ods" msgstr "reserves.ods" -#: pkg/booking/public.go:275 pkg/booking/public.go:304 +#: pkg/booking/public.go:276 pkg/booking/public.go:305 msgid "Arrival date must be a valid date." msgstr "La data d’arribada ha de ser una data vàlida." -#: pkg/booking/public.go:289 pkg/booking/public.go:311 +#: pkg/booking/public.go:290 pkg/booking/public.go:312 msgid "Departure date must be a valid date." msgstr "La data de sortida ha de ser una data vàlida." -#: pkg/booking/public.go:303 +#: pkg/booking/public.go:304 msgid "Arrival date can not be empty" msgstr "No podeu deixar la data d’arribada en blanc." -#: pkg/booking/public.go:305 +#: pkg/booking/public.go:306 #, c-format msgid "Arrival date must be %s or after." msgstr "La data d’arribada ha de ser igual o posterior a %s." -#: pkg/booking/public.go:306 +#: pkg/booking/public.go:307 #, c-format msgid "Arrival date must be %s or before." msgstr "La data d’arribada ha de ser anterior o igual a %s." -#: pkg/booking/public.go:310 +#: pkg/booking/public.go:311 msgid "Departure date can not be empty" msgstr "No podeu deixar la data de sortida en blanc." -#: pkg/booking/public.go:312 +#: pkg/booking/public.go:313 #, c-format msgid "Departure date must be %s or after." msgstr "La data de sortida ha de ser igual o posterior a %s." -#: pkg/booking/public.go:313 +#: pkg/booking/public.go:314 #, c-format msgid "Departure date must be %s or before." msgstr "La data de sortida ha de ser anterior o igual a %s." -#: pkg/booking/public.go:355 +#: pkg/booking/public.go:356 #, c-format msgid "There can be at most %d guests in this accommodation." msgstr "Hi poden haver com a màxim %d convidats a aquest allotjament." -#: pkg/booking/public.go:375 +#: pkg/booking/public.go:376 msgid "Number of adults can not be empty" msgstr "No podeu deixar el número d’adults en blanc." -#: pkg/booking/public.go:376 +#: pkg/booking/public.go:377 msgid "Number of adults must be an integer." msgstr "El número d’adults ha de ser enter." -#: pkg/booking/public.go:377 +#: pkg/booking/public.go:378 msgid "There must be at least one adult." msgstr "Hi ha d’haver com a mínim un adult." -#: pkg/booking/public.go:380 +#: pkg/booking/public.go:381 msgid "Number of teenagers can not be empty" msgstr "No podeu deixar el número d’adolescents en blanc." -#: pkg/booking/public.go:381 +#: pkg/booking/public.go:382 msgid "Number of teenagers must be an integer." msgstr "El número d’adolescents ha de ser enter." -#: pkg/booking/public.go:382 +#: pkg/booking/public.go:383 msgid "Number of teenagers can not be negative." msgstr "El número d’adolescents no pot ser negatiu." -#: pkg/booking/public.go:385 +#: pkg/booking/public.go:386 msgid "Number of children can not be empty" msgstr "No podeu deixar el número de nens en blanc." -#: pkg/booking/public.go:386 +#: pkg/booking/public.go:387 msgid "Number of children must be an integer." msgstr "El número de nens ha de ser enter." -#: pkg/booking/public.go:387 +#: pkg/booking/public.go:388 msgid "Number of children can not be negative." msgstr "El número de nens no pot ser negatiu." -#: pkg/booking/public.go:390 +#: pkg/booking/public.go:391 msgid "Number of dogs can not be empty" msgstr "No podeu deixar el número de gossos en blanc." -#: pkg/booking/public.go:391 +#: pkg/booking/public.go:392 msgid "Number of dogs must be an integer." msgstr "El número de gossos ha de ser enter." -#: pkg/booking/public.go:392 +#: pkg/booking/public.go:393 msgid "Number of dogs can not be negative." msgstr "El número de gossos no pot ser negatiu." -#: pkg/booking/public.go:463 +#: pkg/booking/public.go:464 #, c-format msgid "%s can not be empty" msgstr "No podeu deixar %s en blanc." -#: pkg/booking/public.go:464 +#: pkg/booking/public.go:465 #, c-format msgid "%s must be an integer." msgstr "%s ha de ser un número enter." -#: pkg/booking/public.go:465 +#: pkg/booking/public.go:466 #, c-format msgid "%s must be %d or greater." msgstr "El valor de %s ha de ser com a mínim %d." -#: pkg/booking/public.go:466 +#: pkg/booking/public.go:467 #, c-format msgid "%s must be at most %d." msgstr "El valor de %s ha de ser com a màxim %d." -#: pkg/booking/public.go:524 +#: pkg/booking/public.go:525 msgid "Full name can not be empty." msgstr "No podeu deixar el nom i els cognoms en blanc." -#: pkg/booking/public.go:525 +#: pkg/booking/public.go:526 msgid "Full name must have at least one letter." msgstr "El nom i els cognoms han de tenir com a mínim una lletra." -#: pkg/booking/public.go:542 +#: pkg/booking/public.go:530 +msgid "Town or village can not be empty." +msgstr "No podeu deixar la població en blanc." + +#: pkg/booking/public.go:545 msgid "It is mandatory to agree to the reservation conditions." msgstr "És obligatori acceptar les condicions de reserves." +#~ msgid "Postal code can not be empty." +#~ msgstr "No podeu deixar el codi postal en blanc." + +#~ msgid "This postal code is not valid." +#~ msgstr "Aquest codi postal no és vàlid." + +#~ msgctxt "input" +#~ msgid "Address (optional)" +#~ msgstr "Adreça (opcional)" + +#~ msgctxt "input" +#~ msgid "Postcode (optional)" +#~ msgstr "Codi postal (opcional)" + #~ msgctxt "action" #~ msgid "Pay" #~ msgstr "Paga" diff --git a/po/es.po b/po/es.po index 0bc5fec..e26f1ea 100644 --- a/po/es.po +++ b/po/es.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: camper\n" "Report-Msgid-Bugs-To: jordi@tandem.blog\n" -"POT-Creation-Date: 2024-02-15 15:41+0100\n" +"POT-Creation-Date: 2024-02-24 19:56+0100\n" "PO-Revision-Date: 2024-02-06 10:04+0100\n" "Last-Translator: jordi fita mas \n" "Language-Team: Spanish \n" @@ -256,7 +256,7 @@ msgid "Discover" msgstr "Descubre" #: web/templates/public/campsite/type.gohtml:49 -#: web/templates/public/booking/fields.gohtml:266 +#: web/templates/public/booking/fields.gohtml:268 msgctxt "action" msgid "Book" msgstr "Reservar" @@ -645,6 +645,10 @@ msgstr "Apertura" msgid "RTC #%s" msgstr " RTC %s" +#: web/templates/public/booking/page.gohtml:15 +msgid "Sorry, there was a problem. You’ll find more details highlighted below." +msgstr "Ha habido un problema. Encontraréis más información resaltada debajo." + #: web/templates/public/booking/fields.gohtml:14 #: web/templates/admin/payment/details.gohtml:44 msgctxt "title" @@ -715,19 +719,23 @@ msgid "Full name" msgstr "Nombre y apellidos" #: web/templates/public/booking/fields.gohtml:157 +#: web/templates/admin/payment/details.gohtml:113 +#: web/templates/admin/taxDetails.gohtml:69 msgctxt "input" -msgid "Address (optional)" -msgstr "Dirección (opcional)" +msgid "Address" +msgstr "Dirección" #: web/templates/public/booking/fields.gohtml:166 +#: web/templates/admin/payment/details.gohtml:117 +#: web/templates/admin/taxDetails.gohtml:93 msgctxt "input" -msgid "Postcode (optional)" -msgstr "Código postal (opcional)" +msgid "Postcode" +msgstr "Código postal" #: web/templates/public/booking/fields.gohtml:175 msgctxt "input" -msgid "Town or village (optional)" -msgstr "Población (opcional)" +msgid "Town or village" +msgstr "Población" #: web/templates/public/booking/fields.gohtml:184 #: web/templates/admin/payment/details.gohtml:125 @@ -760,31 +768,31 @@ msgctxt "input" msgid "ACSI card? (optional)" msgstr "¿Tarjeta ACSI? (opcional)" -#: web/templates/public/booking/fields.gohtml:222 +#: web/templates/public/booking/fields.gohtml:223 msgctxt "input" msgid "I have read and I accept %[1]sthe reservation conditions%[2]s" msgstr "He leído y acepto %[1]slas condiciones de reserva%[2]s" -#: web/templates/public/booking/fields.gohtml:239 +#: web/templates/public/booking/fields.gohtml:241 msgctxt "cart" msgid "Total" msgstr "Total" -#: web/templates/public/booking/fields.gohtml:244 +#: web/templates/public/booking/fields.gohtml:246 #: web/templates/admin/payment/details.gohtml:84 msgctxt "cart" msgid "Down payment" msgstr "A cuenta" -#: web/templates/public/booking/fields.gohtml:258 +#: web/templates/public/booking/fields.gohtml:260 msgid "By down paying the %d %% of the total, you are pre-booking your preferences. We will respond within 24 hours and this percentage will be charged if accepted." msgstr "En tramitar el %d %% del total estáis realizando la prerreserva de vuestras preferencias. Os responderemos en un término de 24 horas y os cobraremos este porcentaje en caso que sea aceptada." -#: web/templates/public/booking/fields.gohtml:260 +#: web/templates/public/booking/fields.gohtml:262 msgid "By paying the total you are pre-booking your preferences. We will respond within 24 hours and this amount will be charged if accepted." msgstr "En tramitar el pago del total estáis realizando la prerreserva de vuestras preferencias. Os responderemos en un término de 24 horas y os cobraremos esta cantidad en caso que sea aceptada." -#: web/templates/public/booking/fields.gohtml:264 +#: web/templates/public/booking/fields.gohtml:266 msgid "See <%s>our conditions for more information." msgstr "Consultad <%s>nuestras condiciones para más información." @@ -884,13 +892,11 @@ msgid "Payment" msgstr "Pago" #: web/templates/admin/payment/details.gohtml:30 -#, fuzzy msgctxt "payment header" msgid "Created at" msgstr "Creado el" #: web/templates/admin/payment/details.gohtml:34 -#, fuzzy msgctxt "payment header" msgid "Last updated at" msgstr "Actualizado por última vez el" @@ -918,18 +924,6 @@ msgctxt "title" msgid "Campsite Type Options" msgstr "Opciones del tipo de alojamiento" -#: web/templates/admin/payment/details.gohtml:113 -#: web/templates/admin/taxDetails.gohtml:69 -msgctxt "input" -msgid "Address" -msgstr "Dirección" - -#: web/templates/admin/payment/details.gohtml:117 -#: web/templates/admin/taxDetails.gohtml:93 -msgctxt "input" -msgid "Postcode" -msgstr "Código postal" - #: web/templates/admin/payment/details.gohtml:121 #: web/templates/admin/taxDetails.gohtml:77 msgctxt "input" @@ -2259,12 +2253,12 @@ msgid "Slide image must be an image media type." msgstr "La imagen de la diapositiva tiene que ser un medio de tipo imagen." #: pkg/app/login.go:56 pkg/app/user.go:246 pkg/company/admin.go:217 -#: pkg/booking/public.go:533 +#: pkg/booking/public.go:536 msgid "Email can not be empty." msgstr "No podéis dejar el correo-e en blanco." #: pkg/app/login.go:57 pkg/app/user.go:247 pkg/company/admin.go:218 -#: pkg/booking/public.go:534 +#: pkg/booking/public.go:537 msgid "This email is not valid. It should be like name@domain.com." msgstr "Este correo-e no es válido. Tiene que ser parecido a nombre@dominio.com." @@ -2475,8 +2469,8 @@ msgctxt "header" msgid "Children (aged 2 to 10)" msgstr "Niños (de 2 a 10 años)" -#: pkg/campsite/admin.go:275 pkg/booking/public.go:171 -#: pkg/booking/public.go:226 +#: pkg/campsite/admin.go:275 pkg/booking/public.go:172 +#: pkg/booking/public.go:227 msgid "Selected campsite type is not valid." msgstr "El tipo de alojamiento escogido no es válido." @@ -2632,7 +2626,7 @@ msgstr "No podéis dejar la dirección del enlace en blanco." msgid "This web address is not valid. It should be like https://domain.com/." msgstr "Esta dirección web no es válida. Tiene que ser parecido a https://dominio.com/." -#: pkg/company/admin.go:200 pkg/booking/public.go:520 +#: pkg/company/admin.go:200 pkg/booking/public.go:521 msgid "Selected country is not valid." msgstr "El país escogido no es válido." @@ -2652,15 +2646,15 @@ msgstr "No podéis dejar el NIF en blanco." msgid "This VAT number is not valid." msgstr "Este NIF no es válido." -#: pkg/company/admin.go:212 pkg/booking/public.go:536 +#: pkg/company/admin.go:212 pkg/booking/public.go:539 msgid "Phone can not be empty." msgstr "No podéis dejar el teléfono en blanco." -#: pkg/company/admin.go:213 pkg/booking/public.go:537 +#: pkg/company/admin.go:213 pkg/booking/public.go:540 msgid "This phone number is not valid." msgstr "Este teléfono no es válido." -#: pkg/company/admin.go:223 +#: pkg/company/admin.go:223 pkg/booking/public.go:529 msgid "Address can not be empty." msgstr "No podéis dejar la dirección en blanco." @@ -2672,12 +2666,12 @@ msgstr "No podéis dejar la población en blanco." msgid "Province can not be empty." msgstr "No podéis dejar la provincia en blanco." -#: pkg/company/admin.go:226 -msgid "Postal code can not be empty." +#: pkg/company/admin.go:226 pkg/booking/public.go:531 +msgid "Postcode can not be empty." msgstr "No podéis dejar el código postal en blanco." -#: pkg/company/admin.go:227 pkg/booking/public.go:529 -msgid "This postal code is not valid." +#: pkg/company/admin.go:227 pkg/booking/public.go:532 +msgid "This postcode is not valid." msgstr "Este código postal no es válido." #: pkg/company/admin.go:231 @@ -2746,127 +2740,145 @@ msgctxt "filename" msgid "bookings.ods" msgstr "reservas.ods" -#: pkg/booking/public.go:275 pkg/booking/public.go:304 +#: pkg/booking/public.go:276 pkg/booking/public.go:305 msgid "Arrival date must be a valid date." msgstr "La fecha de llegada tiene que ser una fecha válida." -#: pkg/booking/public.go:289 pkg/booking/public.go:311 +#: pkg/booking/public.go:290 pkg/booking/public.go:312 msgid "Departure date must be a valid date." msgstr "La fecha de partida tiene que ser una fecha válida." -#: pkg/booking/public.go:303 +#: pkg/booking/public.go:304 msgid "Arrival date can not be empty" msgstr "No podéis dejar la fecha de llegada en blanco." -#: pkg/booking/public.go:305 +#: pkg/booking/public.go:306 #, c-format msgid "Arrival date must be %s or after." msgstr "La fecha de llegada tiene que ser igual o posterior a %s." -#: pkg/booking/public.go:306 +#: pkg/booking/public.go:307 #, c-format msgid "Arrival date must be %s or before." msgstr "La fecha de llegada tiene que ser anterior o igual a %s." -#: pkg/booking/public.go:310 +#: pkg/booking/public.go:311 msgid "Departure date can not be empty" msgstr "No podéis dejar la fecha de partida en blanco." -#: pkg/booking/public.go:312 +#: pkg/booking/public.go:313 #, c-format msgid "Departure date must be %s or after." msgstr "La fecha de partida tiene que igual o posterior a %s." -#: pkg/booking/public.go:313 +#: pkg/booking/public.go:314 #, c-format msgid "Departure date must be %s or before." msgstr "La fecha de partida tiene que ser anterior o igual a %s." -#: pkg/booking/public.go:355 +#: pkg/booking/public.go:356 #, c-format msgid "There can be at most %d guests in this accommodation." msgstr "Solo puede haber como máximo %d invitados en este alojamiento." -#: pkg/booking/public.go:375 +#: pkg/booking/public.go:376 msgid "Number of adults can not be empty" msgstr "No podéis dejar el número de adultos blanco." -#: pkg/booking/public.go:376 +#: pkg/booking/public.go:377 msgid "Number of adults must be an integer." msgstr "El número de adultos tiene que ser entero." -#: pkg/booking/public.go:377 +#: pkg/booking/public.go:378 msgid "There must be at least one adult." msgstr "Tiene que haber como mínimo un adulto." -#: pkg/booking/public.go:380 +#: pkg/booking/public.go:381 msgid "Number of teenagers can not be empty" msgstr "No podéis dejar el número de adolescentes en blanco." -#: pkg/booking/public.go:381 +#: pkg/booking/public.go:382 msgid "Number of teenagers must be an integer." msgstr "El número de adolescentes tiene que ser entero." -#: pkg/booking/public.go:382 +#: pkg/booking/public.go:383 msgid "Number of teenagers can not be negative." msgstr "El número de adolescentes no puede ser negativo." -#: pkg/booking/public.go:385 +#: pkg/booking/public.go:386 msgid "Number of children can not be empty" msgstr "No podéis dejar el número de niños en blanco." -#: pkg/booking/public.go:386 +#: pkg/booking/public.go:387 msgid "Number of children must be an integer." msgstr "El número de niños tiene que ser entero." -#: pkg/booking/public.go:387 +#: pkg/booking/public.go:388 msgid "Number of children can not be negative." msgstr "El número de niños no puede ser negativo." -#: pkg/booking/public.go:390 +#: pkg/booking/public.go:391 msgid "Number of dogs can not be empty" msgstr "No podéis dejar el número de perros en blanco." -#: pkg/booking/public.go:391 +#: pkg/booking/public.go:392 msgid "Number of dogs must be an integer." msgstr "El número de perros tiene que ser entero." -#: pkg/booking/public.go:392 +#: pkg/booking/public.go:393 msgid "Number of dogs can not be negative." msgstr "El número de perros no puede ser negativo." -#: pkg/booking/public.go:463 +#: pkg/booking/public.go:464 #, c-format msgid "%s can not be empty" msgstr "No podéis dejar %s en blanco." -#: pkg/booking/public.go:464 +#: pkg/booking/public.go:465 #, c-format msgid "%s must be an integer." msgstr "%s tiene que ser un número entero." -#: pkg/booking/public.go:465 +#: pkg/booking/public.go:466 #, c-format msgid "%s must be %d or greater." msgstr "%s tiene que ser como mínimo %d." -#: pkg/booking/public.go:466 +#: pkg/booking/public.go:467 #, c-format msgid "%s must be at most %d." msgstr "%s tiene que ser como máximo %d" -#: pkg/booking/public.go:524 +#: pkg/booking/public.go:525 msgid "Full name can not be empty." msgstr "No podéis dejar el nombre y los apellidos en blanco." -#: pkg/booking/public.go:525 +#: pkg/booking/public.go:526 msgid "Full name must have at least one letter." msgstr "El nombre y los apellidos tienen que tener como mínimo una letra." -#: pkg/booking/public.go:542 +#: pkg/booking/public.go:530 +msgid "Town or village can not be empty." +msgstr "No podéis dejar la población en blanco." + +#: pkg/booking/public.go:545 msgid "It is mandatory to agree to the reservation conditions." msgstr "Es obligatorio aceptar las condiciones de reserva." +#~ msgid "Postal code can not be empty." +#~ msgstr "No podéis dejar el código postal en blanco." + +#~ msgid "This postal code is not valid." +#~ msgstr "Este código postal no es válido." + +#~ msgctxt "input" +#~ msgid "Address (optional)" +#~ msgstr "Dirección (opcional)" + +#~ msgctxt "input" +#~ msgid "Postcode (optional)" +#~ msgstr "Código postal (opcional)" + #~ msgctxt "action" #~ msgid "Pay" #~ msgstr "Pagar" diff --git a/po/fr.po b/po/fr.po index 03936c9..41fa6f2 100644 --- a/po/fr.po +++ b/po/fr.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: camper\n" "Report-Msgid-Bugs-To: jordi@tandem.blog\n" -"POT-Creation-Date: 2024-02-15 15:48+0100\n" +"POT-Creation-Date: 2024-02-24 19:56+0100\n" "PO-Revision-Date: 2024-02-06 10:05+0100\n" "Last-Translator: Oriol Carbonell \n" "Language-Team: French \n" @@ -256,7 +256,7 @@ msgid "Discover" msgstr "Découvrir" #: web/templates/public/campsite/type.gohtml:49 -#: web/templates/public/booking/fields.gohtml:266 +#: web/templates/public/booking/fields.gohtml:268 msgctxt "action" msgid "Book" msgstr "Réserver" @@ -645,6 +645,10 @@ msgstr "Ouverture" msgid "RTC #%s" msgstr "# RTC %s" +#: web/templates/public/booking/page.gohtml:15 +msgid "Sorry, there was a problem. You’ll find more details highlighted below." +msgstr "Il y avait un problème. Vous trouverez plus de détails ci-dessous." + #: web/templates/public/booking/fields.gohtml:14 #: web/templates/admin/payment/details.gohtml:44 msgctxt "title" @@ -715,19 +719,23 @@ msgid "Full name" msgstr "Nom et prénom" #: web/templates/public/booking/fields.gohtml:157 +#: web/templates/admin/payment/details.gohtml:113 +#: web/templates/admin/taxDetails.gohtml:69 msgctxt "input" -msgid "Address (optional)" -msgstr "Adresse (Facultatif)" +msgid "Address" +msgstr "Adresse" #: web/templates/public/booking/fields.gohtml:166 +#: web/templates/admin/payment/details.gohtml:117 +#: web/templates/admin/taxDetails.gohtml:93 msgctxt "input" -msgid "Postcode (optional)" -msgstr "Code postal (Facultatif)" +msgid "Postcode" +msgstr "Code postal" #: web/templates/public/booking/fields.gohtml:175 msgctxt "input" -msgid "Town or village (optional)" -msgstr "Ville (Facultatif)" +msgid "Town or village" +msgstr "Ville" #: web/templates/public/booking/fields.gohtml:184 #: web/templates/admin/payment/details.gohtml:125 @@ -760,31 +768,31 @@ msgctxt "input" msgid "ACSI card? (optional)" msgstr "Carte ACSI ? (Facultatif)" -#: web/templates/public/booking/fields.gohtml:222 +#: web/templates/public/booking/fields.gohtml:223 msgctxt "input" msgid "I have read and I accept %[1]sthe reservation conditions%[2]s" msgstr "J’ai lu et j’accepte %[1]sles conditions de réservation%[2]s" -#: web/templates/public/booking/fields.gohtml:239 +#: web/templates/public/booking/fields.gohtml:241 msgctxt "cart" msgid "Total" msgstr "Totale" -#: web/templates/public/booking/fields.gohtml:244 +#: web/templates/public/booking/fields.gohtml:246 #: web/templates/admin/payment/details.gohtml:84 msgctxt "cart" msgid "Down payment" msgstr "Acompte" -#: web/templates/public/booking/fields.gohtml:258 +#: web/templates/public/booking/fields.gohtml:260 msgid "By down paying the %d %% of the total, you are pre-booking your preferences. We will respond within 24 hours and this percentage will be charged if accepted." msgstr "En En effectuant le paiement de %d %% du total vous pré-réservez vos préférences. Nous vous répondrons dans les 24 heures et ce pourcentage sera facturé en cas d’acceptation." -#: web/templates/public/booking/fields.gohtml:260 +#: web/templates/public/booking/fields.gohtml:262 msgid "By paying the total you are pre-booking your preferences. We will respond within 24 hours and this amount will be charged if accepted." msgstr "En procédant au paiement du montant total vous pré-réservez vos préférences. Nous vous répondrons dans les 24 heures et ce montant sera facturé en cas d’acceptation." -#: web/templates/public/booking/fields.gohtml:264 +#: web/templates/public/booking/fields.gohtml:266 msgid "See <%s>our conditions for more information." msgstr "Consultez <%s>nos conditions pour plus d’informations." @@ -884,13 +892,11 @@ msgid "Payment" msgstr "Paiement" #: web/templates/admin/payment/details.gohtml:30 -#, fuzzy msgctxt "payment header" msgid "Created at" msgstr "Créé à" #: web/templates/admin/payment/details.gohtml:34 -#, fuzzy msgctxt "payment header" msgid "Last updated at" msgstr "Dernière mise à jour à" @@ -918,18 +924,6 @@ msgctxt "title" msgid "Campsite Type Options" msgstr "Options de type d’emplacement de camping" -#: web/templates/admin/payment/details.gohtml:113 -#: web/templates/admin/taxDetails.gohtml:69 -msgctxt "input" -msgid "Address" -msgstr "Adresse" - -#: web/templates/admin/payment/details.gohtml:117 -#: web/templates/admin/taxDetails.gohtml:93 -msgctxt "input" -msgid "Postcode" -msgstr "Code Postal" - #: web/templates/admin/payment/details.gohtml:121 #: web/templates/admin/taxDetails.gohtml:77 msgctxt "input" @@ -2259,12 +2253,12 @@ msgid "Slide image must be an image media type." msgstr "L’image de la diapositive doit être de type média d’image." #: pkg/app/login.go:56 pkg/app/user.go:246 pkg/company/admin.go:217 -#: pkg/booking/public.go:533 +#: pkg/booking/public.go:536 msgid "Email can not be empty." msgstr "L’e-mail ne peut pas être vide." #: pkg/app/login.go:57 pkg/app/user.go:247 pkg/company/admin.go:218 -#: pkg/booking/public.go:534 +#: pkg/booking/public.go:537 msgid "This email is not valid. It should be like name@domain.com." msgstr "Cette adresse e-mail n’est pas valide. Il devrait en être name@domain.com." @@ -2475,8 +2469,8 @@ msgctxt "header" msgid "Children (aged 2 to 10)" msgstr "Enfants (de 2 à 10 anys)" -#: pkg/campsite/admin.go:275 pkg/booking/public.go:171 -#: pkg/booking/public.go:226 +#: pkg/campsite/admin.go:275 pkg/booking/public.go:172 +#: pkg/booking/public.go:227 msgid "Selected campsite type is not valid." msgstr "Le type d’emplacement sélectionné n’est pas valide." @@ -2632,7 +2626,7 @@ msgstr "L’addresse du lien ne peut pas être vide." msgid "This web address is not valid. It should be like https://domain.com/." msgstr "Cette adresse web n’est pas valide. Il devrait en être https://domain.com/." -#: pkg/company/admin.go:200 pkg/booking/public.go:520 +#: pkg/company/admin.go:200 pkg/booking/public.go:521 msgid "Selected country is not valid." msgstr "Le pays sélectionné n’est pas valide." @@ -2652,15 +2646,15 @@ msgstr "Le numéro de TVA ne peut pas être vide." msgid "This VAT number is not valid." msgstr "Ce numéro de TVA n’est pas valide." -#: pkg/company/admin.go:212 pkg/booking/public.go:536 +#: pkg/company/admin.go:212 pkg/booking/public.go:539 msgid "Phone can not be empty." msgstr "Le téléphone ne peut pas être vide." -#: pkg/company/admin.go:213 pkg/booking/public.go:537 +#: pkg/company/admin.go:213 pkg/booking/public.go:540 msgid "This phone number is not valid." msgstr "Ce numéro de téléphone n’est pas valide." -#: pkg/company/admin.go:223 +#: pkg/company/admin.go:223 pkg/booking/public.go:529 msgid "Address can not be empty." msgstr "L’adresse ne peut pas être vide." @@ -2672,12 +2666,12 @@ msgstr "La ville ne peut pas être vide." msgid "Province can not be empty." msgstr "La province ne peut pas être vide." -#: pkg/company/admin.go:226 -msgid "Postal code can not be empty." +#: pkg/company/admin.go:226 pkg/booking/public.go:531 +msgid "Postcode can not be empty." msgstr "Le code postal ne peut pas être vide." -#: pkg/company/admin.go:227 pkg/booking/public.go:529 -msgid "This postal code is not valid." +#: pkg/company/admin.go:227 pkg/booking/public.go:532 +msgid "This postcode is not valid." msgstr "Ce code postal n’est pas valide." #: pkg/company/admin.go:231 @@ -2746,127 +2740,145 @@ msgctxt "filename" msgid "bookings.ods" msgstr "reservations.ods" -#: pkg/booking/public.go:275 pkg/booking/public.go:304 +#: pkg/booking/public.go:276 pkg/booking/public.go:305 msgid "Arrival date must be a valid date." msgstr "La date d’arrivée doit être une date valide." -#: pkg/booking/public.go:289 pkg/booking/public.go:311 +#: pkg/booking/public.go:290 pkg/booking/public.go:312 msgid "Departure date must be a valid date." msgstr "La date de départ doit être une date valide." -#: pkg/booking/public.go:303 +#: pkg/booking/public.go:304 msgid "Arrival date can not be empty" msgstr "La date d’arrivée ne peut pas être vide" -#: pkg/booking/public.go:305 +#: pkg/booking/public.go:306 #, c-format msgid "Arrival date must be %s or after." msgstr "La date d’arrivée doit être égale ou postérieure à %s." -#: pkg/booking/public.go:306 +#: pkg/booking/public.go:307 #, c-format msgid "Arrival date must be %s or before." msgstr "La date d’arrivée doit être antérieure ou égale à %s." -#: pkg/booking/public.go:310 +#: pkg/booking/public.go:311 msgid "Departure date can not be empty" msgstr "La date de départ ne peut pas être vide" -#: pkg/booking/public.go:312 +#: pkg/booking/public.go:313 #, c-format msgid "Departure date must be %s or after." msgstr "La date de départ doit être égale ou postérieure à %s." -#: pkg/booking/public.go:313 +#: pkg/booking/public.go:314 #, c-format msgid "Departure date must be %s or before." msgstr "La date de départ doit être antérieure ou égale à %s." -#: pkg/booking/public.go:355 +#: pkg/booking/public.go:356 #, c-format msgid "There can be at most %d guests in this accommodation." msgstr "Il peut y avoir au plus %d invités dans cet hébergement." -#: pkg/booking/public.go:375 +#: pkg/booking/public.go:376 msgid "Number of adults can not be empty" msgstr "Le nombre d’adultes ne peut pas être vide." -#: pkg/booking/public.go:376 +#: pkg/booking/public.go:377 msgid "Number of adults must be an integer." msgstr "Le nombre d’adultes doit être un entier." -#: pkg/booking/public.go:377 +#: pkg/booking/public.go:378 msgid "There must be at least one adult." msgstr "Il doit y avoir au moins un adulte." -#: pkg/booking/public.go:380 +#: pkg/booking/public.go:381 msgid "Number of teenagers can not be empty" msgstr "Le nombre d’adolescents ne peut pas être vide." -#: pkg/booking/public.go:381 +#: pkg/booking/public.go:382 msgid "Number of teenagers must be an integer." msgstr "Le nombre d’adolescents doit être un entier." -#: pkg/booking/public.go:382 +#: pkg/booking/public.go:383 msgid "Number of teenagers can not be negative." msgstr "Le nombre d’adolescents ne peut pas être négatif." -#: pkg/booking/public.go:385 +#: pkg/booking/public.go:386 msgid "Number of children can not be empty" msgstr "Le nombre d’enfants ne peut pas être vide." -#: pkg/booking/public.go:386 +#: pkg/booking/public.go:387 msgid "Number of children must be an integer." msgstr "Le nombre d’enfants doit être un entier." -#: pkg/booking/public.go:387 +#: pkg/booking/public.go:388 msgid "Number of children can not be negative." msgstr "Le nombre d’enfants ne peut pas être négatif." -#: pkg/booking/public.go:390 +#: pkg/booking/public.go:391 msgid "Number of dogs can not be empty" msgstr "Le nombre de chiens ne peut pas être vide." -#: pkg/booking/public.go:391 +#: pkg/booking/public.go:392 msgid "Number of dogs must be an integer." msgstr "Le nombre de chiens nuits être un entier." -#: pkg/booking/public.go:392 +#: pkg/booking/public.go:393 msgid "Number of dogs can not be negative." msgstr "Le nombre de chiens ne peut pas être négatif." -#: pkg/booking/public.go:463 +#: pkg/booking/public.go:464 #, c-format msgid "%s can not be empty" msgstr "%s ne peut pas être vide" -#: pkg/booking/public.go:464 +#: pkg/booking/public.go:465 #, c-format msgid "%s must be an integer." msgstr "%s doit être un entier." -#: pkg/booking/public.go:465 +#: pkg/booking/public.go:466 #, c-format msgid "%s must be %d or greater." msgstr "%s doit être %d ou plus." -#: pkg/booking/public.go:466 +#: pkg/booking/public.go:467 #, c-format msgid "%s must be at most %d." msgstr "%s doit être tout au plus %d." -#: pkg/booking/public.go:524 +#: pkg/booking/public.go:525 msgid "Full name can not be empty." msgstr "Le nom complet ne peut pas être vide." -#: pkg/booking/public.go:525 +#: pkg/booking/public.go:526 msgid "Full name must have at least one letter." msgstr "Le nom complet doit comporter au moins une lettre." -#: pkg/booking/public.go:542 +#: pkg/booking/public.go:530 +msgid "Town or village can not be empty." +msgstr "La ville ne peut pas être vide." + +#: pkg/booking/public.go:545 msgid "It is mandatory to agree to the reservation conditions." msgstr "Il est obligatoire d’accepter les conditions de réservation." +#~ msgid "Postal code can not be empty." +#~ msgstr "Le code postal ne peut pas être vide." + +#~ msgid "This postal code is not valid." +#~ msgstr "Ce code postal n’est pas valide." + +#~ msgctxt "input" +#~ msgid "Address (optional)" +#~ msgstr "Adresse (Facultatif)" + +#~ msgctxt "input" +#~ msgid "Postcode (optional)" +#~ msgstr "Code postal (Facultatif)" + #~ msgctxt "action" #~ msgid "Pay" #~ msgstr "Payer" diff --git a/web/static/public.css b/web/static/public.css index 25b62b4..cb44be0 100644 --- a/web/static/public.css +++ b/web/static/public.css @@ -103,6 +103,7 @@ html { --accent: #00aa7d; --accent-2: #FFE37F; --accent-3: #9adff4; + --error: #871d1f; --clar-rgb: 239, 237, 236; --clar: rgb(var(--clar-rgb)); } @@ -1272,14 +1273,6 @@ select { padding: 20px; } -/* -label { - display: flex; - align-items: center; - gap: 20px; -} -*/ - fieldset { display: flex; justify-content: space-between; @@ -1299,6 +1292,20 @@ button[disabled] { border-color: var(--contrast-3); } +.error { + color: var(--error); +} + +input[aria-invalid="true"] { + border-color: var(--error); +} + +.error[role="alert"] { + background-color: #fae0e3; + padding: 1em; + margin: 1em 0 2em; +} + /* radio buttins + checkbox */ /* Context for relative positioning */ diff --git a/web/templates/admin/form.gohtml b/web/templates/admin/form.gohtml index d8f2700..8106762 100644 --- a/web/templates/admin/form.gohtml +++ b/web/templates/admin/form.gohtml @@ -6,7 +6,7 @@ {{ define "error-message" -}} {{ if .Error -}} - {{ .Error }}
+ {{ .Error }}
{{- end }} {{- end }} diff --git a/web/templates/public/booking/fields.gohtml b/web/templates/public/booking/fields.gohtml index c4ed5e3..8e7bd77 100644 --- a/web/templates/public/booking/fields.gohtml +++ b/web/templates/public/booking/fields.gohtml @@ -32,8 +32,8 @@ max="{{ formatDateAttr .MaxDate }}" name="{{ .Name }}" value="{{ .Val }}" {{ template "error-attrs" . }} >
+ {{ template "error-message" . }} - {{ template "error-message" . }} {{- end }} {{ with .DepartureDate -}} - {{ template "error-message" . }} {{- end }} {{- end }} @@ -62,8 +62,8 @@ min="1"{{if not $guests.OverflowAllowed }} max="{{ $guests.MaxGuests }}"{{ end }} {{ template "error-attrs" . }} >
+ {{ template "error-message" . }} - {{ template "error-message" . }} {{- end }} {{ with .NumberTeenagers -}} - {{ template "error-message" . }} {{- end }} {{ with .NumberChildren -}} - {{ template "error-message" . }} {{- end }} {{ if .Overflow -}} {{( gettext "Note: Due to guest capacity, we have added more accomodations to the booking, but we cannot guarantee that they will be next to each other." ) | raw}} @@ -101,8 +101,8 @@ name="{{ .Name }}" value="{{ .Val }}" min="0" {{ template "error-attrs" . }} >
+ {{ template "error-message" . }} - {{ template "error-message" . }} {{- end }} {{- else -}} {{( gettext "Note: This accommodation does not allow dogs.") | raw }} @@ -124,8 +124,8 @@
+ {{ template "error-message" . }} - {{ template "error-message" . }} {{- end }} {{ range .Options -}} - {{ template "error-message" .Input }} {{- end }} {{- end }} @@ -149,35 +149,35 @@
+ {{ template "error-message" . }} - {{ template "error-message" . }} {{- end }} {{ with .Address -}} - {{ template "error-message" . }} {{- end }} {{ with .PostalCode -}} - {{ template "error-message" . }} {{- end }} {{ with .City -}} - {{ template "error-message" . }} {{- end }} {{ with .Country -}} - {{ template "error-message" . }} {{- end }} {{ with .Email -}} - {{ template "error-message" . }} {{- end }} {{ with .Phone -}} - {{ template "error-message" . }} {{- end }} {{ with .ACSICard -}}
- {{ template "error-message" . }} + > {{( pgettext "ACSI card? (optional)" "input" )}}
+ {{ template "error-message" . }} + {{- end }} {{ with .Agreement -}}
- {{ template "error-message" . }} +
+ {{ template "error-message" . }} + {{- end }} {{- end }} diff --git a/web/templates/public/booking/page.gohtml b/web/templates/public/booking/page.gohtml index af215a0..f95526d 100644 --- a/web/templates/public/booking/page.gohtml +++ b/web/templates/public/booking/page.gohtml @@ -10,6 +10,11 @@ {{ define "content" -}} {{- /*gotype: dev.tandem.ws/tandem/camper/pkg/booking.publicPage*/ -}}

{{ template "title" . }}

+ {{ if .HasErrors -}} + + {{- end }}