mirror of
https://github.com/firefly-iii/firefly-iii.git
synced 2026-01-08 03:21:20 +00:00
Compare commits
22 Commits
develop-20
...
develop-20
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
12629a1955 | ||
|
|
2e3669a32f | ||
|
|
ea337607c4 | ||
|
|
f7f317a3b2 | ||
|
|
adbf6defe5 | ||
|
|
e0709f2975 | ||
|
|
30007b05cb | ||
|
|
13fc7f0d8d | ||
|
|
7c85138115 | ||
|
|
2c25f65f7f | ||
|
|
7eaba962e8 | ||
|
|
7c38393cde | ||
|
|
153fd2ae74 | ||
|
|
c0204c810c | ||
|
|
944c107e26 | ||
|
|
18e05c06fd | ||
|
|
fb79dbf17c | ||
|
|
31a8163c61 | ||
|
|
8bcd729250 | ||
|
|
80c4e69528 | ||
|
|
7f6d8fdb87 | ||
|
|
c8e301326e |
12
.ci/php-cs-fixer/composer.lock
generated
12
.ci/php-cs-fixer/composer.lock
generated
@@ -406,16 +406,16 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "friendsofphp/php-cs-fixer",
|
"name": "friendsofphp/php-cs-fixer",
|
||||||
"version": "v3.69.0",
|
"version": "v3.69.1",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/PHP-CS-Fixer/PHP-CS-Fixer.git",
|
"url": "https://github.com/PHP-CS-Fixer/PHP-CS-Fixer.git",
|
||||||
"reference": "630a59448c00729bc235d5e95cfedefeaca37523"
|
"reference": "13b0c0eede38c11cd674b080f2b485d0f14ffa9f"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/PHP-CS-Fixer/PHP-CS-Fixer/zipball/630a59448c00729bc235d5e95cfedefeaca37523",
|
"url": "https://api.github.com/repos/PHP-CS-Fixer/PHP-CS-Fixer/zipball/13b0c0eede38c11cd674b080f2b485d0f14ffa9f",
|
||||||
"reference": "630a59448c00729bc235d5e95cfedefeaca37523",
|
"reference": "13b0c0eede38c11cd674b080f2b485d0f14ffa9f",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
@@ -497,7 +497,7 @@
|
|||||||
],
|
],
|
||||||
"support": {
|
"support": {
|
||||||
"issues": "https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues",
|
"issues": "https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues",
|
||||||
"source": "https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/tree/v3.69.0"
|
"source": "https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/tree/v3.69.1"
|
||||||
},
|
},
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
@@ -505,7 +505,7 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"time": "2025-02-14T16:19:23+00:00"
|
"time": "2025-02-18T23:57:43+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "psr/container",
|
"name": "psr/container",
|
||||||
|
|||||||
9
.gitignore
vendored
9
.gitignore
vendored
@@ -14,7 +14,16 @@ public/build
|
|||||||
# ignore v1 build files
|
# ignore v1 build files
|
||||||
resources/assets/v1/node_modules
|
resources/assets/v1/node_modules
|
||||||
resources/assets/v1/build
|
resources/assets/v1/build
|
||||||
|
public/v1/js/app.js*
|
||||||
|
public/v1/js/app_vue.js*
|
||||||
|
public/v1/js/create*
|
||||||
|
public/v1/js/edit*
|
||||||
|
public/v1/js/profile*
|
||||||
|
public/v1/js/administrations
|
||||||
|
public/v1/js/exchange-rates
|
||||||
|
public/v1/js/webhooks
|
||||||
|
|
||||||
# ignore v2 build files
|
# ignore v2 build files
|
||||||
resources/assets/v2/node_modules
|
resources/assets/v2/node_modules
|
||||||
resources/assets/v2/build
|
resources/assets/v2/build
|
||||||
|
public/v2/i18n
|
||||||
|
|||||||
@@ -106,7 +106,7 @@ class ExportsData extends Command
|
|||||||
$exporter->setExportTags($options['export']['tags']);
|
$exporter->setExportTags($options['export']['tags']);
|
||||||
$exporter->setExportRecurring($options['export']['recurring']);
|
$exporter->setExportRecurring($options['export']['recurring']);
|
||||||
$exporter->setExportRules($options['export']['rules']);
|
$exporter->setExportRules($options['export']['rules']);
|
||||||
$exporter->setExportBills($options['export']['subscriptions']);
|
$exporter->setExportBills($options['export']['bills']);
|
||||||
$exporter->setExportPiggies($options['export']['piggies']);
|
$exporter->setExportPiggies($options['export']['piggies']);
|
||||||
$data = $exporter->export();
|
$data = $exporter->export();
|
||||||
if (0 === count($data)) {
|
if (0 === count($data)) {
|
||||||
|
|||||||
@@ -224,7 +224,7 @@ class LoginController extends Controller
|
|||||||
{
|
{
|
||||||
Log::channel('audit')->info('Show login form (1.1).');
|
Log::channel('audit')->info('Show login form (1.1).');
|
||||||
|
|
||||||
$count = DB::table('users')->whereNull('deleted_at')->count();
|
$count = DB::table('users')->count();
|
||||||
$guard = config('auth.defaults.guard');
|
$guard = config('auth.defaults.guard');
|
||||||
$title = (string) trans('firefly.login_page_title');
|
$title = (string) trans('firefly.login_page_title');
|
||||||
|
|
||||||
|
|||||||
@@ -31,6 +31,7 @@ use FireflyIII\Models\Account;
|
|||||||
use FireflyIII\Models\PiggyBank;
|
use FireflyIII\Models\PiggyBank;
|
||||||
use FireflyIII\Repositories\ObjectGroup\OrganisesObjectGroups;
|
use FireflyIII\Repositories\ObjectGroup\OrganisesObjectGroups;
|
||||||
use FireflyIII\Repositories\PiggyBank\PiggyBankRepositoryInterface;
|
use FireflyIII\Repositories\PiggyBank\PiggyBankRepositoryInterface;
|
||||||
|
use FireflyIII\Support\JsonApi\Enrichments\AccountEnrichment;
|
||||||
use FireflyIII\Transformers\AccountTransformer;
|
use FireflyIII\Transformers\AccountTransformer;
|
||||||
use FireflyIII\Transformers\PiggyBankTransformer;
|
use FireflyIII\Transformers\PiggyBankTransformer;
|
||||||
use Illuminate\Contracts\View\Factory;
|
use Illuminate\Contracts\View\Factory;
|
||||||
@@ -81,25 +82,25 @@ class IndexController extends Controller
|
|||||||
{
|
{
|
||||||
$this->cleanupObjectGroups();
|
$this->cleanupObjectGroups();
|
||||||
$this->piggyRepos->resetOrder();
|
$this->piggyRepos->resetOrder();
|
||||||
$collection = $this->piggyRepos->getPiggyBanks();
|
$collection = $this->piggyRepos->getPiggyBanks();
|
||||||
|
|
||||||
/** @var Carbon $end */
|
/** @var Carbon $end */
|
||||||
$end = session('end', today(config('app.timezone'))->endOfMonth());
|
$end = session('end', today(config('app.timezone'))->endOfMonth());
|
||||||
|
|
||||||
// transform piggies using the transformer:
|
// transform piggies using the transformer:
|
||||||
$parameters = new ParameterBag();
|
// $parameters = new ParameterBag();
|
||||||
$parameters->set('end', $end);
|
// $parameters->set('end', $end);
|
||||||
|
|
||||||
|
|
||||||
/** @var AccountTransformer $accountTransformer */
|
// /** @var AccountTransformer $accountTransformer */
|
||||||
$accountTransformer = app(AccountTransformer::class);
|
// $accountTransformer = app(AccountTransformer::class);
|
||||||
$accountTransformer->setParameters($parameters);
|
// $accountTransformer->setParameters($parameters);
|
||||||
|
|
||||||
// data
|
// data
|
||||||
$piggyBanks = $this->groupPiggyBanks($collection);
|
$piggyBanks = $this->groupPiggyBanks($collection);
|
||||||
$accounts = $this->collectAccounts($collection);
|
$accounts = $this->collectAccounts($collection);
|
||||||
$accounts = $this->mergeAccountsAndPiggies($piggyBanks, $accounts);
|
$accounts = $this->mergeAccountsAndPiggies($piggyBanks, $accounts);
|
||||||
$piggyBanks = $this->makeSums($piggyBanks);
|
$piggyBanks = $this->makeSums($piggyBanks);
|
||||||
|
|
||||||
ksort($piggyBanks);
|
ksort($piggyBanks);
|
||||||
|
|
||||||
@@ -144,6 +145,11 @@ class IndexController extends Controller
|
|||||||
$accountTransformer = app(AccountTransformer::class);
|
$accountTransformer = app(AccountTransformer::class);
|
||||||
$accountTransformer->setParameters($parameters);
|
$accountTransformer->setParameters($parameters);
|
||||||
|
|
||||||
|
// enrich each account.
|
||||||
|
$enrichment = new AccountEnrichment();
|
||||||
|
$enrichment->setUser(auth()->user());
|
||||||
|
$enrichment->setConvertToNative($this->convertToNative);
|
||||||
|
$enrichment->setNative($this->defaultCurrency);
|
||||||
$return = [];
|
$return = [];
|
||||||
|
|
||||||
/** @var PiggyBank $piggy */
|
/** @var PiggyBank $piggy */
|
||||||
@@ -152,6 +158,7 @@ class IndexController extends Controller
|
|||||||
|
|
||||||
/** @var Account $account */
|
/** @var Account $account */
|
||||||
foreach ($accounts as $account) {
|
foreach ($accounts as $account) {
|
||||||
|
$account = $enrichment->enrichSingle($account);
|
||||||
$array = $accountTransformer->transform($account);
|
$array = $accountTransformer->transform($account);
|
||||||
$accountId = (int) $array['id'];
|
$accountId = (int) $array['id'];
|
||||||
if (!array_key_exists($accountId, $return)) {
|
if (!array_key_exists($accountId, $return)) {
|
||||||
|
|||||||
@@ -84,7 +84,7 @@ class Installer
|
|||||||
// Log::debug('Now in routine hasNoTables()');
|
// Log::debug('Now in routine hasNoTables()');
|
||||||
|
|
||||||
try {
|
try {
|
||||||
DB::table('users')->whereNull('deleted_at')->count();
|
DB::table('users')->count();
|
||||||
} catch (QueryException $e) {
|
} catch (QueryException $e) {
|
||||||
$message = $e->getMessage();
|
$message = $e->getMessage();
|
||||||
Log::error(sprintf('Error message trying to access users-table: %s', $message));
|
Log::error(sprintf('Error message trying to access users-table: %s', $message));
|
||||||
|
|||||||
@@ -498,6 +498,8 @@ class AccountRepository implements AccountRepositoryInterface
|
|||||||
}
|
}
|
||||||
$query->orderBy('accounts.active', 'DESC');
|
$query->orderBy('accounts.active', 'DESC');
|
||||||
$query->orderBy('accounts.name', 'ASC');
|
$query->orderBy('accounts.name', 'ASC');
|
||||||
|
$query->orderBy('accounts.account_type_id', 'ASC');
|
||||||
|
$query->orderBy('accounts.id', 'ASC');
|
||||||
}
|
}
|
||||||
|
|
||||||
return $query->get(['accounts.*']);
|
return $query->get(['accounts.*']);
|
||||||
|
|||||||
@@ -233,8 +233,8 @@ trait ModifiesPiggyBanks
|
|||||||
$difference = bcsub($piggyBank->target_amount, $currentAmount);
|
$difference = bcsub($piggyBank->target_amount, $currentAmount);
|
||||||
|
|
||||||
// an amount will be removed, create "negative" event:
|
// an amount will be removed, create "negative" event:
|
||||||
Log::debug(sprintf('ChangedAmount: is triggered with difference "%s"', $difference));
|
// Log::debug(sprintf('ChangedAmount: is triggered with difference "%s"', $difference));
|
||||||
event(new ChangedAmount($piggyBank, $difference, null, null));
|
// event(new ChangedAmount($piggyBank, $difference, null, null));
|
||||||
|
|
||||||
// question is, from which account(s) to remove the difference?
|
// question is, from which account(s) to remove the difference?
|
||||||
// solution: just start from the top until there is no more money left to remove.
|
// solution: just start from the top until there is no more money left to remove.
|
||||||
|
|||||||
@@ -361,6 +361,8 @@ class AccountRepository implements AccountRepositoryInterface
|
|||||||
}
|
}
|
||||||
$query->orderBy('accounts.order', 'ASC');
|
$query->orderBy('accounts.order', 'ASC');
|
||||||
$query->orderBy('accounts.name', 'ASC');
|
$query->orderBy('accounts.name', 'ASC');
|
||||||
|
$query->orderBy('accounts.account_type_id', 'ASC');
|
||||||
|
$query->orderBy('accounts.id', 'ASC');
|
||||||
}
|
}
|
||||||
|
|
||||||
return $query->get(['accounts.*']);
|
return $query->get(['accounts.*']);
|
||||||
|
|||||||
@@ -117,30 +117,6 @@ class AccountEnrichment implements EnrichmentInterface
|
|||||||
$this->collectNotes();
|
$this->collectNotes();
|
||||||
$this->collectLocations();
|
$this->collectLocations();
|
||||||
$this->collectOpeningBalances();
|
$this->collectOpeningBalances();
|
||||||
// $this->default = app('amount')->getNativeCurrency();
|
|
||||||
// $this->currencies = [];
|
|
||||||
// $this->balances = [];
|
|
||||||
// $this->objectGroups = [];
|
|
||||||
// $this->grouped = [];
|
|
||||||
//
|
|
||||||
// // do everything here:
|
|
||||||
// $this->getLastActivity();
|
|
||||||
// $this->collectAccountTypes();
|
|
||||||
// $this->collectMetaData();
|
|
||||||
// $this->getMetaBalances();
|
|
||||||
// $this->getObjectGroups();
|
|
||||||
|
|
||||||
// $this->collection->transform(function (Account $account) {
|
|
||||||
// $account->user_array = ['id' => 1, 'bla bla' => 'bla'];
|
|
||||||
// $account->balances = collect([
|
|
||||||
// ['balance_id' => 1, 'balance' => 5],
|
|
||||||
// ['balance_id' => 2, 'balance' => 5],
|
|
||||||
// ['balance_id' => 3, 'balance' => 5],
|
|
||||||
// ]);
|
|
||||||
//
|
|
||||||
// return $account;
|
|
||||||
// });
|
|
||||||
|
|
||||||
$this->appendCollectedData();
|
$this->appendCollectedData();
|
||||||
|
|
||||||
return $this->collection;
|
return $this->collection;
|
||||||
@@ -258,7 +234,7 @@ class AccountEnrichment implements EnrichmentInterface
|
|||||||
|
|
||||||
private function collectMetaData(): void
|
private function collectMetaData(): void
|
||||||
{
|
{
|
||||||
$set = AccountMeta::whereIn('name', ['is_multi_currency', 'currency_id', 'account_role', 'account_number', 'liability_direction', 'interest', 'interest_period', 'current_debt'])
|
$set = AccountMeta::whereIn('name', ['is_multi_currency', 'include_net_worth', 'currency_id', 'account_role', 'account_number', 'liability_direction', 'interest', 'interest_period', 'current_debt'])
|
||||||
->whereIn('account_id', $this->accountIds)
|
->whereIn('account_id', $this->accountIds)
|
||||||
->get(['account_meta.id', 'account_meta.account_id', 'account_meta.name', 'account_meta.data'])->toArray()
|
->get(['account_meta.id', 'account_meta.account_id', 'account_meta.name', 'account_meta.data'])->toArray()
|
||||||
;
|
;
|
||||||
@@ -275,7 +251,7 @@ class AccountEnrichment implements EnrichmentInterface
|
|||||||
$this->currencies[(int) $currency->id] = $currency;
|
$this->currencies[(int) $currency->id] = $currency;
|
||||||
}
|
}
|
||||||
foreach ($this->currencies as $id => $currency) {
|
foreach ($this->currencies as $id => $currency) {
|
||||||
if (true === $currency) {
|
if (true === $currency && 0 !== (int) $id) {
|
||||||
throw new FireflyException(sprintf('Currency #%d not found.', $id));
|
throw new FireflyException(sprintf('Currency #%d not found.', $id));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -72,20 +72,32 @@ class Preferences
|
|||||||
|
|
||||||
public function getForUser(User $user, string $name, null|array|bool|int|string $default = null): ?Preference
|
public function getForUser(User $user, string $name, null|array|bool|int|string $default = null): ?Preference
|
||||||
{
|
{
|
||||||
|
Log::debug(sprintf('getForUser(#%d, "%s")', $user->id, $name));
|
||||||
// don't care about user group ID, except for some specific preferences.
|
// don't care about user group ID, except for some specific preferences.
|
||||||
$userGroupId = $this->getUserGroupId($user, $name);
|
$userGroupId = $this->getUserGroupId($user, $name);
|
||||||
$preference = Preference::where('user_group_id', $userGroupId)->where('user_id', $user->id)->where('name', $name)->first(['id', 'user_id', 'name', 'data', 'updated_at', 'created_at']);
|
$query = Preference::where('user_id', $user->id)->where('name', $name);
|
||||||
|
if (null !== $userGroupId) {
|
||||||
|
Log::debug('Include user group ID in query');
|
||||||
|
$query->where('user_group_id', $userGroupId);
|
||||||
|
}
|
||||||
|
|
||||||
|
$preference = $query->first(['id', 'user_id', 'user_group_id', 'name', 'data', 'updated_at', 'created_at']);
|
||||||
|
|
||||||
if (null !== $preference && null === $preference->data) {
|
if (null !== $preference && null === $preference->data) {
|
||||||
$preference->delete();
|
$preference->delete();
|
||||||
$preference = null;
|
$preference = null;
|
||||||
|
Log::debug('Removed empty preference.');
|
||||||
}
|
}
|
||||||
|
|
||||||
if (null !== $preference) {
|
if (null !== $preference) {
|
||||||
|
Log::debug(sprintf('Found preference #%d for user #%d: %s', $preference->id, $user->id, $name));
|
||||||
|
|
||||||
return $preference;
|
return $preference;
|
||||||
}
|
}
|
||||||
// no preference found and default is null:
|
// no preference found and default is null:
|
||||||
if (null === $default) {
|
if (null === $default) {
|
||||||
|
Log::debug('Return NULL, create no preference.');
|
||||||
|
|
||||||
// return NULL
|
// return NULL
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
@@ -124,35 +136,40 @@ class Preferences
|
|||||||
|
|
||||||
public function setForUser(User $user, string $name, null|array|bool|int|string $value): Preference
|
public function setForUser(User $user, string $name, null|array|bool|int|string $value): Preference
|
||||||
{
|
{
|
||||||
$fullName = sprintf('preference%s%s', $user->id, $name);
|
$fullName = sprintf('preference%s%s', $user->id, $name);
|
||||||
$groupId = $this->getUserGroupId($user, $name);
|
$userGroupId = $this->getUserGroupId($user, $name);
|
||||||
$groupId = 0 === (int) $groupId ? null : (int) $groupId;
|
$userGroupId = 0 === (int) $userGroupId ? null : (int) $userGroupId;
|
||||||
|
|
||||||
Cache::forget($fullName);
|
Cache::forget($fullName);
|
||||||
|
|
||||||
/** @var null|Preference $pref */
|
$query = Preference::where('user_id', $user->id)->where('name', $name);
|
||||||
$pref = Preference::where('user_group_id', $groupId)->where('user_id', $user->id)->where('name', $name)->first(['id', 'name', 'data', 'updated_at', 'created_at']);
|
if (null !== $userGroupId) {
|
||||||
|
Log::debug('Include user group ID in query');
|
||||||
|
$query->where('user_group_id', $userGroupId);
|
||||||
|
}
|
||||||
|
|
||||||
if (null !== $pref && null === $value) {
|
$preference = $query->first(['id', 'user_id', 'user_group_id', 'name', 'data', 'updated_at', 'created_at']);
|
||||||
$pref->delete();
|
|
||||||
|
if (null !== $preference && null === $value) {
|
||||||
|
$preference->delete();
|
||||||
|
|
||||||
return new Preference();
|
return new Preference();
|
||||||
}
|
}
|
||||||
if (null === $value) {
|
if (null === $value) {
|
||||||
return new Preference();
|
return new Preference();
|
||||||
}
|
}
|
||||||
if (null === $pref) {
|
if (null === $preference) {
|
||||||
$pref = new Preference();
|
$preference = new Preference();
|
||||||
$pref->user_id = (int) $user->id;
|
$preference->user_id = (int) $user->id;
|
||||||
$pref->user_group_id = $groupId;
|
$preference->user_group_id = $userGroupId;
|
||||||
$pref->name = $name;
|
$preference->name = $name;
|
||||||
|
|
||||||
}
|
}
|
||||||
$pref->data = $value;
|
$preference->data = $value;
|
||||||
$pref->save();
|
$preference->save();
|
||||||
Cache::forever($fullName, $pref);
|
Cache::forever($fullName, $preference);
|
||||||
|
|
||||||
return $pref;
|
return $preference;
|
||||||
}
|
}
|
||||||
|
|
||||||
public function beginsWith(User $user, string $search): Collection
|
public function beginsWith(User $user, string $search): Collection
|
||||||
|
|||||||
@@ -62,6 +62,10 @@ class AccountTransformer extends AbstractTransformer
|
|||||||
*/
|
*/
|
||||||
public function transform(Account $account): array
|
public function transform(Account $account): array
|
||||||
{
|
{
|
||||||
|
if (null === $account->meta) {
|
||||||
|
$account->meta = [];
|
||||||
|
}
|
||||||
|
|
||||||
// get account type:
|
// get account type:
|
||||||
$accountType = (string) config(sprintf('firefly.shortNamesByFullName.%s', $account->full_account_type));
|
$accountType = (string) config(sprintf('firefly.shortNamesByFullName.%s', $account->full_account_type));
|
||||||
$liabilityType = (string) config(sprintf('firefly.shortLiabilityNameByFullName.%s', $account->full_account_type));
|
$liabilityType = (string) config(sprintf('firefly.shortLiabilityNameByFullName.%s', $account->full_account_type));
|
||||||
@@ -88,7 +92,7 @@ class AccountTransformer extends AbstractTransformer
|
|||||||
$decimalPlaces = (int) $account->meta['currency']?->decimal_places;
|
$decimalPlaces = (int) $account->meta['currency']?->decimal_places;
|
||||||
$decimalPlaces = 0 === $decimalPlaces ? 2 : $decimalPlaces;
|
$decimalPlaces = 0 === $decimalPlaces ? 2 : $decimalPlaces;
|
||||||
$openingBalance = Steam::bcround($openingBalance, $decimalPlaces);
|
$openingBalance = Steam::bcround($openingBalance, $decimalPlaces);
|
||||||
$includeNetWorth = '0' !== ($account->meta['include_net_worth'] ?? null);
|
$includeNetWorth = 1 === (int) ($account->meta['include_net_worth'] ?? 0);
|
||||||
$longitude = $account->meta['location']['longitude'] ?? null;
|
$longitude = $account->meta['location']['longitude'] ?? null;
|
||||||
$latitude = $account->meta['location']['latitude'] ?? null;
|
$latitude = $account->meta['location']['latitude'] ?? null;
|
||||||
$zoomLevel = $account->meta['location']['zoom_level'] ?? null;
|
$zoomLevel = $account->meta['location']['zoom_level'] ?? null;
|
||||||
|
|||||||
@@ -131,7 +131,7 @@ class TransactionGroupTransformer extends AbstractTransformer
|
|||||||
|
|
||||||
return [
|
return [
|
||||||
'user' => (string) $transaction['user_id'],
|
'user' => (string) $transaction['user_id'],
|
||||||
'transaction_journal_id' => $transaction['transaction_journal_id'],
|
'transaction_journal_id' => (string) $transaction['transaction_journal_id'],
|
||||||
'type' => strtolower($type),
|
'type' => strtolower($type),
|
||||||
'date' => $transaction['date']->toAtomString(),
|
'date' => $transaction['date']->toAtomString(),
|
||||||
'order' => $transaction['order'],
|
'order' => $transaction['order'],
|
||||||
@@ -320,17 +320,17 @@ class TransactionGroupTransformer extends AbstractTransformer
|
|||||||
|
|
||||||
return [
|
return [
|
||||||
'user' => $journal->user_id,
|
'user' => $journal->user_id,
|
||||||
'transaction_journal_id' => $journal->id,
|
'transaction_journal_id' => (string) $journal->id,
|
||||||
'type' => strtolower($type),
|
'type' => strtolower($type),
|
||||||
'date' => $journal->date->toAtomString(),
|
'date' => $journal->date->toAtomString(),
|
||||||
'order' => $journal->order,
|
'order' => $journal->order,
|
||||||
|
|
||||||
'currency_id' => $currency->id,
|
'currency_id' => (string) $currency->id,
|
||||||
'currency_code' => $currency->code,
|
'currency_code' => $currency->code,
|
||||||
'currency_symbol' => $currency->symbol,
|
'currency_symbol' => $currency->symbol,
|
||||||
'currency_decimal_places' => $currency->decimal_places,
|
'currency_decimal_places' => $currency->decimal_places,
|
||||||
|
|
||||||
'foreign_currency_id' => $foreignCurrency['id'],
|
'foreign_currency_id' => (string) $foreignCurrency['id'],
|
||||||
'foreign_currency_code' => $foreignCurrency['code'],
|
'foreign_currency_code' => $foreignCurrency['code'],
|
||||||
'foreign_currency_symbol' => $foreignCurrency['symbol'],
|
'foreign_currency_symbol' => $foreignCurrency['symbol'],
|
||||||
'foreign_currency_decimal_places' => $foreignCurrency['decimal_places'],
|
'foreign_currency_decimal_places' => $foreignCurrency['decimal_places'],
|
||||||
@@ -340,23 +340,23 @@ class TransactionGroupTransformer extends AbstractTransformer
|
|||||||
|
|
||||||
'description' => $journal->description,
|
'description' => $journal->description,
|
||||||
|
|
||||||
'source_id' => $source->account_id,
|
'source_id' => (string) $source->account_id,
|
||||||
'source_name' => $source->account->name,
|
'source_name' => $source->account->name,
|
||||||
'source_iban' => $source->account->iban,
|
'source_iban' => $source->account->iban,
|
||||||
'source_type' => $source->account->accountType->type,
|
'source_type' => $source->account->accountType->type,
|
||||||
|
|
||||||
'destination_id' => $destination->account_id,
|
'destination_id' => (string) $destination->account_id,
|
||||||
'destination_name' => $destination->account->name,
|
'destination_name' => $destination->account->name,
|
||||||
'destination_iban' => $destination->account->iban,
|
'destination_iban' => $destination->account->iban,
|
||||||
'destination_type' => $destination->account->accountType->type,
|
'destination_type' => $destination->account->accountType->type,
|
||||||
|
|
||||||
'budget_id' => $budget['id'],
|
'budget_id' => (string) $budget['id'],
|
||||||
'budget_name' => $budget['name'],
|
'budget_name' => $budget['name'],
|
||||||
|
|
||||||
'category_id' => $category['id'],
|
'category_id' => (string) $category['id'],
|
||||||
'category_name' => $category['name'],
|
'category_name' => $category['name'],
|
||||||
|
|
||||||
'bill_id' => $bill['id'],
|
'bill_id' => (string) $bill['id'],
|
||||||
'bill_name' => $bill['name'],
|
'bill_name' => $bill['name'],
|
||||||
|
|
||||||
'reconciled' => $source->reconciled,
|
'reconciled' => $source->reconciled,
|
||||||
|
|||||||
15
changelog.md
15
changelog.md
@@ -3,6 +3,21 @@
|
|||||||
All notable changes to this project will be documented in this file.
|
All notable changes to this project will be documented in this file.
|
||||||
This project adheres to [Semantic Versioning](http://semver.org/).
|
This project adheres to [Semantic Versioning](http://semver.org/).
|
||||||
|
|
||||||
|
## 6.2.7 - 2025-02-19
|
||||||
|
|
||||||
|
### Changed
|
||||||
|
|
||||||
|
- Optimised Account and Transaction API endpoints, should be a lot faster
|
||||||
|
- Optimized account deletion, should be a lot faster
|
||||||
|
|
||||||
|
### Fixed
|
||||||
|
|
||||||
|
- [Issue 9803](https://github.com/firefly-iii/firefly-iii/issues/9803) (Left to spend - All negativ after update.) reported by @nedsined
|
||||||
|
- [Issue 9835](https://github.com/firefly-iii/firefly-iii/issues/9835) (Failed to create transaction in recurring transactions on 6.2.6) reported by @hhl5350
|
||||||
|
- [Issue 9842](https://github.com/firefly-iii/firefly-iii/issues/9842) (Net worth on dashboard does not go up to the end of month for the current month) reported by @standingduck3
|
||||||
|
- [Issue 9848](https://github.com/firefly-iii/firefly-iii/issues/9848) (Failed to export accounts data) reported by @Jaeger87
|
||||||
|
- [Issue 9855](https://github.com/firefly-iii/firefly-iii/issues/9855) (Demo Website not working) reported by @xfarrow
|
||||||
|
|
||||||
## 6.2.6 - 2025-02-13
|
## 6.2.6 - 2025-02-13
|
||||||
|
|
||||||
### Fixed
|
### Fixed
|
||||||
|
|||||||
52
composer.lock
generated
52
composer.lock
generated
@@ -1874,16 +1874,16 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "laravel/framework",
|
"name": "laravel/framework",
|
||||||
"version": "v11.42.1",
|
"version": "v11.43.2",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/laravel/framework.git",
|
"url": "https://github.com/laravel/framework.git",
|
||||||
"reference": "ff392f42f6c55cc774ce75553a11c6b031da67f8"
|
"reference": "99d1573698abc42222f04d25fcd5b213d0eedf21"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/laravel/framework/zipball/ff392f42f6c55cc774ce75553a11c6b031da67f8",
|
"url": "https://api.github.com/repos/laravel/framework/zipball/99d1573698abc42222f04d25fcd5b213d0eedf21",
|
||||||
"reference": "ff392f42f6c55cc774ce75553a11c6b031da67f8",
|
"reference": "99d1573698abc42222f04d25fcd5b213d0eedf21",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
@@ -2085,7 +2085,7 @@
|
|||||||
"issues": "https://github.com/laravel/framework/issues",
|
"issues": "https://github.com/laravel/framework/issues",
|
||||||
"source": "https://github.com/laravel/framework"
|
"source": "https://github.com/laravel/framework"
|
||||||
},
|
},
|
||||||
"time": "2025-02-12T20:58:18+00:00"
|
"time": "2025-02-19T21:53:48+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "laravel/passport",
|
"name": "laravel/passport",
|
||||||
@@ -6196,27 +6196,27 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "spatie/laravel-html",
|
"name": "spatie/laravel-html",
|
||||||
"version": "3.11.2",
|
"version": "3.11.3",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/spatie/laravel-html.git",
|
"url": "https://github.com/spatie/laravel-html.git",
|
||||||
"reference": "248508f3ed50e6538707fc54a4b3b23fb53e8045"
|
"reference": "b1bb159bd9845b1ff02b8f945ecd583d93353d06"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/spatie/laravel-html/zipball/248508f3ed50e6538707fc54a4b3b23fb53e8045",
|
"url": "https://api.github.com/repos/spatie/laravel-html/zipball/b1bb159bd9845b1ff02b8f945ecd583d93353d06",
|
||||||
"reference": "248508f3ed50e6538707fc54a4b3b23fb53e8045",
|
"reference": "b1bb159bd9845b1ff02b8f945ecd583d93353d06",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
"illuminate/http": "^10.0|^11.0",
|
"illuminate/http": "^10.0|^11.0|^12.0",
|
||||||
"illuminate/support": "^10.0|^11.0",
|
"illuminate/support": "^10.0|^11.0|^12.0",
|
||||||
"php": "^8.2"
|
"php": "^8.2"
|
||||||
},
|
},
|
||||||
"require-dev": {
|
"require-dev": {
|
||||||
"mockery/mockery": "^1.3",
|
"mockery/mockery": "^1.3",
|
||||||
"orchestra/testbench": "^8.0|^9.0",
|
"orchestra/testbench": "^8.0|^9.0|^10.0",
|
||||||
"pestphp/pest": "^2.34"
|
"pestphp/pest": "^2.34|^3.7"
|
||||||
},
|
},
|
||||||
"type": "library",
|
"type": "library",
|
||||||
"extra": {
|
"extra": {
|
||||||
@@ -6262,7 +6262,7 @@
|
|||||||
"spatie"
|
"spatie"
|
||||||
],
|
],
|
||||||
"support": {
|
"support": {
|
||||||
"source": "https://github.com/spatie/laravel-html/tree/3.11.2"
|
"source": "https://github.com/spatie/laravel-html/tree/3.11.3"
|
||||||
},
|
},
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
@@ -6270,7 +6270,7 @@
|
|||||||
"type": "custom"
|
"type": "custom"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"time": "2025-02-05T08:27:24+00:00"
|
"time": "2025-02-17T09:59:20+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "spatie/laravel-ignition",
|
"name": "spatie/laravel-ignition",
|
||||||
@@ -11267,16 +11267,16 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "phpstan/phpstan",
|
"name": "phpstan/phpstan",
|
||||||
"version": "2.1.5",
|
"version": "2.1.6",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/phpstan/phpstan.git",
|
"url": "https://github.com/phpstan/phpstan.git",
|
||||||
"reference": "451b17f9665481ee502adc39be987cb71067ece2"
|
"reference": "6eaec7c6c9e90dcfe46ad1e1ffa5171e2dab641c"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/phpstan/phpstan/zipball/451b17f9665481ee502adc39be987cb71067ece2",
|
"url": "https://api.github.com/repos/phpstan/phpstan/zipball/6eaec7c6c9e90dcfe46ad1e1ffa5171e2dab641c",
|
||||||
"reference": "451b17f9665481ee502adc39be987cb71067ece2",
|
"reference": "6eaec7c6c9e90dcfe46ad1e1ffa5171e2dab641c",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
@@ -11321,7 +11321,7 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"time": "2025-02-13T12:49:56+00:00"
|
"time": "2025-02-19T15:46:42+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "phpstan/phpstan-deprecation-rules",
|
"name": "phpstan/phpstan-deprecation-rules",
|
||||||
@@ -11743,16 +11743,16 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "phpunit/phpunit",
|
"name": "phpunit/phpunit",
|
||||||
"version": "11.5.7",
|
"version": "11.5.8",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/sebastianbergmann/phpunit.git",
|
"url": "https://github.com/sebastianbergmann/phpunit.git",
|
||||||
"reference": "e1cb706f019e2547039ca2c839898cd5f557ee5d"
|
"reference": "c9bd61aab12f0fc5e82ecfe621ff518a1d1f1049"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/e1cb706f019e2547039ca2c839898cd5f557ee5d",
|
"url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/c9bd61aab12f0fc5e82ecfe621ff518a1d1f1049",
|
||||||
"reference": "e1cb706f019e2547039ca2c839898cd5f557ee5d",
|
"reference": "c9bd61aab12f0fc5e82ecfe621ff518a1d1f1049",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
@@ -11824,7 +11824,7 @@
|
|||||||
"support": {
|
"support": {
|
||||||
"issues": "https://github.com/sebastianbergmann/phpunit/issues",
|
"issues": "https://github.com/sebastianbergmann/phpunit/issues",
|
||||||
"security": "https://github.com/sebastianbergmann/phpunit/security/policy",
|
"security": "https://github.com/sebastianbergmann/phpunit/security/policy",
|
||||||
"source": "https://github.com/sebastianbergmann/phpunit/tree/11.5.7"
|
"source": "https://github.com/sebastianbergmann/phpunit/tree/11.5.8"
|
||||||
},
|
},
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
@@ -11840,7 +11840,7 @@
|
|||||||
"type": "tidelift"
|
"type": "tidelift"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"time": "2025-02-06T16:10:05+00:00"
|
"time": "2025-02-18T06:26:59+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "sebastian/cli-parser",
|
"name": "sebastian/cli-parser",
|
||||||
|
|||||||
@@ -81,7 +81,7 @@ return [
|
|||||||
'running_balance_column' => env('USE_RUNNING_BALANCE', false),
|
'running_balance_column' => env('USE_RUNNING_BALANCE', false),
|
||||||
// see cer.php for exchange rates feature flag.
|
// see cer.php for exchange rates feature flag.
|
||||||
],
|
],
|
||||||
'version' => 'develop/2025-02-17',
|
'version' => 'develop/2025-02-20',
|
||||||
'api_version' => '2.1.0', // field is no longer used.
|
'api_version' => '2.1.0', // field is no longer used.
|
||||||
'db_version' => 25,
|
'db_version' => 25,
|
||||||
|
|
||||||
|
|||||||
190
package-lock.json
generated
190
package-lock.json
generated
@@ -2605,9 +2605,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@rollup/rollup-android-arm-eabi": {
|
"node_modules/@rollup/rollup-android-arm-eabi": {
|
||||||
"version": "4.34.7",
|
"version": "4.34.8",
|
||||||
"resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.34.7.tgz",
|
"resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.34.8.tgz",
|
||||||
"integrity": "sha512-l6CtzHYo8D2TQ3J7qJNpp3Q1Iye56ssIAtqbM2H8axxCEEwvN7o8Ze9PuIapbxFL3OHrJU2JBX6FIIVnP/rYyw==",
|
"integrity": "sha512-q217OSE8DTp8AFHuNHXo0Y86e1wtlfVrXiAlwkIvGRQv9zbc6mE3sjIVfwI8sYUyNxwOg0j/Vm1RKM04JcWLJw==",
|
||||||
"cpu": [
|
"cpu": [
|
||||||
"arm"
|
"arm"
|
||||||
],
|
],
|
||||||
@@ -2619,9 +2619,9 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"node_modules/@rollup/rollup-android-arm64": {
|
"node_modules/@rollup/rollup-android-arm64": {
|
||||||
"version": "4.34.7",
|
"version": "4.34.8",
|
||||||
"resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.34.7.tgz",
|
"resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.34.8.tgz",
|
||||||
"integrity": "sha512-KvyJpFUueUnSp53zhAa293QBYqwm94TgYTIfXyOTtidhm5V0LbLCJQRGkQClYiX3FXDQGSvPxOTD/6rPStMMDg==",
|
"integrity": "sha512-Gigjz7mNWaOL9wCggvoK3jEIUUbGul656opstjaUSGC3eT0BM7PofdAJaBfPFWWkXNVAXbaQtC99OCg4sJv70Q==",
|
||||||
"cpu": [
|
"cpu": [
|
||||||
"arm64"
|
"arm64"
|
||||||
],
|
],
|
||||||
@@ -2633,9 +2633,9 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"node_modules/@rollup/rollup-darwin-arm64": {
|
"node_modules/@rollup/rollup-darwin-arm64": {
|
||||||
"version": "4.34.7",
|
"version": "4.34.8",
|
||||||
"resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.34.7.tgz",
|
"resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.34.8.tgz",
|
||||||
"integrity": "sha512-jq87CjmgL9YIKvs8ybtIC98s/M3HdbqXhllcy9EdLV0yMg1DpxES2gr65nNy7ObNo/vZ/MrOTxt0bE5LinL6mA==",
|
"integrity": "sha512-02rVdZ5tgdUNRxIUrFdcMBZQoaPMrxtwSb+/hOfBdqkatYHR3lZ2A2EGyHq2sGOd0Owk80oV3snlDASC24He3Q==",
|
||||||
"cpu": [
|
"cpu": [
|
||||||
"arm64"
|
"arm64"
|
||||||
],
|
],
|
||||||
@@ -2647,9 +2647,9 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"node_modules/@rollup/rollup-darwin-x64": {
|
"node_modules/@rollup/rollup-darwin-x64": {
|
||||||
"version": "4.34.7",
|
"version": "4.34.8",
|
||||||
"resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.34.7.tgz",
|
"resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.34.8.tgz",
|
||||||
"integrity": "sha512-rSI/m8OxBjsdnMMg0WEetu/w+LhLAcCDEiL66lmMX4R3oaml3eXz3Dxfvrxs1FbzPbJMaItQiksyMfv1hoIxnA==",
|
"integrity": "sha512-qIP/elwR/tq/dYRx3lgwK31jkZvMiD6qUtOycLhTzCvrjbZ3LjQnEM9rNhSGpbLXVJYQ3rq39A6Re0h9tU2ynw==",
|
||||||
"cpu": [
|
"cpu": [
|
||||||
"x64"
|
"x64"
|
||||||
],
|
],
|
||||||
@@ -2661,9 +2661,9 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"node_modules/@rollup/rollup-freebsd-arm64": {
|
"node_modules/@rollup/rollup-freebsd-arm64": {
|
||||||
"version": "4.34.7",
|
"version": "4.34.8",
|
||||||
"resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.34.7.tgz",
|
"resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.34.8.tgz",
|
||||||
"integrity": "sha512-oIoJRy3ZrdsXpFuWDtzsOOa/E/RbRWXVokpVrNnkS7npz8GEG++E1gYbzhYxhxHbO2om1T26BZjVmdIoyN2WtA==",
|
"integrity": "sha512-IQNVXL9iY6NniYbTaOKdrlVP3XIqazBgJOVkddzJlqnCpRi/yAeSOa8PLcECFSQochzqApIOE1GHNu3pCz+BDA==",
|
||||||
"cpu": [
|
"cpu": [
|
||||||
"arm64"
|
"arm64"
|
||||||
],
|
],
|
||||||
@@ -2675,9 +2675,9 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"node_modules/@rollup/rollup-freebsd-x64": {
|
"node_modules/@rollup/rollup-freebsd-x64": {
|
||||||
"version": "4.34.7",
|
"version": "4.34.8",
|
||||||
"resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.34.7.tgz",
|
"resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.34.8.tgz",
|
||||||
"integrity": "sha512-X++QSLm4NZfZ3VXGVwyHdRf58IBbCu9ammgJxuWZYLX0du6kZvdNqPwrjvDfwmi6wFdvfZ/s6K7ia0E5kI7m8Q==",
|
"integrity": "sha512-TYXcHghgnCqYFiE3FT5QwXtOZqDj5GmaFNTNt3jNC+vh22dc/ukG2cG+pi75QO4kACohZzidsq7yKTKwq/Jq7Q==",
|
||||||
"cpu": [
|
"cpu": [
|
||||||
"x64"
|
"x64"
|
||||||
],
|
],
|
||||||
@@ -2689,9 +2689,9 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"node_modules/@rollup/rollup-linux-arm-gnueabihf": {
|
"node_modules/@rollup/rollup-linux-arm-gnueabihf": {
|
||||||
"version": "4.34.7",
|
"version": "4.34.8",
|
||||||
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.34.7.tgz",
|
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.34.8.tgz",
|
||||||
"integrity": "sha512-Z0TzhrsNqukTz3ISzrvyshQpFnFRfLunYiXxlCRvcrb3nvC5rVKI+ZXPFG/Aa4jhQa1gHgH3A0exHaRRN4VmdQ==",
|
"integrity": "sha512-A4iphFGNkWRd+5m3VIGuqHnG3MVnqKe7Al57u9mwgbyZ2/xF9Jio72MaY7xxh+Y87VAHmGQr73qoKL9HPbXj1g==",
|
||||||
"cpu": [
|
"cpu": [
|
||||||
"arm"
|
"arm"
|
||||||
],
|
],
|
||||||
@@ -2703,9 +2703,9 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"node_modules/@rollup/rollup-linux-arm-musleabihf": {
|
"node_modules/@rollup/rollup-linux-arm-musleabihf": {
|
||||||
"version": "4.34.7",
|
"version": "4.34.8",
|
||||||
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.34.7.tgz",
|
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.34.8.tgz",
|
||||||
"integrity": "sha512-nkznpyXekFAbvFBKBy4nNppSgneB1wwG1yx/hujN3wRnhnkrYVugMTCBXED4+Ni6thoWfQuHNYbFjgGH0MBXtw==",
|
"integrity": "sha512-S0lqKLfTm5u+QTxlFiAnb2J/2dgQqRy/XvziPtDd1rKZFXHTyYLoVL58M/XFwDI01AQCDIevGLbQrMAtdyanpA==",
|
||||||
"cpu": [
|
"cpu": [
|
||||||
"arm"
|
"arm"
|
||||||
],
|
],
|
||||||
@@ -2717,9 +2717,9 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"node_modules/@rollup/rollup-linux-arm64-gnu": {
|
"node_modules/@rollup/rollup-linux-arm64-gnu": {
|
||||||
"version": "4.34.7",
|
"version": "4.34.8",
|
||||||
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.34.7.tgz",
|
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.34.8.tgz",
|
||||||
"integrity": "sha512-KCjlUkcKs6PjOcxolqrXglBDcfCuUCTVlX5BgzgoJHw+1rWH1MCkETLkLe5iLLS9dP5gKC7mp3y6x8c1oGBUtA==",
|
"integrity": "sha512-jpz9YOuPiSkL4G4pqKrus0pn9aYwpImGkosRKwNi+sJSkz+WU3anZe6hi73StLOQdfXYXC7hUfsQlTnjMd3s1A==",
|
||||||
"cpu": [
|
"cpu": [
|
||||||
"arm64"
|
"arm64"
|
||||||
],
|
],
|
||||||
@@ -2731,9 +2731,9 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"node_modules/@rollup/rollup-linux-arm64-musl": {
|
"node_modules/@rollup/rollup-linux-arm64-musl": {
|
||||||
"version": "4.34.7",
|
"version": "4.34.8",
|
||||||
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.34.7.tgz",
|
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.34.8.tgz",
|
||||||
"integrity": "sha512-uFLJFz6+utmpbR313TTx+NpPuAXbPz4BhTQzgaP0tozlLnGnQ6rCo6tLwaSa6b7l6gRErjLicXQ1iPiXzYotjw==",
|
"integrity": "sha512-KdSfaROOUJXgTVxJNAZ3KwkRc5nggDk+06P6lgi1HLv1hskgvxHUKZ4xtwHkVYJ1Rep4GNo+uEfycCRRxht7+Q==",
|
||||||
"cpu": [
|
"cpu": [
|
||||||
"arm64"
|
"arm64"
|
||||||
],
|
],
|
||||||
@@ -2745,9 +2745,9 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"node_modules/@rollup/rollup-linux-loongarch64-gnu": {
|
"node_modules/@rollup/rollup-linux-loongarch64-gnu": {
|
||||||
"version": "4.34.7",
|
"version": "4.34.8",
|
||||||
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.34.7.tgz",
|
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.34.8.tgz",
|
||||||
"integrity": "sha512-ws8pc68UcJJqCpneDFepnwlsMUFoWvPbWXT/XUrJ7rWUL9vLoIN3GAasgG+nCvq8xrE3pIrd+qLX/jotcLy0Qw==",
|
"integrity": "sha512-NyF4gcxwkMFRjgXBM6g2lkT58OWztZvw5KkV2K0qqSnUEqCVcqdh2jN4gQrTn/YUpAcNKyFHfoOZEer9nwo6uQ==",
|
||||||
"cpu": [
|
"cpu": [
|
||||||
"loong64"
|
"loong64"
|
||||||
],
|
],
|
||||||
@@ -2759,9 +2759,9 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"node_modules/@rollup/rollup-linux-powerpc64le-gnu": {
|
"node_modules/@rollup/rollup-linux-powerpc64le-gnu": {
|
||||||
"version": "4.34.7",
|
"version": "4.34.8",
|
||||||
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.34.7.tgz",
|
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.34.8.tgz",
|
||||||
"integrity": "sha512-vrDk9JDa/BFkxcS2PbWpr0C/LiiSLxFbNOBgfbW6P8TBe9PPHx9Wqbvx2xgNi1TOAyQHQJ7RZFqBiEohm79r0w==",
|
"integrity": "sha512-LMJc999GkhGvktHU85zNTDImZVUCJ1z/MbAJTnviiWmmjyckP5aQsHtcujMjpNdMZPT2rQEDBlJfubhs3jsMfw==",
|
||||||
"cpu": [
|
"cpu": [
|
||||||
"ppc64"
|
"ppc64"
|
||||||
],
|
],
|
||||||
@@ -2773,9 +2773,9 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"node_modules/@rollup/rollup-linux-riscv64-gnu": {
|
"node_modules/@rollup/rollup-linux-riscv64-gnu": {
|
||||||
"version": "4.34.7",
|
"version": "4.34.8",
|
||||||
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.34.7.tgz",
|
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.34.8.tgz",
|
||||||
"integrity": "sha512-rB+ejFyjtmSo+g/a4eovDD1lHWHVqizN8P0Hm0RElkINpS0XOdpaXloqM4FBkF9ZWEzg6bezymbpLmeMldfLTw==",
|
"integrity": "sha512-xAQCAHPj8nJq1PI3z8CIZzXuXCstquz7cIOL73HHdXiRcKk8Ywwqtx2wrIy23EcTn4aZ2fLJNBB8d0tQENPCmw==",
|
||||||
"cpu": [
|
"cpu": [
|
||||||
"riscv64"
|
"riscv64"
|
||||||
],
|
],
|
||||||
@@ -2787,9 +2787,9 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"node_modules/@rollup/rollup-linux-s390x-gnu": {
|
"node_modules/@rollup/rollup-linux-s390x-gnu": {
|
||||||
"version": "4.34.7",
|
"version": "4.34.8",
|
||||||
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.34.7.tgz",
|
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.34.8.tgz",
|
||||||
"integrity": "sha512-nNXNjo4As6dNqRn7OrsnHzwTgtypfRA3u3AKr0B3sOOo+HkedIbn8ZtFnB+4XyKJojIfqDKmbIzO1QydQ8c+Pw==",
|
"integrity": "sha512-DdePVk1NDEuc3fOe3dPPTb+rjMtuFw89gw6gVWxQFAuEqqSdDKnrwzZHrUYdac7A7dXl9Q2Vflxpme15gUWQFA==",
|
||||||
"cpu": [
|
"cpu": [
|
||||||
"s390x"
|
"s390x"
|
||||||
],
|
],
|
||||||
@@ -2801,9 +2801,9 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"node_modules/@rollup/rollup-linux-x64-gnu": {
|
"node_modules/@rollup/rollup-linux-x64-gnu": {
|
||||||
"version": "4.34.7",
|
"version": "4.34.8",
|
||||||
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.34.7.tgz",
|
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.34.8.tgz",
|
||||||
"integrity": "sha512-9kPVf9ahnpOMSGlCxXGv980wXD0zRR3wyk8+33/MXQIpQEOpaNe7dEHm5LMfyRZRNt9lMEQuH0jUKj15MkM7QA==",
|
"integrity": "sha512-8y7ED8gjxITUltTUEJLQdgpbPh1sUQ0kMTmufRF/Ns5tI9TNMNlhWtmPKKHCU0SilX+3MJkZ0zERYYGIVBYHIA==",
|
||||||
"cpu": [
|
"cpu": [
|
||||||
"x64"
|
"x64"
|
||||||
],
|
],
|
||||||
@@ -2815,9 +2815,9 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"node_modules/@rollup/rollup-linux-x64-musl": {
|
"node_modules/@rollup/rollup-linux-x64-musl": {
|
||||||
"version": "4.34.7",
|
"version": "4.34.8",
|
||||||
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.34.7.tgz",
|
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.34.8.tgz",
|
||||||
"integrity": "sha512-7wJPXRWTTPtTFDFezA8sle/1sdgxDjuMoRXEKtx97ViRxGGkVQYovem+Q8Pr/2HxiHp74SSRG+o6R0Yq0shPwQ==",
|
"integrity": "sha512-SCXcP0ZpGFIe7Ge+McxY5zKxiEI5ra+GT3QRxL0pMMtxPfpyLAKleZODi1zdRHkz5/BhueUrYtYVgubqe9JBNQ==",
|
||||||
"cpu": [
|
"cpu": [
|
||||||
"x64"
|
"x64"
|
||||||
],
|
],
|
||||||
@@ -2829,9 +2829,9 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"node_modules/@rollup/rollup-win32-arm64-msvc": {
|
"node_modules/@rollup/rollup-win32-arm64-msvc": {
|
||||||
"version": "4.34.7",
|
"version": "4.34.8",
|
||||||
"resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.34.7.tgz",
|
"resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.34.8.tgz",
|
||||||
"integrity": "sha512-MN7aaBC7mAjsiMEZcsJvwNsQVNZShgES/9SzWp1HC9Yjqb5OpexYnRjF7RmE4itbeesHMYYQiAtUAQaSKs2Rfw==",
|
"integrity": "sha512-YHYsgzZgFJzTRbth4h7Or0m5O74Yda+hLin0irAIobkLQFRQd1qWmnoVfwmKm9TXIZVAD0nZ+GEb2ICicLyCnQ==",
|
||||||
"cpu": [
|
"cpu": [
|
||||||
"arm64"
|
"arm64"
|
||||||
],
|
],
|
||||||
@@ -2843,9 +2843,9 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"node_modules/@rollup/rollup-win32-ia32-msvc": {
|
"node_modules/@rollup/rollup-win32-ia32-msvc": {
|
||||||
"version": "4.34.7",
|
"version": "4.34.8",
|
||||||
"resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.34.7.tgz",
|
"resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.34.8.tgz",
|
||||||
"integrity": "sha512-aeawEKYswsFu1LhDM9RIgToobquzdtSc4jSVqHV8uApz4FVvhFl/mKh92wc8WpFc6aYCothV/03UjY6y7yLgbg==",
|
"integrity": "sha512-r3NRQrXkHr4uWy5TOjTpTYojR9XmF0j/RYgKCef+Ag46FWUTltm5ziticv8LdNsDMehjJ543x/+TJAek/xBA2w==",
|
||||||
"cpu": [
|
"cpu": [
|
||||||
"ia32"
|
"ia32"
|
||||||
],
|
],
|
||||||
@@ -2857,9 +2857,9 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"node_modules/@rollup/rollup-win32-x64-msvc": {
|
"node_modules/@rollup/rollup-win32-x64-msvc": {
|
||||||
"version": "4.34.7",
|
"version": "4.34.8",
|
||||||
"resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.34.7.tgz",
|
"resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.34.8.tgz",
|
||||||
"integrity": "sha512-4ZedScpxxIrVO7otcZ8kCX1mZArtH2Wfj3uFCxRJ9NO80gg1XV0U/b2f/MKaGwj2X3QopHfoWiDQ917FRpwY3w==",
|
"integrity": "sha512-U0FaE5O1BCpZSeE6gBl3c5ObhePQSfk9vDRToMmTkbhCOgW4jqvtS5LGyQ76L1fH8sM0keRp4uDTsbjiUyjk0g==",
|
||||||
"cpu": [
|
"cpu": [
|
||||||
"x64"
|
"x64"
|
||||||
],
|
],
|
||||||
@@ -4510,9 +4510,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/chart.js": {
|
"node_modules/chart.js": {
|
||||||
"version": "4.4.7",
|
"version": "4.4.8",
|
||||||
"resolved": "https://registry.npmjs.org/chart.js/-/chart.js-4.4.7.tgz",
|
"resolved": "https://registry.npmjs.org/chart.js/-/chart.js-4.4.8.tgz",
|
||||||
"integrity": "sha512-pwkcKfdzTMAU/+jNosKhNL2bHtJc/sSmYgVbuGTEDhzkrhmyihmP7vUc/5ZK9WopidMDHNe3Wm7jOd/WhuHWuw==",
|
"integrity": "sha512-IkGZlVpXP+83QpMm4uxEiGqSI7jFizwVtF3+n5Pc3k7sMO+tkd0qxh2OzLhenM0K80xtmAONWGBn082EiBQSDA==",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@kurkle/color": "^0.3.0"
|
"@kurkle/color": "^0.3.0"
|
||||||
@@ -5677,9 +5677,9 @@
|
|||||||
"license": "MIT"
|
"license": "MIT"
|
||||||
},
|
},
|
||||||
"node_modules/electron-to-chromium": {
|
"node_modules/electron-to-chromium": {
|
||||||
"version": "1.5.101",
|
"version": "1.5.102",
|
||||||
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.101.tgz",
|
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.102.tgz",
|
||||||
"integrity": "sha512-L0ISiQrP/56Acgu4/i/kfPwWSgrzYZUnQrC0+QPFuhqlLP1Ir7qzPPDVS9BcKIyWTRU8+o6CC8dKw38tSWhYIA==",
|
"integrity": "sha512-eHhqaja8tE/FNpIiBrvBjFV/SSKpyWHLvxuR9dPTdo+3V9ppdLmFB7ZZQ98qNovcngPLYIz0oOBF9P0FfZef5Q==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "ISC"
|
"license": "ISC"
|
||||||
},
|
},
|
||||||
@@ -7778,9 +7778,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/launch-editor": {
|
"node_modules/launch-editor": {
|
||||||
"version": "2.9.1",
|
"version": "2.10.0",
|
||||||
"resolved": "https://registry.npmjs.org/launch-editor/-/launch-editor-2.9.1.tgz",
|
"resolved": "https://registry.npmjs.org/launch-editor/-/launch-editor-2.10.0.tgz",
|
||||||
"integrity": "sha512-Gcnl4Bd+hRO9P9icCP/RVVT2o8SFlPXofuCxvA2SaZuH45whSvf5p8x5oih5ftLiVhEI4sp5xDY+R+b3zJBh5w==",
|
"integrity": "sha512-D7dBRJo/qcGX9xlvt/6wUYzQxjh5G1RvZPgPv8vi4KRU99DVQL/oW7tnVOCCTm2HGeo3C5HvGE5Yrh6UBoZ0vA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
@@ -8901,9 +8901,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/postcss": {
|
"node_modules/postcss": {
|
||||||
"version": "8.5.2",
|
"version": "8.5.3",
|
||||||
"resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.2.tgz",
|
"resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.3.tgz",
|
||||||
"integrity": "sha512-MjOadfU3Ys9KYoX0AdkBlFEF1Vx37uCCeN4ZHnmwm9FfpbsGWMZeBLMmmpY+6Ocqod7mkdZ0DT31OlbsFrLlkA==",
|
"integrity": "sha512-dle9A3yYxlBSrt8Fu+IpjGT8SY8hN0mlaA6GY8t0P5PjIOZemULz/E2Bnm/2dcUOena75OTNkHI76uZBNUUq3A==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
@@ -10034,9 +10034,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/rollup": {
|
"node_modules/rollup": {
|
||||||
"version": "4.34.7",
|
"version": "4.34.8",
|
||||||
"resolved": "https://registry.npmjs.org/rollup/-/rollup-4.34.7.tgz",
|
"resolved": "https://registry.npmjs.org/rollup/-/rollup-4.34.8.tgz",
|
||||||
"integrity": "sha512-8qhyN0oZ4x0H6wmBgfKxJtxM7qS98YJ0k0kNh5ECVtuchIJ7z9IVVvzpmtQyT10PXKMtBxYr1wQ5Apg8RS8kXQ==",
|
"integrity": "sha512-489gTVMzAYdiZHFVA/ig/iYFllCcWFHMvUHI1rpFmkoUtRlQxqh6/yiNqnYibjMZ2b/+FUQwldG+aLsEt6bglQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
@@ -10050,25 +10050,25 @@
|
|||||||
"npm": ">=8.0.0"
|
"npm": ">=8.0.0"
|
||||||
},
|
},
|
||||||
"optionalDependencies": {
|
"optionalDependencies": {
|
||||||
"@rollup/rollup-android-arm-eabi": "4.34.7",
|
"@rollup/rollup-android-arm-eabi": "4.34.8",
|
||||||
"@rollup/rollup-android-arm64": "4.34.7",
|
"@rollup/rollup-android-arm64": "4.34.8",
|
||||||
"@rollup/rollup-darwin-arm64": "4.34.7",
|
"@rollup/rollup-darwin-arm64": "4.34.8",
|
||||||
"@rollup/rollup-darwin-x64": "4.34.7",
|
"@rollup/rollup-darwin-x64": "4.34.8",
|
||||||
"@rollup/rollup-freebsd-arm64": "4.34.7",
|
"@rollup/rollup-freebsd-arm64": "4.34.8",
|
||||||
"@rollup/rollup-freebsd-x64": "4.34.7",
|
"@rollup/rollup-freebsd-x64": "4.34.8",
|
||||||
"@rollup/rollup-linux-arm-gnueabihf": "4.34.7",
|
"@rollup/rollup-linux-arm-gnueabihf": "4.34.8",
|
||||||
"@rollup/rollup-linux-arm-musleabihf": "4.34.7",
|
"@rollup/rollup-linux-arm-musleabihf": "4.34.8",
|
||||||
"@rollup/rollup-linux-arm64-gnu": "4.34.7",
|
"@rollup/rollup-linux-arm64-gnu": "4.34.8",
|
||||||
"@rollup/rollup-linux-arm64-musl": "4.34.7",
|
"@rollup/rollup-linux-arm64-musl": "4.34.8",
|
||||||
"@rollup/rollup-linux-loongarch64-gnu": "4.34.7",
|
"@rollup/rollup-linux-loongarch64-gnu": "4.34.8",
|
||||||
"@rollup/rollup-linux-powerpc64le-gnu": "4.34.7",
|
"@rollup/rollup-linux-powerpc64le-gnu": "4.34.8",
|
||||||
"@rollup/rollup-linux-riscv64-gnu": "4.34.7",
|
"@rollup/rollup-linux-riscv64-gnu": "4.34.8",
|
||||||
"@rollup/rollup-linux-s390x-gnu": "4.34.7",
|
"@rollup/rollup-linux-s390x-gnu": "4.34.8",
|
||||||
"@rollup/rollup-linux-x64-gnu": "4.34.7",
|
"@rollup/rollup-linux-x64-gnu": "4.34.8",
|
||||||
"@rollup/rollup-linux-x64-musl": "4.34.7",
|
"@rollup/rollup-linux-x64-musl": "4.34.8",
|
||||||
"@rollup/rollup-win32-arm64-msvc": "4.34.7",
|
"@rollup/rollup-win32-arm64-msvc": "4.34.8",
|
||||||
"@rollup/rollup-win32-ia32-msvc": "4.34.7",
|
"@rollup/rollup-win32-ia32-msvc": "4.34.8",
|
||||||
"@rollup/rollup-win32-x64-msvc": "4.34.7",
|
"@rollup/rollup-win32-x64-msvc": "4.34.8",
|
||||||
"fsevents": "~2.3.2"
|
"fsevents": "~2.3.2"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@@ -11344,14 +11344,14 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/vite": {
|
"node_modules/vite": {
|
||||||
"version": "6.1.0",
|
"version": "6.1.1",
|
||||||
"resolved": "https://registry.npmjs.org/vite/-/vite-6.1.0.tgz",
|
"resolved": "https://registry.npmjs.org/vite/-/vite-6.1.1.tgz",
|
||||||
"integrity": "sha512-RjjMipCKVoR4hVfPY6GQTgveinjNuyLw+qruksLDvA5ktI1150VmcMBKmQaEWJhg/j6Uaf6dNCNA0AfdzUb/hQ==",
|
"integrity": "sha512-4GgM54XrwRfrOp297aIYspIti66k56v16ZnqHvrIM7mG+HjDlAwS7p+Srr7J6fGvEdOJ5JcQ/D9T7HhtdXDTzA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"esbuild": "^0.24.2",
|
"esbuild": "^0.24.2",
|
||||||
"postcss": "^8.5.1",
|
"postcss": "^8.5.2",
|
||||||
"rollup": "^4.30.1"
|
"rollup": "^4.30.1"
|
||||||
},
|
},
|
||||||
"bin": {
|
"bin": {
|
||||||
|
|||||||
@@ -172,8 +172,8 @@
|
|||||||
},
|
},
|
||||||
"list": {
|
"list": {
|
||||||
"title": "Titolo",
|
"title": "Titolo",
|
||||||
"active": "Attivo",
|
"active": "\u00c8 attivo?",
|
||||||
"native_currency": "Native currency",
|
"native_currency": "Valuta nativa",
|
||||||
"trigger": "Trigger",
|
"trigger": "Trigger",
|
||||||
"response": "Risposta",
|
"response": "Risposta",
|
||||||
"delivery": "Consegna",
|
"delivery": "Consegna",
|
||||||
|
|||||||
@@ -1,25 +1,25 @@
|
|||||||
{
|
{
|
||||||
"firefly": {
|
"firefly": {
|
||||||
"administrations_page_title": "Financial administrations",
|
"administrations_page_title": "Ustawienia finansowe",
|
||||||
"administrations_index_menu": "Financial administrations",
|
"administrations_index_menu": "Ustawienia finansowe",
|
||||||
"temp_administrations_introduction": "Firefly III will soon get the ability to manage multiple financial administrations. Right now, you only have the one. You can set the title of this administration and its native currency. This replaces the previous setting where you would set your \"default currency\". This setting is now tied to the financial administration and can be different per administration.",
|
"temp_administrations_introduction": "Firefly III wkr\u00f3tce uzyska mo\u017cliwo\u015b\u0107 zarz\u0105dzania wieloma ustawieniami finansowymi. W tej chwili jest tylko jedno domy\u015blne ustawienie. Mo\u017cesz ustawi\u0107 jego tytu\u0142 i natywn\u0105 walut\u0119. To zast\u0119puje poprzednie ustawienia, w kt\u00f3rym mo\u017cna by\u0142o ustawi\u0107 \"domy\u015bln\u0105 walut\u0119\". Jest ona obecnie powi\u0105zana z wybranym ustawieniem finansowym i mo\u017ce by\u0107 zmienione w tej zak\u0142adce.",
|
||||||
"administration_currency_form_help": "It may take a long time for the page to load if you change the native currency because transaction may need to be converted to your (new) native currency.",
|
"administration_currency_form_help": "Wczytywanie strony mo\u017ce zaj\u0105\u0107 du\u017co czasu, je\u015bli zmienisz natywn\u0105 walut\u0119, poniewa\u017c transakcja mo\u017ce wymaga\u0107 przewalutowania na (now\u0105) natywn\u0105 walut\u0119.",
|
||||||
"administrations_page_edit_sub_title_js": "Edit financial administration \"{title}\"",
|
"administrations_page_edit_sub_title_js": "Edytuj ustawienia finansowe \"{title}\"",
|
||||||
"table": "Tabela",
|
"table": "Tabela",
|
||||||
"welcome_back": "Co jest grane?",
|
"welcome_back": "Co jest grane?",
|
||||||
"flash_error": "B\u0142\u0105d!",
|
"flash_error": "B\u0142\u0105d!",
|
||||||
"flash_warning": "Ostrze\u017cenie!",
|
"flash_warning": "Ostrze\u017cenie!",
|
||||||
"flash_success": "Sukces!",
|
"flash_success": "Sukces!",
|
||||||
"close": "Zamknij",
|
"close": "Zamknij",
|
||||||
"select_dest_account": "Please select or type a valid destination account name",
|
"select_dest_account": "Wybierz lub wpisz prawid\u0142ow\u0105 nazw\u0119 konta docelowego",
|
||||||
"select_source_account": "Wybierz lub wpisz prawid\u0142ow\u0105 nazw\u0119 konta \u017ar\u00f3d\u0142owego",
|
"select_source_account": "Wybierz lub wpisz prawid\u0142ow\u0105 nazw\u0119 konta \u017ar\u00f3d\u0142owego",
|
||||||
"split_transaction_title": "Opis podzielonej transakcji",
|
"split_transaction_title": "Opis podzielonej transakcji",
|
||||||
"errors_submission": "Co\u015b posz\u0142o nie tak w czasie zapisu. Prosz\u0119, sprawd\u017a b\u0142\u0119dy poni\u017cej.",
|
"errors_submission": "Co\u015b posz\u0142o nie tak w czasie zapisu. Prosz\u0119, sprawd\u017a b\u0142\u0119dy poni\u017cej.",
|
||||||
"is_reconciled": "Is reconciled",
|
"is_reconciled": "Jest uzgodniona",
|
||||||
"split": "Podziel",
|
"split": "Podziel",
|
||||||
"single_split": "Podzia\u0142",
|
"single_split": "Podzia\u0142",
|
||||||
"not_enough_currencies": "Not enough currencies",
|
"not_enough_currencies": "Za ma\u0142o walut",
|
||||||
"not_enough_currencies_enabled": "If you have just one currency enabled, there is no need to add exchange rates.",
|
"not_enough_currencies_enabled": "Je\u015bli masz w\u0142\u0105czon\u0105 tylko jedn\u0105 walut\u0119, nie ma potrzeby dodawania kurs\u00f3w wymiany.",
|
||||||
"transaction_stored_link": "<a href=\"transactions\/show\/{ID}\">Transakcja #{ID} (\"{title}\")<\/a> zosta\u0142a zapisana.",
|
"transaction_stored_link": "<a href=\"transactions\/show\/{ID}\">Transakcja #{ID} (\"{title}\")<\/a> zosta\u0142a zapisana.",
|
||||||
"webhook_stored_link": "<a href=\"webhooks\/show\/{ID}\">Webhook #{ID} (\"{title}\")<\/a> zosta\u0142 zapisany.",
|
"webhook_stored_link": "<a href=\"webhooks\/show\/{ID}\">Webhook #{ID} (\"{title}\")<\/a> zosta\u0142 zapisany.",
|
||||||
"webhook_updated_link": "<a href=\"webhooks\/show\/{ID}\">Webhook #{ID}<\/a> (\"{title}\") zosta\u0142 zaktualizowany.",
|
"webhook_updated_link": "<a href=\"webhooks\/show\/{ID}\">Webhook #{ID}<\/a> (\"{title}\") zosta\u0142 zaktualizowany.",
|
||||||
@@ -42,10 +42,10 @@
|
|||||||
"submit": "Prze\u015blij",
|
"submit": "Prze\u015blij",
|
||||||
"amount": "Kwota",
|
"amount": "Kwota",
|
||||||
"date": "Data",
|
"date": "Data",
|
||||||
"is_reconciled_fields_dropped": "Because this transaction is reconciled, you will not be able to update the accounts, nor the amount(s) unless you remove the reconciliation flag.",
|
"is_reconciled_fields_dropped": "Poniewa\u017c ta transakcja jest uzgodniona, nie b\u0119dziesz w stanie zaktualizowa\u0107 kont, ani kwot(y), chyba \u017ce usuniesz flag\u0119 uzgodnienia.",
|
||||||
"tags": "Tagi",
|
"tags": "Tagi",
|
||||||
"no_budget": "(brak bud\u017cetu)",
|
"no_budget": "(brak bud\u017cetu)",
|
||||||
"no_bill": "(no subscription)",
|
"no_bill": "(brak subskrypcji)",
|
||||||
"category": "Kategoria",
|
"category": "Kategoria",
|
||||||
"attachments": "Za\u0142\u0105czniki",
|
"attachments": "Za\u0142\u0105czniki",
|
||||||
"notes": "Notatki",
|
"notes": "Notatki",
|
||||||
@@ -61,7 +61,7 @@
|
|||||||
"destination_account_reconciliation": "Nie mo\u017cesz edytowa\u0107 konta docelowego transakcji uzgadniania.",
|
"destination_account_reconciliation": "Nie mo\u017cesz edytowa\u0107 konta docelowego transakcji uzgadniania.",
|
||||||
"source_account_reconciliation": "Nie mo\u017cesz edytowa\u0107 konta \u017ar\u00f3d\u0142owego transakcji uzgadniania.",
|
"source_account_reconciliation": "Nie mo\u017cesz edytowa\u0107 konta \u017ar\u00f3d\u0142owego transakcji uzgadniania.",
|
||||||
"budget": "Bud\u017cet",
|
"budget": "Bud\u017cet",
|
||||||
"bill": "Subscription",
|
"bill": "Subskrypcja",
|
||||||
"you_create_withdrawal": "Tworzysz wydatek.",
|
"you_create_withdrawal": "Tworzysz wydatek.",
|
||||||
"you_create_transfer": "Tworzysz przelew.",
|
"you_create_transfer": "Tworzysz przelew.",
|
||||||
"you_create_deposit": "Tworzysz wp\u0142at\u0119.",
|
"you_create_deposit": "Tworzysz wp\u0142at\u0119.",
|
||||||
@@ -139,15 +139,15 @@
|
|||||||
"response": "Odpowied\u017a",
|
"response": "Odpowied\u017a",
|
||||||
"visit_webhook_url": "Odwied\u017a adres URL webhooka",
|
"visit_webhook_url": "Odwied\u017a adres URL webhooka",
|
||||||
"reset_webhook_secret": "Resetuj sekret webhooka",
|
"reset_webhook_secret": "Resetuj sekret webhooka",
|
||||||
"header_exchange_rates": "Exchange rates",
|
"header_exchange_rates": "Kursy walutowe",
|
||||||
"exchange_rates_intro": "Firefly III supports downloading and using exchange rates. Read more about this in <a href=\"https:\/\/docs.firefly-iii.org\/explanation\/financial-concepts\/exchange-rates\/\">the documentation<\/a>.",
|
"exchange_rates_intro": "Firefly III obs\u0142uguje pobieranie i korzystanie z kurs\u00f3w wymiany walut. Wi\u0119cej informacji na ten temat w <a href=\"https:\/\/docs.firefly-iii.org\/explanation\/financial-concepts\/exchange-rates\/\">dokumentacji<\/a>.",
|
||||||
"exchange_rates_from_to": "Between {from} and {to} (and the other way around)",
|
"exchange_rates_from_to": "Pomi\u0119dzy {from} i {to} (i odwrotnie)",
|
||||||
"exchange_rates_intro_rates": "Firefly III uses the following exchange rates. The inverse is automatically calculated when it is not provided. If no exchange rate exists for the date of the transaction, Firefly III will go back in time to find one. If none are present, the rate \"1\" will be used.",
|
"exchange_rates_intro_rates": "Firefly III u\u017cywa nast\u0119puj\u0105cych kurs\u00f3w wymiany. Odwrotny jest obliczany automatycznie, w przypadku gdy nie jest dostarczony. Je\u015bli dla daty transakcji nie istnieje kurs wymiany, Firefly III skorzysta z kursu z przesz\u0142o\u015bci. Je\u015bli \u017caden nie istnieje, zostanie zastosowany kurs \"1\".",
|
||||||
"header_exchange_rates_rates": "Exchange rates",
|
"header_exchange_rates_rates": "Kursy walutowe",
|
||||||
"header_exchange_rates_table": "Table with exchange rates",
|
"header_exchange_rates_table": "Tabela z kursami wymiany walut",
|
||||||
"help_rate_form": "On this day, how many {to} will you get for one {from}?",
|
"help_rate_form": "Tego dnia, ile {to} otrzymasz za jeden {from}?",
|
||||||
"add_new_rate": "Add a new exchange rate",
|
"add_new_rate": "Dodaj nowy kurs wymiany",
|
||||||
"save_new_rate": "Save new rate"
|
"save_new_rate": "Zapisz nowy kurs"
|
||||||
},
|
},
|
||||||
"form": {
|
"form": {
|
||||||
"url": "URL",
|
"url": "URL",
|
||||||
|
|||||||
@@ -30,7 +30,7 @@
|
|||||||
"apply_rules_checkbox": "\u0417\u0430\u0441\u0442\u043e\u0441\u0443\u0432\u0430\u0442\u0438 \u043f\u0440\u0430\u0432\u0438\u043b\u0430",
|
"apply_rules_checkbox": "\u0417\u0430\u0441\u0442\u043e\u0441\u0443\u0432\u0430\u0442\u0438 \u043f\u0440\u0430\u0432\u0438\u043b\u0430",
|
||||||
"fire_webhooks_checkbox": "\u041f\u043e\u0436\u0435\u0436\u043d\u0456 \u0432\u0435\u0431\u0433\u0430\u043a\u0438",
|
"fire_webhooks_checkbox": "\u041f\u043e\u0436\u0435\u0436\u043d\u0456 \u0432\u0435\u0431\u0433\u0430\u043a\u0438",
|
||||||
"no_budget_pointer": "\u0417\u0434\u0430\u0454\u0442\u044c\u0441\u044f, \u043d\u0435 \u0441\u0442\u0432\u043e\u0440\u0438\u043b\u0438 \u0436\u043e\u0434\u043d\u043e\u0433\u043e \u0431\u044e\u0434\u0436\u0435\u0442\u0443. \u0421\u0442\u0432\u043e\u0440\u0456\u0442\u044c \u043e\u0434\u0438\u043d \u043d\u0430 \u0441\u0442\u043e\u0440\u0456\u043d\u0446\u0456 <a href=\"budgets\">\u0431\u044e\u0434\u0436\u0435\u0442\u0456\u0432<\/a>. \u0411\u044e\u0434\u0436\u0435\u0442\u0438 \u043c\u043e\u0436\u0443\u0442\u044c \u0434\u043e\u043f\u043e\u043c\u043e\u0433\u0442\u0438 \u0432\u0430\u043c \u0441\u0442\u0435\u0436\u0438\u0442\u0438 \u0437\u0430 \u0432\u0438\u0442\u0440\u0430\u0442\u0430\u043c\u0438.",
|
"no_budget_pointer": "\u0417\u0434\u0430\u0454\u0442\u044c\u0441\u044f, \u043d\u0435 \u0441\u0442\u0432\u043e\u0440\u0438\u043b\u0438 \u0436\u043e\u0434\u043d\u043e\u0433\u043e \u0431\u044e\u0434\u0436\u0435\u0442\u0443. \u0421\u0442\u0432\u043e\u0440\u0456\u0442\u044c \u043e\u0434\u0438\u043d \u043d\u0430 \u0441\u0442\u043e\u0440\u0456\u043d\u0446\u0456 <a href=\"budgets\">\u0431\u044e\u0434\u0436\u0435\u0442\u0456\u0432<\/a>. \u0411\u044e\u0434\u0436\u0435\u0442\u0438 \u043c\u043e\u0436\u0443\u0442\u044c \u0434\u043e\u043f\u043e\u043c\u043e\u0433\u0442\u0438 \u0432\u0430\u043c \u0441\u0442\u0435\u0436\u0438\u0442\u0438 \u0437\u0430 \u0432\u0438\u0442\u0440\u0430\u0442\u0430\u043c\u0438.",
|
||||||
"no_bill_pointer": "You seem to have no subscription yet. You should create some on the <a href=\"subscriptions\">subscription<\/a>-page. Subscriptions can help you keep track of expenses.",
|
"no_bill_pointer": "\u0421\u0445\u043e\u0436\u0435, \u0443 \u0432\u0430\u0441 \u0449\u0435 \u043d\u0435\u043c\u0430\u0454 \u043f\u0456\u0434\u043f\u0438\u0441\u043a\u0438. \u0421\u0442\u0432\u043e\u0440\u0456\u0442\u044c \u0457\u0457 \u043d\u0430 \u0441\u0442\u043e\u0440\u0456\u043d\u0446\u0456 <a href=\"subscriptions\">\u043f\u0456\u0434\u043f\u0438\u0441\u043e\u043a<\/a>. \u041f\u0456\u0434\u043f\u0438\u0441\u043a\u0438 \u0434\u043e\u043f\u043e\u043c\u043e\u0436\u0443\u0442\u044c \u0432\u0430\u043c \u0432\u0456\u0434\u0441\u0442\u0435\u0436\u0443\u0432\u0430\u0442\u0438 \u0432\u0438\u0442\u0440\u0430\u0442\u0438.",
|
||||||
"source_account": "\u0412\u0438\u0445\u0456\u0434\u043d\u0438\u0439 \u0440\u0430\u0445\u0443\u043d\u043e\u043a",
|
"source_account": "\u0412\u0438\u0445\u0456\u0434\u043d\u0438\u0439 \u0440\u0430\u0445\u0443\u043d\u043e\u043a",
|
||||||
"hidden_fields_preferences": "\u0412\u0438 \u043c\u043e\u0436\u0435\u0442\u0435 \u0443\u0432\u0456\u043c\u043a\u043d\u0443\u0442\u0438 \u0431\u0456\u043b\u044c\u0448\u0435 \u043e\u043f\u0446\u0456\u0439 \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0456\u0457 \u0443 \u0432\u0430\u0448\u043e\u043c\u0443 <a href=\"preferences\">\u043d\u0430\u043b\u0430\u0448\u0442\u0443\u0432\u0430\u043d\u043d\u044f<\/a>.",
|
"hidden_fields_preferences": "\u0412\u0438 \u043c\u043e\u0436\u0435\u0442\u0435 \u0443\u0432\u0456\u043c\u043a\u043d\u0443\u0442\u0438 \u0431\u0456\u043b\u044c\u0448\u0435 \u043e\u043f\u0446\u0456\u0439 \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0456\u0457 \u0443 \u0432\u0430\u0448\u043e\u043c\u0443 <a href=\"preferences\">\u043d\u0430\u043b\u0430\u0448\u0442\u0443\u0432\u0430\u043d\u043d\u044f<\/a>.",
|
||||||
"destination_account": "\u0420\u0430\u0445\u0443\u043d\u043e\u043a \u043f\u0440\u0438\u0437\u043d\u0430\u0447\u0435\u043d\u043d\u044f",
|
"destination_account": "\u0420\u0430\u0445\u0443\u043d\u043e\u043a \u043f\u0440\u0438\u0437\u043d\u0430\u0447\u0435\u043d\u043d\u044f",
|
||||||
|
|||||||
@@ -220,7 +220,6 @@
|
|||||||
|
|
||||||
{# Moment JS #}
|
{# Moment JS #}
|
||||||
<script src="v1/js/lib/moment.min.js?v={{ FF_VERSION }}" type="text/javascript" nonce="{{ JS_NONCE }}"></script>
|
<script src="v1/js/lib/moment.min.js?v={{ FF_VERSION }}" type="text/javascript" nonce="{{ JS_NONCE }}"></script>
|
||||||
<script src="v1/js/lib/moment-tz.js?v={{ FF_VERSION }}" type="text/javascript" nonce="{{ JS_NONCE }}"></script>
|
|
||||||
<script src="v1/js/lib/moment/{{ language|replace({'-':'_'}) }}.js?v={{ FF_VERSION }}" type="text/javascript"
|
<script src="v1/js/lib/moment/{{ language|replace({'-':'_'}) }}.js?v={{ FF_VERSION }}" type="text/javascript"
|
||||||
nonce="{{ JS_NONCE }}"></script>
|
nonce="{{ JS_NONCE }}"></script>
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user