From 8e7dc3f119d7e20b41c0781981181f90bc8d0348 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Denis=20Duli=C3=A7i?= Date: Thu, 6 May 2021 00:13:52 +0300 Subject: [PATCH] make company current before deleting --- app/Events/Common/CompanyDeleted.php | 24 ++++++++++++++++++++++++ app/Events/Common/CompanyDeleting.php | 24 ++++++++++++++++++++++++ app/Jobs/Common/DeleteCompany.php | 10 ++++++++++ 3 files changed, 58 insertions(+) create mode 100644 app/Events/Common/CompanyDeleted.php create mode 100644 app/Events/Common/CompanyDeleting.php diff --git a/app/Events/Common/CompanyDeleted.php b/app/Events/Common/CompanyDeleted.php new file mode 100644 index 000000000..817cb9f96 --- /dev/null +++ b/app/Events/Common/CompanyDeleted.php @@ -0,0 +1,24 @@ +company = $company; + $this->current_company_id = $current_company_id; + } +} diff --git a/app/Events/Common/CompanyDeleting.php b/app/Events/Common/CompanyDeleting.php new file mode 100644 index 000000000..2232d2cb6 --- /dev/null +++ b/app/Events/Common/CompanyDeleting.php @@ -0,0 +1,24 @@ +company = $company; + $this->current_company_id = $current_company_id; + } +} diff --git a/app/Jobs/Common/DeleteCompany.php b/app/Jobs/Common/DeleteCompany.php index bde4121fe..7ec55ea20 100644 --- a/app/Jobs/Common/DeleteCompany.php +++ b/app/Jobs/Common/DeleteCompany.php @@ -3,6 +3,8 @@ namespace App\Jobs\Common; use App\Abstracts\Job; +use App\Events\Common\CompanyDeleted; +use App\Events\Common\CompanyDeleting; use App\Traits\Users; class DeleteCompany extends Job @@ -33,6 +35,10 @@ class DeleteCompany extends Job { $this->authorize(); + $this->company->makeCurrent(); + + event(new CompanyDeleting($this->company, $this->current_company_id)); + \DB::transaction(function () { $this->deleteRelationships($this->company, [ 'accounts', 'documents', 'document_histories', 'document_items', 'document_item_taxes', 'document_totals', 'categories', @@ -45,6 +51,10 @@ class DeleteCompany extends Job $this->company->delete(); }); + event(new CompanyDeleted($this->company, $this->current_company_id)); + + company($this->current_company_id)->makeCurrent(); + return true; }