From b42c81c05bebf9b3d4766aca35dbad4cb1cb274a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Denis=20Duli=C3=A7i?= Date: Sat, 11 Sep 2021 15:18:10 +0300 Subject: [PATCH] force delete when updating documents #11m1x9w --- app/Jobs/Document/UpdateDocument.php | 2 +- app/Traits/Relationships.php | 11 ++++++----- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/app/Jobs/Document/UpdateDocument.php b/app/Jobs/Document/UpdateDocument.php index 6295968ba..44655d036 100644 --- a/app/Jobs/Document/UpdateDocument.php +++ b/app/Jobs/Document/UpdateDocument.php @@ -38,7 +38,7 @@ class UpdateDocument extends Job implements ShouldUpdate $this->deleteMediaModel($this->model, 'attachment', $this->request); } - $this->deleteRelationships($this->model, ['items', 'item_taxes', 'totals']); + $this->deleteRelationships($this->model, ['items', 'item_taxes', 'totals'], true); $this->dispatch(new CreateDocumentItemsAndTotals($this->model, $this->request)); diff --git a/app/Traits/Relationships.php b/app/Traits/Relationships.php index 6ab9a3cd2..1112a6b24 100644 --- a/app/Traits/Relationships.php +++ b/app/Traits/Relationships.php @@ -9,7 +9,7 @@ use Illuminate\Support\Str; trait Relationships { - public function countRelationships($model, $relationships) + public function countRelationships($model, $relationships): array { $record = new \stdClass(); $record->model = $model; @@ -36,10 +36,9 @@ trait Relationships * * @param $model * @param $relationships - * - * @return void + * @param $permanently */ - public function deleteRelationships($model, $relationships) + public function deleteRelationships($model, $relationships, $permanently = false): void { $record = new \stdClass(); $record->model = $model; @@ -61,8 +60,10 @@ trait Relationships $items[] = $relation; } + $function = $permanently ? 'forceDelete' : 'delete'; + foreach ((array) $items as $item) { - $item->delete(); + $item->$function(); } } }