From 94d72899270a8326fc6d0f51ddaa9023f5020306 Mon Sep 17 00:00:00 2001 From: jitendra Date: Tue, 15 Oct 2019 18:59:54 +0530 Subject: [PATCH] Issue #1631 fixed --- packages/Webkul/Product/src/Type/Virtual.php | 16 ++++++++++++++++ .../Sales/src/Repositories/InvoiceRepository.php | 4 ++-- .../src/Repositories/RefundItemRepository.php | 2 +- .../Sales/src/Repositories/RefundRepository.php | 3 +-- .../DataGrids/DownloadableProductDataGrid.php | 2 +- 5 files changed, 21 insertions(+), 6 deletions(-) diff --git a/packages/Webkul/Product/src/Type/Virtual.php b/packages/Webkul/Product/src/Type/Virtual.php index 487917923..c2fb27433 100644 --- a/packages/Webkul/Product/src/Type/Virtual.php +++ b/packages/Webkul/Product/src/Type/Virtual.php @@ -43,6 +43,22 @@ class Virtual extends AbstractType */ protected $showQuantityBox = true; + /** + * Return true if this product type is saleable + * + * @return boolean + */ + public function isSaleable() + { + if (! $this->product->status) + return false; + + if ($this->haveSufficientQuantity(1)) + return true; + + return false; + } + /** * @param integer $qty * @return bool diff --git a/packages/Webkul/Sales/src/Repositories/InvoiceRepository.php b/packages/Webkul/Sales/src/Repositories/InvoiceRepository.php index 9cad38693..9ef731cc2 100755 --- a/packages/Webkul/Sales/src/Repositories/InvoiceRepository.php +++ b/packages/Webkul/Sales/src/Repositories/InvoiceRepository.php @@ -134,7 +134,7 @@ class InvoiceRepository extends Repository 'base_discount_amount' => ( ($orderItem->base_discount_amount / $orderItem->qty_ordered) * $qty ), 'product_id' => $orderItem->product_id, 'product_type' => $orderItem->product_type, - 'additional' => $orderItem->additional, + 'additional' => $orderItem->additional ]); if ($orderItem->getTypeInstance()->isComposite()) { @@ -160,7 +160,7 @@ class InvoiceRepository extends Repository 'base_discount_amount' => 0, 'product_id' => $childOrderItem->product_id, 'product_type' => $childOrderItem->product_type, - 'additional' => $childOrderItem->additional, + 'additional' => $childOrderItem->additional ]); if (! $childOrderItem->product->getTypeInstance()->isStockable() && $childOrderItem->product->getTypeInstance()->showQuantityBox()) { diff --git a/packages/Webkul/Sales/src/Repositories/RefundItemRepository.php b/packages/Webkul/Sales/src/Repositories/RefundItemRepository.php index 4be9f54ab..5011802e7 100644 --- a/packages/Webkul/Sales/src/Repositories/RefundItemRepository.php +++ b/packages/Webkul/Sales/src/Repositories/RefundItemRepository.php @@ -40,7 +40,7 @@ class RefundItemRepository extends Repository if ($orderItem->qty_shipped && $quantity > $orderItem->qty_ordered - $orderItem->qty_shipped) { $nonShippedQty = $orderItem->qty_ordered - $orderItem->qty_shipped; - if (($totalShippedQtyToRefund = $quantity - $nonShippedQty) > 0) { + if (($totalShippedQtyToRefund = $quantity - $nonShippedQty) > 0) { foreach ($orderItem->shipment_items as $shipmentItem) { if (! $totalShippedQtyToRefund) break; diff --git a/packages/Webkul/Sales/src/Repositories/RefundRepository.php b/packages/Webkul/Sales/src/Repositories/RefundRepository.php index 9d5deace2..f707426e8 100644 --- a/packages/Webkul/Sales/src/Repositories/RefundRepository.php +++ b/packages/Webkul/Sales/src/Repositories/RefundRepository.php @@ -166,8 +166,7 @@ class RefundRepository extends Repository 'additional' => $childOrderItem->additional ]); - if ($childOrderItem->product->getTypeInstance()->showQuantityBox()) - $this->refundItemRepository->returnQtyToProductInventory($childOrderItem, $finalQty); + $this->refundItemRepository->returnQtyToProductInventory($childOrderItem, $finalQty); $this->orderItemRepository->collectTotals($childOrderItem); } diff --git a/packages/Webkul/Shop/src/DataGrids/DownloadableProductDataGrid.php b/packages/Webkul/Shop/src/DataGrids/DownloadableProductDataGrid.php index e90a1212f..74906ae24 100644 --- a/packages/Webkul/Shop/src/DataGrids/DownloadableProductDataGrid.php +++ b/packages/Webkul/Shop/src/DataGrids/DownloadableProductDataGrid.php @@ -91,7 +91,7 @@ class DownloadableProductDataGrid extends DataGrid 'label' => trans('shop::app.customer.account.downloadable_products.remaining-downloads'), 'type' => 'datetime', 'searchable' => false, - 'sortable' => false, + 'sortable' => true, 'filterable' => false, 'closure' => true, 'wrapper' => function ($value) {