From b6bf208679ab114411a5d8475decd4a4c600212f Mon Sep 17 00:00:00 2001 From: Bob Date: Fri, 14 Jun 2024 15:45:06 +0200 Subject: [PATCH 1/3] Add backorders to rapidez 2.0 --- resources/views/cart/item.blade.php | 12 ++++++++++++ resources/views/cart/queries/cart.graphql | 1 + resources/views/product/partials/addtocart.blade.php | 9 ++++++++- src/Models/Scopes/Product/WithProductStockScope.php | 4 ++++ 4 files changed, 25 insertions(+), 1 deletion(-) diff --git a/resources/views/cart/item.blade.php b/resources/views/cart/item.blade.php index 868aefab6..e2d294795 100644 --- a/resources/views/cart/item.blade.php +++ b/resources/views/cart/item.blade.php @@ -28,6 +28,18 @@ class="mx-auto" @include('rapidez::cart.item.remove') +
+ + + + + +
+ diff --git a/resources/views/cart/queries/cart.graphql b/resources/views/cart/queries/cart.graphql index 455316e83..28a7b8192 100644 --- a/resources/views/cart/queries/cart.graphql +++ b/resources/views/cart/queries/cart.graphql @@ -3,6 +3,7 @@ total_quantity items { id quantity + qty_backordered product { @foreach(collect([ 'id', diff --git a/resources/views/product/partials/addtocart.blade.php b/resources/views/product/partials/addtocart.blade.php index 9323d1c12..940d9a3c4 100644 --- a/resources/views/product/partials/addtocart.blade.php +++ b/resources/views/product/partials/addtocart.blade.php @@ -1,12 +1,19 @@

{{ $product->name }}

- @if (!$product->in_stock) + @if (!$product->in_stock && $product->backorder_type === 0)

@lang('Sorry! This product is currently out of stock.')

@else @include('rapidez::product.partials.super_attributes') @include('rapidez::product.partials.options') + @if ($product->qty <= 0 && $product->backorder_type == 2) +
+ + @lang('This product will be backordered') +
+ @endif +
diff --git a/src/Models/Scopes/Product/WithProductStockScope.php b/src/Models/Scopes/Product/WithProductStockScope.php index fa3e9b545..8367d7f55 100644 --- a/src/Models/Scopes/Product/WithProductStockScope.php +++ b/src/Models/Scopes/Product/WithProductStockScope.php @@ -5,6 +5,7 @@ use Illuminate\Database\Eloquent\Builder; use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Scope; +use Rapidez\Core\Facades\Rapidez; class WithProductStockScope implements Scope { @@ -14,7 +15,10 @@ public function apply(Builder $builder, Model $model) $builder->selectRaw('ANY_VALUE(cataloginventory_stock_item.qty) AS qty'); } + $configBackorder = Rapidez::config('cataloginventory/item_options/backorders', 0); + $builder + ->selectRaw('ANY_VALUE(IF(cataloginventory_stock_item.use_config_backorders, ' . $configBackorder . ', cataloginventory_stock_item.backorders)) as backorder_type') ->selectRaw('ANY_VALUE(cataloginventory_stock_item.manage_stock) as manage_stock') ->selectRaw('ANY_VALUE(cataloginventory_stock_item.min_sale_qty) as min_sale_qty') ->selectRaw('ANY_VALUE(cataloginventory_stock_item.is_in_stock) AS in_stock') From cda0bd974c38763f0df39f6f4fcaac013eb9239c Mon Sep 17 00:00:00 2001 From: Bob Date: Tue, 18 Jun 2024 07:37:58 +0200 Subject: [PATCH 2/3] feedback --- resources/views/cart/item.blade.php | 6 +++--- resources/views/cart/queries/cart.graphql | 4 +++- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/resources/views/cart/item.blade.php b/resources/views/cart/item.blade.php index e2d294795..ad4980a3f 100644 --- a/resources/views/cart/item.blade.php +++ b/resources/views/cart/item.blade.php @@ -28,11 +28,11 @@ class="mx-auto"
@include('rapidez::cart.item.remove') -
+
-