Product Types Validations Updated

This commit is contained in:
devansh bawari 2021-08-09 17:22:00 +05:30
parent 0fc6e4ff38
commit dee974a330
4 changed files with 38 additions and 32 deletions

View File

@ -2,23 +2,23 @@
namespace Webkul\Product\Type;
use Webkul\Tax\Helpers\Tax;
use Illuminate\Support\Facades\Storage;
use Webkul\Attribute\Repositories\AttributeRepository;
use Webkul\Checkout\Facades\Cart;
use Webkul\Checkout\Models\CartItem;
use Illuminate\Support\Facades\Storage;
use Webkul\Customer\Repositories\CustomerGroupRepository;
use Webkul\Inventory\Repositories\InventorySourceRepository;
use Webkul\Product\Datatypes\CartItemValidationResult;
use Webkul\Product\Facades\ProductImage;
use Webkul\Product\Models\ProductAttributeValue;
use Webkul\Product\Repositories\ProductRepository;
use Webkul\Tax\Repositories\TaxCategoryRepository;
use Webkul\Attribute\Repositories\AttributeRepository;
use Webkul\Product\Datatypes\CartItemValidationResult;
use Webkul\Product\Repositories\ProductImageRepository;
use Webkul\Product\Repositories\ProductVideoRepository;
use Webkul\Customer\Repositories\CustomerGroupRepository;
use Webkul\Product\Repositories\ProductInventoryRepository;
use Webkul\Inventory\Repositories\InventorySourceRepository;
use Webkul\Product\Repositories\ProductAttributeValueRepository;
use Webkul\Product\Repositories\ProductCustomerGroupPriceRepository;
use Webkul\Product\Repositories\ProductImageRepository;
use Webkul\Product\Repositories\ProductInventoryRepository;
use Webkul\Product\Repositories\ProductRepository;
use Webkul\Product\Repositories\ProductVideoRepository;
use Webkul\Tax\Helpers\Tax;
use Webkul\Tax\Repositories\TaxCategoryRepository;
abstract class AbstractType
{
@ -801,9 +801,11 @@ abstract class AbstractType
*/
public function evaluatePrice($price)
{
$roundedOffPrice = round($price, 2);
return Tax::isTaxInclusive()
? $this->getTaxInclusiveRate($price)
: $price;
? $this->getTaxInclusiveRate($roundedOffPrice)
: $roundedOffPrice;
}
/**
@ -823,7 +825,7 @@ abstract class AbstractType
return trans('shop::app.checkout.cart.quantity.inventory_warning');
}
$price = $this->getFinalPrice();
$price = round($this->getFinalPrice(), 2);
$products = [
[
@ -938,7 +940,7 @@ abstract class AbstractType
return $result;
}
$price = $item->product->getTypeInstance()->getFinalPrice($item->quantity);
$price = round($item->product->getTypeInstance()->getFinalPrice($item->quantity), 2);
if ($price == $item->base_price) {
return $result;

View File

@ -2,17 +2,17 @@
namespace Webkul\Product\Type;
use Webkul\Checkout\Models\CartItem;
use Webkul\Product\Helpers\BundleOption;
use Webkul\Product\Repositories\ProductRepository;
use Webkul\Attribute\Repositories\AttributeRepository;
use Webkul\Checkout\Models\CartItem;
use Webkul\Product\Datatypes\CartItemValidationResult;
use Webkul\Product\Repositories\ProductImageRepository;
use Webkul\Product\Repositories\ProductVideoRepository;
use Webkul\Product\Repositories\ProductInventoryRepository;
use Webkul\Product\Repositories\ProductBundleOptionRepository;
use Webkul\Product\Helpers\BundleOption;
use Webkul\Product\Repositories\ProductAttributeValueRepository;
use Webkul\Product\Repositories\ProductBundleOptionProductRepository;
use Webkul\Product\Repositories\ProductBundleOptionRepository;
use Webkul\Product\Repositories\ProductImageRepository;
use Webkul\Product\Repositories\ProductInventoryRepository;
use Webkul\Product\Repositories\ProductRepository;
use Webkul\Product\Repositories\ProductVideoRepository;
class Bundle extends AbstractType
{
@ -712,6 +712,8 @@ class Bundle extends AbstractType
$price += $childItem->base_price * $childItem->quantity;
}
$price = round($price, 2);
if ($price == $item->base_price) {
return $result;
}

View File

@ -2,13 +2,13 @@
namespace Webkul\Product\Type;
use Illuminate\Support\Str;
use Illuminate\Support\Facades\DB;
use Webkul\Product\Models\ProductFlat;
use Webkul\Product\Facades\ProductImage;
use Webkul\Product\Models\ProductAttributeValue;
use Illuminate\Support\Str;
use Webkul\Checkout\Models\CartItem as CartItemModel;
use Webkul\Product\Datatypes\CartItemValidationResult;
use Webkul\Product\Facades\ProductImage;
use Webkul\Product\Models\ProductAttributeValue;
use Webkul\Product\Models\ProductFlat;
class Configurable extends AbstractType
{
@ -739,7 +739,7 @@ class Configurable extends AbstractType
return $result;
}
$price = $item->child->product->getTypeInstance()->getFinalPrice($item->quantity);
$price = round($item->child->product->getTypeInstance()->getFinalPrice($item->quantity), 2);
if ($price == $item->base_price) {
return $result;

View File

@ -2,16 +2,16 @@
namespace Webkul\Product\Type;
use Webkul\Checkout\Models\CartItem;
use Webkul\Product\Repositories\ProductRepository;
use Webkul\Attribute\Repositories\AttributeRepository;
use Webkul\Checkout\Models\CartItem;
use Webkul\Product\Datatypes\CartItemValidationResult;
use Webkul\Product\Repositories\ProductImageRepository;
use Webkul\Product\Repositories\ProductVideoRepository;
use Webkul\Product\Repositories\ProductInventoryRepository;
use Webkul\Product\Repositories\ProductAttributeValueRepository;
use Webkul\Product\Repositories\ProductDownloadableLinkRepository;
use Webkul\Product\Repositories\ProductDownloadableSampleRepository;
use Webkul\Product\Repositories\ProductImageRepository;
use Webkul\Product\Repositories\ProductInventoryRepository;
use Webkul\Product\Repositories\ProductRepository;
use Webkul\Product\Repositories\ProductVideoRepository;
class Downloadable extends AbstractType
{
@ -274,6 +274,8 @@ class Downloadable extends AbstractType
$price += $link->price;
}
$price = round($price, 2);
if ($price == $item->base_price) {
return $result;
}