diff --git a/packages/table-rate-shipping/src/Filament/Resources/ShippingZoneResource/Pages/ManageShippingRates.php b/packages/table-rate-shipping/src/Filament/Resources/ShippingZoneResource/Pages/ManageShippingRates.php index 1d80cfb149..9d84b2f26f 100644 --- a/packages/table-rate-shipping/src/Filament/Resources/ShippingZoneResource/Pages/ManageShippingRates.php +++ b/packages/table-rate-shipping/src/Filament/Resources/ShippingZoneResource/Pages/ManageShippingRates.php @@ -57,6 +57,7 @@ function () { ->label( __('lunarpanel.shipping::relationmanagers.shipping_rates.form.shipping_method_id.label') ) + ->required() ->relationship(name: 'shippingMethod', titleAttribute: 'name') ->columnSpan(2), Forms\Components\TextInput::make('price') @@ -180,9 +181,14 @@ protected static function saveShippingRate(?ShippingRate $shippingRate = null, a $shippingRate->priceBreaks()->delete(); + $currencies = Currency::all(); $tiers = collect($data['prices'] ?? [])->map( - function ($price) { - $price['min_quantity'] = $price['min_quantity'] * 100; + function ($price) use ($currencies) { + $currency = $currencies->first(fn ($currency) => $currency->id == $price['currency_id']); + + $price['min_quantity'] = (int) ($price['min_quantity'] * $currency->factor); + + $price['price'] = (int) ($price['price'] * $currency->factor); return $price; }