From 97d7abf13a01f6e5cf9a22cfda4ccb4e036f3c4a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Denis=20Duli=C3=A7i?= Date: Thu, 1 Apr 2021 11:17:02 +0300 Subject: [PATCH] fixed recurring for queues --- app/Jobs/Banking/CreateTransaction.php | 2 +- app/Jobs/Banking/UpdateTransaction.php | 2 +- app/Jobs/Document/CreateDocument.php | 2 +- app/Jobs/Document/UpdateDocument.php | 2 +- app/Traits/Recurring.php | 26 +++++++++----------------- 5 files changed, 13 insertions(+), 21 deletions(-) diff --git a/app/Jobs/Banking/CreateTransaction.php b/app/Jobs/Banking/CreateTransaction.php index 001f4bddc..7a690e4fd 100644 --- a/app/Jobs/Banking/CreateTransaction.php +++ b/app/Jobs/Banking/CreateTransaction.php @@ -45,7 +45,7 @@ class CreateTransaction extends Job } // Recurring - $this->transaction->createRecurring(); + $this->transaction->createRecurring($this->request->all()); }); event(new TransactionCreated($this->transaction)); diff --git a/app/Jobs/Banking/UpdateTransaction.php b/app/Jobs/Banking/UpdateTransaction.php index ea5733ce1..98df2031b 100644 --- a/app/Jobs/Banking/UpdateTransaction.php +++ b/app/Jobs/Banking/UpdateTransaction.php @@ -49,7 +49,7 @@ class UpdateTransaction extends Job } // Recurring - $this->transaction->updateRecurring(); + $this->transaction->updateRecurring($this->request->all()); }); return $this->transaction; diff --git a/app/Jobs/Document/CreateDocument.php b/app/Jobs/Document/CreateDocument.php index 6db91209d..1f15c3cb9 100644 --- a/app/Jobs/Document/CreateDocument.php +++ b/app/Jobs/Document/CreateDocument.php @@ -54,7 +54,7 @@ class CreateDocument extends Job $this->document->update($this->request->all()); - $this->document->createRecurring(); + $this->document->createRecurring($this->request->all()); }); event(new DocumentCreated($this->document, $this->request)); diff --git a/app/Jobs/Document/UpdateDocument.php b/app/Jobs/Document/UpdateDocument.php index f9717219e..7c144cd81 100644 --- a/app/Jobs/Document/UpdateDocument.php +++ b/app/Jobs/Document/UpdateDocument.php @@ -80,7 +80,7 @@ class UpdateDocument extends Job $this->document->update($this->request->all()); - $this->document->updateRecurring(); + $this->document->updateRecurring($this->request->all()); }); event(new DocumentUpdated($this->document, $this->request)); diff --git a/app/Traits/Recurring.php b/app/Traits/Recurring.php index 3188332d0..dc5536598 100644 --- a/app/Traits/Recurring.php +++ b/app/Traits/Recurring.php @@ -9,20 +9,18 @@ use Recurr\Transformer\ArrayTransformerConfig; trait Recurring { - public function createRecurring() + public function createRecurring($request) { - $request = request(); - - if ($request->get('recurring_frequency', 'no') == 'no') { + if (empty($request['recurring_frequency']) || ($request['recurring_frequency'] == 'no')) { return; } $frequency = ($request['recurring_frequency'] != 'custom') ? $request['recurring_frequency'] : $request['recurring_custom_frequency']; $interval = (($request['recurring_frequency'] != 'custom') || ($request['recurring_interval'] < 1)) ? 1 : (int) $request['recurring_interval']; - $started_at = $request->get('paid_at') ?: $request->get('issued_at'); + $started_at = $request['paid_at'] ?: $request['issued_at']; $this->recurring()->create([ - 'company_id' => session('company_id'), + 'company_id' => $this->company_id, 'frequency' => $frequency, 'interval' => $interval, 'started_at' => $started_at, @@ -30,29 +28,23 @@ trait Recurring ]); } - public function updateRecurring() + public function updateRecurring($request) { - $request = request(); - - if ($request->get('recurring_frequency', 'no') == 'no') { + if (empty($request['recurring_frequency']) || ($request['recurring_frequency'] == 'no')) { $this->recurring()->delete(); return; } $frequency = ($request['recurring_frequency'] != 'custom') ? $request['recurring_frequency'] : $request['recurring_custom_frequency']; $interval = (($request['recurring_frequency'] != 'custom') || ($request['recurring_interval'] < 1)) ? 1 : (int) $request['recurring_interval']; - $started_at = $request->get('paid_at') ?: $request->get('issued_at'); + $started_at = $request['paid_at'] ?: $request['issued_at']; $recurring = $this->recurring(); - if ($recurring->count()) { - $function = 'update'; - } else { - $function = 'create'; - } + $function = $recurring->count() ? 'create' : 'update'; $recurring->$function([ - 'company_id' => session('company_id'), + 'company_id' => $this->company_id, 'frequency' => $frequency, 'interval' => $interval, 'started_at' => $started_at,