From 305ff07ee01f7952768a8d05a2104491e3333e96 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=BCneyt=20=C5=9Eent=C3=BCrk?= Date: Tue, 9 Feb 2021 11:54:53 +0300 Subject: [PATCH] Transaction model and jobs added multiple attachment --- app/Jobs/Banking/CreateTransaction.php | 6 ++++-- app/Jobs/Banking/UpdateTransaction.php | 10 ++++++++-- app/Models/Banking/Transaction.php | 12 +++++++++++- 3 files changed, 23 insertions(+), 5 deletions(-) diff --git a/app/Jobs/Banking/CreateTransaction.php b/app/Jobs/Banking/CreateTransaction.php index 40e2a485d..001f4bddc 100644 --- a/app/Jobs/Banking/CreateTransaction.php +++ b/app/Jobs/Banking/CreateTransaction.php @@ -37,9 +37,11 @@ class CreateTransaction extends Job // Upload attachment if ($this->request->file('attachment')) { - $media = $this->getMedia($this->request->file('attachment'), 'transactions'); + foreach ($this->request->file('attachment') as $attachment) { + $media = $this->getMedia($attachment, 'transactions'); - $this->transaction->attachMedia($media, 'attachment'); + $this->transaction->attachMedia($media, 'attachment'); + } } // Recurring diff --git a/app/Jobs/Banking/UpdateTransaction.php b/app/Jobs/Banking/UpdateTransaction.php index b444e57fd..0d95bf6b1 100644 --- a/app/Jobs/Banking/UpdateTransaction.php +++ b/app/Jobs/Banking/UpdateTransaction.php @@ -37,9 +37,15 @@ class UpdateTransaction extends Job // Upload attachment if ($this->request->file('attachment')) { - $media = $this->getMedia($this->request->file('attachment'), 'transactions'); + $this->transaction->delete_attachment(); - $this->transaction->attachMedia($media, 'attachment'); + foreach ($this->request->file('attachment') as $attachment) { + $media = $this->getMedia($attachment, 'transactions'); + + $this->transaction->attachMedia($media, 'attachment'); + } + } elseif (!$this->request->file('attachment') && $this->transaction->attachment) { + $this->transaction->delete_attachment(); } // Recurring diff --git a/app/Models/Banking/Transaction.php b/app/Models/Banking/Transaction.php index d57ec6575..188a45366 100644 --- a/app/Models/Banking/Transaction.php +++ b/app/Models/Banking/Transaction.php @@ -3,6 +3,7 @@ namespace App\Models\Banking; use App\Abstracts\Model; +use App\Models\Common\Media as MediaModel; use App\Models\Setting\Category; use App\Scopes\Transaction as Scope; use App\Traits\Currencies; @@ -320,7 +321,16 @@ class Transaction extends Model return false; } - return $this->getMedia('attachment')->last(); + return $this->getMedia('attachment')->all(); + } + + public function delete_attachment() + { + if ($attachments = $this->attachment) { + foreach ($attachments as $file) { + MediaModel::where('id', $file->id)->delete(); + } + } } /**