From f1f4d42e8331e827a345ba576867560c0e2cc445 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=BCneyt=20=C5=9Eent=C3=BCrk?= Date: Mon, 24 Feb 2020 17:36:04 +0300 Subject: [PATCH] refs #1282 add update missing column. --- app/Listeners/Update/V20/Version203.php | 67 +++++++++++++++++++++++++ app/Providers/Event.php | 1 + 2 files changed, 68 insertions(+) create mode 100644 app/Listeners/Update/V20/Version203.php diff --git a/app/Listeners/Update/V20/Version203.php b/app/Listeners/Update/V20/Version203.php new file mode 100644 index 000000000..8897234a3 --- /dev/null +++ b/app/Listeners/Update/V20/Version203.php @@ -0,0 +1,67 @@ +skipThisUpdate($event)) { + return; + } + + $this->updateCompanies(); + } + + protected function updateCompanies() + { + $company_id = session('company_id'); + + $companies = DB::table('companies') + ->whereNotExists(function ($query) { + $query->select('id') + ->from('settings') + ->where('key', 'invoice.payment_terms'); + }) + ->cursor(); + + foreach ($companies as $company) { + session(['company_id' => $company->id]); + + $this->updateSettings($company); + } + + setting()->forgetAll(); + + session(['company_id' => $company_id]); + + Overrider::load('settings'); + } + + public function updateSettings($company) + { + // Set the active company settings + setting()->setExtraColumns(['company_id' => $company->id]); + setting()->forgetAll(); + setting()->load(true); + + setting()->set(['invoice.payment_terms' => setting('invoice.payment_terms', 0)]); + + setting()->save(); + } +} diff --git a/app/Providers/Event.php b/app/Providers/Event.php index fe073130b..c8f04a232 100644 --- a/app/Providers/Event.php +++ b/app/Providers/Event.php @@ -15,6 +15,7 @@ class Event extends Provider 'App\Events\Install\UpdateFinished' => [ 'App\Listeners\Update\CreateModuleUpdatedHistory', 'App\Listeners\Update\V20\Version200', + 'App\Listeners\Update\V20\Version203', ], 'Illuminate\Auth\Events\Login' => [ 'App\Listeners\Auth\Login',