From de90ab1d6a0060345c47e4427ed4c964ad30a715 Mon Sep 17 00:00:00 2001 From: jitendra Date: Wed, 26 Dec 2018 19:33:01 +0530 Subject: [PATCH] Per unit and per order feature added in Flatrate shipping --- packages/Webkul/Shipping/src/Carriers/FlatRate.php | 14 ++++++++++++-- packages/Webkul/Shipping/src/Config/system.php | 4 ++-- 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/packages/Webkul/Shipping/src/Carriers/FlatRate.php b/packages/Webkul/Shipping/src/Carriers/FlatRate.php index 6f9e48953..e568697cb 100644 --- a/packages/Webkul/Shipping/src/Carriers/FlatRate.php +++ b/packages/Webkul/Shipping/src/Carriers/FlatRate.php @@ -5,6 +5,7 @@ namespace Webkul\Shipping\Carriers; use Config; use Webkul\Checkout\Models\CartShippingRate; use Webkul\Shipping\Facades\Shipping; +use Webkul\Checkout\Facades\Cart; /** * Class Rate. @@ -29,6 +30,8 @@ class FlatRate extends AbstractShipping if(!$this->isAvailable()) return false; + $cart = Cart::getCart(); + $object = new CartShippingRate; $object->carrier = 'flatrate'; @@ -36,8 +39,15 @@ class FlatRate extends AbstractShipping $object->method = 'flatrate_flatrate'; $object->method_title = $this->getConfigData('title'); $object->method_description = $this->getConfigData('description'); - $object->price = core()->convertPrice($this->getConfigData('default_rate')); - $object->base_price = $this->getConfigData('default_rate'); + + if ($this->getConfigData('type') == 'per_unit') { + $object->price = core()->convertPrice($this->getConfigData('default_rate')) * $cart->items_qty; + $object->base_price = $this->getConfigData('default_rate') * $cart->items_qty; + } else { + $object->price = core()->convertPrice($this->getConfigData('default_rate')); + $object->base_price = $this->getConfigData('default_rate'); + } + return $object; } diff --git a/packages/Webkul/Shipping/src/Config/system.php b/packages/Webkul/Shipping/src/Config/system.php index 76f0ffec4..531ed6fef 100644 --- a/packages/Webkul/Shipping/src/Config/system.php +++ b/packages/Webkul/Shipping/src/Config/system.php @@ -74,9 +74,9 @@ return [ 'options' => [ [ 'title' => 'Per Unit', - 'value' => 'Per Order' + 'value' => 'per_unit' ], [ - 'title' => 'Inactive', + 'title' => 'Per Order', 'value' => 'per_order' ] ],