From 9bfc59549aabc733f14a42b8466c3b920724b2dd Mon Sep 17 00:00:00 2001 From: denisdulici Date: Fri, 22 Feb 2019 16:14:13 +0300 Subject: [PATCH] new setting package --- app/Http/Controllers/Api/Common/Companies.php | 9 +++--- app/Http/Controllers/Common/Companies.php | 7 ++--- app/Listeners/Updates/V13/Version130.php | 2 +- app/Listeners/Updates/V13/Version135.php | 1 + app/Listeners/Updates/V13/Version138.php | 1 + app/Utilities/Installer.php | 2 +- database/seeds/Accounts.php | 5 ++-- database/seeds/Settings.php | 5 ++-- database/seeds/TestCompany.php | 29 ++++++++++--------- .../Seeders/OfflinePaymentDatabaseSeeder.php | 17 ++++++----- 10 files changed, 42 insertions(+), 36 deletions(-) diff --git a/app/Http/Controllers/Api/Common/Companies.php b/app/Http/Controllers/Api/Common/Companies.php index fe11e483f..21a7839ac 100644 --- a/app/Http/Controllers/Api/Common/Companies.php +++ b/app/Http/Controllers/Api/Common/Companies.php @@ -55,10 +55,11 @@ class Companies extends ApiController */ public function store(Request $request) { + $company = Company::create($request->all()); + // Clear settings setting()->forgetAll(); - - $company = Company::create($request->all()); + setting()->setExtraColumns(['company_id' => $company->id]); // Create settings setting()->set([ @@ -69,11 +70,9 @@ class Companies extends ApiController 'general.default_locale' => $request->get('default_locale', 'en-GB'), ]); - setting()->setExtraColumns(['company_id' => $company->id]); - setting()->save(); - return $this->response->created(url('api/companies/'.$company->id)); + return $this->response->created(url('api/companies/' . $company->id)); } /** diff --git a/app/Http/Controllers/Common/Companies.php b/app/Http/Controllers/Common/Companies.php index 95892f98a..db86c74d0 100644 --- a/app/Http/Controllers/Common/Companies.php +++ b/app/Http/Controllers/Common/Companies.php @@ -63,11 +63,12 @@ class Companies extends Controller { $company_id = session('company_id'); - setting()->forgetAll(); - // Create company $company = Company::create($request->input()); + setting()->forgetAll(); + setting()->setExtraColumns(['company_id' => $company->id]); + // Create settings setting()->set('general.company_name', $request->get('company_name')); setting()->set('general.company_email', $request->get('company_email')); @@ -85,8 +86,6 @@ class Companies extends Controller setting()->set('general.default_currency', $request->get('default_currency')); setting()->set('general.default_locale', session('locale')); - - setting()->setExtraColumns(['company_id' => $company->id]); setting()->save(); setting()->forgetAll(); diff --git a/app/Listeners/Updates/V13/Version130.php b/app/Listeners/Updates/V13/Version130.php index 6dd47b382..4f2fc196e 100644 --- a/app/Listeners/Updates/V13/Version130.php +++ b/app/Listeners/Updates/V13/Version130.php @@ -28,13 +28,13 @@ class Version130 extends Listener } // Set new Item Reminder settings + setting()->setExtraColumns(['company_id' => session('company_id')]); setting(['general.send_item_reminder' => '0']); setting(['general.schedule_item_stocks' => '3,5,7']); setting(['general.wizard' => '1']); setting(['general.invoice_item' => 'settings.invoice.item']); setting(['general.invoice_price' => 'settings.invoice.price']); setting(['general.invoice_quantity' => 'settings.invoice.quantity']); - setting()->save(); $this->updatePermissions(); diff --git a/app/Listeners/Updates/V13/Version135.php b/app/Listeners/Updates/V13/Version135.php index 2652822ed..6d021eca5 100644 --- a/app/Listeners/Updates/V13/Version135.php +++ b/app/Listeners/Updates/V13/Version135.php @@ -26,6 +26,7 @@ class Version135 extends Listener } // Add financial year start to settings + setting()->setExtraColumns(['company_id' => session('company_id')]); setting(['general.financial_start' => Date::now()->startOfYear()->format('d F')]); setting()->save(); } diff --git a/app/Listeners/Updates/V13/Version138.php b/app/Listeners/Updates/V13/Version138.php index baa4e751b..2c70d2ea4 100644 --- a/app/Listeners/Updates/V13/Version138.php +++ b/app/Listeners/Updates/V13/Version138.php @@ -28,6 +28,7 @@ class Version138 extends Listener // Re-format financial start $current_setting = setting('general.financial_start', Date::now()->startOfYear()->format('d F')); + setting()->setExtraColumns(['company_id' => session('company_id')]); setting(['general.financial_start' => Date::parse($current_setting)->format('d-m')]); setting()->save(); } diff --git a/app/Utilities/Installer.php b/app/Utilities/Installer.php index c9d434b63..3956f5d97 100644 --- a/app/Utilities/Installer.php +++ b/app/Utilities/Installer.php @@ -214,13 +214,13 @@ class Installer ]); // Set settings + setting()->setExtraColumns(['company_id' => $company->id]); setting()->set([ 'general.company_name' => $name, 'general.company_email' => $email, 'general.default_currency' => 'USD', 'general.default_locale' => $locale, ]); - setting()->setExtraColumns(['company_id' => $company->id]); setting()->save(); } diff --git a/database/seeds/Accounts.php b/database/seeds/Accounts.php index 235145ef2..8e1ee8032 100644 --- a/database/seeds/Accounts.php +++ b/database/seeds/Accounts.php @@ -4,7 +4,6 @@ namespace Database\Seeds; use App\Models\Model; use App\Models\Banking\Account; -use Setting; use Illuminate\Database\Seeder; class Accounts extends Seeder @@ -27,6 +26,8 @@ class Accounts extends Seeder { $company_id = $this->command->argument('company'); + setting()->setExtraColumns(['company_id' => $company_id]); + $rows = [ [ 'company_id' => $company_id, @@ -41,7 +42,7 @@ class Accounts extends Seeder foreach ($rows as $row) { $account = Account::create($row); - Setting::set('general.default_account', $account->id); + setting()->set('general.default_account', $account->id); } } } diff --git a/database/seeds/Settings.php b/database/seeds/Settings.php index de11f8aba..a9b0b9933 100644 --- a/database/seeds/Settings.php +++ b/database/seeds/Settings.php @@ -5,7 +5,6 @@ namespace Database\Seeds; use App\Models\Model; use Illuminate\Database\Seeder; use Date; -use Setting; class Settings extends Seeder { @@ -27,7 +26,9 @@ class Settings extends Seeder { $company_id = $this->command->argument('company'); - Setting::set([ + setting()->setExtraColumns(['company_id' => $company_id]); + + setting()->set([ 'general.financial_start' => Date::now()->startOfYear()->format('d-m'), 'general.timezone' => 'Europe/London', 'general.date_format' => 'd M Y', diff --git a/database/seeds/TestCompany.php b/database/seeds/TestCompany.php index 1e915cdef..b4f091a4d 100644 --- a/database/seeds/TestCompany.php +++ b/database/seeds/TestCompany.php @@ -5,9 +5,7 @@ namespace Database\Seeds; use App\Models\Model; use App\Models\Auth\User; use App\Models\Common\Company; -use Jenssegers\Date\Date; use Illuminate\Database\Seeder; -use Setting; class TestCompany extends Seeder { @@ -42,18 +40,21 @@ class TestCompany extends Seeder Company::create($row); } - Setting::setExtraColumns(['company_id' => '1']); - Setting::set('general.company_name', 'Test Inc.'); - Setting::set('general.company_email', 'info@test.com'); - Setting::set('general.company_address', 'New Street 1254'); - Setting::set('general.default_currency', 'USD'); - Setting::set('general.default_account', '1'); - Setting::set('general.default_payment_method', 'offlinepayment.cash.1'); - Setting::set('general.schedule_bill_days', '10,5,3,1'); - Setting::set('general.schedule_invoice_days', '1,3,5,10'); - Setting::set('general.send_invoice_reminder', true); - Setting::set('general.send_bill_reminder', true); - Setting::save(); + setting()->setExtraColumns(['company_id' => '1']); + setting()->set([ + 'general.company_name' => 'Test Inc.', + 'general.company_email' => 'info@test.com', + 'general.company_address' => 'New Street 1254', + 'general.financial_start' => '01-01', + 'general.default_currency' => 'USD', + 'general.default_account' => '1', + 'general.default_payment_method' => 'offlinepayment.cash.1', + 'general.schedule_bill_days' => '10,5,3,1', + 'general.schedule_invoice_days' => '1,3,5,10', + 'general.send_invoice_reminder' => true, + 'general.send_bill_reminder' => true, + ]); + setting()->save(); $this->command->info('Test company created.'); } diff --git a/modules/OfflinePayment/Database/Seeders/OfflinePaymentDatabaseSeeder.php b/modules/OfflinePayment/Database/Seeders/OfflinePaymentDatabaseSeeder.php index 8cd0986ca..b52a6824a 100644 --- a/modules/OfflinePayment/Database/Seeders/OfflinePaymentDatabaseSeeder.php +++ b/modules/OfflinePayment/Database/Seeders/OfflinePaymentDatabaseSeeder.php @@ -4,7 +4,6 @@ namespace Modules\OfflinePayment\Database\Seeders; use Illuminate\Database\Seeder; use Illuminate\Database\Eloquent\Model; -use Setting; class OfflinePaymentDatabaseSeeder extends Seeder { @@ -24,24 +23,28 @@ class OfflinePaymentDatabaseSeeder extends Seeder private function create() { - $methods = array(); + $company_id = $this->command->argument('company'); - $methods[] = array( + setting()->setExtraColumns(['company_id' => $company_id]); + + $methods = []; + + $methods[] = [ 'code' => 'offlinepayment.cash.1', 'name' => 'Cash', 'customer' => '0', 'order' => '1', 'description' => null, - ); + ]; - $methods[] = array( + $methods[] = [ 'code' => 'offlinepayment.bank_transfer.2', 'name' => 'Bank Transfer', 'customer' => '0', 'order' => '2', 'description' => null, - ); + ]; - Setting::set('offlinepayment.methods', json_encode($methods)); + setting()->set('offlinepayment.methods', json_encode($methods)); } }