From 52206b582f779c01135a92baf013250b2e9c47bc Mon Sep 17 00:00:00 2001 From: Glenn Hermans Date: Sun, 2 May 2021 19:18:30 +0200 Subject: [PATCH 1/4] Added optional custom order status --- .../src/Repositories/OrderRepository.php | 22 +++++++++++-------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/packages/Webkul/Sales/src/Repositories/OrderRepository.php b/packages/Webkul/Sales/src/Repositories/OrderRepository.php index 462c94eb3..1f79f9ff5 100755 --- a/packages/Webkul/Sales/src/Repositories/OrderRepository.php +++ b/packages/Webkul/Sales/src/Repositories/OrderRepository.php @@ -304,18 +304,22 @@ class OrderRepository extends Repository * @param \Webkul\Sales\Contracts\Order $order * @return void */ - public function updateOrderStatus($order) + public function updateOrderStatus($order, $orderState = null) { - $status = 'processing'; + if (!empty($orderState)){ + $status = $orderState; + } else { + $status = "processing"; - if ($this->isInCompletedState($order)) { - $status = 'completed'; - } + if ($this->isInCompletedState($order)) { + $status = 'completed'; + } - if ($this->isInCanceledState($order)) { - $status = 'canceled'; - } elseif ($this->isInClosedState($order)) { - $status = 'closed'; + if ($this->isInCanceledState($order)) { + $status = 'canceled'; + } elseif ($this->isInClosedState($order)) { + $status = 'closed'; + } } $order->status = $status; From 04aac03bbd54f35bbafb644ddae7c172a3f7b8a5 Mon Sep 17 00:00:00 2001 From: Glenn Hermans Date: Sun, 2 May 2021 19:29:52 +0200 Subject: [PATCH 2/4] fixed #3453 --- .../src/Repositories/InvoiceRepository.php | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/packages/Webkul/Sales/src/Repositories/InvoiceRepository.php b/packages/Webkul/Sales/src/Repositories/InvoiceRepository.php index 4ed72f12b..0f8ce68a9 100755 --- a/packages/Webkul/Sales/src/Repositories/InvoiceRepository.php +++ b/packages/Webkul/Sales/src/Repositories/InvoiceRepository.php @@ -83,7 +83,7 @@ class InvoiceRepository extends Repository * @param array $data * @return \Webkul\Sales\Contracts\Invoice */ - public function create(array $data) + public function create(array $data, $invoiceState = null, $orderState = null) { DB::beginTransaction(); @@ -93,11 +93,17 @@ class InvoiceRepository extends Repository $order = $this->orderRepository->find($data['order_id']); $totalQty = array_sum($data['invoice']['items']); + + if (isset($invoiceState)) { + $state = $invoiceState; + } else { + $state = "paid"; + } $invoice = $this->model->create([ 'order_id' => $order->id, 'total_qty' => $totalQty, - 'state' => 'paid', + 'state' => $state, 'base_currency_code' => $order->base_currency_code, 'channel_currency_code' => $order->channel_currency_code, 'order_currency_code' => $order->order_currency_code, @@ -195,7 +201,11 @@ class InvoiceRepository extends Repository $this->orderRepository->collectTotals($order); - $this->orderRepository->updateOrderStatus($order); + if (isset($orderState)){ + $this->orderRepository->updateOrderStatus($order, $orderState); + } else { + $this->orderRepository->updateOrderStatus($order); + } Event::dispatch('sales.invoice.save.after', $invoice); } catch (\Exception $e) { @@ -256,4 +266,4 @@ class InvoiceRepository extends Repository return $invoice; } -} \ No newline at end of file +} From db505d5551e60773d1af92e642e0d6b6066805c6 Mon Sep 17 00:00:00 2001 From: Glenn Hermans Date: Sun, 2 May 2021 19:39:03 +0200 Subject: [PATCH 3/4] fixed spacing --- packages/Webkul/Sales/src/Repositories/OrderRepository.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/Webkul/Sales/src/Repositories/OrderRepository.php b/packages/Webkul/Sales/src/Repositories/OrderRepository.php index 1f79f9ff5..598708204 100755 --- a/packages/Webkul/Sales/src/Repositories/OrderRepository.php +++ b/packages/Webkul/Sales/src/Repositories/OrderRepository.php @@ -306,7 +306,7 @@ class OrderRepository extends Repository */ public function updateOrderStatus($order, $orderState = null) { - if (!empty($orderState)){ + if (!empty($orderState)) { $status = $orderState; } else { $status = "processing"; From dbf8b9f384c9fa486ce4026420fc6e8360033cf6 Mon Sep 17 00:00:00 2001 From: Glenn Hermans Date: Sun, 2 May 2021 20:01:27 +0200 Subject: [PATCH 4/4] added space --- packages/Webkul/Sales/src/Repositories/InvoiceRepository.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/Webkul/Sales/src/Repositories/InvoiceRepository.php b/packages/Webkul/Sales/src/Repositories/InvoiceRepository.php index 0f8ce68a9..8b667c997 100755 --- a/packages/Webkul/Sales/src/Repositories/InvoiceRepository.php +++ b/packages/Webkul/Sales/src/Repositories/InvoiceRepository.php @@ -201,7 +201,7 @@ class InvoiceRepository extends Repository $this->orderRepository->collectTotals($order); - if (isset($orderState)){ + if (isset($orderState)) { $this->orderRepository->updateOrderStatus($order, $orderState); } else { $this->orderRepository->updateOrderStatus($order);