diff --git a/app/DataMapper/CompanySettings.php b/app/DataMapper/CompanySettings.php index 1a9b7a56b6c2..7ee633125902 100644 --- a/app/DataMapper/CompanySettings.php +++ b/app/DataMapper/CompanySettings.php @@ -20,20 +20,21 @@ use App\Models\Company; class CompanySettings extends BaseSettings { + public $start_of_week = ''; + public $financial_year_start = ''; + public $enable_modules = false; + public $timezone_id = ''; public $date_format_id = ''; public $datetime_format_id = ''; public $military_time = false; - public $start_of_week = ''; - public $financial_year_start = ''; public $language_id = ''; - public $precision = 2; public $show_currency_symbol = true; public $show_currency_code = false; - public $payment_terms; + public $payment_terms_id = 1; public $custom_label1 = ''; public $custom_value1 = ''; @@ -127,11 +128,10 @@ class CompanySettings extends BaseSettings public $show_item_taxes = false; public $fill_products = false; public $tax_name1 = ''; - public $tax_rate1 = ''; + public $tax_rate1 = 0; public $tax_name2 = ''; - public $tax_rate2 = ''; + public $tax_rate2 = 0; public $enable_second_tax_rate = false; - public $enable_modules = false; public $payment_type_id = ''; public $convert_products = false; public $custom_fields = ''; @@ -149,9 +149,9 @@ class CompanySettings extends BaseSettings public $email_template_reminder1 = ''; public $email_template_reminder2 = ''; public $email_template_reminder3 = ''; - public $has_custom_design1 = ''; - public $has_custom_design2 = ''; - public $has_custom_design3 = ''; + public $has_custom_design1 = false; + public $has_custom_design2 = false; + public $has_custom_design3 = false; public $enable_portal_password = false; public $show_accept_invoice_terms = false; public $show_accept_quote_terms = false; @@ -159,10 +159,15 @@ class CompanySettings extends BaseSettings public $require_quote_signature = false; public static $casts = [ - 'require_invoice_signature' => 'false', - 'require_quote_signature' => 'false', - 'show_accept_quote_terms' => 'false', - 'show_accept_invoice_terms' => 'false', + 'has_custom_design1' => 'bool', + 'has_custom_design2' => 'bool', + 'has_custom_design3' => 'bool', + 'tax_rate1' => 'float', + 'tax_rate2' => 'float', + 'require_invoice_signature' => 'bool', + 'require_quote_signature' => 'bool', + 'show_accept_quote_terms' => 'bool', + 'show_accept_invoice_terms' => 'bool', 'timezone_id' => 'string', 'date_format_id' => 'string', 'datetime_format_id' => 'string', @@ -173,7 +178,7 @@ class CompanySettings extends BaseSettings 'precision' => 'int', 'show_currency_symbol' => 'bool', 'show_currency_code' => 'bool', - 'payment_terms' => 'int', + 'payment_terms_id' => 'string', 'custom_label1' => 'string', 'custom_value1' => 'string', 'custom_label2' => 'string', diff --git a/app/Http/Controllers/BaseController.php b/app/Http/Controllers/BaseController.php index eeab1a6b581c..ae2af8e243bc 100644 --- a/app/Http/Controllers/BaseController.php +++ b/app/Http/Controllers/BaseController.php @@ -197,9 +197,12 @@ class BaseController extends Controller $response['static'] = Statics::company(auth()->user()->getCompany()->getLocale()); } + + ksort($response); $response = json_encode($response, JSON_PRETTY_PRINT); $headers = self::getApiHeaders(); + return response()->make($response, 200, $headers); diff --git a/app/Http/Kernel.php b/app/Http/Kernel.php index 3cde587b1177..3c987fa792c3 100644 --- a/app/Http/Kernel.php +++ b/app/Http/Kernel.php @@ -71,7 +71,7 @@ class Kernel extends HttpKernel \App\Http\Middleware\StartupCheck::class, \App\Http\Middleware\QueryLogging::class, ], - 'db' => [ + 'api_db' => [ \App\Http\Middleware\SetDb::class, ], 'web_db' => [ diff --git a/config/ninja.php b/config/ninja.php index 1680fca71d9d..5fe7918ba426 100644 --- a/config/ninja.php +++ b/config/ninja.php @@ -64,22 +64,22 @@ return [ 'from_name' => env('MAIL_FROM_NAME'), ], 'cached_tables' => [ + 'banks' => 'App\Models\Bank', + 'countries' => 'App\Models\Country', 'currencies' => 'App\Models\Currency', - 'sizes' => 'App\Models\Size', - 'industries' => 'App\Models\Industry', - 'timezones' => 'App\Models\Timezone', 'date_formats' => 'App\Models\DateFormat', 'datetime_formats' => 'App\Models\DatetimeFormat', + 'gateways' => 'App\Models\Gateway', + 'gateway_types' => 'App\Models\GatewayType', + 'industries' => 'App\Models\Industry', 'languages' => 'App\Models\Language', 'payment_types' => 'App\Models\PaymentType', - 'countries' => 'App\Models\Country', + 'sizes' => 'App\Models\Size', + 'timezones' => 'App\Models\Timezone', //'invoiceDesigns' => 'App\Models\InvoiceDesign', //'invoiceStatus' => 'App\Models\InvoiceStatus', //'frequencies' => 'App\Models\Frequency', - 'gateways' => 'App\Models\Gateway', - 'gateway_types' => 'App\Models\GatewayType', //'fonts' => 'App\Models\Font', - 'banks' => 'App\Models\Bank', ], 'payment_terms' => [ [ diff --git a/database/seeds/RandomDataSeeder.php b/database/seeds/RandomDataSeeder.php index 2c3166dd1583..96ec17a5ddc1 100644 --- a/database/seeds/RandomDataSeeder.php +++ b/database/seeds/RandomDataSeeder.php @@ -39,7 +39,7 @@ class RandomDataSeeder extends Seeder $account = factory(\App\Models\Account::class)->create(); $company = factory(\App\Models\Company::class)->create([ 'account_id' => $account->id, - 'domain' => 'ninja.test:8000', + 'domain' => config('ninja.site_url'), ]); $account->default_company_id = $company->id; diff --git a/routes/api.php b/routes/api.php index c0b31f763e40..4090ce99e47e 100644 --- a/routes/api.php +++ b/routes/api.php @@ -29,9 +29,10 @@ Route::group(['api_secret_check','domain_db'], function () { Route::post('api/v1/login', 'Auth\LoginController@apiLogin')->name('login.submit'); Route::post('api/v1/reset_password', 'Auth\ForgotPasswordController@sendResetLinkEmail')->name('password.reset'); + }); -Route::group(['middleware' => ['db','api_secret_check','token_auth'], 'prefix' =>'api/v1', 'as' => 'api.'], function () { +Route::group(['middleware' => ['api_db','api_secret_check','token_auth'], 'prefix' =>'api/v1', 'as' => 'api.'], function () { Route::resource('clients', 'ClientController'); // name = (clients. index / create / show / update / destroy / edit