diff --git a/packages/Webkul/Admin/src/Config/system.php b/packages/Webkul/Admin/src/Config/system.php index e1e5bce54..964771e54 100644 --- a/packages/Webkul/Admin/src/Config/system.php +++ b/packages/Webkul/Admin/src/Config/system.php @@ -166,6 +166,11 @@ return [ 'type' => 'number', 'validation' => 'min:0', ], + [ + 'name' => 'out_of_stock_items', + 'title' => 'admin::app.admin.system.allow-out-of-stock-items', + 'type' => 'boolean', + ], ], ], [ 'key' => 'catalog.products.storefront', diff --git a/packages/Webkul/Admin/src/Resources/lang/ar/app.php b/packages/Webkul/Admin/src/Resources/lang/ar/app.php index 3212aabbf..e187111af 100644 --- a/packages/Webkul/Admin/src/Resources/lang/ar/app.php +++ b/packages/Webkul/Admin/src/Resources/lang/ar/app.php @@ -1337,6 +1337,10 @@ return [ ], 'system' => [ 'catalog' => 'فهرس', + 'homepage' => 'Homepage configuration', + 'allow-no-of-new-product-homepage' => 'Allowed No of New Product in Homepage', + 'allow-no-of-featured-product-homepage' => 'Allowed No of Featured Product in Homepage', + 'allow-out-of-stock-items' => 'Allow out of stock items', 'products' => 'منتجات', 'guest-checkout' => 'ضيف المحاسبة', 'allow-guest-checkout' => 'السماح للضيف بالخروج', diff --git a/packages/Webkul/Admin/src/Resources/lang/de/app.php b/packages/Webkul/Admin/src/Resources/lang/de/app.php index 3b26c3a61..cde357fa9 100755 --- a/packages/Webkul/Admin/src/Resources/lang/de/app.php +++ b/packages/Webkul/Admin/src/Resources/lang/de/app.php @@ -1345,6 +1345,10 @@ return [ 'system' => [ 'catalog' => 'Katalog', + 'homepage' => 'Homepage configuration', + 'allow-no-of-new-product-homepage' => 'Allowed No of New Product in Homepage', + 'allow-no-of-featured-product-homepage' => 'Allowed No of Featured Product in Homepage', + 'allow-out-of-stock-items' => 'Allow out of stock items', 'products' => 'Produkte', 'guest-checkout' => 'Gastbestellungen', 'allow-guest-checkout' => 'Gastbestellungen erlauben', diff --git a/packages/Webkul/Admin/src/Resources/lang/en/app.php b/packages/Webkul/Admin/src/Resources/lang/en/app.php index 20c60f316..1ae5dcec3 100755 --- a/packages/Webkul/Admin/src/Resources/lang/en/app.php +++ b/packages/Webkul/Admin/src/Resources/lang/en/app.php @@ -1348,6 +1348,7 @@ return [ 'homepage' => 'Homepage configuration', 'allow-no-of-new-product-homepage' => 'Allowed No of New Product in Homepage', 'allow-no-of-featured-product-homepage' => 'Allowed No of Featured Product in Homepage', + 'allow-out-of-stock-items' => 'Allow out of stock items', 'products' => 'Products', 'guest-checkout' => 'Guest Checkout', 'allow-guest-checkout' => 'Allow Guest Checkout', diff --git a/packages/Webkul/Admin/src/Resources/lang/es/app.php b/packages/Webkul/Admin/src/Resources/lang/es/app.php index bf05e8c88..c3e1284ee 100644 --- a/packages/Webkul/Admin/src/Resources/lang/es/app.php +++ b/packages/Webkul/Admin/src/Resources/lang/es/app.php @@ -1326,6 +1326,10 @@ return [ ], 'system' => [ 'catalog' => 'Catálogo', + 'homepage' => 'Homepage configuration', + 'allow-no-of-new-product-homepage' => 'Allowed No of New Product in Homepage', + 'allow-no-of-featured-product-homepage' => 'Allowed No of Featured Product in Homepage', + 'allow-out-of-stock-items' => 'Allow out of stock items', 'products' => 'Productos', 'guest-checkout' => 'Compras como invitado', 'allow-guest-checkout' => 'Permitir compras como invitado', diff --git a/packages/Webkul/Admin/src/Resources/lang/fa/app.php b/packages/Webkul/Admin/src/Resources/lang/fa/app.php index 1303cf1e8..20e79e8c8 100644 --- a/packages/Webkul/Admin/src/Resources/lang/fa/app.php +++ b/packages/Webkul/Admin/src/Resources/lang/fa/app.php @@ -1334,6 +1334,10 @@ return [ ], 'system' => [ 'catalog' => 'کاتالوگ', + 'homepage' => 'Homepage configuration', + 'allow-no-of-new-product-homepage' => 'Allowed No of New Product in Homepage', + 'allow-no-of-featured-product-homepage' => 'Allowed No of Featured Product in Homepage', + 'allow-out-of-stock-items' => 'Allow out of stock items', 'products' => 'محصولات', 'guest-checkout' => 'وارسی میهمان', 'allow-guest-checkout' => 'مجاز به پرداخت مهمان', diff --git a/packages/Webkul/Admin/src/Resources/lang/it/app.php b/packages/Webkul/Admin/src/Resources/lang/it/app.php index f52f7532e..edcf670f1 100644 --- a/packages/Webkul/Admin/src/Resources/lang/it/app.php +++ b/packages/Webkul/Admin/src/Resources/lang/it/app.php @@ -1337,6 +1337,10 @@ return [ ], 'system' => [ 'catalog' => 'Catalogo', + 'homepage' => 'Homepage configuration', + 'allow-no-of-new-product-homepage' => 'Allowed No of New Product in Homepage', + 'allow-no-of-featured-product-homepage' => 'Allowed No of Featured Product in Homepage', + 'allow-out-of-stock-items' => 'Allow out of stock items', 'products' => 'Prodotti', 'guest-checkout' => 'Checkout come Ospite', 'allow-guest-checkout' => 'Consenti Checkout come Ospite', diff --git a/packages/Webkul/Admin/src/Resources/lang/nl/app.php b/packages/Webkul/Admin/src/Resources/lang/nl/app.php index 7e5df1df3..f14010008 100644 --- a/packages/Webkul/Admin/src/Resources/lang/nl/app.php +++ b/packages/Webkul/Admin/src/Resources/lang/nl/app.php @@ -1333,6 +1333,10 @@ return [ ], 'system' => [ 'catalog' => 'Catalogus', + 'homepage' => 'Homepage configuration', + 'allow-no-of-new-product-homepage' => 'Allowed No of New Product in Homepage', + 'allow-no-of-featured-product-homepage' => 'Allowed No of Featured Product in Homepage', + 'allow-out-of-stock-items' => 'Allow out of stock items', 'products' => 'Producten', 'guest-checkout' => 'Gast afrekenen', 'allow-guest-checkout' => 'Gast afrekenen toestaan', diff --git a/packages/Webkul/Admin/src/Resources/lang/pl/app.php b/packages/Webkul/Admin/src/Resources/lang/pl/app.php index 5b4a3914b..126bf6551 100644 --- a/packages/Webkul/Admin/src/Resources/lang/pl/app.php +++ b/packages/Webkul/Admin/src/Resources/lang/pl/app.php @@ -1334,6 +1334,10 @@ return [ ], 'system' => [ 'catalog' => 'Katalog', + 'homepage' => 'Homepage configuration', + 'allow-no-of-new-product-homepage' => 'Allowed No of New Product in Homepage', + 'allow-no-of-featured-product-homepage' => 'Allowed No of Featured Product in Homepage', + 'allow-out-of-stock-items' => 'Allow out of stock items', 'products' => 'Produkty', 'guest-checkout' => 'Zamówienia gości', 'allow-guest-checkout' => 'Zezwalaj na zamówienia gości', diff --git a/packages/Webkul/Admin/src/Resources/lang/pt_BR/app.php b/packages/Webkul/Admin/src/Resources/lang/pt_BR/app.php index 80abecd39..dbef8c404 100755 --- a/packages/Webkul/Admin/src/Resources/lang/pt_BR/app.php +++ b/packages/Webkul/Admin/src/Resources/lang/pt_BR/app.php @@ -1333,6 +1333,10 @@ return [ ], 'system' => [ 'catalog' => 'Catálogo', + 'homepage' => 'Homepage configuration', + 'allow-no-of-new-product-homepage' => 'Allowed No of New Product in Homepage', + 'allow-no-of-featured-product-homepage' => 'Allowed No of Featured Product in Homepage', + 'allow-out-of-stock-items' => 'Allow out of stock items', 'products' => 'Produtos', 'guest-checkout' => 'Compras sem cadastro?', 'allow-guest-checkout' => 'Permitir compra para clientes sem cadastros?', diff --git a/packages/Webkul/Admin/src/Resources/lang/tr/app.php b/packages/Webkul/Admin/src/Resources/lang/tr/app.php index 67b975387..815b9af33 100644 --- a/packages/Webkul/Admin/src/Resources/lang/tr/app.php +++ b/packages/Webkul/Admin/src/Resources/lang/tr/app.php @@ -1321,6 +1321,10 @@ return [ ], 'system' => [ 'catalog' => 'Katalog', + 'homepage' => 'Homepage configuration', + 'allow-no-of-new-product-homepage' => 'Allowed No of New Product in Homepage', + 'allow-no-of-featured-product-homepage' => 'Allowed No of Featured Product in Homepage', + 'allow-out-of-stock-items' => 'Allow out of stock items', 'products' => 'Ürünler', 'guest-checkout' => 'Ziyaretçi Satışı', 'allow-guest-checkout' => 'Ziyaretçi Alımına İzin Ver', diff --git a/packages/Webkul/CartRule/src/Http/Controllers/CartRuleController.php b/packages/Webkul/CartRule/src/Http/Controllers/CartRuleController.php index 459788067..7788e05e9 100644 --- a/packages/Webkul/CartRule/src/Http/Controllers/CartRuleController.php +++ b/packages/Webkul/CartRule/src/Http/Controllers/CartRuleController.php @@ -189,9 +189,15 @@ class CartRuleController extends Controller $cartRule = $this->cartRuleRepository->findOrFail($id); if ($cartRule->coupon_type) { - $this->validate(request(), [ - 'coupon_code' => 'required_if:use_auto_generation,==,0|unique:cart_rule_coupons,code,' . $cartRule->cart_rule_coupon->id, - ]); + if ($cartRule->cart_rule_coupon) { + $this->validate(request(), [ + 'coupon_code' => 'required_if:use_auto_generation,==,0|unique:cart_rule_coupons,code,' . $cartRule->cart_rule_coupon->id, + ]); + } else { + $this->validate(request(), [ + 'coupon_code' => 'required_if:use_auto_generation,==,0|unique:cart_rule_coupons,code', + ]); + } } Event::dispatch('promotions.cart_rule.update.before', $cartRule); diff --git a/packages/Webkul/Shop/src/Resources/views/home/featured-products.blade.php b/packages/Webkul/Shop/src/Resources/views/home/featured-products.blade.php index 77aa48998..654a02043 100755 --- a/packages/Webkul/Shop/src/Resources/views/home/featured-products.blade.php +++ b/packages/Webkul/Shop/src/Resources/views/home/featured-products.blade.php @@ -11,7 +11,13 @@ @foreach (app('Webkul\Product\Repositories\ProductRepository')->getFeaturedProducts() as $productFlat) - @include ('shop::products.list.card', ['product' => $productFlat]) + @if (core()->getConfigData('catalog.products.homepage.out_of_stock_items')) + @include ('shop::products.list.card', ['product' => $productFlat]) + @else + @if ($productFlat->isSaleable()) + @include ('shop::products.list.card', ['product' => $productFlat]) + @endif + @endif @endforeach diff --git a/packages/Webkul/Shop/src/Resources/views/home/new-products.blade.php b/packages/Webkul/Shop/src/Resources/views/home/new-products.blade.php index c36bfca87..5a31b168c 100755 --- a/packages/Webkul/Shop/src/Resources/views/home/new-products.blade.php +++ b/packages/Webkul/Shop/src/Resources/views/home/new-products.blade.php @@ -11,7 +11,13 @@ @foreach (app('Webkul\Product\Repositories\ProductRepository')->getNewProducts() as $productFlat) - @include ('shop::products.list.card', ['product' => $productFlat]) + @if (core()->getConfigData('catalog.products.homepage.out_of_stock_items')) + @include ('shop::products.list.card', ['product' => $productFlat]) + @else + @if ($productFlat->isSaleable()) + @include ('shop::products.list.card', ['product' => $productFlat]) + @endif + @endif @endforeach