Skip to content

Release v4.2.1 - #89

Merged
sampoyigi merged 5 commits into
masterfrom
4.x
Aug 8, 2026
Merged

Release v4.2.1#89
sampoyigi merged 5 commits into
masterfrom
4.x

Conversation

@sampoyigi

Copy link
Copy Markdown
Member

This release improves checkout form flexibility with new field type support and fixes several bugs related to address handling, order totals, and delivery validation.

Added

  • Introduced a select field template for use in checkout forms
  • Support for partial-type checkout fields in checkout forms

Fixed

  • Delivery address is now correctly required even when area restriction is disabled
  • Order total is properly persisted when the payment method changes
  • Fixed an issue where the local search autocomplete would display an incorrect address after a user selects one

sampoyigi and others added 5 commits August 4, 2026 12:32
…nges (#88)

* fix(checkout): persist recomputed order total when payment method changes

Selecting a new payment method only saved the payment code, so a
stale pre-fee order_total (set earlier in the request) could be
written to the database alongside it.

* refactor(checkout): cache cart total once in onChoosePayment

Avoids computing the cart total twice and guarantees the comparison
and the persisted value are the same total.
Adds a generic includes/checkout/field-partial.blade.php so extensions
can point a checkout field at an arbitrary blade view via
'type' => 'partial', 'path' => '...', matching the existing
FormField $path + 'partial' convention used elsewhere in admin forms.

Co-authored-by: Claude Sonnet 5 <noreply@anthropic.com>
…tion is disabled (#87)

Since a252f72 the delivery address check is skipped entirely when the
"Reject Orders Outside Delivery Area" setting (location_order) is disabled.
That setting ships disabled by default, so out of the box a delivery order
can be placed with no address at all: address_id ends up NULL and the order
is accepted, leaving the restaurant with an undeliverable order.

The address fields are not part of the checkout form config, so nothing else
validates them - the skipped after() callback was the only guard.

Keep the intent of a252f72 (no geocoding or delivery-area enforcement when
the restriction is off, so legitimate customers are not blocked by geocoder
failures), but still require the address to be present.
- Add `field-select.blade.php` to render a floating-label `<select>` control with Livewire binding, validation state, and options loop
- Include shared error component for consistent validation feedback display
@sampoyigi
sampoyigi merged commit 9deb486 into master Aug 8, 2026
9 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants