diff --git a/app/Models/Client.php b/app/Models/Client.php index def568c651f1..a8853c4a54b2 100644 --- a/app/Models/Client.php +++ b/app/Models/Client.php @@ -378,15 +378,16 @@ class Client extends BaseModel implements HasLocalePreference public function language() { - $languages = Cache::get('languages'); + $languages = app('languages'); + // $languages = Cache::get('languages'); - if (! $languages) { - $this->buildCache(true); - } + // if (! $languages) { + // $this->buildCache(true); + // } - return $languages->filter(function ($item) { + return $languages->first(function ($item) { return $item->id == $this->getSetting('language_id'); - })->first(); + }); } public function industry(): BelongsTo @@ -410,28 +411,30 @@ class Client extends BaseModel implements HasLocalePreference public function date_format() { - $date_formats = Cache::get('date_formats'); + $date_formats = app('date_formts'); + // $date_formats = Cache::get('date_formats'); - if (! $date_formats) { - $this->buildCache(true); - } + // if (! $date_formats) { + // $this->buildCache(true); + // } - return $date_formats->filter(function ($item) { + return $date_formats->first(function ($item) { return $item->id == $this->getSetting('date_format_id'); - })->first()->format; + })->format; } public function currency() { - $currencies = Cache::get('currencies'); + $currencies = app('currencies'); + // $currencies = Cache::get('currencies'); - if (! $currencies) { - $this->buildCache(true); - } + // if (! $currencies) { + // $this->buildCache(true); + // } - return $currencies->filter(function ($item) { + return $currencies->first(function ($item) { return $item->id == $this->getSetting('currency_id'); - })->first(); + }); } public function service(): ClientService @@ -739,15 +742,17 @@ class Client extends BaseModel implements HasLocalePreference public function preferredLocale() { - $languages = Cache::get('languages'); + $this->language()->locale ?? 'en'; + // $languages = app('languages'); + // $languages = Cache::get('languages'); - if (! $languages) { - $this->buildCache(true); - } + // if (! $languages) { + // $this->buildCache(true); + // } - return $languages->filter(function ($item) { - return $item->id == $this->getSetting('language_id'); - })->first()->locale; + // return $languages->first(function ($item) { + // return $item->id == $this->getSetting('language_id'); + // })->locale; } public function backup_path(): string diff --git a/app/Providers/StaticServiceProvider.php b/app/Providers/StaticServiceProvider.php index 211275bc7c79..4327edb1682d 100644 --- a/app/Providers/StaticServiceProvider.php +++ b/app/Providers/StaticServiceProvider.php @@ -12,10 +12,14 @@ namespace App\Providers; use App\Models\Bank; +use App\Models\Size; use App\Models\Country; +use App\Models\Gateway; use App\Models\Currency; use App\Models\Industry; use App\Models\Language; +use App\Models\Timezone; +use App\Models\DateFormat; use App\Models\PaymentTerm; use Illuminate\Support\ServiceProvider; use App\DataMapper\EmailTemplateDefaults; @@ -30,6 +34,7 @@ class StaticServiceProvider extends ServiceProvider public function register() { + app()->singleton('currencies', function ($app) { return Currency::query()->orderBy('name')->get(); }); @@ -37,7 +42,7 @@ class StaticServiceProvider extends ServiceProvider app()->singleton('languages', function ($app) { return Language::query()->orderBy('name')->get(); }); - + app()->singleton('countries', function ($app) { return Country::query()->orderBy('name')->get(); }); @@ -50,11 +55,36 @@ class StaticServiceProvider extends ServiceProvider return Industry::query()->orderBy('name')->get(); }); - app()->singleton('banks', function ($app){ + app()->singleton('banks', function ($app) { return Bank::query()->orderBy('name')->get(); }); - app()->singleton('templates', function ($app){ + app()->singleton('date_formats', function ($app) { + return DateFormat::query()->orderBy('id')->get(); + }); + + app()->singleton('timezones', function ($app) { + return Timezone::query()->orderBy('id')->get(); + }); + + app()->singleton('gateways', function ($app) { + return Gateway::query()->orderBy('id')->get(); + }); + + app()->singleton('industries', function ($app) { + return Industry::query()->orderBy('id')->get(); + }); + + app()->singleton('sizes', function ($app) { + return Size::query()->orderBy('id')->get(); + }); + + /** @deprecated */ + app()->singleton('banks', function ($app) { + return Bank::query()->orderBy('id')->get(); + }); + + app()->singleton('templates', function ($app) { return [ 'invoice' => [ 'subject' => EmailTemplateDefaults::emailInvoiceSubject(), @@ -91,6 +121,7 @@ class StaticServiceProvider extends ServiceProvider ]; }); + } public function boot() diff --git a/config/app.php b/config/app.php index 1bef51091a75..ddeb918ec94a 100644 --- a/config/app.php +++ b/config/app.php @@ -201,7 +201,7 @@ return [ App\Providers\MultiDBProvider::class, App\Providers\ClientPortalServiceProvider::class, App\Providers\NinjaTranslationServiceProvider::class, - // App\Providers\StaticServiceProvider::class, + App\Providers\StaticServiceProvider::class, ], /* @@ -216,8 +216,8 @@ return [ */ 'aliases' => Facade::defaultAliases()->merge([ - 'Collector' => Turbo124\Collector\CollectorFacade::class, - 'Countries' => 'Webpatser\Countries\CountriesFacade', + 'Collector' => Turbo124\Beacon\CollectorFacade::class, + // 'Countries' => 'Webpatser\Countries\CountriesFacade', 'CustomMessage' => App\Utils\ClientPortal\CustomMessage\CustomMessageFacade::class, 'Redis' => Illuminate\Support\Facades\Redis::class, ])->toArray(),