1
0
mirror of https://github.com/invoiceninja/invoiceninja.git synced 2024-11-08 20:22:42 +01:00

Refactor for cache statics moving to container

This commit is contained in:
David Bomba 2024-06-18 10:24:03 +10:00
parent f68d1d3053
commit 006e819f3a
25 changed files with 292 additions and 296 deletions

View File

@ -82,11 +82,15 @@ class RecurringExpenseToExpenseFactory
} else {
$locale = $recurring_expense->company->locale();
$date_formats = Cache::get('date_formats');
//@deprecated
// $date_formats = Cache::get('date_formats');
$date_format = $date_formats->filter(function ($item) use ($recurring_expense) {
/** @var \Illuminate\Support\Collection<\App\Models\DateFormat> */
$date_formats = app('date_formats');
$date_format = $date_formats->first(function ($item) use ($recurring_expense) {
return $item->id == $recurring_expense->company->settings->date_format_id;
})->first()->format;
})->format;
}
Carbon::setLocale($locale);

View File

@ -156,22 +156,16 @@ class TransactionTransformer implements BankRevenueInterface
private function convertCurrency(string $code)
{
$currencies = Cache::get('currencies');
$currencies = app('currencies');
if (!$currencies) {
$this->buildCache(true);
}
$currency = $currencies->filter(function ($item) use ($code) {
$currency = $currencies->first(function ($item) use ($code) {
/** @var \App\Models\Currency $item */
return $item->code == $code;
})->first();
if ($currency) {
return $currency->id;
}
return 1;
});
/** @var \App\Models\Currency $currency */
return $currency ? $currency->id : 1; //@phpstan-ignore-line
}
private function formatDate(string $input)

View File

@ -171,20 +171,16 @@ class IncomeTransformer implements BankRevenueInterface
private function convertCurrency(string $code)
{
$currencies = Cache::get('currencies');
if (! $currencies) {
$this->buildCache(true);
}
$currencies = app('currencies');
$currency = $currencies->filter(function ($item) use ($code) {
$currency = $currencies->first(function ($item) use ($code) {
/** @var \App\Models\Currency $item */
return $item->code == $code;
})->first();
});
if ($currency) {
return $currency->id;
}
/** @var \App\Models\Currency $currency */
return $currency ? $currency->id : 1; //@phpstan-ignore-line
return 1;
}
}

View File

@ -90,15 +90,20 @@ class SubscriptionPurchaseController extends Controller
* Set locale for incoming request.
*
* @param string $locale
* @return string
*/
private function setLocale(string $locale): void
private function setLocale(string $locale): string
{
$record = Cache::get('languages')->filter(function ($item) use ($locale) {
return $item->locale == $locale;
})->first();
/** @var \Illuminate\Support\Collection<\App\Models\Language> */
$languages = app('languages');
if ($record) {
App::setLocale($record->locale);
}
$record = $languages->first(function ($item) use ($locale) {
/** @var \App\Models\Language $item */
return $item->locale == $locale;
});
return $record ? $record->locale : 'en';
}
}

View File

@ -185,48 +185,44 @@ class StoreClientRequest extends Request
];
}
private function getLanguageId($language_code)
private function getLanguageId(string $language_code)
{
$languages = Cache::get('languages');
/** @var \Illuminate\Support\Collection<\App\Models\Language> */
$languages = app('languages');
$language = $languages->filter(function ($item) use ($language_code) {
$language = $languages->first(function ($item) use ($language_code) {
return $item->locale == $language_code;
})->first();
});
if ($language) {
return (string) $language->id;
}
return $language ? (string)$language->id : '';
return '';
}
private function getCountryCode($country_code)
private function getCountryCode(string $country_code)
{
$countries = Cache::get('countries');
/** @var \Illuminate\Support\Collection<\App\Models\Country> */
$countries = app('countries');
$country = $countries->filter(function ($item) use ($country_code) {
$country = $countries->first(function ($item) use ($country_code) {
return $item->iso_3166_2 == $country_code || $item->iso_3166_3 == $country_code;
})->first();
});
if ($country) {
return (string) $country->id;
}
return '';
return $country ? (string) $country->id : '';
}
private function getCurrencyCode($code)
{
$currencies = Cache::get('currencies');
/** @var \Illuminate\Support\Collection<\App\Models\Currency> */
$currencies = app('currencies');
$currency = $currencies->filter(function ($item) use ($code) {
$currency = $currencies->first(function ($item) use ($code) {
return $item->code == $code;
})->first();
});
if ($currency) {
return (string) $currency->id;
}
return '';
return $currency ? (string)$currency->id : '';
}
}

View File

@ -139,32 +139,28 @@ class UpdateClientRequest extends Request
private function getCountryCode($country_code)
{
$countries = Cache::get('countries');
/** @var \Illuminate\Support\Collection<\App\Models\Country> */
$countries = app('countries');
$country = $countries->filter(function ($item) use ($country_code) {
$country = $countries->first(function ($item) use ($country_code) {
return $item->iso_3166_2 == $country_code || $item->iso_3166_3 == $country_code;
})->first();
});
if ($country) {
return (string) $country->id;
}
return '';
return $country ? (string) $country->id : '';
}
private function getLanguageId($language_code)
{
$languages = Cache::get('languages');
/** @var \Illuminate\Support\Collection<\App\Models\Language> */
$languages = app('languages');
$language = $languages->filter(function ($item) use ($language_code) {
$language = $languages->first(function ($item) use ($language_code) {
return $item->locale == $language_code;
})->first();
});
if ($language) {
return (string) $language->id;
}
return '';
return $language ? (string) $language->id : '';
}
/**

View File

@ -155,23 +155,27 @@ class StoreShopClientRequest extends Request
private function getCountryCode($country_code)
{
$countries = Cache::get('countries');
/** @var \Illuminate\Support\Collection<\App\Models\Country> */
$countries = app('countries');
$country = $countries->filter(function ($item) use ($country_code) {
$country = $countries->first(function ($item) use ($country_code) {
return $item->iso_3166_2 == $country_code || $item->iso_3166_3 == $country_code;
})->first();
});
return (string) $country->id;
return $country ? (string) $country->id : '';
}
private function getCurrencyCode($code)
{
$currencies = Cache::get('currencies');
/** @var \Illuminate\Support\Collection<\App\Models\Country> */
$currencies = app('currencies');
$currency = $currencies->filter(function ($item) use ($code) {
$currency = $currencies->first(function ($item) use ($code) {
return $item->code == $code;
})->first();
});
return (string) $currency->id;
return $currency ? (string) $currency->id : '';
}
}

View File

@ -119,17 +119,18 @@ class BaseTransformer
{
$code = array_key_exists($key, $data) ? $data[$key] : false;
$currencies = Cache::get('currencies');
if(!$code)
return $this->company->settings->currency_id;
$currency = $currencies
->filter(function ($item) use ($code) {
return $item->code == $code;
})
->first();
/** @var \Illuminate\Support\Collection<\App\Models\Currency> */
$currencies = app('currencies');
$currency = $currencies->first(function ($item) use ($code) {
return $item->code == $code;
});
return $currency ? (string) $currency->id : $this->company->settings->currency_id;
return $currency
? $currency->id
: $this->company->settings->currency_id;
}
public function getFrequency($frequency = RecurringInvoice::FREQUENCY_MONTHLY): int

View File

@ -256,7 +256,9 @@ class RegisterOrLogin extends Component
public function render()
{
$countries = Cache::get('countries');
/** @var \Illuminate\Support\Collection<\App\Models\Country> */
$countries = app('countries');
return view('billing-portal.v3.authentication.register-or-login', [
'countries' => $countries,

View File

@ -281,17 +281,25 @@ class BillingPortalPurchase extends Component
}
if (array_key_exists('currency_id', $this->request_data)) {
$currency = Cache::get('currencies')->filter(function ($item) {
/** @var \Illuminate\Support\Collection<\App\Models\Currency> */
$currencies = app('currencies');
$currency = $currencies->first(function ($item) {
return $item->id == $this->request_data['currency_id'];
})->first();
});
if ($currency) {
$data['settings']->currency_id = $currency->id;
}
} elseif ($this->subscription->group_settings && property_exists($this->subscription->group_settings->settings, 'currency_id')) {
$currency = Cache::get('currencies')->filter(function ($item) {
/** @var \Illuminate\Support\Collection<\App\Models\Currency> */
$currencies = app('currencies');
$currency = $currencies->first(function ($item) {
return $item->id == $this->subscription->group_settings->settings->currency_id;
})->first();
});
if ($currency) {
$data['settings']->currency_id = $currency->id;
@ -300,10 +308,12 @@ class BillingPortalPurchase extends Component
if (array_key_exists('locale', $this->request_data)) {
$request = $this->request_data;
$record = Cache::get('languages')->filter(function ($item) use ($request) {
/** @var \Illuminate\Support\Collection<\App\Models\Language> */
$languages = app('languages');
$record = $languages->first(function ($item) use ($request) {
return $item->locale == $request['locale'];
})->first();
});
if ($record) {
$data['settings']['language_id'] = (string)$record->id;

View File

@ -676,17 +676,25 @@ class BillingPortalPurchasev2 extends Component
}
if (array_key_exists('currency_id', $this->request_data)) {
$currency = Cache::get('currencies')->filter(function ($item) {
/** @var \Illuminate\Support\Collection<\App\Models\Currency> */
$currencies = app('currencies');
$currency = $currencies->first(function ($item) {
return $item->id == $this->request_data['currency_id'];
})->first();
});
if ($currency) {
$data['settings']->currency_id = $currency->id;
}
} elseif ($this->subscription->group_settings && property_exists($this->subscription->group_settings->settings, 'currency_id')) {
$currency = Cache::get('currencies')->filter(function ($item) {
/** @var \Illuminate\Support\Collection<\App\Models\Currency> */
$currencies = app('currencies');
$currency = $currencies->first(function ($item) {
return $item->id == $this->subscription->group_settings->settings->currency_id;
})->first();
});
if ($currency) {
$data['settings']->currency_id = $currency->id;
@ -696,9 +704,12 @@ class BillingPortalPurchasev2 extends Component
if (array_key_exists('locale', $this->request_data)) {
$request = $this->request_data;
$record = Cache::get('languages')->filter(function ($item) use ($request) {
/** @var \Illuminate\Support\Collection<\App\Models\Language> */
$languages = app('languages');
$record = $languages->first(function ($item) use ($request) {
return $item->locale == $request['locale'];
})->first();
});
if ($record) {
$data['settings']['language_id'] = (string)$record->id;

View File

@ -378,15 +378,11 @@ class Client extends BaseModel implements HasLocalePreference
public function language()
{
$languages = app('languages');
// $languages = Cache::get('languages');
// if (! $languages) {
// $this->buildCache(true);
// }
/** @var \Illuminate\Support\Collection<\App\Models\Language> */
$languages = app('languages');
return $languages->first(function ($item) {
/** @var \stdClass $item */
return $item->id == $this->getSetting('language_id');
});
}
@ -412,17 +408,10 @@ class Client extends BaseModel implements HasLocalePreference
public function date_format()
{
/** @var \Illuminate\Support\Collection $date_formats */
/** @var \Illuminate\Support\Collection<DateFormat> */
$date_formats = app('date_formats');
// $date_formats = Cache::get('date_formats');
// if (! $date_formats) {
// $this->buildCache(true);
// }
return $date_formats->first(function ($item) {
/** @var \stdClass $item */
return $item->id == $this->getSetting('date_format_id');
})->format;
}
@ -430,17 +419,10 @@ class Client extends BaseModel implements HasLocalePreference
public function currency()
{
/** @var \Illuminate\Support\Collection $currencies */
/** @var \Illuminate\Support\Collection<Currency> */
$currencies = app('currencies');
// $currencies = Cache::get('currencies');
// if (! $currencies) {
// $this->buildCache(true);
// }
return $currencies->first(function ($item) {
/** @var \stdClass $item */
return $item->id == $this->getSetting('currency_id');
});
}
@ -751,16 +733,6 @@ class Client extends BaseModel implements HasLocalePreference
public function preferredLocale()
{
$this->language()->locale ?? 'en';
// $languages = app('languages');
// $languages = Cache::get('languages');
// if (! $languages) {
// $this->buildCache(true);
// }
// return $languages->first(function ($item) {
// return $item->id == $this->getSetting('language_id');
// })->locale;
}
public function backup_path(): string

View File

@ -271,15 +271,13 @@ class ClientContact extends Authenticatable implements HasLocalePreference
public function preferredLocale()
{
$languages = Cache::get('languages');
/** @var \Illuminate\Support\Collection<\App\Models\Language> */
$languages = app('languages');
if (! $languages) {
$this->buildCache(true);
}
return $languages->filter(function ($item) {
return $languages->first(function ($item) {
return $item->id == $this->client->getSetting('language_id');
})->first()->locale;
})->locale;
}
public function routeNotificationForMail($notification)

View File

@ -636,24 +636,13 @@ class Company extends BaseModel
public function country()
{
/** @var \Illuminate\Support\Collection<\App\Models\Country> */
$countries = app('countries');
// $countries = Cache::get('countries');
// if (! $companies) {
// $this->buildCache(true);
// $companies = Cache::get('countries');
// }
return $countries->first(function ($item) {
/** @var \stdClass $item */
return $item->id == $this->getSetting('country_id');
});
// return $this->belongsTo(Country::class);
// return Country::find($this->settings->country_id);
}
public function group_settings()
@ -663,20 +652,14 @@ class Company extends BaseModel
public function timezone()
{
// $timezones = Cache::get('timezones');
/** @var \Illuminate\Support\Collection<\App\Models\TimeZone> */
$timezones = app('timezones');
// if (! $timezones) {
// $this->buildCache(true);
// }
return $timezones->first(function ($item) {
/** @var \stdClass $item */
return $item->id == $this->settings->timezone_id;
});
// return Timezone::find($this->settings->timezone_id);
}
public function designs()
@ -701,22 +684,15 @@ class Company extends BaseModel
public function language()
{
$languages = Cache::get('languages');
/** @var \Illuminate\Support\Collection<\App\Models\Language> */
$languages = app('languages');
//build cache and reinit
if (! $languages) {
$this->buildCache(true);
$languages = Cache::get('languages');
}
//if the cache is still dead, get from DB
if (!$languages && property_exists($this->settings, 'language_id')) {
return Language::find($this->settings->language_id);
}
return $languages->filter(function ($item) {
$language = $languages->first(function ($item) {
return $item->id == $this->settings->language_id;
})->first();
});
return $language ?? $languages->first();
}
public function getLocale()
@ -757,11 +733,13 @@ class Company extends BaseModel
public function currency()
{
$currencies = Cache::get('currencies');
/** @var \Illuminate\Support\Collection<\App\Models\Currency> */
$currencies = app('currencies');
return $currencies->filter(function ($item) {
return $currencies->first(function ($item) {
return $item->id == $this->settings->currency_id;
})->first();
});
}
/**
@ -974,15 +952,13 @@ class Company extends BaseModel
public function date_format()
{
$date_formats = Cache::get('date_formats');
/** @var \Illuminate\Support\Collection<\App\Models\DateFormat> */
$date_formats = app('date_formats');
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 getInvoiceCert()

View File

@ -177,19 +177,17 @@ class Vendor extends BaseModel
public function currency()
{
$currencies = Cache::get('currencies');
if (! $currencies) {
$this->buildCache(true);
}
/** @var \Illuminate\Support\Collection<\App\Models\Currency> */
$currencies = app('currencies');
if (! $this->currency_id) {
return $this->company->currency();
}
return $currencies->filter(function ($item) {
return $currencies->first(function ($item) {
return $item->id == $this->currency_id;
})->first();
});
}
public function timezone()

View File

@ -183,11 +183,13 @@ class VendorContact extends Authenticatable implements HasLocalePreference
public function preferredLocale()
{
$languages = Cache::get('languages');
/** @var \Illuminate\Support\Collection<\App\Models\Language> */
$languages = app('languages');
return $languages->filter(function ($item) {
return $languages->first(function ($item) {
return $item->id == $this->company->getSetting('language_id');
})->first()->locale;
})->locale;
}
/**

View File

@ -161,11 +161,13 @@ class AuthorizeCustomer
private function getCountryCode($country_code)
{
$countries = Cache::get('countries');
/** @var \Illuminate\Support\Collection<\App\Models\Country> */
$countries = app('countries');
$country = $countries->filter(function ($item) use ($country_code) {
$country = $countries->first(function ($item) use ($country_code) {
return $item->iso_3166_2 == $country_code || $item->iso_3166_3 == $country_code;
})->first();
});
return (string) $country->id;
}

View File

@ -33,56 +33,61 @@ class StaticServiceProvider extends ServiceProvider
*/
public function register()
{
/** @return \Illuminate\Support\Collection<Currency> */
app()->singleton('currencies', function ($app) {
return Currency::query()->orderBy('name')->get();
});
/** @return \Illuminate\Support\Collection<Language> */
app()->singleton('languages', function ($app) {
return Language::query()->orderBy('name')->get();
});
/** @return \Illuminate\Support\Collection<Country> */
app()->singleton('countries', function ($app) {
return Country::query()->orderBy('name')->get();
});
/** @return \Illuminate\Support\Collection<PaymentTerm> */
app()->singleton('payment_types', function ($app) {
return PaymentTerm::query()->orderBy('num_days')->get();
});
/** @return \Illuminate\Support\Collection<Industry> */
app()->singleton('industries', function ($app) {
return Industry::query()->orderBy('name')->get();
});
/** @return \Illuminate\Support\Collection<Bank> */
app()->singleton('banks', function ($app) {
return Bank::query()->orderBy('name')->get();
});
/** @return \Illuminate\Support\Collection<DateFormat> */
app()->singleton('date_formats', function ($app) {
return DateFormat::query()->orderBy('id')->get();
});
/** @return \Illuminate\Support\Collection<Timezone> */
app()->singleton('timezones', function ($app) {
return Timezone::query()->orderBy('id')->get();
});
/** @return \Illuminate\Support\Collection<Gateway> */
app()->singleton('gateways', function ($app) {
return Gateway::query()->orderBy('id')->get();
});
/** @return \Illuminate\Support\Collection<Industry> */
app()->singleton('industries', function ($app) {
return Industry::query()->orderBy('id')->get();
});
/** @return \Illuminate\Support\Collection<Size> */
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 [

View File

@ -57,7 +57,9 @@ class ChartService
/* Merge and filter by unique */
$currencies = $currencies->merge($expense_currencies)->unique();
$cache_currencies = Cache::get('currencies');
/** @var \Illuminate\Support\Collection<\App\Models\Currency> */
$cache_currencies = app('currencies');
$filtered_currencies = $cache_currencies->whereIn('id', $currencies)->all();
@ -162,7 +164,9 @@ class ChartService
private function addCurrencyCodes($data_set): array
{
$currencies = Cache::get('currencies');
/** @var \Illuminate\Support\Collection<\App\Models\Currency> */
$currencies = app('currencies');
foreach ($data_set as $key => $value) {
$data_set[$key]->currency_id = str_replace('"', '', $value->currency_id);

View File

@ -53,7 +53,9 @@ class ChartServiceLegacy
/* Merge and filter by unique */
$currencies = $currencies->merge($expense_currencies)->unique();
$cache_currencies = Cache::get('currencies');
/** @var \Illuminate\Support\Collection<\App\Models\Currency> */
$cache_currencies = app('currencies');
$filtered_currencies = $cache_currencies->whereIn('id', $currencies)->all();
@ -135,7 +137,9 @@ class ChartServiceLegacy
private function addCurrencyCodes($data_set): array
{
$currencies = Cache::get('currencies');
/** @var \Illuminate\Support\Collection<\App\Models\Currency> */
$currencies = app('currencies');
foreach ($data_set as $key => $value) {
$data_set[$key]->currency_id = str_replace('"', '', $value->currency_id);

View File

@ -457,15 +457,13 @@ class PdfConfiguration
*/
public function setDateFormat(): self
{
$date_formats = Cache::get('date_formats');
/** @var \Illuminate\Support\Collection<\App\Models\DateFormat> */
$date_formats = app('date_formats');
if (! $date_formats) {
$this->buildCache(true);
}
$this->date_format = $date_formats->filter(function ($item) {
$this->date_format = $date_formats->first(function ($item) {
return $item->id == $this->settings->date_format_id;
})->first()->format;
})->format;
return $this;
}

View File

@ -918,39 +918,30 @@ class HtmlEngine
private function getCountryName(): string
{
$countries = Cache::get('countries');
/** @var \Illuminate\Support\Collection<\App\Models\Country> */
$countries = app('countries');
if (! $countries) {
$this->buildCache(true);
$country = $countries->first(function ($item) {
return $item->id == $this->settings->country_id;
});
$countries = Cache::get('countries');
}
if ($countries) {
$country = $countries->filter(function ($item) {
return $item->id == $this->settings->country_id;
})->first();
} else {
$country = Country::find($this->settings->country_id);
}
if ($country) {
return ctrans('texts.country_' . $country->name);
}
return ' ';
return $country ? ctrans('texts.country_' . $country->name) : ctrans('texts.country_' . $countries->first()->name);
}
private function getCountryCode(): string
{
$country = Country::find($this->settings->country_id);
if ($country) {
return $country->iso_3166_2;
}
return ' ';
/** @var \Illuminate\Support\Collection<\App\Models\Country> */
$countries = app('countries');
$country = $countries->first(function ($item) {
return $item->id == $this->settings->country_id;
});
return $country ? $country->iso_3166_2 : ' ';
}
/**
* Due to the way we are compiling the blade template we

View File

@ -69,62 +69,81 @@ class Statics
{
$data = [];
foreach (config('ninja.cached_tables') as $name => $class) {
if (! Cache::has($name)) {
// check that the table exists in case the migration is pending
if (! Schema::hasTable((new $class())->getTable())) {
continue;
}
if ($name == 'payment_terms') {
$orderBy = 'num_days';
} elseif ($name == 'fonts') {
$orderBy = 'sort_order';
} elseif (in_array($name, ['currencies', 'industries', 'languages', 'countries', 'banks'])) {
$orderBy = 'name';
} else {
$orderBy = 'id';
}
$tableData = $class::orderBy($orderBy)->get();
if ($tableData->count()) {
Cache::forever($name, $tableData);
}
}
// foreach (config('ninja.cached_tables') as $name => $class) {
// if (! Cache::has($name)) {
// // check that the table exists in case the migration is pending
// if (! Schema::hasTable((new $class())->getTable())) {
// continue;
// }
// if ($name == 'payment_terms') {
// $orderBy = 'num_days';
// } elseif ($name == 'fonts') {
// $orderBy = 'sort_order';
// } elseif (in_array($name, ['currencies', 'industries', 'languages', 'countries', 'banks'])) {
// $orderBy = 'name';
// } else {
// $orderBy = 'id';
// }
// $tableData = $class::orderBy($orderBy)->get();
// if ($tableData->count()) {
// Cache::forever($name, $tableData);
// }
// }
$data[$name] = Cache::get($name);
}
// $data[$name] = app($name);
// }
if ($locale) {
$data['industries'] = Cache::get('industries')->each(function ($industry) {
/** @var \Illuminate\Support\Collection<\App\Models\Industry> */
$industries = app('industries');
$data['industries'] = $industries->each(function ($industry) {
$industry->name = ctrans('texts.industry_'.$industry->name);
})->sortBy(function ($industry) {
return $industry->name;
})->values();
$data['countries'] = Cache::get('countries')->each(function ($country) {
/** @var \Illuminate\Support\Collection<\App\Models\Country> */
$countries = app('countries');
$data['countries'] = $countries->each(function ($country) {
$country->name = ctrans('texts.country_'.$country->name);
})->sortBy(function ($country) {
return $country->name;
})->values();
$data['payment_types'] = Cache::get('payment_types')->each(function ($pType) {
/** @var \Illuminate\Support\Collection<\App\Models\PaymentType> */
$payment_types = app('payment_types');
$data['payment_types'] = $payment_types->each(function ($pType) {
$pType->name = ctrans('texts.payment_type_'.$pType->name);
})->sortBy(function ($pType) {
return $pType->name;
})->values();
$data['languages'] = Cache::get('languages')->each(function ($lang) {
/** @var \Illuminate\Support\Collection<\App\Models\Language> */
$payment_types = app('languages');
$data['languages'] = $payment_types->each(function ($lang) {
$lang->name = ctrans('texts.lang_'.$lang->name);
})->sortBy(function ($lang) {
return $lang->name;
})->values();
$data['currencies'] = Cache::get('currencies')->each(function ($currency) {
/** @var \Illuminate\Support\Collection<\App\Models\Currency> */
$currencies = app('currencies');
$data['currencies'] = $currencies->each(function ($currency) {
$currency->name = ctrans('texts.currency_'.Str::slug($currency->name, '_'));
})->sortBy(function ($currency) {
return $currency->name;
})->values();
$data['templates'] = Cache::get('templates');
$data['templates'] = app('templates');
}
$data['bulk_updates'] = [

View File

@ -19,7 +19,11 @@ class TranslationHelper
{
public static function getIndustries()
{
return Cache::get('industries')->each(function ($industry) {
/** @var \Illuminate\Support\Collection<\App\Models\Currency> */
$industries = app('industries');
return $industries->each(function ($industry) {
$industry->name = ctrans('texts.industry_'.$industry->name);
})->sortBy(function ($industry) {
return $industry->name;
@ -28,7 +32,11 @@ class TranslationHelper
public static function getCountries()
{
return Cache::get('countries')->each(function ($country) {
/** @var \Illuminate\Support\Collection<\App\Models\Country> */
$countries = app('countries');
return $countries->each(function ($country) {
$country->name = ctrans('texts.country_'.$country->name);
})->sortBy(function ($country) {
return $country->iso_3166_2;
@ -37,7 +45,11 @@ class TranslationHelper
public static function getPaymentTypes()
{
return Cache::get('payment_types')->each(function ($pType) {
/** @var \Illuminate\Support\Collection<\App\Models\PaymentType> */
$payment_types = app('payment_types');
return $payment_types->each(function ($pType) {
$pType->name = ctrans('texts.payment_type_'.$pType->name);
})->sortBy(function ($pType) {
return $pType->name;
@ -46,7 +58,11 @@ class TranslationHelper
public static function getLanguages()
{
return Cache::get('languages')->each(function ($lang) {
/** @var \Illuminate\Support\Collection<\App\Models\Language> */
$languages = app('languages');
return $languages->each(function ($lang) {
$lang->name = ctrans('texts.lang_'.$lang->name);
})->sortBy(function ($lang) {
return $lang->name;
@ -55,7 +71,11 @@ class TranslationHelper
public static function getCurrencies()
{
return Cache::get('currencies')->each(function ($currency) {
/** @var \Illuminate\Support\Collection<\App\Models\Currency> */
$currencies = app('currencies');
return $currencies->each(function ($currency) {
$currency->name = ctrans('texts.currency_'.Str::slug($currency->name, '_'));
})->sortBy(function ($currency) {
return $currency->name;

View File

@ -567,27 +567,15 @@ class VendorHtmlEngine
private function getCountryName(): string
{
$countries = Cache::get('countries');
/** @var \Illuminate\Support\Collection<\App\Models\Country> */
$countries = app('countries');
if (! $countries) {
$this->buildCache(true);
$countries = Cache::get('countries');
}
if ($countries) {
$country = $countries->filter(function ($item) {
return $item->id == $this->settings->country_id;
})->first();
} else {
$country = Country::find($this->settings->country_id);
}
if ($country) {
return ctrans('texts.country_' . $country->name);
}
return '&nbsp;';
$country = $countries->first(function ($item) {
return $item->id == $this->settings->country_id;
});
return $country ? ctrans('texts.country_' . $country->name) : '&nbsp;';
}