camper/pkg
jordi fita mas e5023a2a41 Handle the booking cart entirely with HTMx
Besides the dynamic final cart, that was already handled by HTMx, i had
to check the maximum number of guests, whether the accommodation allows
“overflow”, whether dogs are allowed, and that the booking dates were
within the campground’s opening and closing dates.

I could do all of this with AlpineJS, but then i would have to add the
same validation to the backend, prior to accept the payment.  Would not
make more sense to have them in a single place, namely the backend? With
HTMx i can do that.

However, i now have to create the form “piecemeal”, because i may not
have the whole information when the visitor arrives to the booking page,
and i still had the same problem as in commit d2858302efa—parsing the
whole form as is would leave guests and options field empty, rather than
at their minimum values.

One of the fieldsets in that booking form are the arrival and departure
dates, that are the sames we use in the campsite type’s page to
“preselect” these values.  Since now are in a separate struct, i can
reuse the same type and validation logic for both pages, making my
JavaScript code useless, but requiring HTMx.  I think this is a good
tradeoff, in fact.
2024-02-10 03:49:44 +01:00
..
amenity Add amenities section and public page 2024-01-27 22:51:41 +01:00
app Add amenities section and public page 2024-01-27 22:51:41 +01:00
auth Add VAT and tourist tax information 2024-01-15 01:45:58 +01:00
booking Handle the booking cart entirely with HTMx 2024-02-10 03:49:44 +01:00
build Replace min_nights from campsite_type_costs to range in campsite_type 2024-01-31 23:06:45 +01:00
campsite Handle the booking cart entirely with HTMx 2024-02-10 03:49:44 +01:00
carousel Fix translation of carousel slides when changing media ID 2024-01-22 21:03:00 +01:00
company Add VAT and tourist tax information 2024-01-15 01:45:58 +01:00
database Compute and show the “cart” for the booking form 2024-02-04 06:37:25 +01:00
form Handle the booking cart entirely with HTMx 2024-02-10 03:49:44 +01:00
hex Add cover media to campsite types 2023-09-10 03:04:18 +02:00
home Do not freak out just because the is no blooding slogan 2024-01-30 12:24:49 +01:00
http Add the language switched to the public layout 2023-08-06 05:53:52 +02:00
legal Do not translate legal to the default language 2024-01-12 19:57:11 +01:00
locale Replace L10nInput with I18nInput in service 2024-01-12 21:06:12 +01:00
location Add missing MethodPut to location/admin.gohtml’s MethodNotAllowed 2024-01-23 11:31:34 +01:00
media Allow updating images in CKEditor-“powered” textarea 2024-01-16 01:26:35 +01:00
redsys Implement Redsys request signature in PostgreSQL 2023-10-27 01:52:04 +02:00
season Refactor ISO date, and datestamp format in constant 2024-01-31 19:58:46 +01:00
services Add a Go function for delete_service SQL function 2024-01-16 18:12:38 +01:00
surroundings Add ad management for surroundings 2024-01-23 14:53:15 +01:00
template Handle the booking cart entirely with HTMx 2024-02-10 03:49:44 +01:00
user User and login attempt pages only accept GET 2024-01-18 19:34:58 +01:00
uuid Add cover media to campsite types 2023-09-10 03:04:18 +02:00