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',