diff --git a/packages/Webkul/Admin/src/Resources/views/sales/refunds/create.blade.php b/packages/Webkul/Admin/src/Resources/views/sales/refunds/create.blade.php index 70c99ea9c..e28fcbbd2 100755 --- a/packages/Webkul/Admin/src/Resources/views/sales/refunds/create.blade.php +++ b/packages/Webkul/Admin/src/Resources/views/sales/refunds/create.blade.php @@ -43,7 +43,7 @@ - #{{ $order->id }} + #{{ $order->increment_id }} diff --git a/packages/Webkul/Admin/src/Resources/views/sales/refunds/view.blade.php b/packages/Webkul/Admin/src/Resources/views/sales/refunds/view.blade.php index 42cd3d78d..d056cf5a4 100755 --- a/packages/Webkul/Admin/src/Resources/views/sales/refunds/view.blade.php +++ b/packages/Webkul/Admin/src/Resources/views/sales/refunds/view.blade.php @@ -40,7 +40,7 @@ - #{{ $order->id }} + #{{ $order->increment_id }} diff --git a/packages/Webkul/Sales/src/Repositories/OrderItemRepository.php b/packages/Webkul/Sales/src/Repositories/OrderItemRepository.php index 0ccd5adb6..bf39afaa2 100755 --- a/packages/Webkul/Sales/src/Repositories/OrderItemRepository.php +++ b/packages/Webkul/Sales/src/Repositories/OrderItemRepository.php @@ -135,7 +135,7 @@ class OrderItemRepository extends Repository /** * Returns qty to product inventory after order cancelation * - * @param mixed $orderItem + * @param OrderItem $orderItem * @return void */ public function returnQtyToProductInventory($orderItem) @@ -150,9 +150,8 @@ class OrderItemRepository extends Repository if (! $orderedInventory) return ; - if (($qty = $orderedInventory->qty - $orderItem->qty_to_cancel) < 0) { + if (($qty = $orderedInventory->qty - $quantity) < 0) $qty = 0; - } $orderedInventory->update([ 'qty' => $qty diff --git a/packages/Webkul/Sales/src/Repositories/RefundItemRepository.php b/packages/Webkul/Sales/src/Repositories/RefundItemRepository.php index 31eaa9405..f48880032 100644 --- a/packages/Webkul/Sales/src/Repositories/RefundItemRepository.php +++ b/packages/Webkul/Sales/src/Repositories/RefundItemRepository.php @@ -25,4 +25,31 @@ class RefundItemRepository extends Repository { return RefundItem::class; } + + /** + * Returns qty to product inventory after order refund + * + * @param RefundItem $refundItem + * @return void + */ + public function returnQtyToProductInventory($refundItem) + { + return; + if (! $product = $orderItem->product) + return; + + $orderedInventory = $product->ordered_inventories() + ->where('channel_id', $orderItem->order->channel->id) + ->first(); + + if (! $orderedInventory) + return ; + + if (($qty = $orderedInventory->qty - $quantity) < 0) + $qty = 0; + + $orderedInventory->update([ + 'qty' => $qty + ]); + } } \ No newline at end of file diff --git a/packages/Webkul/Sales/src/Repositories/RefundRepository.php b/packages/Webkul/Sales/src/Repositories/RefundRepository.php index 3f792a32d..9d6677ccb 100644 --- a/packages/Webkul/Sales/src/Repositories/RefundRepository.php +++ b/packages/Webkul/Sales/src/Repositories/RefundRepository.php @@ -151,6 +151,10 @@ class RefundRepository extends Repository 'product_type' => $childOrderItem->product_type, 'additional' => $childOrderItem->additional ]); + + $this->refundItemRepository->returnQtyToProductInventory($childOrderItem); + } else { + $this->refundItemRepository->returnQtyToProductInventory($childOrderItem); } $this->orderItemRepository->collectTotals($orderItem);