From c84b58a0d55d957c71533cc81f85e66f828603ee Mon Sep 17 00:00:00 2001 From: jordi fita mas Date: Fri, 3 May 2024 01:01:01 +0200 Subject: [PATCH] Add the section of prebookings It is just the index of bookings in the created state, but we thought it would make easier to understand the difference between a booking from a customer not yet confirmed, from a booking confirmed or created by the staff. --- pkg/app/admin.go | 4 + pkg/booking/admin.go | 10 +- pkg/booking/prebooking.go | 67 ++++++ po/ca.po | 216 +++++++++++------- po/es.po | 216 +++++++++++------- po/fr.po | 216 +++++++++++------- web/templates/admin/booking/form.gohtml | 14 +- web/templates/admin/layout.gohtml | 3 + web/templates/admin/prebooking/index.gohtml | 72 ++++++ web/templates/admin/prebooking/results.gohtml | 25 ++ 10 files changed, 573 insertions(+), 270 deletions(-) create mode 100644 pkg/booking/prebooking.go create mode 100644 web/templates/admin/prebooking/index.gohtml create mode 100644 web/templates/admin/prebooking/results.gohtml diff --git a/pkg/app/admin.go b/pkg/app/admin.go index 41e3735..d5068c2 100644 --- a/pkg/app/admin.go +++ b/pkg/app/admin.go @@ -41,6 +41,7 @@ type adminHandler struct { location *location.AdminHandler media *media.AdminHandler payment *payment.AdminHandler + prebooking *booking.PrebookingHandler season *season.AdminHandler services *services.AdminHandler surroundings *surroundings.AdminHandler @@ -60,6 +61,7 @@ func newAdminHandler(mediaDir string) *adminHandler { location: location.NewAdminHandler(), media: media.NewAdminHandler(mediaDir), payment: payment.NewAdminHandler(), + prebooking: booking.NewPrebookingHandler(), season: season.NewAdminHandler(), services: services.NewAdminHandler(), surroundings: surroundings.NewAdminHandler(), @@ -105,6 +107,8 @@ func (h *adminHandler) Handle(user *auth.User, company *auth.Company, conn *data h.media.Handler(user, company, conn).ServeHTTP(w, r) case "payments": h.payment.Handler(user, company, conn).ServeHTTP(w, r) + case "prebookings": + h.prebooking.Handler(user, company, conn).ServeHTTP(w, r) case "seasons": h.season.Handler(user, company, conn).ServeHTTP(w, r) case "services": diff --git a/pkg/booking/admin.go b/pkg/booking/admin.go index 4ace3aa..58e8a7e 100644 --- a/pkg/booking/admin.go +++ b/pkg/booking/admin.go @@ -286,6 +286,7 @@ func mustGetBookingStatusOptions(ctx context.Context, conn *database.Conn, local from booking_status join booking_status_i18n isi18n using(booking_status) where isi18n.lang_tag = $1 + and booking_status <> 'created' order by booking_status`, locale.Language) } @@ -322,7 +323,11 @@ func (f *filterForm) BuildQuery(args []interface{}) (string, []interface{}) { maybeAppendWhere("booking.holder_name ILIKE $%d", f.HolderName.Val, func(v string) interface{} { return "%" + v + "%" }) - maybeAppendWhere("booking.booking_status = $%d", f.BookingStatus.String(), nil) + if len(f.BookingStatus.Selected) == 0 { + where = append(where, "booking.booking_status <> 'created'") + } else { + maybeAppendWhere("booking.booking_status = $%d", f.BookingStatus.String(), nil) + } maybeAppendWhere("lower(stay) >= $%d", f.FromDate.Val, nil) maybeAppendWhere("lower(stay) <= $%d", f.ToDate.Val, nil) @@ -360,6 +365,7 @@ type adminBookingForm struct { *bookingForm ID int URL string + Status string Campsites []*CampsiteEntry selected []int Months []*Month @@ -626,6 +632,7 @@ func (f *adminBookingForm) FillFromDatabase(ctx context.Context, conn *database. row := conn.QueryRow(ctx, ` select booking_id , '/admin/bookings/' || booking.slug + , booking_status , array[campsite_type.slug::text] , lower(booking.stay)::text , upper(booking.stay)::text @@ -685,6 +692,7 @@ func (f *adminBookingForm) FillFromDatabase(ctx context.Context, conn *database. if err := row.Scan( &f.ID, &f.URL, + &f.Status, &f.CampsiteType.Selected, &arrivalDate, &departureDate, diff --git a/pkg/booking/prebooking.go b/pkg/booking/prebooking.go new file mode 100644 index 0000000..2da3c56 --- /dev/null +++ b/pkg/booking/prebooking.go @@ -0,0 +1,67 @@ +package booking + +import ( + "net/http" + + "dev.tandem.ws/tandem/camper/pkg/auth" + "dev.tandem.ws/tandem/camper/pkg/database" + httplib "dev.tandem.ws/tandem/camper/pkg/http" + "dev.tandem.ws/tandem/camper/pkg/template" +) + +type PrebookingHandler struct { +} + +func NewPrebookingHandler() *PrebookingHandler { + return &PrebookingHandler{} +} + +func (h *PrebookingHandler) Handler(user *auth.User, company *auth.Company, conn *database.Conn) http.Handler { + return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + var head string + head, r.URL.Path = httplib.ShiftPath(r.URL.Path) + + switch head { + case "": + switch r.Method { + case http.MethodGet: + servePrebookingIndex(w, r, user, company, conn) + default: + httplib.MethodNotAllowed(w, r, http.MethodGet) + } + default: + http.NotFound(w, r) + } + }) +} + +func servePrebookingIndex(w http.ResponseWriter, r *http.Request, user *auth.User, company *auth.Company, conn *database.Conn) { + filters := newFilterForm(r.Context(), conn, company, user.Locale) + if err := filters.Parse(r); err != nil { + http.Error(w, err.Error(), http.StatusBadRequest) + return + } + filters.BookingStatus.Selected = []string{"created"} + bookings, err := collectBookingEntries(r.Context(), conn, user.Locale.Language, filters) + if err != nil { + panic(err) + } + page := &prebookingIndex{ + Bookings: filters.buildCursor(bookings), + Filters: filters, + } + page.MustRender(w, r, user, company) +} + +type prebookingIndex struct { + Bookings []*bookingEntry + Filters *filterForm +} + +func (page prebookingIndex) MustRender(w http.ResponseWriter, r *http.Request, user *auth.User, company *auth.Company) { + if httplib.IsHTMxRequest(r) && page.Filters.pagination { + template.MustRenderAdminNoLayout(w, r, user, company, "prebooking/results.gohtml", page) + } else { + template.MustRenderAdminFiles(w, r, user, company, page, "prebooking/index.gohtml", "prebooking/results.gohtml") + } +} diff --git a/po/ca.po b/po/ca.po index d3aca19..fb500fe 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-04-28 22:32+0200\n" +"POT-Creation-Date: 2024-05-03 00:56+0200\n" "PO-Revision-Date: 2024-02-06 10:04+0100\n" "Last-Translator: jordi fita mas \n" "Language-Team: Catalan \n" @@ -80,7 +80,8 @@ msgstr "Pagament" #: web/templates/mail/payment/details.gotxt:9 #: web/templates/admin/payment/index.gohtml:21 #: web/templates/admin/payment/details.gohtml:52 -#: web/templates/admin/booking/index.gohtml:21 +#: web/templates/admin/prebooking/index.gohtml:59 +#: web/templates/admin/booking/index.gohtml:73 msgctxt "header" msgid "Reference" msgstr "Referència" @@ -88,7 +89,7 @@ msgstr "Referència" #: web/templates/mail/payment/details.gotxt:10 #: web/templates/admin/payment/index.gohtml:22 #: web/templates/admin/payment/details.gohtml:56 -#: web/templates/admin/booking/index.gohtml:25 +#: web/templates/admin/booking/index.gohtml:77 msgctxt "header" msgid "Status" msgstr "Estat" @@ -178,7 +179,7 @@ msgstr "Nits" #: web/templates/mail/payment/details.gotxt:22 #: web/templates/public/booking/fields.gohtml:60 #: web/templates/admin/payment/details.gohtml:98 -#: web/templates/admin/booking/fields.gohtml:93 pkg/invoice/admin.go:1064 +#: web/templates/admin/booking/fields.gohtml:93 pkg/invoice/admin.go:1062 msgctxt "input" msgid "Adults aged 17 or older" msgstr "Adults de 17 anys o més" @@ -186,7 +187,7 @@ msgstr "Adults de 17 anys o més" #: web/templates/mail/payment/details.gotxt:23 #: web/templates/public/booking/fields.gohtml:71 #: web/templates/admin/payment/details.gohtml:102 -#: web/templates/admin/booking/fields.gohtml:109 pkg/invoice/admin.go:1065 +#: web/templates/admin/booking/fields.gohtml:109 pkg/invoice/admin.go:1063 msgctxt "input" msgid "Teenagers from 11 to 16 years old" msgstr "Adolescents d’entre 11 i 16 anys" @@ -194,7 +195,7 @@ msgstr "Adolescents d’entre 11 i 16 anys" #: web/templates/mail/payment/details.gotxt:24 #: web/templates/public/booking/fields.gohtml:82 #: web/templates/admin/payment/details.gohtml:106 -#: web/templates/admin/booking/fields.gohtml:125 pkg/invoice/admin.go:1066 +#: web/templates/admin/booking/fields.gohtml:125 pkg/invoice/admin.go:1064 msgctxt "input" msgid "Children from 2 to 10 years old" msgstr "Nens d’entre 2 i 10 anys" @@ -202,14 +203,14 @@ msgstr "Nens d’entre 2 i 10 anys" #: web/templates/mail/payment/details.gotxt:25 #: web/templates/public/booking/fields.gohtml:100 #: web/templates/admin/payment/details.gohtml:110 -#: web/templates/admin/booking/fields.gohtml:140 pkg/invoice/admin.go:1067 +#: web/templates/admin/booking/fields.gohtml:140 pkg/invoice/admin.go:1065 msgctxt "input" msgid "Dogs" msgstr "Gossos" #: web/templates/mail/payment/details.gotxt:26 #: web/templates/admin/payment/details.gohtml:114 -#: web/templates/admin/booking/fields.gohtml:167 pkg/invoice/admin.go:1068 +#: web/templates/admin/booking/fields.gohtml:167 pkg/invoice/admin.go:1066 #: pkg/booking/cart.go:242 msgctxt "cart" msgid "Tourist tax" @@ -945,7 +946,7 @@ msgstr "Menú" #: web/templates/admin/campsite/type/option/form.gohtml:16 #: web/templates/admin/campsite/type/option/index.gohtml:10 #: web/templates/admin/campsite/type/index.gohtml:10 -#: web/templates/admin/layout.gohtml:46 web/templates/admin/layout.gohtml:101 +#: web/templates/admin/layout.gohtml:46 web/templates/admin/layout.gohtml:104 #: web/templates/admin/booking/fields.gohtml:266 msgctxt "title" msgid "Campsites" @@ -1217,7 +1218,7 @@ msgstr "Contingut" #: web/templates/admin/amenity/form.gohtml:91 #: web/templates/admin/home/index.gohtml:34 #: web/templates/admin/media/form.gohtml:39 -#: web/templates/admin/booking/form.gohtml:48 +#: web/templates/admin/booking/form.gohtml:52 msgctxt "action" msgid "Update" msgstr "Actualitza" @@ -1238,7 +1239,7 @@ msgstr "Actualitza" #: web/templates/admin/amenity/feature/form.gohtml:67 #: web/templates/admin/amenity/carousel/form.gohtml:52 #: web/templates/admin/amenity/form.gohtml:93 -#: web/templates/admin/booking/form.gohtml:50 +#: web/templates/admin/booking/form.gohtml:54 msgctxt "action" msgid "Add" msgstr "Afegeix" @@ -1906,7 +1907,7 @@ msgid "Phone (optional)" msgstr "Telèfon (opcional)" #: web/templates/admin/customer/index.gohtml:6 -#: web/templates/admin/layout.gohtml:95 +#: web/templates/admin/layout.gohtml:98 msgctxt "title" msgid "Customers" msgstr "Clients" @@ -1976,7 +1977,7 @@ msgstr "Nova factura" #: web/templates/admin/invoice/form.gohtml:15 #: web/templates/admin/invoice/index.gohtml:2 #: web/templates/admin/invoice/view.gohtml:6 -#: web/templates/admin/layout.gohtml:98 +#: web/templates/admin/layout.gohtml:101 msgctxt "title" msgid "Invoices" msgstr "Factures" @@ -2047,15 +2048,20 @@ msgid "All customers" msgstr "Tots els clients" #: web/templates/admin/invoice/index.gohtml:55 +#: web/templates/admin/booking/index.gohtml:38 msgid "All statuses" msgstr "Tots els estats" #: web/templates/admin/invoice/index.gohtml:63 +#: web/templates/admin/prebooking/index.gohtml:32 +#: web/templates/admin/booking/index.gohtml:46 msgctxt "input" msgid "From date" msgstr "De la data" #: web/templates/admin/invoice/index.gohtml:72 +#: web/templates/admin/prebooking/index.gohtml:41 +#: web/templates/admin/booking/index.gohtml:55 msgctxt "input" msgid "To date" msgstr "A la data" @@ -2071,6 +2077,8 @@ msgid "Filter" msgstr "Filtra" #: web/templates/admin/invoice/index.gohtml:94 +#: web/templates/admin/prebooking/index.gohtml:51 +#: web/templates/admin/booking/index.gohtml:65 msgctxt "action" msgid "Reset" msgstr "Restableix" @@ -2163,6 +2171,57 @@ msgctxt "title" msgid "Tax Base" msgstr "Base imposable" +#: web/templates/admin/prebooking/index.gohtml:6 +#: web/templates/admin/layout.gohtml:92 +#: web/templates/admin/booking/form.gohtml:20 +msgctxt "title" +msgid "Prebookings" +msgstr "Pre-reserves" + +#: web/templates/admin/prebooking/index.gohtml:23 +#: web/templates/admin/booking/index.gohtml:25 +msgctxt "input" +msgid "Holder name" +msgstr "Nom del titular" + +#: web/templates/admin/prebooking/index.gohtml:54 +#: web/templates/admin/layout.gohtml:95 +#: web/templates/admin/booking/form.gohtml:22 +#: web/templates/admin/booking/checkin.gohtml:10 +#: web/templates/admin/booking/index.gohtml:6 +#: web/templates/admin/booking/index.gohtml:68 +msgctxt "title" +msgid "Bookings" +msgstr "Reserves" + +#: web/templates/admin/prebooking/index.gohtml:60 +#: web/templates/admin/booking/index.gohtml:74 +msgctxt "header" +msgid "Arrival Date" +msgstr "Data d’arribada" + +#: web/templates/admin/prebooking/index.gohtml:61 +#: web/templates/admin/booking/index.gohtml:75 +msgctxt "header" +msgid "Departure Date" +msgstr "Data de sortida" + +#: web/templates/admin/prebooking/index.gohtml:62 +#: web/templates/admin/booking/index.gohtml:76 +msgctxt "header" +msgid "Holder Name" +msgstr "Nom del titular" + +#: web/templates/admin/prebooking/index.gohtml:70 +msgid "No prebooking found." +msgstr "No s’ha trobat cap pre-reserva." + +#: web/templates/admin/prebooking/results.gohtml:20 +#: web/templates/admin/booking/results.gohtml:23 +msgctxt "action" +msgid "Load more" +msgstr "Carrega’n més" + #: web/templates/admin/login.gohtml:6 web/templates/admin/login.gohtml:18 msgctxt "title" msgid "Login" @@ -2527,20 +2586,11 @@ msgctxt "action" msgid "Logout" msgstr "Surt" -#: web/templates/admin/layout.gohtml:92 -#: web/templates/admin/booking/form.gohtml:19 -#: web/templates/admin/booking/checkin.gohtml:10 -#: web/templates/admin/booking/index.gohtml:6 -#: web/templates/admin/booking/index.gohtml:16 -msgctxt "title" -msgid "Bookings" -msgstr "Reserves" - -#: web/templates/admin/layout.gohtml:107 +#: web/templates/admin/layout.gohtml:110 msgid "Breadcrumb" msgstr "Fil d’Ariadna" -#: web/templates/admin/layout.gohtml:119 +#: web/templates/admin/layout.gohtml:122 msgid "Camper Version: %s" msgstr "Camper versió: %s" @@ -2651,7 +2701,7 @@ msgctxt "header" msgid "Decription" msgstr "Descripció" -#: web/templates/admin/booking/fields.gohtml:81 pkg/invoice/admin.go:1063 +#: web/templates/admin/booking/fields.gohtml:81 pkg/invoice/admin.go:1061 #: pkg/booking/cart.go:232 msgctxt "cart" msgid "Night" @@ -2688,12 +2738,12 @@ msgctxt "title" msgid "New Booking" msgstr "Nova reserva" -#: web/templates/admin/booking/form.gohtml:25 +#: web/templates/admin/booking/form.gohtml:30 msgctxt "action" msgid "Check-in Booking" msgstr "Registra la reserva" -#: web/templates/admin/booking/form.gohtml:28 +#: web/templates/admin/booking/form.gohtml:31 msgctxt "action" msgid "Invoice Booking" msgstr "Factura la reserva" @@ -2728,22 +2778,12 @@ msgctxt "action" msgid "Export Bookings" msgstr "Exporta reserves" -#: web/templates/admin/booking/index.gohtml:22 -msgctxt "header" -msgid "Arrival Date" -msgstr "Data d’arribada" +#: web/templates/admin/booking/index.gohtml:34 +msgctxt "input" +msgid "Booking status" +msgstr "Estat de la reserva" -#: web/templates/admin/booking/index.gohtml:23 -msgctxt "header" -msgid "Departure Date" -msgstr "Data de sortida" - -#: web/templates/admin/booking/index.gohtml:24 -msgctxt "header" -msgid "Holder Name" -msgstr "Nom del titular" - -#: web/templates/admin/booking/index.gohtml:41 +#: web/templates/admin/booking/index.gohtml:85 msgid "No booking found." msgstr "No s’ha trobat cap reserva." @@ -2843,7 +2883,7 @@ msgctxt "order product name" msgid "Campsite Booking" msgstr "Reserva de càmping" -#: pkg/payment/public.go:374 +#: pkg/payment/public.go:378 msgctxt "subject" msgid "Booking payment successfully received" msgstr "Rebut amb èxit el pagament de la reserva" @@ -2851,7 +2891,7 @@ msgstr "Rebut amb èxit el pagament de la reserva" #: pkg/legal/admin.go:258 pkg/app/user.go:249 pkg/campsite/types/option.go:365 #: pkg/campsite/types/feature.go:272 pkg/campsite/types/admin.go:577 #: pkg/campsite/feature.go:269 pkg/season/admin.go:411 -#: pkg/invoice/admin.go:1160 pkg/services/admin.go:316 +#: pkg/invoice/admin.go:1158 pkg/services/admin.go:316 #: pkg/surroundings/admin.go:340 pkg/amenity/feature.go:269 #: pkg/amenity/admin.go:283 msgid "Name can not be empty." @@ -2893,7 +2933,7 @@ 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/customer/admin.go:345 -#: pkg/company/admin.go:225 pkg/booking/admin.go:441 pkg/booking/public.go:593 +#: pkg/company/admin.go:225 pkg/booking/admin.go:582 pkg/booking/public.go:593 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." @@ -2922,7 +2962,7 @@ msgstr "L’idioma escollit no és vàlid." msgid "File must be a valid PNG or JPEG image." msgstr "El fitxer has de ser una imatge PNG o JPEG vàlida." -#: pkg/app/admin.go:79 +#: pkg/app/admin.go:81 msgid "Access forbidden" msgstr "Accés prohibit" @@ -2950,15 +2990,15 @@ msgstr "El valor del màxim ha de ser un número enter." msgid "Maximum must be equal or greater than minimum." msgstr "El valor del màxim ha de ser igual o superir al del mínim." -#: pkg/campsite/types/option.go:382 pkg/invoice/admin.go:1161 +#: pkg/campsite/types/option.go:382 pkg/invoice/admin.go:1159 msgid "Price can not be empty." msgstr "No podeu deixar el preu en blanc." -#: pkg/campsite/types/option.go:383 pkg/invoice/admin.go:1162 +#: pkg/campsite/types/option.go:383 pkg/invoice/admin.go:1160 msgid "Price must be a decimal number." msgstr "El preu ha de ser un número decimal." -#: pkg/campsite/types/option.go:384 pkg/invoice/admin.go:1163 +#: pkg/campsite/types/option.go:384 pkg/invoice/admin.go:1161 msgid "Price must be zero or greater." msgstr "El preu ha de ser com a mínim zero." @@ -3104,7 +3144,7 @@ msgctxt "header" msgid "Children (aged 2 to 10)" msgstr "Mainada (entre 2 i 10 anys)" -#: pkg/campsite/admin.go:280 pkg/booking/admin.go:417 pkg/booking/public.go:177 +#: pkg/campsite/admin.go:280 pkg/booking/admin.go:558 pkg/booking/public.go:177 #: pkg/booking/public.go:232 msgid "Selected campsite type is not valid." msgstr "El tipus d’allotjament escollit no és vàlid." @@ -3143,25 +3183,25 @@ msgid "End date must be a valid date." msgstr "La data de fi ha de ser una data vàlida." #: pkg/customer/admin.go:326 pkg/company/admin.go:207 -#: pkg/booking/checkin.go:297 pkg/booking/public.go:577 +#: pkg/booking/checkin.go:300 pkg/booking/public.go:577 msgid "Selected country is not valid." msgstr "El país escollit no és vàlid." -#: pkg/customer/admin.go:330 pkg/booking/checkin.go:281 +#: pkg/customer/admin.go:330 pkg/booking/checkin.go:284 msgid "Selected ID document type is not valid." msgstr "El tipus de document d’identitat escollit no és vàlid." -#: pkg/customer/admin.go:331 pkg/booking/checkin.go:282 +#: pkg/customer/admin.go:331 pkg/booking/checkin.go:285 msgid "ID document number can not be empty." msgstr "No podeu deixar el número document d’identitat en blanc." -#: pkg/customer/admin.go:333 pkg/booking/checkin.go:288 -#: pkg/booking/checkin.go:289 pkg/booking/admin.go:429 +#: pkg/customer/admin.go:333 pkg/booking/checkin.go:291 +#: pkg/booking/checkin.go:292 pkg/booking/admin.go:570 #: pkg/booking/public.go:581 msgid "Full name can not be empty." msgstr "No podeu deixar el nom i els cognoms en blanc." -#: pkg/customer/admin.go:334 pkg/booking/admin.go:430 pkg/booking/public.go:582 +#: pkg/customer/admin.go:334 pkg/booking/admin.go:571 pkg/booking/public.go:582 msgid "Full name must have at least one letter." msgstr "El nom i els cognoms han de tenir com a mínim una lletra." @@ -3177,94 +3217,94 @@ msgstr "No podeu deixar la població en blanc." msgid "Postcode can not be empty." msgstr "No podeu deixar el codi postal en blanc." -#: pkg/customer/admin.go:340 pkg/company/admin.go:234 pkg/booking/admin.go:436 +#: pkg/customer/admin.go:340 pkg/company/admin.go:234 pkg/booking/admin.go:577 #: pkg/booking/public.go:588 msgid "This postcode is not valid." msgstr "Aquest codi postal no és vàlid." #: pkg/customer/admin.go:348 pkg/company/admin.go:220 -#: pkg/booking/checkin.go:301 pkg/booking/admin.go:446 +#: pkg/booking/checkin.go:304 pkg/booking/admin.go:587 #: pkg/booking/public.go:596 msgid "This phone number is not valid." msgstr "Aquest número de telèfon no és vàlid." -#: pkg/invoice/admin.go:681 +#: pkg/invoice/admin.go:679 msgctxt "filename" msgid "invoices.zip" msgstr "factures.zip" -#: pkg/invoice/admin.go:696 +#: pkg/invoice/admin.go:694 msgctxt "filename" msgid "invoices.ods" msgstr "factures.ods" -#: pkg/invoice/admin.go:698 pkg/invoice/admin.go:1360 pkg/invoice/admin.go:1367 +#: pkg/invoice/admin.go:696 pkg/invoice/admin.go:1358 pkg/invoice/admin.go:1365 msgid "Invalid action" msgstr "Acció invàlida" -#: pkg/invoice/admin.go:863 +#: pkg/invoice/admin.go:861 msgid "Selected invoice status is not valid." msgstr "L’estat de factura escollit no és vàlid." -#: pkg/invoice/admin.go:864 +#: pkg/invoice/admin.go:862 msgid "Invoice date can not be empty." msgstr "No podeu deixar la data de factura en blanc." -#: pkg/invoice/admin.go:865 +#: pkg/invoice/admin.go:863 msgid "Invoice date must be a valid date." msgstr "La data de factura ha de ser una data vàlida." -#: pkg/invoice/admin.go:1023 +#: pkg/invoice/admin.go:1021 #, c-format msgid "Re: booking #%s of %s–%s" msgstr "Ref: reserva núm. %s del %s-%s" -#: pkg/invoice/admin.go:1024 +#: pkg/invoice/admin.go:1022 msgctxt "to_char" msgid "MM/DD/YYYY" msgstr "DD/MM/YYYY" -#: pkg/invoice/admin.go:1151 +#: pkg/invoice/admin.go:1149 msgid "Invoice product ID must be an integer." msgstr "L’ID de producte de factura ha de ser enter." -#: pkg/invoice/admin.go:1152 +#: pkg/invoice/admin.go:1150 msgid "Invoice product ID one or greater." msgstr "L’ID de producte de factura ha de ser com a mínim u." -#: pkg/invoice/admin.go:1156 +#: pkg/invoice/admin.go:1154 msgid "Product ID must be an integer." msgstr "L’ID de producte ha de ser un número enter." -#: pkg/invoice/admin.go:1157 +#: pkg/invoice/admin.go:1155 msgid "Product ID must zero or greater." msgstr "L’ID de producte ha de ser com a mínim zero." -#: pkg/invoice/admin.go:1166 +#: pkg/invoice/admin.go:1164 msgid "Quantity can not be empty." msgstr "No podeu deixar la quantitat en blanc." -#: pkg/invoice/admin.go:1167 +#: pkg/invoice/admin.go:1165 msgid "Quantity must be an integer." msgstr "La quantitat ha de ser un número enter." -#: pkg/invoice/admin.go:1168 +#: pkg/invoice/admin.go:1166 msgid "Quantity must one or greater." msgstr "La quantitat ha de ser com a mínim u." -#: pkg/invoice/admin.go:1171 +#: pkg/invoice/admin.go:1169 msgid "Discount can not be empty." msgstr "No podeu deixar el descompte en blanc." -#: pkg/invoice/admin.go:1172 +#: pkg/invoice/admin.go:1170 msgid "Discount must be an integer." msgstr "El descompte ha de ser un número enter." -#: pkg/invoice/admin.go:1173 pkg/invoice/admin.go:1174 +#: pkg/invoice/admin.go:1171 pkg/invoice/admin.go:1172 msgid "Discount must be a percentage between 0 and 100." msgstr "El descompte ha de ser un percentatge entre 0 i 100" -#: pkg/invoice/admin.go:1178 +#: pkg/invoice/admin.go:1176 msgid "Selected tax is not valid." msgstr "L’impost escollit no és vàlid." @@ -3403,27 +3443,27 @@ msgstr "No podeu deixar el fitxer del mèdia en blanc." msgid "Filename can not be empty." msgstr "No podeu deixar el nom del fitxer en blanc." -#: pkg/booking/checkin.go:284 +#: pkg/booking/checkin.go:287 msgid "ID document issue date must be a valid date." msgstr "La data d’expedició del document d’identitat ha de ser una data vàlida." -#: pkg/booking/checkin.go:285 +#: pkg/booking/checkin.go:288 msgid "ID document issue date must be in the past." msgstr "La data d’expedició del document d’identitat ha de ser al passat." -#: pkg/booking/checkin.go:290 +#: pkg/booking/checkin.go:293 msgid "Selected sex is not valid." msgstr "El sexe escollit no és vàlid." -#: pkg/booking/checkin.go:291 +#: pkg/booking/checkin.go:294 msgid "Birthdate can not be empty" msgstr "No podeu deixar la data de naixement en blanc." -#: pkg/booking/checkin.go:292 +#: pkg/booking/checkin.go:295 msgid "Birthdate must be a valid date." msgstr "La data de naixement ha de ser una data vàlida." -#: pkg/booking/checkin.go:293 +#: pkg/booking/checkin.go:296 msgid "Birthdate must be in the past." msgstr "La data de naixement ha de ser al passat." @@ -3447,24 +3487,24 @@ msgctxt "cart" msgid "Dog" msgstr "Gos" -#: pkg/booking/admin.go:218 +#: pkg/booking/admin.go:236 msgctxt "filename" msgid "bookings.ods" msgstr "reserves.ods" -#: pkg/booking/admin.go:435 +#: pkg/booking/admin.go:576 msgid "Country can not be empty to validate the postcode." msgstr "No podeu deixar el país en blanc per validar el codi postal." -#: pkg/booking/admin.go:445 +#: pkg/booking/admin.go:586 msgid "Country can not be empty to validate the phone." msgstr "No podeu deixar el país en blanc per validar el telèfon." -#: pkg/booking/admin.go:452 +#: pkg/booking/admin.go:593 msgid "You must select at least one accommodation." msgstr "Heu d’escollir com a mínim un allotjament." -#: pkg/booking/admin.go:458 +#: pkg/booking/admin.go:599 msgid "The selected accommodations have no available openings in the requested dates." msgstr "Els allotjaments escollits no estan disponibles a les dates demanades." diff --git a/po/es.po b/po/es.po index 9a5c174..e2407bd 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-04-28 22:32+0200\n" +"POT-Creation-Date: 2024-05-03 00:56+0200\n" "PO-Revision-Date: 2024-02-06 10:04+0100\n" "Last-Translator: jordi fita mas \n" "Language-Team: Spanish \n" @@ -80,7 +80,8 @@ msgstr "Pago" #: web/templates/mail/payment/details.gotxt:9 #: web/templates/admin/payment/index.gohtml:21 #: web/templates/admin/payment/details.gohtml:52 -#: web/templates/admin/booking/index.gohtml:21 +#: web/templates/admin/prebooking/index.gohtml:59 +#: web/templates/admin/booking/index.gohtml:73 msgctxt "header" msgid "Reference" msgstr "Referencia" @@ -88,7 +89,7 @@ msgstr "Referencia" #: web/templates/mail/payment/details.gotxt:10 #: web/templates/admin/payment/index.gohtml:22 #: web/templates/admin/payment/details.gohtml:56 -#: web/templates/admin/booking/index.gohtml:25 +#: web/templates/admin/booking/index.gohtml:77 msgctxt "header" msgid "Status" msgstr "Estado" @@ -178,7 +179,7 @@ msgstr "Noches" #: web/templates/mail/payment/details.gotxt:22 #: web/templates/public/booking/fields.gohtml:60 #: web/templates/admin/payment/details.gohtml:98 -#: web/templates/admin/booking/fields.gohtml:93 pkg/invoice/admin.go:1064 +#: web/templates/admin/booking/fields.gohtml:93 pkg/invoice/admin.go:1062 msgctxt "input" msgid "Adults aged 17 or older" msgstr "Adultos de 17 años o más" @@ -186,7 +187,7 @@ msgstr "Adultos de 17 años o más" #: web/templates/mail/payment/details.gotxt:23 #: web/templates/public/booking/fields.gohtml:71 #: web/templates/admin/payment/details.gohtml:102 -#: web/templates/admin/booking/fields.gohtml:109 pkg/invoice/admin.go:1065 +#: web/templates/admin/booking/fields.gohtml:109 pkg/invoice/admin.go:1063 msgctxt "input" msgid "Teenagers from 11 to 16 years old" msgstr "Adolescentes de 11 a 16 años" @@ -194,7 +195,7 @@ msgstr "Adolescentes de 11 a 16 años" #: web/templates/mail/payment/details.gotxt:24 #: web/templates/public/booking/fields.gohtml:82 #: web/templates/admin/payment/details.gohtml:106 -#: web/templates/admin/booking/fields.gohtml:125 pkg/invoice/admin.go:1066 +#: web/templates/admin/booking/fields.gohtml:125 pkg/invoice/admin.go:1064 msgctxt "input" msgid "Children from 2 to 10 years old" msgstr "Niños de 2 a 10 años" @@ -202,14 +203,14 @@ msgstr "Niños de 2 a 10 años" #: web/templates/mail/payment/details.gotxt:25 #: web/templates/public/booking/fields.gohtml:100 #: web/templates/admin/payment/details.gohtml:110 -#: web/templates/admin/booking/fields.gohtml:140 pkg/invoice/admin.go:1067 +#: web/templates/admin/booking/fields.gohtml:140 pkg/invoice/admin.go:1065 msgctxt "input" msgid "Dogs" msgstr "Perros" #: web/templates/mail/payment/details.gotxt:26 #: web/templates/admin/payment/details.gohtml:114 -#: web/templates/admin/booking/fields.gohtml:167 pkg/invoice/admin.go:1068 +#: web/templates/admin/booking/fields.gohtml:167 pkg/invoice/admin.go:1066 #: pkg/booking/cart.go:242 msgctxt "cart" msgid "Tourist tax" @@ -945,7 +946,7 @@ msgstr "Menú" #: web/templates/admin/campsite/type/option/form.gohtml:16 #: web/templates/admin/campsite/type/option/index.gohtml:10 #: web/templates/admin/campsite/type/index.gohtml:10 -#: web/templates/admin/layout.gohtml:46 web/templates/admin/layout.gohtml:101 +#: web/templates/admin/layout.gohtml:46 web/templates/admin/layout.gohtml:104 #: web/templates/admin/booking/fields.gohtml:266 msgctxt "title" msgid "Campsites" @@ -1217,7 +1218,7 @@ msgstr "Contenido" #: web/templates/admin/amenity/form.gohtml:91 #: web/templates/admin/home/index.gohtml:34 #: web/templates/admin/media/form.gohtml:39 -#: web/templates/admin/booking/form.gohtml:48 +#: web/templates/admin/booking/form.gohtml:52 msgctxt "action" msgid "Update" msgstr "Actualizar" @@ -1238,7 +1239,7 @@ msgstr "Actualizar" #: web/templates/admin/amenity/feature/form.gohtml:67 #: web/templates/admin/amenity/carousel/form.gohtml:52 #: web/templates/admin/amenity/form.gohtml:93 -#: web/templates/admin/booking/form.gohtml:50 +#: web/templates/admin/booking/form.gohtml:54 msgctxt "action" msgid "Add" msgstr "Añadir" @@ -1906,7 +1907,7 @@ msgid "Phone (optional)" msgstr "Teléfono (opcional)" #: web/templates/admin/customer/index.gohtml:6 -#: web/templates/admin/layout.gohtml:95 +#: web/templates/admin/layout.gohtml:98 msgctxt "title" msgid "Customers" msgstr "Clientes" @@ -1976,7 +1977,7 @@ msgstr "Nueva factura" #: web/templates/admin/invoice/form.gohtml:15 #: web/templates/admin/invoice/index.gohtml:2 #: web/templates/admin/invoice/view.gohtml:6 -#: web/templates/admin/layout.gohtml:98 +#: web/templates/admin/layout.gohtml:101 msgctxt "title" msgid "Invoices" msgstr "Facturas" @@ -2047,15 +2048,20 @@ msgid "All customers" msgstr "Todos los clientes" #: web/templates/admin/invoice/index.gohtml:55 +#: web/templates/admin/booking/index.gohtml:38 msgid "All statuses" msgstr "Todos los estados" #: web/templates/admin/invoice/index.gohtml:63 +#: web/templates/admin/prebooking/index.gohtml:32 +#: web/templates/admin/booking/index.gohtml:46 msgctxt "input" msgid "From date" msgstr "De la fecha" #: web/templates/admin/invoice/index.gohtml:72 +#: web/templates/admin/prebooking/index.gohtml:41 +#: web/templates/admin/booking/index.gohtml:55 msgctxt "input" msgid "To date" msgstr "A la fecha" @@ -2071,6 +2077,8 @@ msgid "Filter" msgstr "Filtrar" #: web/templates/admin/invoice/index.gohtml:94 +#: web/templates/admin/prebooking/index.gohtml:51 +#: web/templates/admin/booking/index.gohtml:65 msgctxt "action" msgid "Reset" msgstr "Restablecer" @@ -2163,6 +2171,57 @@ msgctxt "title" msgid "Tax Base" msgstr "Base imponible" +#: web/templates/admin/prebooking/index.gohtml:6 +#: web/templates/admin/layout.gohtml:92 +#: web/templates/admin/booking/form.gohtml:20 +msgctxt "title" +msgid "Prebookings" +msgstr "Prereservas" + +#: web/templates/admin/prebooking/index.gohtml:23 +#: web/templates/admin/booking/index.gohtml:25 +msgctxt "input" +msgid "Holder name" +msgstr "Nombre del titular" + +#: web/templates/admin/prebooking/index.gohtml:54 +#: web/templates/admin/layout.gohtml:95 +#: web/templates/admin/booking/form.gohtml:22 +#: web/templates/admin/booking/checkin.gohtml:10 +#: web/templates/admin/booking/index.gohtml:6 +#: web/templates/admin/booking/index.gohtml:68 +msgctxt "title" +msgid "Bookings" +msgstr "Reservas" + +#: web/templates/admin/prebooking/index.gohtml:60 +#: web/templates/admin/booking/index.gohtml:74 +msgctxt "header" +msgid "Arrival Date" +msgstr "Fecha de llegada" + +#: web/templates/admin/prebooking/index.gohtml:61 +#: web/templates/admin/booking/index.gohtml:75 +msgctxt "header" +msgid "Departure Date" +msgstr "Fecha de salida" + +#: web/templates/admin/prebooking/index.gohtml:62 +#: web/templates/admin/booking/index.gohtml:76 +msgctxt "header" +msgid "Holder Name" +msgstr "Nombre del titular" + +#: web/templates/admin/prebooking/index.gohtml:70 +msgid "No prebooking found." +msgstr "No se ha encontrado ninguna prereserva." + +#: web/templates/admin/prebooking/results.gohtml:20 +#: web/templates/admin/booking/results.gohtml:23 +msgctxt "action" +msgid "Load more" +msgstr "Cargar más" + #: web/templates/admin/login.gohtml:6 web/templates/admin/login.gohtml:18 msgctxt "title" msgid "Login" @@ -2527,20 +2586,11 @@ msgctxt "action" msgid "Logout" msgstr "Salir" -#: web/templates/admin/layout.gohtml:92 -#: web/templates/admin/booking/form.gohtml:19 -#: web/templates/admin/booking/checkin.gohtml:10 -#: web/templates/admin/booking/index.gohtml:6 -#: web/templates/admin/booking/index.gohtml:16 -msgctxt "title" -msgid "Bookings" -msgstr "Reservas" - -#: web/templates/admin/layout.gohtml:107 +#: web/templates/admin/layout.gohtml:110 msgid "Breadcrumb" msgstr "Migas de pan" -#: web/templates/admin/layout.gohtml:119 +#: web/templates/admin/layout.gohtml:122 msgid "Camper Version: %s" msgstr "Camper versión: %s" @@ -2651,7 +2701,7 @@ msgctxt "header" msgid "Decription" msgstr "Descripción" -#: web/templates/admin/booking/fields.gohtml:81 pkg/invoice/admin.go:1063 +#: web/templates/admin/booking/fields.gohtml:81 pkg/invoice/admin.go:1061 #: pkg/booking/cart.go:232 msgctxt "cart" msgid "Night" @@ -2688,12 +2738,12 @@ msgctxt "title" msgid "New Booking" msgstr "Nueva reserva" -#: web/templates/admin/booking/form.gohtml:25 +#: web/templates/admin/booking/form.gohtml:30 msgctxt "action" msgid "Check-in Booking" msgstr "Registrar reserva" -#: web/templates/admin/booking/form.gohtml:28 +#: web/templates/admin/booking/form.gohtml:31 msgctxt "action" msgid "Invoice Booking" msgstr "Facturar la reserva" @@ -2728,22 +2778,12 @@ msgctxt "action" msgid "Export Bookings" msgstr "Exportar reservas" -#: web/templates/admin/booking/index.gohtml:22 -msgctxt "header" -msgid "Arrival Date" -msgstr "Fecha de llegada" +#: web/templates/admin/booking/index.gohtml:34 +msgctxt "input" +msgid "Booking status" +msgstr "Estado de la reserva" -#: web/templates/admin/booking/index.gohtml:23 -msgctxt "header" -msgid "Departure Date" -msgstr "Fecha de salida" - -#: web/templates/admin/booking/index.gohtml:24 -msgctxt "header" -msgid "Holder Name" -msgstr "Nombre del titular" - -#: web/templates/admin/booking/index.gohtml:41 +#: web/templates/admin/booking/index.gohtml:85 msgid "No booking found." msgstr "No se ha encontrado ninguna reserva." @@ -2843,7 +2883,7 @@ msgctxt "order product name" msgid "Campsite Booking" msgstr "Reserva de camping" -#: pkg/payment/public.go:374 +#: pkg/payment/public.go:378 msgctxt "subject" msgid "Booking payment successfully received" msgstr "Se ha recibido correctamente el pago de la reserva" @@ -2851,7 +2891,7 @@ msgstr "Se ha recibido correctamente el pago de la reserva" #: pkg/legal/admin.go:258 pkg/app/user.go:249 pkg/campsite/types/option.go:365 #: pkg/campsite/types/feature.go:272 pkg/campsite/types/admin.go:577 #: pkg/campsite/feature.go:269 pkg/season/admin.go:411 -#: pkg/invoice/admin.go:1160 pkg/services/admin.go:316 +#: pkg/invoice/admin.go:1158 pkg/services/admin.go:316 #: pkg/surroundings/admin.go:340 pkg/amenity/feature.go:269 #: pkg/amenity/admin.go:283 msgid "Name can not be empty." @@ -2893,7 +2933,7 @@ 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/customer/admin.go:345 -#: pkg/company/admin.go:225 pkg/booking/admin.go:441 pkg/booking/public.go:593 +#: pkg/company/admin.go:225 pkg/booking/admin.go:582 pkg/booking/public.go:593 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." @@ -2922,7 +2962,7 @@ msgstr "El idioma escogido no es válido." msgid "File must be a valid PNG or JPEG image." msgstr "El archivo tiene que ser una imagen PNG o JPEG válida." -#: pkg/app/admin.go:79 +#: pkg/app/admin.go:81 msgid "Access forbidden" msgstr "Acceso prohibido" @@ -2950,15 +2990,15 @@ msgstr "El valor del máximo tiene que ser un número entero." msgid "Maximum must be equal or greater than minimum." msgstr "El valor del máximo tiene que ser igual o mayor al del mínimo." -#: pkg/campsite/types/option.go:382 pkg/invoice/admin.go:1161 +#: pkg/campsite/types/option.go:382 pkg/invoice/admin.go:1159 msgid "Price can not be empty." msgstr "No podéis dejar el precio en blanco." -#: pkg/campsite/types/option.go:383 pkg/invoice/admin.go:1162 +#: pkg/campsite/types/option.go:383 pkg/invoice/admin.go:1160 msgid "Price must be a decimal number." msgstr "El precio tiene que ser un número decimal." -#: pkg/campsite/types/option.go:384 pkg/invoice/admin.go:1163 +#: pkg/campsite/types/option.go:384 pkg/invoice/admin.go:1161 msgid "Price must be zero or greater." msgstr "El precio tiene que ser como mínimo cero." @@ -3104,7 +3144,7 @@ msgctxt "header" msgid "Children (aged 2 to 10)" msgstr "Niños (de 2 a 10 años)" -#: pkg/campsite/admin.go:280 pkg/booking/admin.go:417 pkg/booking/public.go:177 +#: pkg/campsite/admin.go:280 pkg/booking/admin.go:558 pkg/booking/public.go:177 #: pkg/booking/public.go:232 msgid "Selected campsite type is not valid." msgstr "El tipo de alojamiento escogido no es válido." @@ -3143,25 +3183,25 @@ msgid "End date must be a valid date." msgstr "La fecha final tiene que ser una fecha válida." #: pkg/customer/admin.go:326 pkg/company/admin.go:207 -#: pkg/booking/checkin.go:297 pkg/booking/public.go:577 +#: pkg/booking/checkin.go:300 pkg/booking/public.go:577 msgid "Selected country is not valid." msgstr "El país escogido no es válido." -#: pkg/customer/admin.go:330 pkg/booking/checkin.go:281 +#: pkg/customer/admin.go:330 pkg/booking/checkin.go:284 msgid "Selected ID document type is not valid." msgstr "El tipo de documento de identidad escogido no es válido." -#: pkg/customer/admin.go:331 pkg/booking/checkin.go:282 +#: pkg/customer/admin.go:331 pkg/booking/checkin.go:285 msgid "ID document number can not be empty." msgstr "No podéis dejar el número del documento de identidad en blanco." -#: pkg/customer/admin.go:333 pkg/booking/checkin.go:288 -#: pkg/booking/checkin.go:289 pkg/booking/admin.go:429 +#: pkg/customer/admin.go:333 pkg/booking/checkin.go:291 +#: pkg/booking/checkin.go:292 pkg/booking/admin.go:570 #: pkg/booking/public.go:581 msgid "Full name can not be empty." msgstr "No podéis dejar el nombre y los apellidos en blanco." -#: pkg/customer/admin.go:334 pkg/booking/admin.go:430 pkg/booking/public.go:582 +#: pkg/customer/admin.go:334 pkg/booking/admin.go:571 pkg/booking/public.go:582 msgid "Full name must have at least one letter." msgstr "El nombre y los apellidos tienen que tener como mínimo una letra." @@ -3177,94 +3217,94 @@ msgstr "No podéis dejar la población en blanco." msgid "Postcode can not be empty." msgstr "No podéis dejar el código postal en blanco." -#: pkg/customer/admin.go:340 pkg/company/admin.go:234 pkg/booking/admin.go:436 +#: pkg/customer/admin.go:340 pkg/company/admin.go:234 pkg/booking/admin.go:577 #: pkg/booking/public.go:588 msgid "This postcode is not valid." msgstr "Este código postal no es válido." #: pkg/customer/admin.go:348 pkg/company/admin.go:220 -#: pkg/booking/checkin.go:301 pkg/booking/admin.go:446 +#: pkg/booking/checkin.go:304 pkg/booking/admin.go:587 #: pkg/booking/public.go:596 msgid "This phone number is not valid." msgstr "Este teléfono no es válido." -#: pkg/invoice/admin.go:681 +#: pkg/invoice/admin.go:679 msgctxt "filename" msgid "invoices.zip" msgstr "facturas.zip" -#: pkg/invoice/admin.go:696 +#: pkg/invoice/admin.go:694 msgctxt "filename" msgid "invoices.ods" msgstr "facturas.ods" -#: pkg/invoice/admin.go:698 pkg/invoice/admin.go:1360 pkg/invoice/admin.go:1367 +#: pkg/invoice/admin.go:696 pkg/invoice/admin.go:1358 pkg/invoice/admin.go:1365 msgid "Invalid action" msgstr "Acción inválida" -#: pkg/invoice/admin.go:863 +#: pkg/invoice/admin.go:861 msgid "Selected invoice status is not valid." msgstr "El estado de factura escogida no es válido." -#: pkg/invoice/admin.go:864 +#: pkg/invoice/admin.go:862 msgid "Invoice date can not be empty." msgstr "No podéis dejar la fecha de factura en blanco." -#: pkg/invoice/admin.go:865 +#: pkg/invoice/admin.go:863 msgid "Invoice date must be a valid date." msgstr "La fecha de factura tiene que ser una fecha válida." -#: pkg/invoice/admin.go:1023 +#: pkg/invoice/admin.go:1021 #, c-format msgid "Re: booking #%s of %s–%s" msgstr "Ref.: reserva núm. %s del %s–%s" -#: pkg/invoice/admin.go:1024 +#: pkg/invoice/admin.go:1022 msgctxt "to_char" msgid "MM/DD/YYYY" msgstr "DD/MM/YYYY" -#: pkg/invoice/admin.go:1151 +#: pkg/invoice/admin.go:1149 msgid "Invoice product ID must be an integer." msgstr "El ID de producto de factura tiene que ser entero." -#: pkg/invoice/admin.go:1152 +#: pkg/invoice/admin.go:1150 msgid "Invoice product ID one or greater." msgstr "El ID de producto de factura tiene que ser como mínimo uno." -#: pkg/invoice/admin.go:1156 +#: pkg/invoice/admin.go:1154 msgid "Product ID must be an integer." msgstr "El ID de producto tiene que ser un número entero." -#: pkg/invoice/admin.go:1157 +#: pkg/invoice/admin.go:1155 msgid "Product ID must zero or greater." msgstr "El ID de producto tiene que ser como mínimo cero." -#: pkg/invoice/admin.go:1166 +#: pkg/invoice/admin.go:1164 msgid "Quantity can not be empty." msgstr "No podéis dejar la cantidad en blanco." -#: pkg/invoice/admin.go:1167 +#: pkg/invoice/admin.go:1165 msgid "Quantity must be an integer." msgstr "La cantidad tiene que ser un número entero." -#: pkg/invoice/admin.go:1168 +#: pkg/invoice/admin.go:1166 msgid "Quantity must one or greater." msgstr "La cantidad tiene que ser como mínimo uno." -#: pkg/invoice/admin.go:1171 +#: pkg/invoice/admin.go:1169 msgid "Discount can not be empty." msgstr "No podéis dejar el descuento en blanco." -#: pkg/invoice/admin.go:1172 +#: pkg/invoice/admin.go:1170 msgid "Discount must be an integer." msgstr "El descuento tiene que ser un número entero." -#: pkg/invoice/admin.go:1173 pkg/invoice/admin.go:1174 +#: pkg/invoice/admin.go:1171 pkg/invoice/admin.go:1172 msgid "Discount must be a percentage between 0 and 100." msgstr "El descuento tiene que ser un porcentaje entre 1 y 100." -#: pkg/invoice/admin.go:1178 +#: pkg/invoice/admin.go:1176 msgid "Selected tax is not valid." msgstr "El impuesto escogido no es válido." @@ -3403,27 +3443,27 @@ msgstr "No podéis dejar el archivo del medio en blanco." msgid "Filename can not be empty." msgstr "No podéis dejar el nombre del archivo en blanco." -#: pkg/booking/checkin.go:284 +#: pkg/booking/checkin.go:287 msgid "ID document issue date must be a valid date." msgstr "La fecha de expedición del documento de identidad tiene que ser una fecha válida." -#: pkg/booking/checkin.go:285 +#: pkg/booking/checkin.go:288 msgid "ID document issue date must be in the past." msgstr "La fecha de expedición del documento de identidad tiene que ser del pasado." -#: pkg/booking/checkin.go:290 +#: pkg/booking/checkin.go:293 msgid "Selected sex is not valid." msgstr "El sexo escogido no es válido." -#: pkg/booking/checkin.go:291 +#: pkg/booking/checkin.go:294 msgid "Birthdate can not be empty" msgstr "No podéis dejar la fecha de nacimiento en blanco." -#: pkg/booking/checkin.go:292 +#: pkg/booking/checkin.go:295 msgid "Birthdate must be a valid date." msgstr "La fecha de nacimiento tiene que ser una fecha válida." -#: pkg/booking/checkin.go:293 +#: pkg/booking/checkin.go:296 msgid "Birthdate must be in the past." msgstr "La fecha de nacimiento tiene que ser del pasado." @@ -3447,24 +3487,24 @@ msgctxt "cart" msgid "Dog" msgstr "Perro" -#: pkg/booking/admin.go:218 +#: pkg/booking/admin.go:236 msgctxt "filename" msgid "bookings.ods" msgstr "reservas.ods" -#: pkg/booking/admin.go:435 +#: pkg/booking/admin.go:576 msgid "Country can not be empty to validate the postcode." msgstr "No podéis dejar el país en blanco para validar el código postal." -#: pkg/booking/admin.go:445 +#: pkg/booking/admin.go:586 msgid "Country can not be empty to validate the phone." msgstr "No podéis dejar el país en blanco para validar el teléfono." -#: pkg/booking/admin.go:452 +#: pkg/booking/admin.go:593 msgid "You must select at least one accommodation." msgstr "Tenéis que seleccionar como mínimo un alojamiento." -#: pkg/booking/admin.go:458 +#: pkg/booking/admin.go:599 msgid "The selected accommodations have no available openings in the requested dates." msgstr "Los alojamientos seleccionados no tienen disponibilidad en las fechas pedidas." diff --git a/po/fr.po b/po/fr.po index 86a0f5b..dfd255b 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-04-28 22:32+0200\n" +"POT-Creation-Date: 2024-05-03 00:56+0200\n" "PO-Revision-Date: 2024-02-06 10:05+0100\n" "Last-Translator: Oriol Carbonell \n" "Language-Team: French \n" @@ -80,7 +80,8 @@ msgstr "Paiement" #: web/templates/mail/payment/details.gotxt:9 #: web/templates/admin/payment/index.gohtml:21 #: web/templates/admin/payment/details.gohtml:52 -#: web/templates/admin/booking/index.gohtml:21 +#: web/templates/admin/prebooking/index.gohtml:59 +#: web/templates/admin/booking/index.gohtml:73 msgctxt "header" msgid "Reference" msgstr "Référence" @@ -88,7 +89,7 @@ msgstr "Référence" #: web/templates/mail/payment/details.gotxt:10 #: web/templates/admin/payment/index.gohtml:22 #: web/templates/admin/payment/details.gohtml:56 -#: web/templates/admin/booking/index.gohtml:25 +#: web/templates/admin/booking/index.gohtml:77 msgctxt "header" msgid "Status" msgstr "Statut" @@ -178,7 +179,7 @@ msgstr "Nuits" #: web/templates/mail/payment/details.gotxt:22 #: web/templates/public/booking/fields.gohtml:60 #: web/templates/admin/payment/details.gohtml:98 -#: web/templates/admin/booking/fields.gohtml:93 pkg/invoice/admin.go:1064 +#: web/templates/admin/booking/fields.gohtml:93 pkg/invoice/admin.go:1062 msgctxt "input" msgid "Adults aged 17 or older" msgstr "Adultes âgés 17 ans ou plus" @@ -186,7 +187,7 @@ msgstr "Adultes âgés 17 ans ou plus" #: web/templates/mail/payment/details.gotxt:23 #: web/templates/public/booking/fields.gohtml:71 #: web/templates/admin/payment/details.gohtml:102 -#: web/templates/admin/booking/fields.gohtml:109 pkg/invoice/admin.go:1065 +#: web/templates/admin/booking/fields.gohtml:109 pkg/invoice/admin.go:1063 msgctxt "input" msgid "Teenagers from 11 to 16 years old" msgstr "Adolescents de 11 à 16 ans" @@ -194,7 +195,7 @@ msgstr "Adolescents de 11 à 16 ans" #: web/templates/mail/payment/details.gotxt:24 #: web/templates/public/booking/fields.gohtml:82 #: web/templates/admin/payment/details.gohtml:106 -#: web/templates/admin/booking/fields.gohtml:125 pkg/invoice/admin.go:1066 +#: web/templates/admin/booking/fields.gohtml:125 pkg/invoice/admin.go:1064 msgctxt "input" msgid "Children from 2 to 10 years old" msgstr "Enfants de 2 à 10 ans" @@ -202,14 +203,14 @@ msgstr "Enfants de 2 à 10 ans" #: web/templates/mail/payment/details.gotxt:25 #: web/templates/public/booking/fields.gohtml:100 #: web/templates/admin/payment/details.gohtml:110 -#: web/templates/admin/booking/fields.gohtml:140 pkg/invoice/admin.go:1067 +#: web/templates/admin/booking/fields.gohtml:140 pkg/invoice/admin.go:1065 msgctxt "input" msgid "Dogs" msgstr "Chiens" #: web/templates/mail/payment/details.gotxt:26 #: web/templates/admin/payment/details.gohtml:114 -#: web/templates/admin/booking/fields.gohtml:167 pkg/invoice/admin.go:1068 +#: web/templates/admin/booking/fields.gohtml:167 pkg/invoice/admin.go:1066 #: pkg/booking/cart.go:242 msgctxt "cart" msgid "Tourist tax" @@ -945,7 +946,7 @@ msgstr "Menu" #: web/templates/admin/campsite/type/option/form.gohtml:16 #: web/templates/admin/campsite/type/option/index.gohtml:10 #: web/templates/admin/campsite/type/index.gohtml:10 -#: web/templates/admin/layout.gohtml:46 web/templates/admin/layout.gohtml:101 +#: web/templates/admin/layout.gohtml:46 web/templates/admin/layout.gohtml:104 #: web/templates/admin/booking/fields.gohtml:266 msgctxt "title" msgid "Campsites" @@ -1217,7 +1218,7 @@ msgstr "Contenu" #: web/templates/admin/amenity/form.gohtml:91 #: web/templates/admin/home/index.gohtml:34 #: web/templates/admin/media/form.gohtml:39 -#: web/templates/admin/booking/form.gohtml:48 +#: web/templates/admin/booking/form.gohtml:52 msgctxt "action" msgid "Update" msgstr "Mettre à jour" @@ -1238,7 +1239,7 @@ msgstr "Mettre à jour" #: web/templates/admin/amenity/feature/form.gohtml:67 #: web/templates/admin/amenity/carousel/form.gohtml:52 #: web/templates/admin/amenity/form.gohtml:93 -#: web/templates/admin/booking/form.gohtml:50 +#: web/templates/admin/booking/form.gohtml:54 msgctxt "action" msgid "Add" msgstr "Ajouter" @@ -1906,7 +1907,7 @@ msgid "Phone (optional)" msgstr "Téléphone (facultatif)" #: web/templates/admin/customer/index.gohtml:6 -#: web/templates/admin/layout.gohtml:95 +#: web/templates/admin/layout.gohtml:98 msgctxt "title" msgid "Customers" msgstr "Clients" @@ -1976,7 +1977,7 @@ msgstr "Nouvelle facture" #: web/templates/admin/invoice/form.gohtml:15 #: web/templates/admin/invoice/index.gohtml:2 #: web/templates/admin/invoice/view.gohtml:6 -#: web/templates/admin/layout.gohtml:98 +#: web/templates/admin/layout.gohtml:101 msgctxt "title" msgid "Invoices" msgstr "Factures" @@ -2047,15 +2048,20 @@ msgid "All customers" msgstr "Tous les clients" #: web/templates/admin/invoice/index.gohtml:55 +#: web/templates/admin/booking/index.gohtml:38 msgid "All statuses" msgstr "Tous les statuts" #: web/templates/admin/invoice/index.gohtml:63 +#: web/templates/admin/prebooking/index.gohtml:32 +#: web/templates/admin/booking/index.gohtml:46 msgctxt "input" msgid "From date" msgstr "Partir de la date" #: web/templates/admin/invoice/index.gohtml:72 +#: web/templates/admin/prebooking/index.gohtml:41 +#: web/templates/admin/booking/index.gohtml:55 msgctxt "input" msgid "To date" msgstr "À ce jour" @@ -2071,6 +2077,8 @@ msgid "Filter" msgstr "Filtrer" #: web/templates/admin/invoice/index.gohtml:94 +#: web/templates/admin/prebooking/index.gohtml:51 +#: web/templates/admin/booking/index.gohtml:65 msgctxt "action" msgid "Reset" msgstr "Réinitialiser" @@ -2163,6 +2171,57 @@ msgctxt "title" msgid "Tax Base" msgstr "Import imposable" +#: web/templates/admin/prebooking/index.gohtml:6 +#: web/templates/admin/layout.gohtml:92 +#: web/templates/admin/booking/form.gohtml:20 +msgctxt "title" +msgid "Prebookings" +msgstr "Pré-réservations" + +#: web/templates/admin/prebooking/index.gohtml:23 +#: web/templates/admin/booking/index.gohtml:25 +msgctxt "input" +msgid "Holder name" +msgstr "Nom du titulaire" + +#: web/templates/admin/prebooking/index.gohtml:54 +#: web/templates/admin/layout.gohtml:95 +#: web/templates/admin/booking/form.gohtml:22 +#: web/templates/admin/booking/checkin.gohtml:10 +#: web/templates/admin/booking/index.gohtml:6 +#: web/templates/admin/booking/index.gohtml:68 +msgctxt "title" +msgid "Bookings" +msgstr "Réservations" + +#: web/templates/admin/prebooking/index.gohtml:60 +#: web/templates/admin/booking/index.gohtml:74 +msgctxt "header" +msgid "Arrival Date" +msgstr "Date d’arrivée" + +#: web/templates/admin/prebooking/index.gohtml:61 +#: web/templates/admin/booking/index.gohtml:75 +msgctxt "header" +msgid "Departure Date" +msgstr "Date de depart" + +#: web/templates/admin/prebooking/index.gohtml:62 +#: web/templates/admin/booking/index.gohtml:76 +msgctxt "header" +msgid "Holder Name" +msgstr "Nom du titulaire" + +#: web/templates/admin/prebooking/index.gohtml:70 +msgid "No prebooking found." +msgstr "Aucune pré-réservation trouvée." + +#: web/templates/admin/prebooking/results.gohtml:20 +#: web/templates/admin/booking/results.gohtml:23 +msgctxt "action" +msgid "Load more" +msgstr "Charger plus" + #: web/templates/admin/login.gohtml:6 web/templates/admin/login.gohtml:18 msgctxt "title" msgid "Login" @@ -2527,20 +2586,11 @@ msgctxt "action" msgid "Logout" msgstr "Déconnexion" -#: web/templates/admin/layout.gohtml:92 -#: web/templates/admin/booking/form.gohtml:19 -#: web/templates/admin/booking/checkin.gohtml:10 -#: web/templates/admin/booking/index.gohtml:6 -#: web/templates/admin/booking/index.gohtml:16 -msgctxt "title" -msgid "Bookings" -msgstr "Réservations" - -#: web/templates/admin/layout.gohtml:107 +#: web/templates/admin/layout.gohtml:110 msgid "Breadcrumb" msgstr "Fil d’Ariane" -#: web/templates/admin/layout.gohtml:119 +#: web/templates/admin/layout.gohtml:122 msgid "Camper Version: %s" msgstr "Camper version: %s" @@ -2651,7 +2701,7 @@ msgctxt "header" msgid "Decription" msgstr "Description" -#: web/templates/admin/booking/fields.gohtml:81 pkg/invoice/admin.go:1063 +#: web/templates/admin/booking/fields.gohtml:81 pkg/invoice/admin.go:1061 #: pkg/booking/cart.go:232 msgctxt "cart" msgid "Night" @@ -2688,12 +2738,12 @@ msgctxt "title" msgid "New Booking" msgstr "Nouvelle réservation" -#: web/templates/admin/booking/form.gohtml:25 +#: web/templates/admin/booking/form.gohtml:30 msgctxt "action" msgid "Check-in Booking" msgstr "Enregistrer réservation" -#: web/templates/admin/booking/form.gohtml:28 +#: web/templates/admin/booking/form.gohtml:31 msgctxt "action" msgid "Invoice Booking" msgstr "Facturer la réservation" @@ -2728,22 +2778,12 @@ msgctxt "action" msgid "Export Bookings" msgstr "Exporter les réservations" -#: web/templates/admin/booking/index.gohtml:22 -msgctxt "header" -msgid "Arrival Date" -msgstr "Date d’arrivée" +#: web/templates/admin/booking/index.gohtml:34 +msgctxt "input" +msgid "Booking status" +msgstr "Statut de réservation" -#: web/templates/admin/booking/index.gohtml:23 -msgctxt "header" -msgid "Departure Date" -msgstr "Date de depart" - -#: web/templates/admin/booking/index.gohtml:24 -msgctxt "header" -msgid "Holder Name" -msgstr "Nom du titulaire" - -#: web/templates/admin/booking/index.gohtml:41 +#: web/templates/admin/booking/index.gohtml:85 msgid "No booking found." msgstr "Aucune réservation trouvée." @@ -2843,7 +2883,7 @@ msgctxt "order product name" msgid "Campsite Booking" msgstr "Réservation camping" -#: pkg/payment/public.go:374 +#: pkg/payment/public.go:378 msgctxt "subject" msgid "Booking payment successfully received" msgstr "Paiement de réservation reçu avec succès" @@ -2851,7 +2891,7 @@ msgstr "Paiement de réservation reçu avec succès" #: pkg/legal/admin.go:258 pkg/app/user.go:249 pkg/campsite/types/option.go:365 #: pkg/campsite/types/feature.go:272 pkg/campsite/types/admin.go:577 #: pkg/campsite/feature.go:269 pkg/season/admin.go:411 -#: pkg/invoice/admin.go:1160 pkg/services/admin.go:316 +#: pkg/invoice/admin.go:1158 pkg/services/admin.go:316 #: pkg/surroundings/admin.go:340 pkg/amenity/feature.go:269 #: pkg/amenity/admin.go:283 msgid "Name can not be empty." @@ -2893,7 +2933,7 @@ 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/customer/admin.go:345 -#: pkg/company/admin.go:225 pkg/booking/admin.go:441 pkg/booking/public.go:593 +#: pkg/company/admin.go:225 pkg/booking/admin.go:582 pkg/booking/public.go:593 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." @@ -2922,7 +2962,7 @@ msgstr "La langue sélectionnée n’est pas valide." msgid "File must be a valid PNG or JPEG image." msgstr "Le fichier doit être une image PNG ou JPEG valide." -#: pkg/app/admin.go:79 +#: pkg/app/admin.go:81 msgid "Access forbidden" msgstr "Accès interdit" @@ -2950,15 +2990,15 @@ msgstr "Le maximum doit être un nombre entier." msgid "Maximum must be equal or greater than minimum." msgstr "Le maximum doit être égal ou supérieur au minimum." -#: pkg/campsite/types/option.go:382 pkg/invoice/admin.go:1161 +#: pkg/campsite/types/option.go:382 pkg/invoice/admin.go:1159 msgid "Price can not be empty." msgstr "Le prix ne peut pas être vide." -#: pkg/campsite/types/option.go:383 pkg/invoice/admin.go:1162 +#: pkg/campsite/types/option.go:383 pkg/invoice/admin.go:1160 msgid "Price must be a decimal number." msgstr "Le prix doit être un nombre décimal." -#: pkg/campsite/types/option.go:384 pkg/invoice/admin.go:1163 +#: pkg/campsite/types/option.go:384 pkg/invoice/admin.go:1161 msgid "Price must be zero or greater." msgstr "Le prix doit être égal ou supérieur à zéro." @@ -3104,7 +3144,7 @@ msgctxt "header" msgid "Children (aged 2 to 10)" msgstr "Enfants (de 2 à 10 anys)" -#: pkg/campsite/admin.go:280 pkg/booking/admin.go:417 pkg/booking/public.go:177 +#: pkg/campsite/admin.go:280 pkg/booking/admin.go:558 pkg/booking/public.go:177 #: pkg/booking/public.go:232 msgid "Selected campsite type is not valid." msgstr "Le type d’emplacement sélectionné n’est pas valide." @@ -3143,25 +3183,25 @@ msgid "End date must be a valid date." msgstr "La date de fin doit être une date valide." #: pkg/customer/admin.go:326 pkg/company/admin.go:207 -#: pkg/booking/checkin.go:297 pkg/booking/public.go:577 +#: pkg/booking/checkin.go:300 pkg/booking/public.go:577 msgid "Selected country is not valid." msgstr "Le pays sélectionné n’est pas valide." -#: pkg/customer/admin.go:330 pkg/booking/checkin.go:281 +#: pkg/customer/admin.go:330 pkg/booking/checkin.go:284 msgid "Selected ID document type is not valid." msgstr "Le type de document d’identité sélectionné n’est pas valide." -#: pkg/customer/admin.go:331 pkg/booking/checkin.go:282 +#: pkg/customer/admin.go:331 pkg/booking/checkin.go:285 msgid "ID document number can not be empty." msgstr "Le numéro de documento d’identité ne peut pas être vide." -#: pkg/customer/admin.go:333 pkg/booking/checkin.go:288 -#: pkg/booking/checkin.go:289 pkg/booking/admin.go:429 +#: pkg/customer/admin.go:333 pkg/booking/checkin.go:291 +#: pkg/booking/checkin.go:292 pkg/booking/admin.go:570 #: pkg/booking/public.go:581 msgid "Full name can not be empty." msgstr "Le nom complet ne peut pas être vide." -#: pkg/customer/admin.go:334 pkg/booking/admin.go:430 pkg/booking/public.go:582 +#: pkg/customer/admin.go:334 pkg/booking/admin.go:571 pkg/booking/public.go:582 msgid "Full name must have at least one letter." msgstr "Le nom complet doit comporter au moins une lettre." @@ -3177,94 +3217,94 @@ msgstr "La ville ne peut pas être vide." msgid "Postcode can not be empty." msgstr "Le code postal ne peut pas être vide." -#: pkg/customer/admin.go:340 pkg/company/admin.go:234 pkg/booking/admin.go:436 +#: pkg/customer/admin.go:340 pkg/company/admin.go:234 pkg/booking/admin.go:577 #: pkg/booking/public.go:588 msgid "This postcode is not valid." msgstr "Ce code postal n’est pas valide." #: pkg/customer/admin.go:348 pkg/company/admin.go:220 -#: pkg/booking/checkin.go:301 pkg/booking/admin.go:446 +#: pkg/booking/checkin.go:304 pkg/booking/admin.go:587 #: pkg/booking/public.go:596 msgid "This phone number is not valid." msgstr "Ce numéro de téléphone n’est pas valide." -#: pkg/invoice/admin.go:681 +#: pkg/invoice/admin.go:679 msgctxt "filename" msgid "invoices.zip" msgstr "factures.zip" -#: pkg/invoice/admin.go:696 +#: pkg/invoice/admin.go:694 msgctxt "filename" msgid "invoices.ods" msgstr "factures.ods" -#: pkg/invoice/admin.go:698 pkg/invoice/admin.go:1360 pkg/invoice/admin.go:1367 +#: pkg/invoice/admin.go:696 pkg/invoice/admin.go:1358 pkg/invoice/admin.go:1365 msgid "Invalid action" msgstr "Actin invalide" -#: pkg/invoice/admin.go:863 +#: pkg/invoice/admin.go:861 msgid "Selected invoice status is not valid." msgstr "L’statut sélectionné n’est pas valide." -#: pkg/invoice/admin.go:864 +#: pkg/invoice/admin.go:862 msgid "Invoice date can not be empty." msgstr "La date de facture ne peut pas être vide." -#: pkg/invoice/admin.go:865 +#: pkg/invoice/admin.go:863 msgid "Invoice date must be a valid date." msgstr "La date de facture doit être une date valide." -#: pkg/invoice/admin.go:1023 +#: pkg/invoice/admin.go:1021 #, c-format msgid "Re: booking #%s of %s–%s" msgstr "Réf. : réservation num. %s du %s–%s" -#: pkg/invoice/admin.go:1024 +#: pkg/invoice/admin.go:1022 msgctxt "to_char" msgid "MM/DD/YYYY" msgstr "DD/MM/YYYY" -#: pkg/invoice/admin.go:1151 +#: pkg/invoice/admin.go:1149 msgid "Invoice product ID must be an integer." msgstr "Le ID de produit de facture doit être un entier." -#: pkg/invoice/admin.go:1152 +#: pkg/invoice/admin.go:1150 msgid "Invoice product ID one or greater." msgstr "Le ID de produit de facture doit être égal ou supérieur à un." -#: pkg/invoice/admin.go:1156 +#: pkg/invoice/admin.go:1154 msgid "Product ID must be an integer." msgstr "Le ID de produit doit être un entier." -#: pkg/invoice/admin.go:1157 +#: pkg/invoice/admin.go:1155 msgid "Product ID must zero or greater." msgstr "Le ID de produit doit être égal ou supérieur à zéro." -#: pkg/invoice/admin.go:1166 +#: pkg/invoice/admin.go:1164 msgid "Quantity can not be empty." msgstr "La quantité ne peut pas être vide." -#: pkg/invoice/admin.go:1167 +#: pkg/invoice/admin.go:1165 msgid "Quantity must be an integer." msgstr "La quantité doit être un entier." -#: pkg/invoice/admin.go:1168 +#: pkg/invoice/admin.go:1166 msgid "Quantity must one or greater." msgstr "La quantité doit être égnal ou supérieur à zéro." -#: pkg/invoice/admin.go:1171 +#: pkg/invoice/admin.go:1169 msgid "Discount can not be empty." msgstr "Le rabais ne peut pas être vide." -#: pkg/invoice/admin.go:1172 +#: pkg/invoice/admin.go:1170 msgid "Discount must be an integer." msgstr "Le rabais doit être un entier." -#: pkg/invoice/admin.go:1173 pkg/invoice/admin.go:1174 +#: pkg/invoice/admin.go:1171 pkg/invoice/admin.go:1172 msgid "Discount must be a percentage between 0 and 100." msgstr "Le rabais doit être un pourcentage compris entre 0 et 100." -#: pkg/invoice/admin.go:1178 +#: pkg/invoice/admin.go:1176 msgid "Selected tax is not valid." msgstr "La taxe sélectionnée n’est pas valide." @@ -3403,27 +3443,27 @@ msgstr "Le fichier téléchargé ne peut pas être vide." msgid "Filename can not be empty." msgstr "Le nom de fichier ne peut pas être vide." -#: pkg/booking/checkin.go:284 +#: pkg/booking/checkin.go:287 msgid "ID document issue date must be a valid date." msgstr "La date de délivrance du document d’identité doit être une date valide." -#: pkg/booking/checkin.go:285 +#: pkg/booking/checkin.go:288 msgid "ID document issue date must be in the past." msgstr "La ate de délivrance du document d’identité doit être du passé." -#: pkg/booking/checkin.go:290 +#: pkg/booking/checkin.go:293 msgid "Selected sex is not valid." msgstr "Le sexe sélectionné n’est pas valide." -#: pkg/booking/checkin.go:291 +#: pkg/booking/checkin.go:294 msgid "Birthdate can not be empty" msgstr "La date de naissance ne peut pas être vide." -#: pkg/booking/checkin.go:292 +#: pkg/booking/checkin.go:295 msgid "Birthdate must be a valid date." msgstr "La date de naissance doit être une date valide." -#: pkg/booking/checkin.go:293 +#: pkg/booking/checkin.go:296 msgid "Birthdate must be in the past." msgstr "La date de naissance doit être du passé." @@ -3447,24 +3487,24 @@ msgctxt "cart" msgid "Dog" msgstr "Chien" -#: pkg/booking/admin.go:218 +#: pkg/booking/admin.go:236 msgctxt "filename" msgid "bookings.ods" msgstr "reservations.ods" -#: pkg/booking/admin.go:435 +#: pkg/booking/admin.go:576 msgid "Country can not be empty to validate the postcode." msgstr "Le pays ne peut pas être vide pour valider le code postal." -#: pkg/booking/admin.go:445 +#: pkg/booking/admin.go:586 msgid "Country can not be empty to validate the phone." msgstr "Le pays ne peut pas être vide pour valider le téléphone." -#: pkg/booking/admin.go:452 +#: pkg/booking/admin.go:593 msgid "You must select at least one accommodation." msgstr "Vous devez sélectionner au moins un hébergement." -#: pkg/booking/admin.go:458 +#: pkg/booking/admin.go:599 msgid "The selected accommodations have no available openings in the requested dates." msgstr "Les hébergements sélectionnés n’ont pas de disponibilités aux dates demandées." diff --git a/web/templates/admin/booking/form.gohtml b/web/templates/admin/booking/form.gohtml index e99b146..ae8162a 100644 --- a/web/templates/admin/booking/form.gohtml +++ b/web/templates/admin/booking/form.gohtml @@ -16,16 +16,20 @@ {{- end }} {{ define "breadcrumb" -}} -
  • {{( pgettext "Bookings" "title" )}}
  • + {{ if eq .Status "created" -}} +
  • {{( pgettext "Prebookings" "title" )}}
  • + {{- else -}} +
  • {{( pgettext "Bookings" "title" )}}
  • + {{- end }} {{- end }} {{ define "content" -}} {{- /*gotype: dev.tandem.ws/tandem/camper/pkg/booking.adminBookingForm*/ -}} {{ if .ID -}} - {{( pgettext "Check-in Booking" "action" )}} - {{- end }} - {{ if .ID -}} - {{( pgettext "Invoice Booking" "action" )}} + {{ if ne .Status "created" -}} + {{( pgettext "Check-in Booking" "action" )}} + {{( pgettext "Invoice Booking" "action" )}} + {{- end }} {{- end }}

    {{ template "title" .}}

    {{( pgettext "Dashboard" "title" )}} +
  • + {{( pgettext "Prebookings" "title" )}} +
  • {{( pgettext "Bookings" "title" )}}
  • diff --git a/web/templates/admin/prebooking/index.gohtml b/web/templates/admin/prebooking/index.gohtml new file mode 100644 index 0000000..d77f067 --- /dev/null +++ b/web/templates/admin/prebooking/index.gohtml @@ -0,0 +1,72 @@ + +{{ define "title" -}} + {{( pgettext "Prebookings" "title" )}} +{{- end }} + +{{ define "breadcrumb" -}} +{{- end }} + +{{ define "content" -}} + {{- /*gotype: dev.tandem.ws/tandem/camper/pkg/booking.prebookingIndex*/ -}} + {{ template "filters-toggle" }} + + {{ with .Filters }} +
    + {{ with .HolderName -}} + + {{- end }} + {{ with .FromDate -}} + + {{- end }} + {{ with .ToDate -}} + + {{- end }} +
    + {{ end }} + {{ if .Filters.HasValue }} + {{( pgettext "Reset" "action" )}} + {{ end }} +
    +

    {{( pgettext "Bookings" "title" )}}

    + {{ if .Bookings -}} + + + + + + + + + + + {{ template "results.gohtml" . }} + +
    {{( pgettext "Reference" "header" )}}{{( pgettext "Arrival Date" "header" )}}{{( pgettext "Departure Date" "header" )}}{{( pgettext "Holder Name" "header" )}}
    + {{ else -}} +

    {{( gettext "No prebooking found." )}}

    + {{- end }} +{{- end }} diff --git a/web/templates/admin/prebooking/results.gohtml b/web/templates/admin/prebooking/results.gohtml new file mode 100644 index 0000000..f450830 --- /dev/null +++ b/web/templates/admin/prebooking/results.gohtml @@ -0,0 +1,25 @@ +{{ range .Bookings -}} + + {{ .Reference }} + {{ .ArrivalDate | formatDate }} + {{ .DepartureDate | formatDate }} + {{ .HolderName }} + +{{- end }} +{{ if .Filters.Cursor.Val }} + + + {{ with .Filters -}} +
    + {{ with .HolderName -}}{{- end }} + {{ with .FromDate -}}{{- end }} + {{ with .ToDate -}}{{- end }} + {{ with .Cursor -}}{{- end }} + +
    + {{- end }} + + +{{- end }}