Merge branch 'release/5.5.9' into main

This commit is contained in:
James Cole
2021-04-24 21:37:42 +02:00
118 changed files with 1239 additions and 1032 deletions

View File

@@ -1,24 +1,5 @@
<?php
declare(strict_types=1);
/*
* AccountController.php
* Copyright (c) 2021 james@firefly-iii.org
*
* This file is part of Firefly III (https://github.com/firefly-iii).
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
namespace FireflyIII\Api\V1\Controllers\Data\Bulk;

View File

@@ -1,24 +1,5 @@
<?php
declare(strict_types=1);
/*
* MoveTransactionsRequest.php
* Copyright (c) 2021 james@firefly-iii.org
*
* This file is part of Firefly III (https://github.com/firefly-iii).
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
namespace FireflyIII\Api\V1\Requests\Data\Bulk;

View File

@@ -76,8 +76,8 @@ class StoreRequest extends FormRequest
'currency_code' => 'exists:transaction_currencies,code',
// auto budget info
'auto_budget_type' => 'in:reset,rollover,none',
'auto_budget_amount' => 'min:0|max:1000000000',
'auto_budget_period' => 'in:daily,weekly,monthly,quarterly,half_year,yearly',
'auto_budget_amount' => 'numeric|min:0|max:1000000000|required_if:auto_budget_type,reset|required_if:auto_budget_type,rollover',
'auto_budget_period' => 'in:daily,weekly,monthly,quarterly,half_year,yearly|required_if:auto_budget_type,reset|required_if:auto_budget_type,rollover',
];
}

View File

@@ -76,6 +76,7 @@ class CorrectDatabase extends Command
'firefly-iii:fix-recurring-transactions',
'firefly-iii:restore-oauth-keys',
'firefly-iii:fix-transaction-types',
'firefly-iii:fix-frontpage-accounts'
];
foreach ($commands as $command) {
$this->line(sprintf('Now executing %s', $command));

View File

@@ -0,0 +1,106 @@
<?php
/*
* FixFrontpageAccounts.php
* Copyright (c) 2021 james@firefly-iii.org
*
* This file is part of Firefly III (https://github.com/firefly-iii).
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
declare(strict_types=1);
namespace FireflyIII\Console\Commands\Correction;
use FireflyIII\Models\AccountType;
use FireflyIII\Models\Preference;
use FireflyIII\Repositories\Account\AccountRepositoryInterface;
use FireflyIII\Support\Facades\Preferences;
use FireflyIII\User;
use Illuminate\Console\Command;
/**
* Class FixFrontpageAccounts
*/
class FixFrontpageAccounts extends Command
{
/**
* The console command description.
*
* @var string
*/
protected $description = 'Fixes a preference that may include deleted accounts or accounts of another type.';
/**
* The name and signature of the console command.
*
* @var string
*/
protected $signature = 'firefly-iii:fix-frontpage-accounts';
/**
* Execute the console command.
*
* @return int
*/
public function handle(): int
{
$start = microtime(true);
$users = User::get();
/** @var User $user */
foreach ($users as $user) {
$preference = Preferences::getForUser($user, 'frontPageAccounts', null);
if (null !== $preference) {
$this->fixPreference($preference);
}
}
$end = round(microtime(true) - $start, 2);
$this->info(sprintf('Verifying account preferences took %s seconds', $end));
return 0;
}
/**
* @param Preference $preference
*/
private function fixPreference(Preference $preference): void
{
$fixed = [];
/** @var AccountRepositoryInterface $repository */
$repository = app(AccountRepositoryInterface::class);
if (null === $preference->user) {
return;
}
$repository->setUser($preference->user);
$data = $preference->data;
if (is_array($data)) {
/** @var string $accountId */
foreach ($data as $accountId) {
$accountId = (int)$accountId;
$account = $repository->findNull($accountId);
if (null !== $account) {
if (
in_array($account->accountType->type, [AccountType::ASSET, AccountType::DEBT, AccountType::LOAN, AccountType::MORTGAGE], true)
&& true === $account->active
) {
$fixed[] = $account->id;
continue;
}
}
}
}
Preferences::setForUser($preference->user, 'frontPageAccounts', $fixed);
}
}

View File

@@ -95,6 +95,7 @@ class UpgradeDatabase extends Command
'firefly-iii:fix-recurring-transactions',
'firefly-iii:unify-group-accounts',
'firefly-iii:fix-transaction-types',
'firefly-iii:fix-frontpage-accounts',
// two report commands
'firefly-iii:report-empty-objects',

View File

@@ -543,7 +543,7 @@ class TransactionJournalFactory
'data' => (string)($data[$field] ?? ''),
];
Log::debug(sprintf('Going to store meta-field "%s", with value "%s".', $set['name'], $set['data']));
//Log::debug(sprintf('Going to store meta-field "%s", with value "%s".', $set['name'], $set['data']));
/** @var TransactionJournalMetaFactory $factory */
$factory = app(TransactionJournalMetaFactory::class);

View File

@@ -41,7 +41,7 @@ class TransactionJournalMetaFactory
*/
public function updateOrCreate(array $data): ?TransactionJournalMeta
{
Log::debug('In updateOrCreate()');
//Log::debug('In updateOrCreate()');
$value = $data['data'];
/** @var TransactionJournalMeta $entry */
$entry = $data['journal']->transactionJournalMeta()->where('name', $data['name'])->first();
@@ -61,7 +61,7 @@ class TransactionJournalMetaFactory
$value = $data['data']->toW3cString();
}
if ('' === (string)$value) {
Log::debug('Is an empty string.');
// Log::debug('Is an empty string.');
// don't store blank strings.
if (null !== $entry) {
Log::debug('Will not store empty strings, delete meta value');

View File

@@ -699,7 +699,7 @@ class GroupCollector implements GroupCollectorInterface
$result = $this->convertToInteger($result);
$result['reconciled'] = 1 === (int)$result['reconciled'];
if (array_key_exists('tag_id', $result)) { // assume the other fields are present as well.
if (array_key_exists('tag_id', $result) && null !== $result['tag_id']) { // assume the other fields are present as well.
$tagId = (int)$augumentedJournal['tag_id'];
$tagDate = null;
try {

View File

@@ -105,6 +105,7 @@ class InstallController extends Controller
'firefly-iii:fix-recurring-transactions' => [],
'firefly-iii:unify-group-accounts' => [],
'firefly-iii:fix-transaction-types' => [],
'firefly-iii:fix-frontpage-accounts' => [],
// final command to set latest version in DB
'firefly-iii:set-latest-version' => ['--james-is-cool' => true],

View File

@@ -123,24 +123,14 @@ class AccountRepository implements AccountRepositoryInterface
*/
public function findByIbanNull(string $iban, array $types): ?Account
{
$query = $this->user->accounts()->where('iban', '!=', '')->whereNotNull('iban');
$query = $this->user->accounts()->where('accounts.iban', $iban);
if (0!==count($types)) {
if (0 !== count($types)) {
$query->leftJoin('account_types', 'accounts.account_type_id', '=', 'account_types.id');
$query->whereIn('account_types.type', $types);
}
// TODO a loop like this is no longer necessary
$accounts = $query->get(['accounts.*']);
/** @var Account $account */
foreach ($accounts as $account) {
if ($account->iban === $iban) {
return $account;
}
}
return null;
return $query->first(['accounts.*']);
}
/**
@@ -678,7 +668,7 @@ class AccountRepository implements AccountRepositoryInterface
public function searchAccountNr(string $query, array $types, int $limit): Collection
{
$dbQuery = $this->user->accounts()->distinct()
->leftJoin('account_meta', 'accounts.id', 'account_meta.account_id')
->leftJoin('account_meta', 'accounts.id', '=', 'account_meta.account_id')
->where('accounts.active', 1)
->orderBy('accounts.order', 'ASC')
->orderBy('accounts.account_type_id', 'ASC')
@@ -747,4 +737,29 @@ class AccountRepository implements AccountRepositoryInterface
return $service->update($account, $data);
}
/**
* @inheritDoc
*/
public function findByAccountNumber(string $number, array $types): ?Account
{
$dbQuery = $this->user
->accounts()
->leftJoin('account_meta', 'accounts.id', '=', 'account_meta.account_id')
->where('accounts.active', true)
->where(
function (EloquentBuilder $q1) use ($number) {
$json = json_encode($number);
$q1->where('account_meta.name', '=', 'account_number');
$q1->where('account_meta.data', '=', $json);
}
);
if (0 !== count($types)) {
$dbQuery->leftJoin('account_types', 'accounts.account_type_id', '=', 'account_types.id');
$dbQuery->whereIn('account_types.type', $types);
}
return $dbQuery->first(['accounts.*']);
}
}

View File

@@ -46,6 +46,7 @@ interface AccountRepositoryInterface
*/
public function count(array $types): int;
/**
* Moved here from account CRUD.
*
@@ -65,6 +66,14 @@ interface AccountRepositoryInterface
*/
public function expandWithDoubles(Collection $accounts): Collection;
/**
* @param string $number
* @param array $types
*
* @return Account|null
*/
public function findByAccountNumber(string $number, array $types): ?Account;
/**
* @param string $iban
* @param array $types

View File

@@ -98,10 +98,10 @@ class BudgetRepository implements BudgetRepositoryInterface
$budgets = $this->getBudgets();
/** @var Budget $budget */
foreach ($budgets as $budget) {
DB::table('budget_transaction')->where('budget_id', $budget->id)->delete();
DB::table('budget_transaction_journal')->where('budget_id', $budget->id)->delete();
RecurrenceTransactionMeta::where('name', 'budget_id')->where('value', $budget->id)->delete();
RuleAction::where('action_type', 'set_budget')->where('action_value', $budget->id)->delete();
DB::table('budget_transaction')->where('budget_id', (int)$budget->id)->delete();
DB::table('budget_transaction_journal')->where('budget_id', (int)$budget->id)->delete();
RecurrenceTransactionMeta::where('name', 'budget_id')->where('value', (string)$budget->id)->delete();
RuleAction::where('action_type', 'set_budget')->where('action_value', (string)$budget->id)->delete();
$budget->delete();
}
}
@@ -328,7 +328,7 @@ class BudgetRepository implements BudgetRepositoryInterface
Log::error($e->getTraceAsString());
throw new FireflyException('400002: Could not store budget.', 0, $e);
}
if (!array_key_exists('auto_budget_type', $data)) {
if (!array_key_exists('auto_budget_type', $data) || !array_key_exists('auto_budget_amount', $data) || !array_key_exists('auto_budget_period', $data)) {
return $newBudget;
}
$type = $data['auto_budget_type'];

View File

@@ -79,6 +79,7 @@ trait JournalServiceTrait
$result = $this->findAccountById($data, $expectedTypes[$transactionType]);
$result = $this->findAccountByName($result, $data, $expectedTypes[$transactionType]);
$result = $this->findAccountByIban($result, $data, $expectedTypes[$transactionType]);
$result = $this->findAccountByNumber($result, $data, $expectedTypes[$transactionType]);
$result = $this->createAccount($result, $data, $expectedTypes[$transactionType][0]);
return $this->getCashAccount($result, $data, $expectedTypes[$transactionType]);
@@ -160,6 +161,34 @@ trait JournalServiceTrait
return $account;
}
/**
* @param Account|null $account
* @param array $data
* @param array $types
*
* @return Account|null
*/
private function findAccountByNumber(?Account $account, array $data, array $types): ?Account
{
// third attempt, find by account number
if (null === $account && null !== $data['number']) {
Log::debug(sprintf('Searching for account number "%s".', $data['number']));
// find by preferred type.
$source = $this->accountRepository->findByAccountNumber($data['number'], [$types[0]]);
// or any expected type.
$source = $source ?? $this->accountRepository->findByAccountNumber($data['iban'], $types);
if (null !== $source) {
Log::debug(sprintf('Found account: #%d, %s', $source->id, $source->name));
$account = $source;
}
}
return $account;
}
/**
* @param Account|null $account
* @param array $data

View File

@@ -153,7 +153,7 @@ class Preferences
*/
public function getForUser(User $user, string $name, $default = null): ?Preference
{
$preference = Preference::where('user_id', $user->id)->where('name', $name)->first(['id', 'name', 'data', 'updated_at', 'created_at']);
$preference = Preference::where('user_id', $user->id)->where('name', $name)->first(['id','user_id', 'name', 'data', 'updated_at', 'created_at']);
if (null !== $preference && null === $preference->data) {
try {
$preference->delete();

View File

@@ -114,7 +114,7 @@ class AccountTransformer extends AbstractTransformer
'opening_balance' => $openingBalance,
'opening_balance_date' => $openingBalanceDate,
'liability_type' => $liabilityType,
'interest' => (float)$interest,
'interest' => $interest,
'interest_period' => $interestPeriod,
'include_net_worth' => $includeNetWorth,
'longitude' => $longitude,

View File

@@ -48,16 +48,21 @@ trait ValidatesAutoBudgetRequest
return;
}
// basic float check:
if (!is_numeric($amount)) {
$validator->errors()->add('auto_budget_amount', (string)trans('validation.amount_required_for_auto_budget'));
return;
}
if ('' === $amount) {
$validator->errors()->add('auto_budget_amount', (string)trans('validation.amount_required_for_auto_budget'));
}
if (null !== $amount && 1 !== bccomp((string)$amount, '0')) {
if (1 !== bccomp((string)$amount, '0')) {
$validator->errors()->add('auto_budget_amount', (string)trans('validation.auto_budget_amount_positive'));
}
if ('' === $period) {
$validator->errors()->add('auto_budget_period', (string)trans('validation.auto_budget_period_mandatory'));
}
if (null !== $amount && null !== $currencyId && null !== $currencyCode && '' === $currencyCode && 0 === $currencyId) {
if (null !== $currencyId && null !== $currencyCode && '' === $currencyCode && 0 === $currencyId) {
$validator->errors()->add('auto_budget_amount', (string)trans('validation.require_currency_info'));
}
}

View File

@@ -2,6 +2,18 @@
All notable changes to this project will be documented in this file.
This project adheres to [Semantic Versioning](http://semver.org/).
## 5.5.9 (API 1.5.2) 2021-04-24
This update fixes some of the more annoying issues in the new experimental v2 layout (see also [GitHub](https://github.com/firefly-iii/firefly-iii/issues/4618)), but some minor other issues as well.
### Fixed
- Dashboard preferences would some times retain old or bad data.
### API
- [Issue 4697](https://github.com/firefly-iii/firefly-iii/issues/4697) Submitting an existing account with an account number only would store it as a new account.
- [Issue 4706](https://github.com/firefly-iii/firefly-iii/issues/4706) Account interest was a float and not a string.
- Store Budget API call would not properly handle auto budgets.
## 5.5.8 (API 1.5.2) 2021-04-17
This update fixes some of the more annoying issues in the new experimental v2 layout (see also [GitHub](https://github.com/firefly-iii/firefly-iii/issues/4618)), but some minor other issues as well.

View File

@@ -192,6 +192,7 @@
"@php artisan firefly-iii:fix-recurring-transactions",
"@php artisan firefly-iii:unify-group-accounts",
"@php artisan firefly-iii:fix-transaction-types",
"@php artisan firefly-iii:fix-frontpage-accounts",
"@php artisan firefly-iii:report-empty-objects",
"@php artisan firefly-iii:report-sum",

222
composer.lock generated
View File

@@ -377,40 +377,39 @@
},
{
"name": "doctrine/cache",
"version": "1.10.2",
"version": "1.11.0",
"source": {
"type": "git",
"url": "https://github.com/doctrine/cache.git",
"reference": "13e3381b25847283a91948d04640543941309727"
"reference": "a9c1b59eba5a08ca2770a76eddb88922f504e8e0"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/doctrine/cache/zipball/13e3381b25847283a91948d04640543941309727",
"reference": "13e3381b25847283a91948d04640543941309727",
"url": "https://api.github.com/repos/doctrine/cache/zipball/a9c1b59eba5a08ca2770a76eddb88922f504e8e0",
"reference": "a9c1b59eba5a08ca2770a76eddb88922f504e8e0",
"shasum": ""
},
"require": {
"php": "~7.1 || ^8.0"
},
"conflict": {
"doctrine/common": ">2.2,<2.4"
"doctrine/common": ">2.2,<2.4",
"psr/cache": ">=3"
},
"require-dev": {
"alcaeus/mongo-php-adapter": "^1.1",
"doctrine/coding-standard": "^6.0",
"cache/integration-tests": "dev-master",
"doctrine/coding-standard": "^8.0",
"mongodb/mongodb": "^1.1",
"phpunit/phpunit": "^7.0",
"predis/predis": "~1.0"
"phpunit/phpunit": "^7.0 || ^8.0 || ^9.0",
"predis/predis": "~1.0",
"psr/cache": "^1.0 || ^2.0",
"symfony/cache": "^4.4 || ^5.2"
},
"suggest": {
"alcaeus/mongo-php-adapter": "Required to use legacy MongoDB driver"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "1.9.x-dev"
}
},
"autoload": {
"psr-4": {
"Doctrine\\Common\\Cache\\": "lib/Doctrine/Common/Cache"
@@ -457,7 +456,7 @@
],
"support": {
"issues": "https://github.com/doctrine/cache/issues",
"source": "https://github.com/doctrine/cache/tree/1.10.x"
"source": "https://github.com/doctrine/cache/tree/1.11.0"
},
"funding": [
{
@@ -473,37 +472,39 @@
"type": "tidelift"
}
],
"time": "2020-07-07T18:54:01+00:00"
"time": "2021-04-13T14:46:17+00:00"
},
{
"name": "doctrine/dbal",
"version": "3.0.0",
"version": "3.1.0",
"source": {
"type": "git",
"url": "https://github.com/doctrine/dbal.git",
"reference": "ee6d1260d5cc20ec506455a585945d7bdb98662c"
"reference": "5ba62e7e40df119424866064faf2cef66cb5232a"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/doctrine/dbal/zipball/ee6d1260d5cc20ec506455a585945d7bdb98662c",
"reference": "ee6d1260d5cc20ec506455a585945d7bdb98662c",
"url": "https://api.github.com/repos/doctrine/dbal/zipball/5ba62e7e40df119424866064faf2cef66cb5232a",
"reference": "5ba62e7e40df119424866064faf2cef66cb5232a",
"shasum": ""
},
"require": {
"composer/package-versions-deprecated": "^1.11.99",
"doctrine/cache": "^1.0",
"doctrine/deprecations": "^0.5.3",
"doctrine/event-manager": "^1.0",
"php": "^7.3 || ^8.0"
},
"require-dev": {
"doctrine/coding-standard": "^8.1",
"jetbrains/phpstorm-stubs": "^2019.1",
"phpstan/phpstan": "^0.12.40",
"doctrine/coding-standard": "8.2.0",
"jetbrains/phpstorm-stubs": "2020.2",
"phpstan/phpstan": "0.12.81",
"phpstan/phpstan-strict-rules": "^0.12.2",
"phpunit/phpunit": "^9.4",
"psalm/plugin-phpunit": "^0.10.0",
"phpunit/phpunit": "9.5.0",
"psalm/plugin-phpunit": "0.13.0",
"squizlabs/php_codesniffer": "3.6.0",
"symfony/console": "^2.0.5|^3.0|^4.0|^5.0",
"vimeo/psalm": "^3.17.2"
"vimeo/psalm": "4.6.4"
},
"suggest": {
"symfony/console": "For helpful console commands such as SQL execution and import of files."
@@ -512,11 +513,6 @@
"bin/doctrine-dbal"
],
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "4.0.x-dev"
}
},
"autoload": {
"psr-4": {
"Doctrine\\DBAL\\": "src"
@@ -568,7 +564,7 @@
],
"support": {
"issues": "https://github.com/doctrine/dbal/issues",
"source": "https://github.com/doctrine/dbal/tree/3.0.0"
"source": "https://github.com/doctrine/dbal/tree/3.1.0"
},
"funding": [
{
@@ -584,7 +580,50 @@
"type": "tidelift"
}
],
"time": "2020-11-15T18:20:41+00:00"
"time": "2021-04-19T17:51:23+00:00"
},
{
"name": "doctrine/deprecations",
"version": "v0.5.3",
"source": {
"type": "git",
"url": "https://github.com/doctrine/deprecations.git",
"reference": "9504165960a1f83cc1480e2be1dd0a0478561314"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/doctrine/deprecations/zipball/9504165960a1f83cc1480e2be1dd0a0478561314",
"reference": "9504165960a1f83cc1480e2be1dd0a0478561314",
"shasum": ""
},
"require": {
"php": "^7.1|^8.0"
},
"require-dev": {
"doctrine/coding-standard": "^6.0|^7.0|^8.0",
"phpunit/phpunit": "^7.0|^8.0|^9.0",
"psr/log": "^1.0"
},
"suggest": {
"psr/log": "Allows logging deprecations via PSR-3 logger implementation"
},
"type": "library",
"autoload": {
"psr-4": {
"Doctrine\\Deprecations\\": "lib/Doctrine/Deprecations"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"description": "A small layer on top of trigger_error(E_USER_DEPRECATED) or PSR-3 logging with options to disable all deprecations or selectively for packages.",
"homepage": "https://www.doctrine-project.org/",
"support": {
"issues": "https://github.com/doctrine/deprecations/issues",
"source": "https://github.com/doctrine/deprecations/tree/v0.5.3"
},
"time": "2021-03-21T12:59:47+00:00"
},
{
"name": "doctrine/event-manager",
@@ -1644,16 +1683,16 @@
},
{
"name": "laravel/framework",
"version": "v8.37.0",
"version": "v8.38.0",
"source": {
"type": "git",
"url": "https://github.com/laravel/framework.git",
"reference": "cf4082973abc796ec285190f0603380021f6d26f"
"reference": "26a73532c54d2c090692bf2e3e64e449669053ba"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/laravel/framework/zipball/cf4082973abc796ec285190f0603380021f6d26f",
"reference": "cf4082973abc796ec285190f0603380021f6d26f",
"url": "https://api.github.com/repos/laravel/framework/zipball/26a73532c54d2c090692bf2e3e64e449669053ba",
"reference": "26a73532c54d2c090692bf2e3e64e449669053ba",
"shasum": ""
},
"require": {
@@ -1808,7 +1847,7 @@
"issues": "https://github.com/laravel/framework/issues",
"source": "https://github.com/laravel/framework"
},
"time": "2021-04-13T13:49:49+00:00"
"time": "2021-04-20T13:50:21+00:00"
},
{
"name": "laravel/passport",
@@ -3270,16 +3309,16 @@
},
{
"name": "phpseclib/phpseclib",
"version": "3.0.7",
"version": "3.0.8",
"source": {
"type": "git",
"url": "https://github.com/phpseclib/phpseclib.git",
"reference": "d369510df0ebd5e1a5d0fe3d4d23c55fa87a403d"
"reference": "d9615a6fb970d9933866ca8b4036ec3407b020b6"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/phpseclib/phpseclib/zipball/d369510df0ebd5e1a5d0fe3d4d23c55fa87a403d",
"reference": "d369510df0ebd5e1a5d0fe3d4d23c55fa87a403d",
"url": "https://api.github.com/repos/phpseclib/phpseclib/zipball/d9615a6fb970d9933866ca8b4036ec3407b020b6",
"reference": "d9615a6fb970d9933866ca8b4036ec3407b020b6",
"shasum": ""
},
"require": {
@@ -3361,7 +3400,7 @@
],
"support": {
"issues": "https://github.com/phpseclib/phpseclib/issues",
"source": "https://github.com/phpseclib/phpseclib/tree/3.0.7"
"source": "https://github.com/phpseclib/phpseclib/tree/3.0.8"
},
"funding": [
{
@@ -3377,7 +3416,7 @@
"type": "tidelift"
}
],
"time": "2021-04-06T14:00:11+00:00"
"time": "2021-04-19T03:20:48+00:00"
},
{
"name": "pragmarx/google2fa",
@@ -4573,16 +4612,16 @@
},
{
"name": "symfony/deprecation-contracts",
"version": "v2.2.0",
"version": "v2.4.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/deprecation-contracts.git",
"reference": "5fa56b4074d1ae755beb55617ddafe6f5d78f665"
"reference": "5f38c8804a9e97d23e0c8d63341088cd8a22d627"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/5fa56b4074d1ae755beb55617ddafe6f5d78f665",
"reference": "5fa56b4074d1ae755beb55617ddafe6f5d78f665",
"url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/5f38c8804a9e97d23e0c8d63341088cd8a22d627",
"reference": "5f38c8804a9e97d23e0c8d63341088cd8a22d627",
"shasum": ""
},
"require": {
@@ -4591,7 +4630,7 @@
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "2.2-dev"
"dev-main": "2.4-dev"
},
"thanks": {
"name": "symfony/contracts",
@@ -4620,7 +4659,7 @@
"description": "A generic function and convention to trigger deprecation notices",
"homepage": "https://symfony.com",
"support": {
"source": "https://github.com/symfony/deprecation-contracts/tree/master"
"source": "https://github.com/symfony/deprecation-contracts/tree/v2.4.0"
},
"funding": [
{
@@ -4636,7 +4675,7 @@
"type": "tidelift"
}
],
"time": "2020-09-07T11:33:47+00:00"
"time": "2021-03-23T23:28:01+00:00"
},
{
"name": "symfony/error-handler",
@@ -4794,16 +4833,16 @@
},
{
"name": "symfony/event-dispatcher-contracts",
"version": "v2.2.0",
"version": "v2.4.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/event-dispatcher-contracts.git",
"reference": "0ba7d54483095a198fa51781bc608d17e84dffa2"
"reference": "69fee1ad2332a7cbab3aca13591953da9cdb7a11"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/0ba7d54483095a198fa51781bc608d17e84dffa2",
"reference": "0ba7d54483095a198fa51781bc608d17e84dffa2",
"url": "https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/69fee1ad2332a7cbab3aca13591953da9cdb7a11",
"reference": "69fee1ad2332a7cbab3aca13591953da9cdb7a11",
"shasum": ""
},
"require": {
@@ -4816,7 +4855,7 @@
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "2.2-dev"
"dev-main": "2.4-dev"
},
"thanks": {
"name": "symfony/contracts",
@@ -4853,7 +4892,7 @@
"standards"
],
"support": {
"source": "https://github.com/symfony/event-dispatcher-contracts/tree/v2.2.0"
"source": "https://github.com/symfony/event-dispatcher-contracts/tree/v2.4.0"
},
"funding": [
{
@@ -4869,7 +4908,7 @@
"type": "tidelift"
}
],
"time": "2020-09-07T11:33:47+00:00"
"time": "2021-03-23T23:28:01+00:00"
},
{
"name": "symfony/finder",
@@ -4934,16 +4973,16 @@
},
{
"name": "symfony/http-client-contracts",
"version": "v2.3.1",
"version": "v2.4.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/http-client-contracts.git",
"reference": "41db680a15018f9c1d4b23516059633ce280ca33"
"reference": "7e82f6084d7cae521a75ef2cb5c9457bbda785f4"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/http-client-contracts/zipball/41db680a15018f9c1d4b23516059633ce280ca33",
"reference": "41db680a15018f9c1d4b23516059633ce280ca33",
"url": "https://api.github.com/repos/symfony/http-client-contracts/zipball/7e82f6084d7cae521a75ef2cb5c9457bbda785f4",
"reference": "7e82f6084d7cae521a75ef2cb5c9457bbda785f4",
"shasum": ""
},
"require": {
@@ -4954,9 +4993,8 @@
},
"type": "library",
"extra": {
"branch-version": "2.3",
"branch-alias": {
"dev-main": "2.3-dev"
"dev-main": "2.4-dev"
},
"thanks": {
"name": "symfony/contracts",
@@ -4993,7 +5031,7 @@
"standards"
],
"support": {
"source": "https://github.com/symfony/http-client-contracts/tree/v2.3.1"
"source": "https://github.com/symfony/http-client-contracts/tree/v2.4.0"
},
"funding": [
{
@@ -5009,7 +5047,7 @@
"type": "tidelift"
}
],
"time": "2020-10-14T17:08:19+00:00"
"time": "2021-04-11T23:07:08+00:00"
},
{
"name": "symfony/http-foundation",
@@ -6250,21 +6288,21 @@
},
{
"name": "symfony/service-contracts",
"version": "v2.2.0",
"version": "v2.4.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/service-contracts.git",
"reference": "d15da7ba4957ffb8f1747218be9e1a121fd298a1"
"reference": "f040a30e04b57fbcc9c6cbcf4dbaa96bd318b9bb"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/service-contracts/zipball/d15da7ba4957ffb8f1747218be9e1a121fd298a1",
"reference": "d15da7ba4957ffb8f1747218be9e1a121fd298a1",
"url": "https://api.github.com/repos/symfony/service-contracts/zipball/f040a30e04b57fbcc9c6cbcf4dbaa96bd318b9bb",
"reference": "f040a30e04b57fbcc9c6cbcf4dbaa96bd318b9bb",
"shasum": ""
},
"require": {
"php": ">=7.2.5",
"psr/container": "^1.0"
"psr/container": "^1.1"
},
"suggest": {
"symfony/service-implementation": ""
@@ -6272,7 +6310,7 @@
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "2.2-dev"
"dev-main": "2.4-dev"
},
"thanks": {
"name": "symfony/contracts",
@@ -6309,7 +6347,7 @@
"standards"
],
"support": {
"source": "https://github.com/symfony/service-contracts/tree/master"
"source": "https://github.com/symfony/service-contracts/tree/v2.4.0"
},
"funding": [
{
@@ -6325,7 +6363,7 @@
"type": "tidelift"
}
],
"time": "2020-09-07T11:33:47+00:00"
"time": "2021-04-01T10:43:52+00:00"
},
{
"name": "symfony/string",
@@ -6505,16 +6543,16 @@
},
{
"name": "symfony/translation-contracts",
"version": "v2.3.0",
"version": "v2.4.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/translation-contracts.git",
"reference": "e2eaa60b558f26a4b0354e1bbb25636efaaad105"
"reference": "95c812666f3e91db75385749fe219c5e494c7f95"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/translation-contracts/zipball/e2eaa60b558f26a4b0354e1bbb25636efaaad105",
"reference": "e2eaa60b558f26a4b0354e1bbb25636efaaad105",
"url": "https://api.github.com/repos/symfony/translation-contracts/zipball/95c812666f3e91db75385749fe219c5e494c7f95",
"reference": "95c812666f3e91db75385749fe219c5e494c7f95",
"shasum": ""
},
"require": {
@@ -6526,7 +6564,7 @@
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "2.3-dev"
"dev-main": "2.4-dev"
},
"thanks": {
"name": "symfony/contracts",
@@ -6563,7 +6601,7 @@
"standards"
],
"support": {
"source": "https://github.com/symfony/translation-contracts/tree/v2.3.0"
"source": "https://github.com/symfony/translation-contracts/tree/v2.4.0"
},
"funding": [
{
@@ -6579,7 +6617,7 @@
"type": "tidelift"
}
],
"time": "2020-09-28T13:05:58+00:00"
"time": "2021-03-23T23:28:01+00:00"
},
{
"name": "symfony/var-dumper",
@@ -9132,16 +9170,16 @@
},
{
"name": "phpstan/phpstan",
"version": "0.12.83",
"version": "0.12.84",
"source": {
"type": "git",
"url": "https://github.com/phpstan/phpstan.git",
"reference": "4a967cec6efb46b500dd6d768657336a3ffe699f"
"reference": "9c43f15da8798c8f30a4b099e6a94530a558cfd5"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/phpstan/phpstan/zipball/4a967cec6efb46b500dd6d768657336a3ffe699f",
"reference": "4a967cec6efb46b500dd6d768657336a3ffe699f",
"url": "https://api.github.com/repos/phpstan/phpstan/zipball/9c43f15da8798c8f30a4b099e6a94530a558cfd5",
"reference": "9c43f15da8798c8f30a4b099e6a94530a558cfd5",
"shasum": ""
},
"require": {
@@ -9172,7 +9210,7 @@
"description": "PHPStan - PHP Static Analysis Tool",
"support": {
"issues": "https://github.com/phpstan/phpstan/issues",
"source": "https://github.com/phpstan/phpstan/tree/0.12.83"
"source": "https://github.com/phpstan/phpstan/tree/0.12.84"
},
"funding": [
{
@@ -9188,7 +9226,7 @@
"type": "tidelift"
}
],
"time": "2021-04-03T15:35:45+00:00"
"time": "2021-04-19T17:10:54+00:00"
},
{
"name": "phpstan/phpstan-deprecation-rules",
@@ -9718,12 +9756,12 @@
"source": {
"type": "git",
"url": "https://github.com/Roave/SecurityAdvisories.git",
"reference": "593c4de369ca852cf3b86037f19435d47c136448"
"reference": "3c97c13698c448fdbbda20acb871884a2d8f45b1"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/Roave/SecurityAdvisories/zipball/593c4de369ca852cf3b86037f19435d47c136448",
"reference": "593c4de369ca852cf3b86037f19435d47c136448",
"url": "https://api.github.com/repos/Roave/SecurityAdvisories/zipball/3c97c13698c448fdbbda20acb871884a2d8f45b1",
"reference": "3c97c13698c448fdbbda20acb871884a2d8f45b1",
"shasum": ""
},
"conflict": {
@@ -9854,7 +9892,7 @@
"onelogin/php-saml": "<2.10.4",
"oneup/uploader-bundle": "<1.9.3|>=2,<2.1.5",
"openid/php-openid": "<2.3",
"openmage/magento-lts": "<19.4.8|>=20,<20.0.4",
"openmage/magento-lts": "<=19.4.12|>=20,<=20.0.8",
"orchid/platform": ">=9,<9.4.4",
"oro/crm": ">=1.7,<1.7.4",
"oro/platform": ">=1.7,<1.7.4",
@@ -9863,7 +9901,7 @@
"paragonie/random_compat": "<2",
"passbolt/passbolt_api": "<2.11",
"paypal/merchant-sdk-php": "<3.12",
"pear/archive_tar": "<1.4.12",
"pear/archive_tar": "<1.4.13",
"personnummer/personnummer": "<3.0.2",
"phpfastcache/phpfastcache": ">=5,<5.0.13",
"phpmailer/phpmailer": "<6.1.6",
@@ -10056,7 +10094,7 @@
"type": "tidelift"
}
],
"time": "2021-04-16T20:01:44+00:00"
"time": "2021-04-22T17:19:04+00:00"
},
{
"name": "sebastian/cli-parser",

View File

@@ -100,7 +100,7 @@ return [
'handle_debts' => true,
],
'version' => '5.5.8',
'version' => '5.5.9',
'api_version' => '1.5.2',
'db_version' => 16,
'maxUploadSize' => 1073741824, // 1 GB
@@ -631,8 +631,7 @@ return [
'expected_source_types' => [
'source' => [
TransactionTypeModel::WITHDRAWAL => [AccountType::ASSET, AccountType::LOAN, AccountType::DEBT, AccountType::MORTGAGE],
TransactionTypeModel::DEPOSIT => [AccountType::REVENUE, AccountType::CASH, AccountType::LOAN, AccountType::DEBT, AccountType::MORTGAGE,
AccountType::INITIAL_BALANCE, AccountType::RECONCILIATION,],
TransactionTypeModel::DEPOSIT => [AccountType::REVENUE, AccountType::CASH, AccountType::LOAN, AccountType::DEBT, AccountType::MORTGAGE],
TransactionTypeModel::TRANSFER => [AccountType::ASSET, AccountType::LOAN, AccountType::DEBT, AccountType::MORTGAGE],
TransactionTypeModel::OPENING_BALANCE => [AccountType::INITIAL_BALANCE, AccountType::ASSET, AccountType::LOAN, AccountType::DEBT,
AccountType::MORTGAGE,],

View File

@@ -133,6 +133,7 @@
import {mapGetters} from "vuex";
import Sortable from "sortablejs";
import format from "date-fns/format";
export default {
name: "Index",
@@ -370,9 +371,10 @@ export default {
}
);
}));
promises.push(axios.get('./api/v1/accounts/' + acct.id + '?date=' + this.start.toISOString().split('T')[0]));
promises.push(axios.get('./api/v1/accounts/' + acct.id + '?date=' + this.end.toISOString().split('T')[0]));
let startStr = format(this.start, 'y-MM-dd');
let endStr = format(this.end, 'y-MM-dd');
promises.push(axios.get('./api/v1/accounts/' + acct.id + '?date=' + startStr));
promises.push(axios.get('./api/v1/accounts/' + acct.id + '?date=' + endStr));
Promise.all(promises).then(responses => {
let index = responses[0].index;

View File

@@ -102,11 +102,9 @@ export default {
},
ticks: {
callback: function (value, index, values) {
//return this.getLabelForValue(value);
let dateObj = new Date(this.getLabelForValue(value));
let options = {year: 'numeric', month: 'long', day: 'numeric'};
let str = new Intl.DateTimeFormat(localStorage.locale, options).format(dateObj);
return str;
let dateObj = new Date(this.getLabelForValue(value).split('T')[0]);
return new Intl.DateTimeFormat(localStorage.locale, {year: 'numeric', month: 'long', day: 'numeric'}).format(dateObj);
//return str;
// // //console.log();
// // //return self.formatLabel(value, 20);
// // return self.formatLabel(str, 20);

View File

@@ -79,17 +79,21 @@
import {createNamespacedHelpers} from "vuex";
import Vue from "vue";
import DatePicker from "v-calendar/lib/components/date-picker.umd";
import subDays from 'date-fns/subDays'
import addDays from 'date-fns/addDays'
import startOfDay from 'date-fns/startOfDay'
import endOfDay from 'date-fns/endOfDay'
import startOfWeek from 'date-fns/startOfWeek'
import endOfWeek from 'date-fns/endOfWeek'
import format from 'date-fns/format'
import subDays from 'date-fns/subDays';
import addDays from 'date-fns/addDays';
import addMonths from 'date-fns/addMonths';
import startOfDay from 'date-fns/startOfDay';
import endOfDay from 'date-fns/endOfDay';
import startOfWeek from 'date-fns/startOfWeek';
import endOfWeek from 'date-fns/endOfWeek';
import endOfMonth from 'date-fns/endOfMonth';
import format from 'date-fns/format';
import startOfQuarter from 'date-fns/startOfQuarter';
import subMonths from 'date-fns/subMonths';
import endOfQuarter from 'date-fns/endOfQuarter';
import subQuarters from 'date-fns/subQuarters';
import addQuarters from 'date-fns/addQuarters';
import startOfMonth from 'date-fns/startOfMonth';
const {mapState, mapGetters, mapActions, mapMutations} = createNamespacedHelpers('dashboard/index')
@@ -182,13 +186,20 @@ export default {
},
generateWeekly: function () {
//console.log('weekly');
let today = new Date(this.range.start);
//console.log('Today is ' + today);
let start = startOfDay(startOfWeek(subDays(today, 7), {weekStartsOn: 1}));
let end = endOfDay(endOfWeek(subDays(today, 7), {weekStartsOn: 1}));
let dateFormat = this.$t('config.week_in_year_fns');
//console.log('Date format: "'+dateFormat+'"');
let title = format(start, dateFormat);
// last week
// console.log('Last week');
// console.log(start);
// console.log(end);
// console.log(title);
this.periods.push(
{
start: start.toDateString(),
@@ -201,6 +212,10 @@ export default {
start = startOfDay(startOfWeek(today, {weekStartsOn: 1}));
end = endOfDay(endOfWeek(today, {weekStartsOn: 1}));
title = format(start, dateFormat);
// console.log('This week');
// console.log(start);
// console.log(end);
// console.log(title);
this.periods.push(
{
start: start.toDateString(),
@@ -213,6 +228,10 @@ export default {
start = startOfDay(startOfWeek(addDays(today, 7), {weekStartsOn: 1}));
end = endOfDay(endOfWeek(addDays(today, 7), {weekStartsOn: 1}));
title = format(start, dateFormat);
// console.log('Next week');
// console.log(start);
// console.log(end);
// console.log(title);
this.periods.push(
{
start: start.toDateString(),
@@ -224,35 +243,35 @@ export default {
generateMonthly: function () {
let today = new Date(this.range.start);
// previous month
firstDayOfMonth = new Date(today.getFullYear(), today.getMonth() - 1, 1);
lastDayOfMonth = new Date(today.getFullYear(), today.getMonth(), 0);
let start = startOfDay(startOfMonth(subMonths(today, 1)));
let end = endOfDay(endOfMonth(subMonths(today, 1)));
this.periods.push(
{
start: firstDayOfMonth.toDateString(),
end: lastDayOfMonth.toDateString(),
title: new Intl.DateTimeFormat(this.locale, {year: 'numeric', month: 'long'}).format(firstDayOfMonth)
start: start.toDateString(),
end: end.toDateString(),
title: new Intl.DateTimeFormat(this.locale, {year: 'numeric', month: 'long'}).format(start)
}
);
// this month
firstDayOfMonth = new Date(today.getFullYear(), today.getMonth(), 1);
lastDayOfMonth = new Date(today.getFullYear(), today.getMonth() + 1, 0);
start = startOfDay(startOfMonth(today));
end = endOfDay(endOfMonth(today));
this.periods.push(
{
start: firstDayOfMonth.toDateString(),
end: lastDayOfMonth.toDateString(),
title: new Intl.DateTimeFormat(this.locale, {year: 'numeric', month: 'long'}).format(firstDayOfMonth)
start: start.toDateString(),
end: end.toDateString(),
title: new Intl.DateTimeFormat(this.locale, {year: 'numeric', month: 'long'}).format(start)
}
);
// next month
let firstDayOfMonth = new Date(today.getFullYear(), today.getMonth() + 1, 1);
let lastDayOfMonth = new Date(today.getFullYear(), today.getMonth() + 2, 0);
start = startOfDay(startOfMonth(addMonths(today, 1)));
end = endOfDay(endOfMonth(addMonths(today, 1)));
this.periods.push(
{
start: firstDayOfMonth.toDateString(),
end: lastDayOfMonth.toDateString(),
title: new Intl.DateTimeFormat(this.locale, {year: 'numeric', month: 'long'}).format(firstDayOfMonth)
start: start.toDateString(),
end: end.toDateString(),
title: new Intl.DateTimeFormat(this.locale, {year: 'numeric', month: 'long'}).format(start)
}
);
@@ -389,7 +408,7 @@ export default {
}
);
// this year, second half:
// this year, current (second) half:
start = today;
start.setMonth(6);
start.setDate(1);

View File

@@ -49,6 +49,7 @@ import DataConverter from "../charts/DataConverter";
import DefaultLineOptions from "../charts/DefaultLineOptions";
import {mapGetters} from "vuex";
import * as ChartJs from 'chart.js'
import format from "date-fns/format";
ChartJs.Chart.register.apply(null, Object.values(ChartJs).filter((chartClass) => (chartClass.id)));
@@ -102,8 +103,10 @@ export default {
initialiseChart: function () {
this.loading = true;
this.error = false;
let startStr = this.start.toISOString().split('T')[0];
let endStr = this.end.toISOString().split('T')[0];
//let startStr = this.start.toISOString().split('T')[0];
//let endStr = this.end.toISOString().split('T')[0];
let startStr = format(this.start, 'y-MM-dd');
let endStr = format(this.end, 'y-MM-dd');
let url = './api/v1/chart/account/overview?start=' + startStr + '&end=' + endStr;
axios.get(url)
.then(response => {
@@ -123,13 +126,14 @@ export default {
drawChart: function () {
//console.log('drawChart');
if ('undefined' !== typeof this._chart) {
//console.log('destroy or update!');
// console.log('update!');
this._chart.data = this.dataCollection;
this._chart.update();
this.initialised = true;
}
if ('undefined' === typeof this._chart) {
//console.log('new!');
// console.log('new!');
this._chart = new ChartJs.Chart(this.$refs.canvas.getContext('2d'), {
type: 'line',
data: this.dataCollection,
@@ -140,9 +144,9 @@ export default {
}
},
updateChart: function () {
//console.log('updateChart');
// console.log('updateChart');
if (this.initialised) {
//console.log('MUST Update chart!');
// console.log('MUST Update chart!');
// reset some vars so it wont trigger again:
this.initialised = false;
this.initialiseChart();

View File

@@ -75,6 +75,7 @@
<script>
import {createNamespacedHelpers} from "vuex";
import format from "date-fns/format";
const {mapState, mapGetters, mapActions, mapMutations} = createNamespacedHelpers('dashboard/index')
@@ -162,8 +163,10 @@ export default {
);
},
loadTransactions(key, accountId) {
let startStr = this.start.toISOString().split('T')[0];
let endStr = this.end.toISOString().split('T')[0];
// let startStr = this.start.toISOString().split('T')[0];
// let endStr = this.end.toISOString().split('T')[0];
let startStr = format(this.start, 'y-MM-dd');
let endStr = format(this.end, 'y-MM-dd');
axios.get('./api/v1/accounts/' + accountId + '/transactions?page=1&limit=10&start=' + startStr + '&end=' + endStr)
.then(response => {
this.accounts[key].transactions = response.data.data;

View File

@@ -77,6 +77,7 @@
</template>
<script>
import {createNamespacedHelpers} from "vuex";
import format from "date-fns/format";
const {mapState, mapGetters, mapActions, mapMutations} = createNamespacedHelpers('dashboard/index')
export default {
@@ -125,8 +126,10 @@ export default {
initialiseBills: function () {
this.loading = true;
this.bills = [];
let startStr = this.start.toISOString().split('T')[0];
let endStr = this.end.toISOString().split('T')[0];
// let startStr = this.start.toISOString().split('T')[0];
// let endStr = this.end.toISOString().split('T')[0];
let startStr = format(this.start, 'y-MM-dd');
let endStr = format(this.end, 'y-MM-dd');
axios.get('./api/v1/bills?start=' + startStr + '&end=' + endStr)
.then(response => {

View File

@@ -68,6 +68,7 @@
<script>
import BudgetListGroup from "./BudgetListGroup";
import {createNamespacedHelpers} from "vuex";
import format from "date-fns/format";
const {mapState, mapGetters, mapActions, mapMutations} = createNamespacedHelpers('dashboard/index')
@@ -136,8 +137,10 @@ export default {
other: [],
};
this.loading = true;
let startStr = this.start.toISOString().split('T')[0];
let endStr = this.end.toISOString().split('T')[0];
// let startStr = this.start.toISOString().split('T')[0];
// let endStr = this.end.toISOString().split('T')[0];
let startStr = format(this.start, 'y-MM-dd');
let endStr = format(this.end, 'y-MM-dd');
axios.get('./api/v1/budgets?start=' + startStr + '&end=' + endStr)
.then(response => {
this.parseBudgets(response.data);
@@ -172,8 +175,10 @@ export default {
this.getBudgetLimits();
},
getBudgetLimits() {
let startStr = this.start.toISOString().split('T')[0];
let endStr = this.end.toISOString().split('T')[0];
// let startStr = this.start.toISOString().split('T')[0];
// let endStr = this.end.toISOString().split('T')[0];
let startStr = format(this.start, 'y-MM-dd');
let endStr = format(this.end, 'y-MM-dd');
axios.get('./api/v1/budget-limits?start=' + startStr + '&end=' + endStr)
.then(response => {
this.parseBudgetLimits(response.data);

View File

@@ -90,6 +90,7 @@
<script>
import {createNamespacedHelpers} from "vuex";
import format from "date-fns/format";
const {mapState, mapGetters, mapActions, mapMutations} = createNamespacedHelpers('dashboard/index')
@@ -142,8 +143,10 @@ export default {
this.spent = 0;
this.earned = 0;
this.loading = true;
let startStr = this.start.toISOString().split('T')[0];
let endStr = this.end.toISOString().split('T')[0];
// let startStr = this.start.toISOString().split('T')[0];
// let endStr = this.end.toISOString().split('T')[0];
let startStr = format(this.start, 'y-MM-dd');
let endStr = format(this.end, 'y-MM-dd');
this.getCategoryPage(startStr, endStr, 1);
},
getCategoryPage: function (start, end, page) {

View File

@@ -75,6 +75,7 @@
<script>
import {createNamespacedHelpers} from "vuex";
import format from "date-fns/format";
const {mapState, mapGetters, mapActions, mapMutations} = createNamespacedHelpers('dashboard/index')
@@ -126,8 +127,10 @@ export default {
this.loading = true;
this.income = [];
this.error = false;
let startStr = this.start.toISOString().split('T')[0];
let endStr = this.end.toISOString().split('T')[0];
// let startStr = this.start.toISOString().split('T')[0];
// let endStr = this.end.toISOString().split('T')[0];
let startStr = format(this.start, 'y-MM-dd');
let endStr = format(this.end, 'y-MM-dd');
axios.get('./api/v1/insight/income/revenue?start=' + startStr + '&end=' + endStr)
.then(response => {
// do something with response.

View File

@@ -75,6 +75,7 @@
<script>
import {createNamespacedHelpers} from "vuex";
import format from "date-fns/format";
const {mapState, mapGetters, mapActions, mapMutations} = createNamespacedHelpers('dashboard/index')
@@ -125,8 +126,10 @@ export default {
this.loading = true;
this.error = false;
this.expenses = [];
let startStr = this.start.toISOString().split('T')[0];
let endStr = this.end.toISOString().split('T')[0];
// let startStr = this.start.toISOString().split('T')[0];
// let endStr = this.end.toISOString().split('T')[0];
let startStr = format(this.start, 'y-MM-dd');
let endStr = format(this.end, 'y-MM-dd');
axios.get('./api/v1/insight/expense/expense?start=' + startStr + '&end=' + endStr)
.then(response => {
// do something with response.

View File

@@ -30,7 +30,7 @@
<span v-if="error" class="info-box-text"><i class="fas fa-exclamation-triangle text-danger"></i></span>
<!-- balance in preferred currency -->
<span v-for="balance in prefCurrencyBalances" :title="balance.sub_title" class="info-box-number">{{ balance.value_parsed }}</span>
<span v-if="0 === prefCurrencyBalances.length" class="info-box-number">&nbsp;</span>
<div class="progress bg-info">
<div class="progress-bar" style="width: 0"></div>
</div>
@@ -55,6 +55,7 @@
<span v-if="error" class="info-box-text"><i class="fas fa-exclamation-triangle text-danger"></i></span>
<!-- bills unpaid, in preferred currency. -->
<span v-for="balance in prefBillsUnpaid" class="info-box-number">{{ balance.value_parsed }}</span>
<span v-if="0===prefBillsUnpaid.length" class="info-box-number">&nbsp;</span>
<div class="progress bg-teal">
<div class="progress-bar" style="width: 0"></div>
@@ -80,6 +81,7 @@
<span v-if="error" class="info-box-text"><i class="fas fa-exclamation-triangle text-danger"></i></span>
<!-- left to spend in preferred currency -->
<span v-for="left in prefLeftToSpend" :title="left.sub_title" class="info-box-number">{{ left.value_parsed }}</span>
<span v-if="0 === prefLeftToSpend.length" class="info-box-number">&nbsp;</span>
<div class="progress bg-success">
<div class="progress-bar" style="width: 0"></div>
@@ -105,7 +107,7 @@
<span v-if="loading && !error" class="info-box-text"><i class="fas fa-spinner fa-spin"></i></span>
<span v-if="error" class="info-box-text"><i class="fas fa-exclamation-triangle text-danger"></i></span>
<span v-for="nw in prefNetWorth" :title="nw.sub_title" class="info-box-number">{{ nw.value_parsed }}</span>
<span v-if="0===prefNetWorth.length">&nbsp;</span>
<div class="progress bg-success">
<div class="progress-bar" style="width: 0"></div>
</div>
@@ -124,6 +126,7 @@
<script>
import {createNamespacedHelpers} from "vuex";
import format from 'date-fns/format';
const {mapState, mapGetters, mapActions, mapMutations} = createNamespacedHelpers('dashboard/index')
export default {
@@ -249,8 +252,12 @@ export default {
this.billsUnpaid = [];
this.leftToSpend = [];
this.netWorth = [];
let startStr = this.start.toISOString().split('T')[0];
let endStr = this.end.toISOString().split('T')[0];
let startStr = format(this.start, 'y-MM-dd');
let endStr = format(this.end, 'y-MM-dd');
//let startStr = this.start.toISOString().split('T')[0];
//let endStr = this.end.toISOString().split('T')[0];
//console.log(startStr);
//console.log(endStr);
axios.get('./api/v1/summary/basic?start=' + startStr + '&end=' + endStr)
.then(response => {
this.summary = response.data;

View File

@@ -19,6 +19,15 @@
*/
// initial state
import startOfDay from "date-fns/startOfDay";
import endOfDay from 'date-fns/endOfDay'
import startOfWeek from 'date-fns/startOfWeek'
import endOfWeek from 'date-fns/endOfWeek'
import startOfQuarter from 'date-fns/startOfQuarter';
import endOfQuarter from 'date-fns/endOfQuarter';
import endOfMonth from "date-fns/endOfMonth";
import startOfMonth from 'date-fns/startOfMonth';
const state = () => (
{
viewRange: 'default',
@@ -66,7 +75,7 @@ const actions = {
// console.log('View range changed from "' + oldViewRange + '" to "' + viewRange + '"');
context.dispatch('setDatesFromViewRange');
}
if(viewRange === oldViewRange) {
if (viewRange === oldViewRange) {
// console.log('Restore view range dates');
context.dispatch('restoreViewRangeDates');
}
@@ -77,7 +86,7 @@ const actions = {
});
},
restoreViewRangeDates: function(context) {
restoreViewRangeDates: function (context) {
// check local storage first?
if (localStorage.viewRangeStart) {
// console.log('view range start set from local storage.');
@@ -111,82 +120,63 @@ const actions = {
let start;
let end;
let viewRange = context.getters.viewRange;
let today = new Date;
// console.log('Will recreate view range on ' + viewRange);
switch (viewRange) {
case '1D':
// one day:
start = new Date;
end = new Date(start.getTime());
start.setHours(0, 0, 0, 0);
end.setHours(23, 59, 59, 999);
// today:
start = startOfDay(today);
end = endOfDay(today);
break;
case '1W':
// this week:
start = new Date;
end = new Date(start.getTime());
// start of week
let diff = start.getDate() - start.getDay() + (start.getDay() === 0 ? -6 : 1);
start.setDate(diff);
start.setHours(0, 0, 0, 0);
// end of week
let lastday = end.getDate() - (end.getDay() - 1) + 6;
end.setDate(lastday);
end.setHours(23, 59, 59, 999);
start = startOfDay(startOfWeek(today, {weekStartsOn: 1}));
end = endOfDay(endOfWeek(today, {weekStartsOn: 1}));
break;
case '1M':
// this month:
start = new Date;
start = new Date(start.getFullYear(), start.getMonth(), 1);
start.setHours(0, 0, 0, 0);
end = new Date(start.getFullYear(), start.getMonth() + 1, 0);
end.setHours(23, 59, 59, 999);
start = startOfDay(startOfMonth(today));
end = endOfDay(endOfMonth(today));
break;
case '3M':
// this quarter
start = new Date;
end = new Date;
let quarter = Math.floor((start.getMonth() + 3) / 3) - 1;
// start and end months? I'm sure this could be better:
let startMonths = [0, 3, 6, 9];
let endMonths = [2, 5, 8, 11];
// set start to the correct month, day one:
start = new Date(start.getFullYear(), startMonths[quarter], 1);
start.setHours(0, 0, 0, 0);
// set end to the correct month, day one
end = new Date(end.getFullYear(), endMonths[quarter], 1);
// then to the last day of the month:
end = new Date(end.getFullYear(), end.getMonth() + 1, 0);
end.setHours(23, 59, 59, 999);
start = startOfDay(startOfQuarter(today));
end = endOfDay(endOfQuarter(today));
break;
case '6M':
// this half-year
start = new Date;
end = new Date;
let half = start.getMonth() <= 5 ? 0 : 1;
let startHalf = [0, 6];
let endHalf = [5, 11];
// set start to the correct month, day one:
start = new Date(start.getFullYear(), startHalf[half], 1);
start.setHours(0, 0, 0, 0);
// set end to the correct month, day one
end = new Date(end.getFullYear(), endHalf[half], 1);
// then to the last day of the month:
end = new Date(end.getFullYear(), end.getMonth() + 1, 0);
end.setHours(23, 59, 59, 999);
if (today.getMonth() <= 5) {
start = new Date(today);
start.setMonth(0);
start.setDate(1);
start = startOfDay(start);
end = new Date(today);
end.setMonth(5);
end.setDate(30);
end = endOfDay(start);
}
if (today.getMonth() > 5) {
start = new Date(today);
start.setMonth(6);
start.setDate(1);
start = startOfDay(start);
end = new Date(today);
end.setMonth(11);
end.setDate(31);
end = endOfDay(start);
}
break;
case '1Y':
// this year
start = new Date;
end = new Date;
start = new Date(start.getFullYear(), 0, 1);
start = new Date(today);
start.setMonth(0);
start.setDate(1);
start = startOfDay(start);
end = new Date(end.getFullYear(), 11, 31);
start.setHours(0, 0, 0, 0);
end.setHours(23, 59, 59, 999);
end = new Date(today);
end.setMonth(11);
end.setDate(31);
end = endOfDay(end);
break;
}
// console.log('Range is ' + viewRange);

View File

@@ -142,7 +142,7 @@
},
"config": {
"html_language": "bg",
"week_in_year_fns": "'Week' I, yyyy",
"week_in_year_fns": "'Week' w, yyyy",
"quarter_fns": "'Q'Q, yyyy",
"half_year_fns": "'H{half}', yyyy"
},

View File

@@ -142,7 +142,7 @@
},
"config": {
"html_language": "cs",
"week_in_year_fns": "'Week' I, yyyy",
"week_in_year_fns": "'Week' w, yyyy",
"quarter_fns": "'Q'Q, yyyy",
"half_year_fns": "'H{half}', yyyy"
},

View File

@@ -142,8 +142,8 @@
},
"config": {
"html_language": "de",
"week_in_year_fns": "'Woche' I, yyyy",
"quarter_fns": "'Q'Q, yyyy",
"week_in_year_fns": "'Woche' ww\/yyyy",
"quarter_fns": "'Q'QQQ, yyyy",
"half_year_fns": "'H{half}', yyyy"
},
"form": {

View File

@@ -142,7 +142,7 @@
},
"config": {
"html_language": "el",
"week_in_year_fns": "'Week' I, yyyy",
"week_in_year_fns": "'Week' w, yyyy",
"quarter_fns": "'Q'Q, yyyy",
"half_year_fns": "'H{half}', yyyy"
},

View File

@@ -142,7 +142,7 @@
},
"config": {
"html_language": "en-gb",
"week_in_year_fns": "'Week' I, yyyy",
"week_in_year_fns": "'Week' w, yyyy",
"quarter_fns": "'Q'Q, yyyy",
"half_year_fns": "'H{half}', yyyy"
},

View File

@@ -142,7 +142,7 @@
},
"config": {
"html_language": "en",
"week_in_year_fns": "'Week' I, yyyy",
"week_in_year_fns": "'Week' w, yyyy",
"quarter_fns": "'Q'Q, yyyy",
"half_year_fns": "'H{half}', yyyy"
},

View File

@@ -109,7 +109,7 @@
"edit": "Editar",
"account_type_Loan": "Pr\u00e9stamo",
"account_type_Mortgage": "Hipoteca",
"timezone_difference": "Your browser reports time zone \"{local}\". Firefly III is configured for time zone \"{system}\". This chart may drift.",
"timezone_difference": "Su navegador reporta la zona horaria \"{local}\". Firefly III est\u00e1 configurado para la zona horaria \"{system}\". Este gr\u00e1fico puede cambiar.",
"stored_new_account_js": "Nueva cuenta \"<a href=\"accounts\/show\/{ID}\">{name}<\/a>\" guardada!",
"account_type_Debt": "Deuda",
"delete": "Eliminar",
@@ -142,8 +142,8 @@
},
"config": {
"html_language": "es",
"week_in_year_fns": "'Week' I, yyyy",
"quarter_fns": "'Q'Q, yyyy",
"week_in_year_fns": "'Semana' w, yyyy",
"quarter_fns": "'Trimestre' Q, yyyy",
"half_year_fns": "'H{half}', yyyy"
},
"form": {

View File

@@ -142,7 +142,7 @@
},
"config": {
"html_language": "fi",
"week_in_year_fns": "'Week' I, yyyy",
"week_in_year_fns": "'Week' w, yyyy",
"quarter_fns": "'Q'Q, yyyy",
"half_year_fns": "'H{half}', yyyy"
},

View File

@@ -142,7 +142,7 @@
},
"config": {
"html_language": "fr",
"week_in_year_fns": "'Semaine' I, yyyy",
"week_in_year_fns": "'Semaine' w, yyyy",
"quarter_fns": "'Q'Q, yyyy",
"half_year_fns": "'H{half}', yyyy"
},

View File

@@ -142,7 +142,7 @@
},
"config": {
"html_language": "hu",
"week_in_year_fns": "'Week' I, yyyy",
"week_in_year_fns": "'Week' w, yyyy",
"quarter_fns": "'Q'Q, yyyy",
"half_year_fns": "'H{half}', yyyy"
},

View File

@@ -142,7 +142,7 @@
},
"config": {
"html_language": "it",
"week_in_year_fns": "'Week' I, yyyy",
"week_in_year_fns": "'Settimana' w, yyyy",
"quarter_fns": "'Q'Q, yyyy",
"half_year_fns": "'H{half}', yyyy"
},

View File

@@ -142,7 +142,7 @@
},
"config": {
"html_language": "nb",
"week_in_year_fns": "'Week' I, yyyy",
"week_in_year_fns": "'Week' w, yyyy",
"quarter_fns": "'Q'Q, yyyy",
"half_year_fns": "'H{half}', yyyy"
},

View File

@@ -142,7 +142,7 @@
},
"config": {
"html_language": "nl",
"week_in_year_fns": "'week' l, yyyy",
"week_in_year_fns": "'Week' w, yyyy",
"quarter_fns": "'Q'Q, yyyy",
"half_year_fns": "'H{half}', yyyy"
},

View File

@@ -142,9 +142,9 @@
},
"config": {
"html_language": "pl",
"week_in_year_fns": "'Week' I, yyyy",
"quarter_fns": "'Q'Q, yyyy",
"half_year_fns": "'H{half}', yyyy"
"week_in_year_fns": "w 'tydzie\u0144' yyyy",
"quarter_fns": "Q 'kwarta\u0142' yyyy",
"half_year_fns": "'{half} po\u0142owa' yyyy"
},
"form": {
"foreign_amount": "Kwota zagraniczna",

View File

@@ -110,7 +110,7 @@
"account_type_Loan": "Empr\u00e9stimo",
"account_type_Mortgage": "Hipoteca",
"timezone_difference": "Seu navegador reporta o fuso hor\u00e1rio \"{local}\". O Firefly III est\u00e1 configurado para o fuso hor\u00e1rio \"{system}\". Este gr\u00e1fico pode variar.",
"stored_new_account_js": "New account \"<a href=\"accounts\/show\/{ID}\">{name}<\/a>\" stored!",
"stored_new_account_js": "Nova conta \"<a href=\"accounts\/show\/{ID}\">{name}<\/a>\" armazenada!",
"account_type_Debt": "D\u00edvida",
"delete": "Apagar",
"store_new_asset_account": "Armazenar nova conta de ativo",
@@ -142,9 +142,9 @@
},
"config": {
"html_language": "pt-br",
"week_in_year_fns": "'Semana' I, yyyy",
"quarter_fns": "'Q'Q, yyyy",
"half_year_fns": "'H{half}', yyyy"
"week_in_year_fns": "'Semana' w, yyyy",
"quarter_fns": "'T'Q, yyyy",
"half_year_fns": "'S{half}', yyyy"
},
"form": {
"foreign_amount": "Montante em moeda estrangeira",
@@ -168,7 +168,7 @@
"currency_id": "Moeda",
"liability_type": "Tipo de passivo",
"account_role": "Fun\u00e7\u00e3o de conta",
"liability_direction": "Liability in\/out",
"liability_direction": "Passivo entrada\/sa\u00edda",
"book_date": "Data reserva",
"permDeleteWarning": "Exclus\u00e3o de dados do Firefly III s\u00e3o permanentes e n\u00e3o podem ser desfeitos.",
"account_areYouSure_js": "Tem certeza que deseja excluir a conta \"{name}\"?",

View File

@@ -142,7 +142,7 @@
},
"config": {
"html_language": "pt",
"week_in_year_fns": "'Semana' I, yyyy",
"week_in_year_fns": "'Semana' w, yyyy",
"quarter_fns": "'Trimestre' Q, yyyy",
"half_year_fns": "'H{half}', yyyy"
},

View File

@@ -3,49 +3,49 @@
"Transfer": "Transfer",
"Withdrawal": "Retragere",
"Deposit": "Depozit",
"date_and_time": "Date and time",
"date_and_time": "Data \u0219i ora",
"no_currency": "(nici o moned\u0103)",
"date": "Dat\u0103",
"time": "Time",
"time": "Timp",
"no_budget": "(nici un buget)",
"destination_account": "Contul de destina\u021bie",
"source_account": "Contul surs\u0103",
"single_split": "\u00cemparte",
"create_new_transaction": "Create a new transaction",
"create_new_transaction": "Crea\u021bi o tranzac\u021bie nou\u0103",
"balance": "Balant\u0103",
"transaction_journal_extra": "Extra information",
"transaction_journal_extra": "Informa\u021bii suplimentare",
"transaction_journal_meta": "Informa\u021bii meta",
"basic_journal_information": "Basic transaction information",
"basic_journal_information": "Informa\u021bii de baz\u0103 despre tranzac\u021bie",
"bills_to_pay": "Facturile de plat\u0103",
"left_to_spend": "Ramas de cheltuit",
"attachments": "Ata\u0219amente",
"net_worth": "Valoarea net\u0103",
"bill": "Factur\u0103",
"no_bill": "(no bill)",
"no_bill": "(f\u0103r\u0103 factur\u0103)",
"tags": "Etichete",
"internal_reference": "Internal reference",
"external_url": "External URL",
"internal_reference": "Referin\u021b\u0103 intern\u0103",
"external_url": "URL extern",
"no_piggy_bank": "(nicio pu\u0219culi\u021b\u0103)",
"paid": "Pl\u0103tit",
"notes": "Noti\u021be",
"yourAccounts": "Conturile dvs.",
"go_to_asset_accounts": "Vizualiza\u021bi conturile de active",
"delete_account": "\u0218terge account",
"transaction_table_description": "A table containing your transactions",
"transaction_table_description": "Un tabel care con\u021bine tranzac\u021biile tale",
"account": "Cont",
"description": "Descriere",
"amount": "Sum\u0103",
"budget": "Buget",
"category": "Categorie",
"opposing_account": "Opposing account",
"opposing_account": "Cont opus",
"budgets": "Buget",
"categories": "Categorii",
"go_to_budgets": "Mergi la bugete",
"income": "Venituri",
"go_to_deposits": "Go to deposits",
"go_to_deposits": "Du-te la depozite",
"go_to_categories": "Mergi la categorii",
"expense_accounts": "Conturi de cheltuieli",
"go_to_expenses": "Go to expenses",
"go_to_expenses": "Mergi la cheltuieli",
"go_to_bills": "Mergi la facturi",
"bills": "Facturi",
"last_thirty_days": "Ultimele 30 de zile",
@@ -54,7 +54,7 @@
"saved": "Salvat",
"piggy_banks": "Pu\u0219culi\u021b\u0103",
"piggy_bank": "Pu\u0219culi\u021b\u0103",
"amounts": "Amounts",
"amounts": "Sume",
"left": "R\u0103mas",
"spent": "Cheltuit",
"Default asset account": "Cont de active implicit",
@@ -67,50 +67,50 @@
"clear_location": "\u0218terge\u021bi loca\u021bia",
"account_role_ccAsset": "Card de credit",
"account_role_cashWalletAsset": "Cash - Numerar",
"daily_budgets": "Daily budgets",
"weekly_budgets": "Weekly budgets",
"monthly_budgets": "Monthly budgets",
"quarterly_budgets": "Quarterly budgets",
"daily_budgets": "Bugete zilnice",
"weekly_budgets": "Bugete s\u0103pt\u0103m\u00e2nale",
"monthly_budgets": "Bugete lunare",
"quarterly_budgets": "Bugete trimestriale",
"create_new_expense": "Crea\u021bi un nou cont de cheltuieli",
"create_new_revenue": "Crea\u021bi un nou cont de venituri",
"create_new_liabilities": "Create new liability",
"half_year_budgets": "Half-yearly budgets",
"yearly_budgets": "Yearly budgets",
"create_new_liabilities": "Creare provizion nou",
"half_year_budgets": "Bugete semestriale",
"yearly_budgets": "Bugete anuale",
"split_transaction_title": "Descrierea tranzac\u021biei divizate",
"errors_submission": "There was something wrong with your submission. Please check out the errors.",
"errors_submission": "A fost ceva \u00een neregul\u0103 cu depunerea ta. Te rug\u0103m s\u0103 verifici erorile.",
"flash_error": "Eroare!",
"store_transaction": "Store transaction",
"store_transaction": "Tranzac\u021bie magazin",
"flash_success": "Succes!",
"create_another": "Dup\u0103 stocare, reveni\u021bi aici pentru a crea alta.",
"update_transaction": "Actualiza\u021bi tranzac\u021bia",
"after_update_create_another": "Dup\u0103 actualizare, reveni\u021bi aici pentru a continua editarea.",
"transaction_updated_no_changes": "<a href=\"transactions\/show\/{ID}\">Transaction #{ID}<\/a> (\"{title}\") did not receive any changes.",
"transaction_updated_link": "<a href=\"transactions\/show\/{ID}\">Transaction #{ID}<\/a> (\"{title}\") has been updated.",
"spent_x_of_y": "Spent {amount} of {total}",
"transaction_updated_no_changes": "<a href=\"transactions\/show\/{ID}\">Tranzac\u021bia #{ID}<\/a> (\"{title}\") nu a primit nicio modificare.",
"transaction_updated_link": "<a href=\"transactions\/show\/{ID}\">Tranzac\u021bia #{ID}<\/a> (\"{title}\") a fost actualizat\u0103.",
"spent_x_of_y": "Cheltuit {amount} din {total}",
"search": "Caut\u0103",
"create_new_asset": "Crea\u021bi un nou cont de active",
"asset_accounts": "Conturile de active",
"reset_after": "Reseta\u021bi formularul dup\u0103 trimitere",
"bill_paid_on": "Paid on {date}",
"first_split_decides": "The first split determines the value of this field",
"first_split_overrules_source": "The first split may overrule the source account",
"first_split_overrules_destination": "The first split may overrule the destination account",
"bill_paid_on": "Pl\u0103tit pe {date}",
"first_split_decides": "Prima \u00eemp\u0103r\u021bire determin\u0103 valoarea acestui c\u00e2mp",
"first_split_overrules_source": "Prima \u00eemp\u0103r\u021bire poate suprascrie contul surs\u0103",
"first_split_overrules_destination": "Prima \u00eemp\u0103r\u021bire poate suprascrie contul de destina\u021bie",
"transaction_stored_link": "<a href=\"transactions\/show\/{ID}\">Tranzac\u021bia #{ID} (\"{title}\")<\/a> a fost stocat\u0103.",
"custom_period": "Custom period",
"reset_to_current": "Reset to current period",
"select_period": "Select a period",
"custom_period": "Perioad\u0103 personalizat\u0103",
"reset_to_current": "Resetare la perioada curent\u0103",
"select_period": "Selecta\u021bi o perioad\u0103",
"location": "Loca\u021bie",
"other_budgets": "Custom timed budgets",
"other_budgets": "Bugete personalizate temporale",
"journal_links": "Link-uri de tranzac\u021bii",
"go_to_withdrawals": "Go to your withdrawals",
"go_to_withdrawals": "Mergi la retragerile tale",
"revenue_accounts": "Conturi de venituri",
"add_another_split": "Ad\u0103uga\u021bi o divizare",
"actions": "Ac\u021biuni",
"edit": "Editeaz\u0103",
"account_type_Loan": "\u00cemprumut",
"account_type_Mortgage": "Credit ipotecar",
"timezone_difference": "Your browser reports time zone \"{local}\". Firefly III is configured for time zone \"{system}\". This chart may drift.",
"stored_new_account_js": "New account \"<a href=\"accounts\/show\/{ID}\">{name}<\/a>\" stored!",
"timezone_difference": "Browser-ul raporteaz\u0103 fusul orar \"{local}\". Firefly III este configurat pentru fusul orar \"{system}\". Acest grafic poate s\u0103 dispar\u0103.",
"stored_new_account_js": "Cont nou \"<a href=\"accounts\/show\/{ID}\">{name}<\/a>\" stocat!",
"account_type_Debt": "Datorie",
"delete": "\u0218terge",
"store_new_asset_account": "Salva\u021bi un nou cont de active",
@@ -120,14 +120,14 @@
"mandatoryFields": "C\u00e2mpuri obligatorii",
"optionalFields": "C\u00e2mpuri op\u021bionale",
"reconcile_this_account": "Reconcilia\u021bi acest cont",
"interest_calc_weekly": "Per week",
"interest_calc_weekly": "Pe s\u0103pt\u0103m\u00e2n\u0103",
"interest_calc_monthly": "Pe lun\u0103",
"interest_calc_quarterly": "Per quarter",
"interest_calc_half-year": "Per half year",
"interest_calc_quarterly": "Pe trimestru",
"interest_calc_half-year": "Pe jum\u0103tate de an",
"interest_calc_yearly": "Pe an",
"liability_direction_credit": "I am owed this debt",
"liability_direction_debit": "I owe this debt to somebody else",
"save_transactions_by_moving_js": "No transactions|Save this transaction by moving it to another account. |Save these transactions by moving them to another account.",
"liability_direction_credit": "Sunt datorat acestei datorii",
"liability_direction_debit": "Dator\u0103m aceast\u0103 datorie altcuiva",
"save_transactions_by_moving_js": "F\u0103r\u0103 tranzac\u021bii* Salva\u021bi aceast\u0103 tranzac\u021bie mut\u00e2nd-o \u00een alt cont. | Salva\u021bi aceste tranzac\u021bii mut\u00e2ndu-le \u00eentr-un alt cont.",
"none_in_select_list": "(nici unul)"
},
"list": {
@@ -142,9 +142,9 @@
},
"config": {
"html_language": "ro",
"week_in_year_fns": "'Week' I, yyyy",
"week_in_year_fns": "'S\u0103pt\u0103m\u00e2n\u0103' w, yyyy",
"quarter_fns": "'Q'Q, yyyy",
"half_year_fns": "'H{half}', yyyy"
"half_year_fns": "'H{half}', yyy"
},
"form": {
"foreign_amount": "Sum\u0103 str\u0103in\u0103",
@@ -166,14 +166,14 @@
"interest": "Interes",
"interest_period": "Perioad\u0103 de interes",
"currency_id": "Moned\u0103",
"liability_type": "Liability type",
"liability_type": "Tipul de provizion",
"account_role": "Rolul contului",
"liability_direction": "Liability in\/out",
"liability_direction": "R\u0103spundere \u00een\/afar\u0103",
"book_date": "Rezerv\u0103 dat\u0103",
"permDeleteWarning": "\u0218tergerea este permanent\u0103 \u0219i nu poate fi anulat\u0103.",
"account_areYouSure_js": "Are you sure you want to delete the account named \"{name}\"?",
"also_delete_piggyBanks_js": "No piggy banks|The only piggy bank connected to this account will be deleted as well.|All {count} piggy banks connected to this account will be deleted as well.",
"also_delete_transactions_js": "No transactions|The only transaction connected to this account will be deleted as well.|All {count} transactions connected to this account will be deleted as well.",
"account_areYouSure_js": "Sunte\u0163i sigur c\u0103 dori\u0163i s\u0103 \u015fterge\u0163i contul numit \"{name}\"?",
"also_delete_piggyBanks_js": "Nici o pu\u0219culi\u021b\u0103 | Singura pu\u0219culi\u021b\u0103 conectat\u0103 la acest cont va fi de asemenea \u0219tears\u0103. Toate cele {count} pu\u0219culi\u021be conectate la acest cont vor fi \u0219terse, de asemenea.",
"also_delete_transactions_js": "Nicio tranzac\u021bie | Singura tranzac\u021bie conectat\u0103 la acest cont va fi de asemenea \u0219tears\u0103. | Toate cele {count} tranzac\u021bii conectate la acest cont vor fi \u0219terse, de asemenea.",
"process_date": "Data proces\u0103rii",
"due_date": "Data scadent\u0103",
"payment_date": "Data de plat\u0103",

View File

@@ -142,7 +142,7 @@
},
"config": {
"html_language": "ru",
"week_in_year_fns": "'Week' I, yyyy",
"week_in_year_fns": "'Week' w, yyyy",
"quarter_fns": "'Q'Q, yyyy",
"half_year_fns": "'H{half}', yyyy"
},

View File

@@ -59,7 +59,7 @@
"spent": "Utraten\u00e9",
"Default asset account": "Prednastaven\u00fd \u00fa\u010det akt\u00edv",
"search_results": "V\u00fdsledky vyh\u013ead\u00e1vania",
"include": "Include?",
"include": "Zahrn\u00fa\u0165?",
"transaction": "Transakcia",
"account_role_defaultAsset": "Predvolen\u00fd \u00fa\u010det akt\u00edv",
"account_role_savingAsset": "\u0160etriaci \u00fa\u010det",
@@ -73,7 +73,7 @@
"quarterly_budgets": "\u0160tvr\u0165ro\u010dn\u00e9 rozpo\u010dty",
"create_new_expense": "Vytvori\u0165 v\u00fddavko\u00fd \u00fa\u010det",
"create_new_revenue": "Vytvori\u0165 nov\u00fd pr\u00edjmov\u00fd \u00fa\u010det",
"create_new_liabilities": "Create new liability",
"create_new_liabilities": "Vytvori\u0165 nov\u00fd z\u00e1v\u00e4zok",
"half_year_budgets": "Polro\u010dn\u00e9 rozpo\u010dty",
"yearly_budgets": "Ro\u010dn\u00e9 rozpo\u010dty",
"split_transaction_title": "Popis roz\u00fa\u010dtovania",
@@ -84,17 +84,17 @@
"create_another": "Po ulo\u017een\u00ed sa vr\u00e1ti\u0165 sp\u00e4\u0165 sem a vytvori\u0165 \u010fal\u0161\u00ed.",
"update_transaction": "Upravi\u0165 transakciu",
"after_update_create_another": "Po aktualiz\u00e1cii sa vr\u00e1ti\u0165 sp\u00e4\u0165 a pokra\u010dova\u0165 v \u00faprav\u00e1ch.",
"transaction_updated_no_changes": "<a href=\"transactions\/show\/{ID}\">Transaction #{ID}<\/a> (\"{title}\") did not receive any changes.",
"transaction_updated_link": "<a href=\"transactions\/show\/{ID}\">Transaction #{ID}<\/a> (\"{title}\") has been updated.",
"spent_x_of_y": "Spent {amount} of {total}",
"transaction_updated_no_changes": "<a href=\"transactions\/show\/{ID}\">Transakcia #{ID}<\/a> (\"{title}\") sa nezmenila.",
"transaction_updated_link": "<a href=\"transactions\/show\/{ID}\">Transakcia #{ID}<\/a> (\"{title}\") bola upraven\u00e1.",
"spent_x_of_y": "Utraten\u00e9 {amount} z {total}",
"search": "H\u013eada\u0165",
"create_new_asset": "Vytvori\u0165 nov\u00fd \u00fa\u010det akt\u00edv",
"asset_accounts": "\u00da\u010dty akt\u00edv",
"reset_after": "Po odoslan\u00ed vynulova\u0165 formul\u00e1r",
"bill_paid_on": "Uhraden\u00e9 {date}",
"first_split_decides": "The first split determines the value of this field",
"first_split_overrules_source": "The first split may overrule the source account",
"first_split_overrules_destination": "The first split may overrule the destination account",
"first_split_decides": "Hodnotu tohto atrib\u00fatu ur\u010duje prv\u00e9 rozdelenie",
"first_split_overrules_source": "Prv\u00e9 rozdelenie m\u00f4\u017ee pozmeni\u0165 zdrojov\u00fd \u00fa\u010det",
"first_split_overrules_destination": "Prv\u00e9 rozdelenie m\u00f4\u017ee pozmeni\u0165 cie\u013eov\u00fd \u00fa\u010det",
"transaction_stored_link": "<a href=\"transactions\/show\/{ID}\">Transakcia #{ID} (\"{title}\")<\/a> bola ulo\u017een\u00e1.",
"custom_period": "Vlastn\u00e9 obdobie",
"reset_to_current": "Obnovi\u0165 na aktu\u00e1lne obdobie",
@@ -109,8 +109,8 @@
"edit": "Upravi\u0165",
"account_type_Loan": "P\u00f4\u017ei\u010dka",
"account_type_Mortgage": "Hypot\u00e9ka",
"timezone_difference": "Your browser reports time zone \"{local}\". Firefly III is configured for time zone \"{system}\". This chart may drift.",
"stored_new_account_js": "New account \"<a href=\"accounts\/show\/{ID}\">{name}<\/a>\" stored!",
"timezone_difference": "V\u00e1\u0161 prehliada\u010d je nastaven\u00fd na \u010dasov\u00fa z\u00f3nu \"{local}\". Firefly III je nakonfigurovan\u00fd na z\u00f3nu \"{system}\". Zobrazenie \u00fadajov v grafe m\u00f4\u017ee by\u0165 posunut\u00e9.",
"stored_new_account_js": "Nov\u00fd \u00fa\u010det \"<a href=\"accounts\/show\/{ID}\">{name}<\/a>\" vytvoren\u00fd!",
"account_type_Debt": "Dlh",
"delete": "Odstr\u00e1ni\u0165",
"store_new_asset_account": "Ulo\u017ei\u0165 nov\u00fd \u00fa\u010det akt\u00edv",
@@ -120,14 +120,14 @@
"mandatoryFields": "Povinn\u00e9 \u00fadaje",
"optionalFields": "Volite\u013en\u00e9 \u00fadaje",
"reconcile_this_account": "Vy\u00fa\u010dtovat tento \u00fa\u010det",
"interest_calc_weekly": "Per week",
"interest_calc_weekly": "Za t\u00fd\u017ede\u0148",
"interest_calc_monthly": "Za mesiac",
"interest_calc_quarterly": "Per quarter",
"interest_calc_half-year": "Per half year",
"interest_calc_quarterly": "Za \u0161tvr\u0165rok",
"interest_calc_half-year": "Za polrok",
"interest_calc_yearly": "Za rok",
"liability_direction_credit": "I am owed this debt",
"liability_direction_debit": "I owe this debt to somebody else",
"save_transactions_by_moving_js": "No transactions|Save this transaction by moving it to another account. |Save these transactions by moving them to another account.",
"liability_direction_credit": "T\u00fato sumu mi dl\u017eia",
"liability_direction_debit": "Tento dlh m\u00e1m vo\u010di niekomu in\u00e9mu",
"save_transactions_by_moving_js": "\u017diadne transakcie|Zachova\u0165 t\u00fato transakciu presunom pod in\u00fd \u00fa\u010det.|Zachova\u0165 tieto transakcie presunom pod in\u00fd \u00fa\u010det.",
"none_in_select_list": "(\u017eiadne)"
},
"list": {
@@ -142,9 +142,9 @@
},
"config": {
"html_language": "sk",
"week_in_year_fns": "'Week' I, yyyy",
"quarter_fns": "'Q'Q, yyyy",
"half_year_fns": "'H{half}', yyyy"
"week_in_year_fns": "'T\u00fd\u017ede\u0148' tt, rrrr",
"quarter_fns": "'Q'Q, rrrr",
"half_year_fns": "'H{half}', rrrr"
},
"form": {
"foreign_amount": "Suma v cudzej mene",
@@ -166,14 +166,14 @@
"interest": "\u00darok",
"interest_period": "\u00darokov\u00e9 obdobie",
"currency_id": "Mena",
"liability_type": "Liability type",
"liability_type": "Typ z\u00e1v\u00e4zku",
"account_role": "Rola \u00fa\u010dtu",
"liability_direction": "Liability in\/out",
"liability_direction": "Z\u00e1v\u00e4zky pr\u00edjem\/v\u00fddaj",
"book_date": "D\u00e1tum rezerv\u00e1cie",
"permDeleteWarning": "Odstr\u00e1nenie \u00fadajov z Firefly III je trval\u00e9 a nie je mo\u017en\u00e9 ich vr\u00e1ti\u0165 sp\u00e4\u0165.",
"account_areYouSure_js": "Are you sure you want to delete the account named \"{name}\"?",
"also_delete_piggyBanks_js": "No piggy banks|The only piggy bank connected to this account will be deleted as well.|All {count} piggy banks connected to this account will be deleted as well.",
"also_delete_transactions_js": "No transactions|The only transaction connected to this account will be deleted as well.|All {count} transactions connected to this account will be deleted as well.",
"account_areYouSure_js": "Skuto\u010dne chcete odstr\u00e1ni\u0165 \u00fa\u010det s n\u00e1zvom \"{name}\"?",
"also_delete_piggyBanks_js": "\u017diadne prasiatko|Odstr\u00e1ni sa tie\u017e jedin\u00e9 prasiatko prepojen\u00e9 s t\u00fdmto \u00fa\u010dtom.|Odstr\u00e1ni sa tie\u017e {count} prasiatok prepojen\u00fdch s t\u00fdmto \u00fa\u010dtom.",
"also_delete_transactions_js": "\u017diadne transakcie|Odstr\u00e1ni sa aj jedin\u00e1 transakcia spojen\u00e1 s t\u00fdmto \u00fa\u010dtom.|Odstr\u00e1ni sa tie\u017e {count} transakci\u00ed spojen\u00fdch s t\u00fdmto \u00fa\u010dtom.",
"process_date": "D\u00e1tum spracovania",
"due_date": "D\u00e1tum splatnosti",
"payment_date": "D\u00e1tum \u00fahrady",

View File

@@ -142,8 +142,8 @@
},
"config": {
"html_language": "sv",
"week_in_year_fns": "'Week' I, yyyy",
"quarter_fns": "'Q'Q, yyyy",
"week_in_year_fns": "'Vecka' w, yyyy",
"quarter_fns": "'kvartal'Q, yyyy",
"half_year_fns": "'H{half}', yyyy"
},
"form": {

View File

@@ -142,7 +142,7 @@
},
"config": {
"html_language": "vi",
"week_in_year_fns": "'Week' I, yyyy",
"week_in_year_fns": "'Week' w, yyyy",
"quarter_fns": "'Q'Q, yyyy",
"half_year_fns": "'H{half}', yyyy"
},

View File

@@ -142,7 +142,7 @@
},
"config": {
"html_language": "zh-cn",
"week_in_year_fns": "'Week' I, yyyy",
"week_in_year_fns": "'\u5468' w\uff0cyyyy",
"quarter_fns": "'Q'Q, yyyy",
"half_year_fns": "'H{half}', yyyy"
},

View File

@@ -142,7 +142,7 @@
},
"config": {
"html_language": "zh-tw",
"week_in_year_fns": "'Week' I, yyyy",
"week_in_year_fns": "'Week' w, yyyy",
"quarter_fns": "'Q'Q, yyyy",
"half_year_fns": "'H{half}', yyyy"
},

View File

@@ -9,25 +9,25 @@
dependencies:
"@babel/highlight" "^7.12.13"
"@babel/compat-data@^7.13.11", "@babel/compat-data@^7.13.12", "@babel/compat-data@^7.13.15", "@babel/compat-data@^7.13.8":
"@babel/compat-data@^7.13.11", "@babel/compat-data@^7.13.15", "@babel/compat-data@^7.13.8":
version "7.13.15"
resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.13.15.tgz#7e8eea42d0b64fda2b375b22d06c605222e848f4"
integrity sha512-ltnibHKR1VnrU4ymHyQ/CXtNXI6yZC0oJThyW78Hft8XndANwi+9H+UIklBDraIjFEJzw8wmcM427oDd9KS5wA==
"@babel/core@^7.12.3":
version "7.13.15"
resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.13.15.tgz#a6d40917df027487b54312202a06812c4f7792d0"
integrity sha512-6GXmNYeNjS2Uz+uls5jalOemgIhnTMeaXo+yBUA72kC2uX/8VW6XyhVIo2L8/q0goKQA3EVKx0KOQpVKSeWadQ==
version "7.13.16"
resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.13.16.tgz#7756ab24396cc9675f1c3fcd5b79fcce192ea96a"
integrity sha512-sXHpixBiWWFti0AV2Zq7avpTasr6sIAu7Y396c608541qAU2ui4a193m0KSQmfPSKFZLnQ3cvlKDOm3XkuXm3Q==
dependencies:
"@babel/code-frame" "^7.12.13"
"@babel/generator" "^7.13.9"
"@babel/helper-compilation-targets" "^7.13.13"
"@babel/generator" "^7.13.16"
"@babel/helper-compilation-targets" "^7.13.16"
"@babel/helper-module-transforms" "^7.13.14"
"@babel/helpers" "^7.13.10"
"@babel/parser" "^7.13.15"
"@babel/helpers" "^7.13.16"
"@babel/parser" "^7.13.16"
"@babel/template" "^7.12.13"
"@babel/traverse" "^7.13.15"
"@babel/types" "^7.13.14"
"@babel/types" "^7.13.16"
convert-source-map "^1.7.0"
debug "^4.1.0"
gensync "^1.0.0-beta.2"
@@ -35,12 +35,12 @@
semver "^6.3.0"
source-map "^0.5.0"
"@babel/generator@^7.13.9":
version "7.13.9"
resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.13.9.tgz#3a7aa96f9efb8e2be42d38d80e2ceb4c64d8de39"
integrity sha512-mHOOmY0Axl/JCTkxTU6Lf5sWOg/v8nUa+Xkt4zMTftX0wqmb6Sh7J8gvcehBw7q0AhrhAR+FDacKjCZ2X8K+Sw==
"@babel/generator@^7.13.16":
version "7.13.16"
resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.13.16.tgz#0befc287031a201d84cdfc173b46b320ae472d14"
integrity sha512-grBBR75UnKOcUWMp8WoDxNsWCFl//XCK6HWTrBQKTr5SV9f5g0pNOjdyzi/DTBv12S9GnYPInIXQBTky7OXEMg==
dependencies:
"@babel/types" "^7.13.0"
"@babel/types" "^7.13.16"
jsesc "^2.5.1"
source-map "^0.5.0"
@@ -59,12 +59,12 @@
"@babel/helper-explode-assignable-expression" "^7.12.13"
"@babel/types" "^7.12.13"
"@babel/helper-compilation-targets@^7.13.0", "@babel/helper-compilation-targets@^7.13.13", "@babel/helper-compilation-targets@^7.13.8":
version "7.13.13"
resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.13.13.tgz#2b2972a0926474853f41e4adbc69338f520600e5"
integrity sha512-q1kcdHNZehBwD9jYPh3WyXcsFERi39X4I59I3NadciWtNDyZ6x+GboOxncFK0kXlKIv6BJm5acncehXWUjWQMQ==
"@babel/helper-compilation-targets@^7.13.0", "@babel/helper-compilation-targets@^7.13.13", "@babel/helper-compilation-targets@^7.13.16", "@babel/helper-compilation-targets@^7.13.8":
version "7.13.16"
resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.13.16.tgz#6e91dccf15e3f43e5556dffe32d860109887563c"
integrity sha512-3gmkYIrpqsLlieFwjkGgLaSHmhnvlAYzZLlYVjlW+QwI+1zE17kGxuJGmIqDQdYp56XdmGeD+Bswx0UTyG18xA==
dependencies:
"@babel/compat-data" "^7.13.12"
"@babel/compat-data" "^7.13.15"
"@babel/helper-validator-option" "^7.12.17"
browserslist "^4.14.5"
semver "^6.3.0"
@@ -126,12 +126,12 @@
"@babel/types" "^7.12.13"
"@babel/helper-hoist-variables@^7.13.0":
version "7.13.0"
resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.13.0.tgz#5d5882e855b5c5eda91e0cadc26c6e7a2c8593d8"
integrity sha512-0kBzvXiIKfsCA0y6cFEIJf4OdzfpRuNk4+YTeHZpGGc666SATFKTz6sRncwFnQk7/ugJ4dSrCj6iJuvW4Qwr2g==
version "7.13.16"
resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.13.16.tgz#1b1651249e94b51f8f0d33439843e33e39775b30"
integrity sha512-1eMtTrXtrwscjcAeO4BVK+vvkxaLJSPFz1w1KLawz6HLNi9bPFGBNwwDyVfiu1Tv/vRRFYfoGaKhmAQPGPn5Wg==
dependencies:
"@babel/traverse" "^7.13.0"
"@babel/types" "^7.13.0"
"@babel/traverse" "^7.13.15"
"@babel/types" "^7.13.16"
"@babel/helper-member-expression-to-functions@^7.13.0", "@babel/helper-member-expression-to-functions@^7.13.12":
version "7.13.12"
@@ -233,14 +233,14 @@
"@babel/traverse" "^7.13.0"
"@babel/types" "^7.13.0"
"@babel/helpers@^7.13.10":
version "7.13.10"
resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.13.10.tgz#fd8e2ba7488533cdeac45cc158e9ebca5e3c7df8"
integrity sha512-4VO883+MWPDUVRF3PhiLBUFHoX/bsLTGFpFK/HqvvfBZz2D57u9XzPVNFVBTc0PW/CWR9BXTOKt8NF4DInUHcQ==
"@babel/helpers@^7.13.16":
version "7.13.17"
resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.13.17.tgz#b497c7a00e9719d5b613b8982bda6ed3ee94caf6"
integrity sha512-Eal4Gce4kGijo1/TGJdqp3WuhllaMLSrW6XcL0ulyUAQOuxHcCafZE8KHg9857gcTehsm/v7RcOx2+jp0Ryjsg==
dependencies:
"@babel/template" "^7.12.13"
"@babel/traverse" "^7.13.0"
"@babel/types" "^7.13.0"
"@babel/traverse" "^7.13.17"
"@babel/types" "^7.13.17"
"@babel/highlight@^7.12.13":
version "7.13.10"
@@ -251,10 +251,10 @@
chalk "^2.0.0"
js-tokens "^4.0.0"
"@babel/parser@^7.1.0", "@babel/parser@^7.12.13", "@babel/parser@^7.13.15":
version "7.13.15"
resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.13.15.tgz#8e66775fb523599acb6a289e12929fa5ab0954d8"
integrity sha512-b9COtcAlVEQljy/9fbcMHpG+UIW9ReF+gpaxDHTlZd0c6/UU9ng8zdySAW9sRTzpvcdCHn6bUcbuYUgGzLAWVQ==
"@babel/parser@^7.1.0", "@babel/parser@^7.12.13", "@babel/parser@^7.13.16":
version "7.13.16"
resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.13.16.tgz#0f18179b0448e6939b1f3f5c4c355a3a9bcdfd37"
integrity sha512-6bAg36mCwuqLO0hbR+z7PHuqWiCeP7Dzg73OpQwsAB1Eb8HnGEz5xYBzCfbu+YjoaJsJs+qheDxVAuqbt3ILEw==
"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@^7.13.12":
version "7.13.12"
@@ -482,11 +482,11 @@
"@babel/helper-plugin-utils" "^7.12.13"
"@babel/plugin-transform-block-scoping@^7.12.13":
version "7.12.13"
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.12.13.tgz#f36e55076d06f41dfd78557ea039c1b581642e61"
integrity sha512-Pxwe0iqWJX4fOOM2kEZeUuAxHMWb9nK+9oh5d11bsLoB0xMg+mkDpt0eYuDZB7ETrY9bbcVlKUGTOGWy7BHsMQ==
version "7.13.16"
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.13.16.tgz#a9c0f10794855c63b1d629914c7dcfeddd185892"
integrity sha512-ad3PHUxGnfWF4Efd3qFuznEtZKoBp0spS+DgqzVzRPV7urEBvPLue3y2j80w4Jf2YLzZHj8TOv/Lmvdmh3b2xg==
dependencies:
"@babel/helper-plugin-utils" "^7.12.13"
"@babel/helper-plugin-utils" "^7.13.0"
"@babel/plugin-transform-classes@^7.13.0":
version "7.13.0"
@@ -509,9 +509,9 @@
"@babel/helper-plugin-utils" "^7.13.0"
"@babel/plugin-transform-destructuring@^7.13.0":
version "7.13.0"
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.13.0.tgz#c5dce270014d4e1ebb1d806116694c12b7028963"
integrity sha512-zym5em7tePoNT9s964c0/KU3JPPnuq7VhIxPRefJ4/s82cD+q1mgKfuGRDMCPL0HTyKz4dISuQlCusfgCJ86HA==
version "7.13.17"
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.13.17.tgz#678d96576638c19d5b36b332504d3fd6e06dea27"
integrity sha512-UAUqiLv+uRLO+xuBKKMEpC+t7YRNVRqBsWWq1yKXbBZBje/t3IXCiSinZhjn/DC3qzBfICeYd2EFGEbHsh5RLA==
dependencies:
"@babel/helper-plugin-utils" "^7.13.0"
@@ -805,9 +805,9 @@
esutils "^2.0.2"
"@babel/runtime@^7.12.1", "@babel/runtime@^7.8.4":
version "7.13.10"
resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.13.10.tgz#47d42a57b6095f4468da440388fdbad8bebf0d7d"
integrity sha512-4QPkjJq6Ns3V/RgpEahRk+AGfL0eO6RHHtTWoNNr5mO49G6B5+X6d6THgWEAvTrznU5xYpbAlVKRYcsCgh/Akw==
version "7.13.17"
resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.13.17.tgz#8966d1fc9593bf848602f0662d6b4d0069e3a7ec"
integrity sha512-NCdgJEelPTSh+FEFylhnP1ylq848l1z9t9N0j1Lfbcw0+KXGjsTvUmkxy+voLLXB5SOKMbLLx4jxYliGrYQseA==
dependencies:
regenerator-runtime "^0.13.4"
@@ -820,27 +820,26 @@
"@babel/parser" "^7.12.13"
"@babel/types" "^7.12.13"
"@babel/traverse@^7.13.0", "@babel/traverse@^7.13.13", "@babel/traverse@^7.13.15":
version "7.13.15"
resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.13.15.tgz#c38bf7679334ddd4028e8e1f7b3aa5019f0dada7"
integrity sha512-/mpZMNvj6bce59Qzl09fHEs8Bt8NnpEDQYleHUPZQ3wXUMvXi+HJPLars68oAbmp839fGoOkv2pSL2z9ajCIaQ==
"@babel/traverse@^7.13.0", "@babel/traverse@^7.13.13", "@babel/traverse@^7.13.15", "@babel/traverse@^7.13.17":
version "7.13.17"
resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.13.17.tgz#c85415e0c7d50ac053d758baec98b28b2ecfeea3"
integrity sha512-BMnZn0R+X6ayqm3C3To7o1j7Q020gWdqdyP50KEoVqaCO2c/Im7sYZSmVgvefp8TTMQ+9CtwuBp0Z1CZ8V3Pvg==
dependencies:
"@babel/code-frame" "^7.12.13"
"@babel/generator" "^7.13.9"
"@babel/generator" "^7.13.16"
"@babel/helper-function-name" "^7.12.13"
"@babel/helper-split-export-declaration" "^7.12.13"
"@babel/parser" "^7.13.15"
"@babel/types" "^7.13.14"
"@babel/parser" "^7.13.16"
"@babel/types" "^7.13.17"
debug "^4.1.0"
globals "^11.1.0"
"@babel/types@^7.0.0", "@babel/types@^7.12.1", "@babel/types@^7.12.13", "@babel/types@^7.13.0", "@babel/types@^7.13.12", "@babel/types@^7.13.14", "@babel/types@^7.3.0", "@babel/types@^7.4.4":
version "7.13.14"
resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.13.14.tgz#c35a4abb15c7cd45a2746d78ab328e362cbace0d"
integrity sha512-A2aa3QTkWoyqsZZFl56MLUsfmh7O0gN41IPvXAE/++8ojpbz12SszD7JEGYVdn4f9Kt4amIei07swF1h4AqmmQ==
"@babel/types@^7.0.0", "@babel/types@^7.12.1", "@babel/types@^7.12.13", "@babel/types@^7.13.0", "@babel/types@^7.13.12", "@babel/types@^7.13.14", "@babel/types@^7.13.16", "@babel/types@^7.13.17", "@babel/types@^7.3.0", "@babel/types@^7.4.4":
version "7.13.17"
resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.13.17.tgz#48010a115c9fba7588b4437dd68c9469012b38b4"
integrity sha512-RawydLgxbOPDlTLJNtoIypwdmAy//uQIzlKt2+iBiJaRlVuI6QLUxVAyWGNfOzp8Yu4L4lLIacoCyTNtpb4wiA==
dependencies:
"@babel/helper-validator-identifier" "^7.12.11"
lodash "^4.17.19"
to-fast-properties "^2.0.0"
"@discoveryjs/json-ext@^0.5.0":
@@ -889,9 +888,9 @@
node-fetch "^2.6.1"
"@sweetalert2/theme-bootstrap-4@^4.0.3":
version "4.0.3"
resolved "https://registry.yarnpkg.com/@sweetalert2/theme-bootstrap-4/-/theme-bootstrap-4-4.0.3.tgz#7a9e7a99f5ecfb353e4ba9a16de918736162370c"
integrity sha512-jP8cpQy4cGjlGPkEK8KF/owF00BRz5vvEdi5VrpTsiMjdkte85a1EZ/azPsX9HQrMAZ2qAmIsleV8UDcl8R2YQ==
version "4.0.5"
resolved "https://registry.yarnpkg.com/@sweetalert2/theme-bootstrap-4/-/theme-bootstrap-4-4.0.5.tgz#488eac0a85e7601a42dc8b1d95ec8fc73ff330aa"
integrity sha512-pe5mQ98sgrphNVq6Xe5BsWxsfI1Z8zT9C2oux6+4B6Qt30qYo58Q+bnzRs8pV95O9/URt/QJZyl+R8SabMeW6g==
"@ttskch/select2-bootstrap4-theme@^1.5.2":
version "1.5.2"
@@ -972,16 +971,11 @@
"@types/estree" "*"
"@types/json-schema" "*"
"@types/estree@*":
"@types/estree@*", "@types/estree@^0.0.47":
version "0.0.47"
resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.47.tgz#d7a51db20f0650efec24cd04994f523d93172ed4"
integrity sha512-c5ciR06jK8u9BstrmJyO97m+klJrrhCf9u3rLu3DEAJBirxRqSCvDQoYKmxuYwQI5SZChAWu+tq9oVlGRuzPAg==
"@types/estree@^0.0.46":
version "0.0.46"
resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.46.tgz#0fb6bfbbeabd7a30880504993369c4bf1deab1fe"
integrity sha512-laIjwTQaD+5DukBZaygQ79K1Z0jb1bPEMRrkXSLjtCcZm+abyp5YbrqpSLzD42FwWW6gK/aS4NYpJ804nG2brg==
"@types/glob@^7.1.1":
version "7.1.3"
resolved "https://registry.yarnpkg.com/@types/glob/-/glob-7.1.3.tgz#e6ba80f36b7daad2c685acd9266382e68985c183"
@@ -1285,9 +1279,9 @@ acorn@^7.0.0:
integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==
acorn@^8.0.4:
version "8.1.1"
resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.1.1.tgz#fb0026885b9ac9f48bac1e185e4af472971149ff"
integrity sha512-xYiIVjNuqtKXMxlRMDc6mZUhXehod4a3gbZ1qRlM7icK4EbxUFNLhWoPblCvFtB2Y9CIqHP3CF/rdxLItaQv8g==
version "8.2.1"
resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.2.1.tgz#0d36af126fb6755095879c1dc6fd7edf7d60a5fb"
integrity sha512-z716cpm5TX4uzOzILx8PavOE6C6DKshHDw1aQN52M/yNSqE9s5O8SMfyhCCfCJ3HmTL0NkVOi+8a/55T7YB3bg==
adjust-sourcemap-loader@3.0.0:
version "3.0.0"
@@ -1732,12 +1726,12 @@ boolbase@^1.0.0, boolbase@~1.0.0:
integrity sha1-aN/1++YMUes3cl6p4+0xDcwed24=
bootstrap-colorpicker@^3.2.0:
version "3.2.0"
resolved "https://registry.yarnpkg.com/bootstrap-colorpicker/-/bootstrap-colorpicker-3.2.0.tgz#42b053b865a866b2674527813cd59f90137b9704"
integrity sha512-twW93EFLf4MzZ/st+MkfdLCWEEA7r43WPlPnGckzm3Lj2FsbmVS/qgJH2c9IcmO3re5Q1320NO9bhuViwHR9Qw==
version "3.3.0"
resolved "https://registry.yarnpkg.com/bootstrap-colorpicker/-/bootstrap-colorpicker-3.3.0.tgz#6256e315db118c072e9e0148b9b48910fa775ec5"
integrity sha512-i8WE7bzU3dGfNHVe9/wGEV+vXEWokJkpWWSXsD34h/oxpAD4LHsAcVWC01g8cSF1/etXtyTKPA5er7c6hcSVSA==
dependencies:
bootstrap ">=4.0"
jquery ">=2.1.0"
jquery ">=2.2"
popper.js ">=1.10"
bootstrap-slider@^11.0.2:
@@ -1901,14 +1895,14 @@ browserify-zlib@^0.2.0:
dependencies:
pako "~1.0.5"
browserslist@^4.0.0, browserslist@^4.14.5, browserslist@^4.16.3:
version "4.16.4"
resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.16.4.tgz#7ebf913487f40caf4637b892b268069951c35d58"
integrity sha512-d7rCxYV8I9kj41RH8UKYnvDYCRENUlHRgyXy/Rhr/1BaeLGfiCptEdFE8MIrvGfWbBFNjVYx76SQWvNX1j+/cQ==
browserslist@^4.0.0, browserslist@^4.14.5, browserslist@^4.16.3, browserslist@^4.16.4:
version "4.16.5"
resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.16.5.tgz#952825440bca8913c62d0021334cbe928ef062ae"
integrity sha512-C2HAjrM1AI/djrpAUU/tr4pml1DqLIzJKSLDBXBrNErl9ZCCTXdhwxdJjYc16953+mBWf7Lw+uUJgpgb8cN71A==
dependencies:
caniuse-lite "^1.0.30001208"
caniuse-lite "^1.0.30001214"
colorette "^1.2.2"
electron-to-chromium "^1.3.712"
electron-to-chromium "^1.3.719"
escalade "^3.1.1"
node-releases "^1.1.71"
@@ -2041,10 +2035,10 @@ caniuse-api@^3.0.0:
lodash.memoize "^4.1.2"
lodash.uniq "^4.5.0"
caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001196, caniuse-lite@^1.0.30001208:
version "1.0.30001209"
resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001209.tgz#1bb4be0bd118e98e21cfb7ef617b1ef2164622f4"
integrity sha512-2Ktt4OeRM7EM/JaOZjuLzPYAIqmbwQMNnYbgooT+icoRGrKOyAxA1xhlnotBD1KArRSPsuJp3TdYcZYrL7qNxA==
caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001196, caniuse-lite@^1.0.30001214:
version "1.0.30001214"
resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001214.tgz#70f153c78223515c6d37a9fde6cd69250da9d872"
integrity sha512-O2/SCpuaU3eASWVaesQirZv1MSjUNOvmugaD8zNSJqw6Vv5SGwoOpA9LJs3pNPfM745nxqPvfZY3MQKY4AKHYg==
chalk@^2.0.0, chalk@^2.4.1, chalk@^2.4.2:
version "2.4.2"
@@ -2056,9 +2050,9 @@ chalk@^2.0.0, chalk@^2.4.1, chalk@^2.4.2:
supports-color "^5.3.0"
chalk@^4.1.0:
version "4.1.0"
resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.0.tgz#4e14870a618d9e2edd97dd8345fd9d9dc315646a"
integrity sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==
version "4.1.1"
resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.1.tgz#c80b3fab28bf6371e6863325eee67e618b77e6ad"
integrity sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==
dependencies:
ansi-styles "^4.1.0"
supports-color "^7.1.0"
@@ -2220,9 +2214,9 @@ coa@^2.0.2:
q "^1.1.2"
codemirror@^5.60.0:
version "5.60.0"
resolved "https://registry.yarnpkg.com/codemirror/-/codemirror-5.60.0.tgz#00a8cfd287d5d8737ceb73987f04aee2fe5860da"
integrity sha512-AEL7LhFOlxPlCL8IdTcJDblJm8yrAGib7I+DErJPdZd4l6imx8IMgKK3RblVgBQqz3TZJR4oknQ03bz+uNjBYA==
version "5.61.0"
resolved "https://registry.yarnpkg.com/codemirror/-/codemirror-5.61.0.tgz#318e5b034a707207948b92ffc2862195e8fdb08e"
integrity sha512-D3wYH90tYY1BsKlUe0oNj2JAhQ9TepkD51auk3N7q+4uz7A/cgJ5JsWHreT0PqieW1QhOuqxQ2reCXV1YXzecg==
collect.js@^4.28.4:
version "4.28.6"
@@ -2428,11 +2422,11 @@ copy-descriptor@^0.1.0:
integrity sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=
core-js-compat@^3.9.0, core-js-compat@^3.9.1:
version "3.10.1"
resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.10.1.tgz#62183a3a77ceeffcc420d907a3e6fc67d9b27f1c"
integrity sha512-ZHQTdTPkqvw2CeHiZC970NNJcnwzT6YIueDMASKt+p3WbZsLXOcoD392SkcWhkC0wBBHhlfhqGKKsNCQUozYtg==
version "3.11.0"
resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.11.0.tgz#635683f43480a0b41e3f6be3b1c648dadb8b4390"
integrity sha512-3wsN9YZJohOSDCjVB0GequOyHax8zFiogSX3XWLE28M1Ew7dTU57tgHjIylSBKSIouwmLBp3g61sKMz/q3xEGA==
dependencies:
browserslist "^4.16.3"
browserslist "^4.16.4"
semver "7.0.0"
core-js@^2.4.0:
@@ -2441,9 +2435,9 @@ core-js@^2.4.0:
integrity sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==
core-js@^3.6.5:
version "3.10.1"
resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.10.1.tgz#e683963978b6806dcc6c0a4a8bd4ab0bdaf3f21a"
integrity sha512-pwCxEXnj27XG47mu7SXAwhLP3L5CrlvCB91ANUkIz40P27kUcvNfSdvyZJ9CLHiVoKSp+TTChMQMSKQEH/IQxA==
version "3.11.0"
resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.11.0.tgz#05dac6aa70c0a4ad842261f8957b961d36eb8926"
integrity sha512-bd79DPpx+1Ilh9+30aT5O1sgpQd4Ttg8oqkqi51ZzhedMM1omD2e6IOF48Z/DzDCZ2svp49tN/3vneTK6ZBkXw==
core-util-is@~1.0.0:
version "1.0.2"
@@ -2552,9 +2546,9 @@ css-declaration-sorter@^4.0.1:
timsort "^0.3.0"
css-loader@^5.0.0:
version "5.2.2"
resolved "https://registry.yarnpkg.com/css-loader/-/css-loader-5.2.2.tgz#65f2c1482255f15847ecad6cbc515cae8a5b234e"
integrity sha512-IS722y7Lh2Yq+acMR74tdf3faMOLRP2RfLwS0VzSS7T98IHtacMWJLku3A0OBTFHB07zAa4nWBhA8gfxwQVWGQ==
version "5.2.4"
resolved "https://registry.yarnpkg.com/css-loader/-/css-loader-5.2.4.tgz#e985dcbce339812cb6104ef3670f08f9893a1536"
integrity sha512-OFYGyINCKkdQsTrSYxzGSFnGS4gNjcXkKkQgWxK138jgnPt+lepxdjSZNc8sHAl5vP3DhsJUxufWIjOwI8PMMw==
dependencies:
camelcase "^6.2.0"
icss-utils "^5.1.0"
@@ -2677,7 +2671,7 @@ cssnano-util-same-parent@^4.0.0:
resolved "https://registry.yarnpkg.com/cssnano-util-same-parent/-/cssnano-util-same-parent-4.0.1.tgz#574082fb2859d2db433855835d9a8456ea18bbf3"
integrity sha512-WcKx5OY+KoSIAxBW6UBBRay1U6vkYheCdjyVNDm85zt5K9mHoGOfsOsqIszfAqrQQFIIKgjh2+FDgIj/zsl21Q==
cssnano@^4.1.10:
cssnano@^4.1.11:
version "4.1.11"
resolved "https://registry.yarnpkg.com/cssnano/-/cssnano-4.1.11.tgz#c7b5f5b81da269cb1fd982cb960c1200910c9a99"
integrity sha512-6gZm2htn7xIPJOHY824ERgj8cNPgPxyCSnkXc4v7YvNW+TdVfzgngHcEhy/8D11kUWRUMbke+tC+AUcUsnMz2g==
@@ -3233,10 +3227,10 @@ ekko-lightbox@^5.3.0:
resolved "https://registry.yarnpkg.com/ekko-lightbox/-/ekko-lightbox-5.3.0.tgz#fbfcd9df93a8d1cdbf8770adc8c05aaac4d24f56"
integrity sha512-mbacwySuVD3Ad6F2hTkjSTvJt59bcVv2l/TmBerp4xZnLak8tPtA4AScUn4DL42c1ksTiAO6sGhJZ52P/1Qgew==
electron-to-chromium@^1.3.712:
version "1.3.717"
resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.717.tgz#78d4c857070755fb58ab64bcc173db1d51cbc25f"
integrity sha512-OfzVPIqD1MkJ7fX+yTl2nKyOE4FReeVfMCzzxQS+Kp43hZYwHwThlGP+EGIZRXJsxCM7dqo8Y65NOX/HP12iXQ==
electron-to-chromium@^1.3.719:
version "1.3.720"
resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.720.tgz#f5d66df8754d993006b7b2ded15ff7738c58bd94"
integrity sha512-B6zLTxxaOFP4WZm6DrvgRk8kLFYWNhQ5TrHMC0l5WtkMXhU5UbnvWoTfeEwqOruUSlNMhVLfYak7REX6oC5Yfw==
elliptic@^6.5.3:
version "6.5.4"
@@ -3271,10 +3265,10 @@ encodeurl@~1.0.2:
resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59"
integrity sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=
enhanced-resolve@^5.7.0:
version "5.7.0"
resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.7.0.tgz#525c5d856680fbd5052de453ac83e32049958b5c"
integrity sha512-6njwt/NsZFUKhM6j9U8hzVyD4E4r0x7NQzhTCbcWOJ0IQjNSAoalWmb0AE51Wn+fwan5qVESWi7t2ToBxs9vrw==
enhanced-resolve@^5.8.0:
version "5.8.0"
resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.8.0.tgz#d9deae58f9d3773b6a111a5a46831da5be5c9ac0"
integrity sha512-Sl3KRpJA8OpprrtaIswVki3cWPiPKxXuFxJXBp+zNb6s6VwNWwFRUdtmzd2ReUut8n+sCPx7QCtQ7w5wfJhSgQ==
dependencies:
graceful-fs "^4.2.4"
tapable "^2.2.0"
@@ -4180,9 +4174,9 @@ http-parser-js@>=0.5.1:
integrity sha512-t7hjvef/5HEK7RWTdUzVUhl8zkEu+LlaE0IYzdMuvbSDipxBRpOn4Uhw8ZyECEa808iVT8XCjzo6xmYt4CiLZg==
http-proxy-middleware@^1.1.0:
version "1.1.2"
resolved "https://registry.yarnpkg.com/http-proxy-middleware/-/http-proxy-middleware-1.1.2.tgz#38d062ce4182b2931442efc2d9a0c429cab634f8"
integrity sha512-YRFUeOG3q85FJjAaYVJUoNRW9a73SDlOtAyQOS5PHLr18QeZ/vEhxywNoOPiEO8BxCegz4RXzTHcvyLEGB78UA==
version "1.2.1"
resolved "https://registry.yarnpkg.com/http-proxy-middleware/-/http-proxy-middleware-1.2.1.tgz#cd557a809f56eb98ccb2fdb45593625770ea9c78"
integrity sha512-mxqwEC+IOneTLuYz1B7fmLUmXXkVWfcbiXe8LsCctIX12vxfJU1Uj9HJD/G9MwK4HvgEdgKI8NZySM3uheC2JQ==
dependencies:
"@types/http-proxy" "^1.17.5"
http-proxy "^1.18.1"
@@ -4734,7 +4728,7 @@ jquery-validation@^1.19.3:
resolved "https://registry.yarnpkg.com/jquery-validation/-/jquery-validation-1.19.3.tgz#50b350eba8b02bcfd119ba15f199487b7eb64086"
integrity sha512-iXxCS5W7STthSTMFX/NDZfWHBLbJ1behVK3eAgHXAV8/0vRa9M4tiqHvJMr39VGWHMGdlkhrtrkBuaL2UlE8yw==
jquery@>=1.10, jquery@>=1.12.0, jquery@>=1.7, jquery@>=2.1.0, "jquery@^3.0 || ^2.0 || ^1.0", jquery@^3.4.0, jquery@^3.5.1, jquery@^3.6.0:
jquery@>=1.10, jquery@>=1.12.0, jquery@>=1.7, jquery@>=2.2, "jquery@^3.0 || ^2.0 || ^1.0", jquery@^3.4.0, jquery@^3.5.1, jquery@^3.6.0:
version "3.6.0"
resolved "https://registry.yarnpkg.com/jquery/-/jquery-3.6.0.tgz#c72a09f15c1bdce142f49dbf1170bdf8adac2470"
integrity sha512-JVzAR/AjBvVt2BmYhxRCSYysDsPcssdmTFnzyLEts9qNwmjmu4JTAMYubEfwVOSwpQ1I1sKKFcxhZCI2buerfw==
@@ -4862,9 +4856,9 @@ klona@^2.0.4:
integrity sha512-ZRbnvdg/NxqzC7L9Uyqzf4psi1OM4Cuc+sJAkQPjO6XkQIJTNbfK2Rsmbw8fx1p2mkZdp2FZYo2+LwXYY/uwIA==
laravel-mix@^6.0.6:
version "6.0.16"
resolved "https://registry.yarnpkg.com/laravel-mix/-/laravel-mix-6.0.16.tgz#f0990eb31cb7321cd40125d4dc6f108e9687a196"
integrity sha512-d+u9zG2AsoONT+Z/Vbn73RDkgDJtR0dAH6UoZCNb8ewm+dG2JURYI9oOe8C/w4zKekb1GSIj832LvR2hVrqHGw==
version "6.0.18"
resolved "https://registry.yarnpkg.com/laravel-mix/-/laravel-mix-6.0.18.tgz#ce1ef5053e59a6ad611f787da181e337394e53aa"
integrity sha512-OIyJFvpdyPRS6UWAbECwK1hRvba7VkH2wJIMWY8bButecpd+6Zde4/uKFDs/Up31jzOh8qPxObkamcsGxGq3jg==
dependencies:
"@babel/core" "^7.12.3"
"@babel/plugin-proposal-object-rest-spread" "^7.12.1"
@@ -4890,7 +4884,7 @@ laravel-mix@^6.0.6:
commander "^7.1.0"
concat "^1.0.3"
css-loader "^5.0.0"
cssnano "^4.1.10"
cssnano "^4.1.11"
dotenv "^8.2.0"
dotenv-expand "^5.1.0"
file-loader "^6.1.1"
@@ -4906,6 +4900,7 @@ laravel-mix@^6.0.6:
postcss-load-config "^3.0.0"
postcss-loader "^5.2.0"
semver "^7.3.4"
strip-ansi "^6.0.0"
style-loader "^2.0.0"
terser "^5.3.7"
terser-webpack-plugin "^5.0.0"
@@ -5110,9 +5105,9 @@ media-typer@0.3.0:
integrity sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=
mem@^8.0.0:
version "8.1.0"
resolved "https://registry.yarnpkg.com/mem/-/mem-8.1.0.tgz#445e47827fb757a4e5f35b0a6a62743cbfdc0a0d"
integrity sha512-FIkgXo0kTi3XpvaznV5Muk6Y6w8SkdmRXcY7ZLonQesuYezp59UooLxAVBcGuN6PH2tXN84mR3vyzSc6oSMUfA==
version "8.1.1"
resolved "https://registry.yarnpkg.com/mem/-/mem-8.1.1.tgz#cf118b357c65ab7b7e0817bdf00c8062297c0122"
integrity sha512-qFCFUDs7U3b8mBDPyz5EToEKoAkgCzqquIgi9nkkR9bixxOVOre+09lbuH7+9Kn2NFpm56M3GUWVbU2hQgdACA==
dependencies:
map-age-cleaner "^0.1.3"
mimic-fn "^3.1.0"
@@ -6127,13 +6122,11 @@ postcss-selector-parser@^3.0.0:
uniq "^1.0.1"
postcss-selector-parser@^6.0.2, postcss-selector-parser@^6.0.4:
version "6.0.4"
resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.4.tgz#56075a1380a04604c38b063ea7767a129af5c2b3"
integrity sha512-gjMeXBempyInaBqpp8gODmwZ52WaYsVOsfr4L4lDQ7n3ncD6mEyySiDtgzCT+NYC0mmeOLvtsF8iaEf0YT6dBw==
version "6.0.5"
resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.5.tgz#042d74e137db83e6f294712096cb413f5aa612c4"
integrity sha512-aFYPoYmXbZ1V6HZaSvat08M97A8HqO6Pjz+PiNpw/DhuRrC72XWAdp3hL6wusDCN31sSmcZyMGa2hZEuX+Xfhg==
dependencies:
cssesc "^3.0.0"
indexes-of "^1.0.1"
uniq "^1.0.1"
util-deprecate "^1.0.2"
postcss-svgo@^4.0.3:
@@ -6183,9 +6176,9 @@ postcss@7.0.21:
supports-color "^6.1.0"
postcss@^8.1.14, postcss@^8.2.10:
version "8.2.10"
resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.2.10.tgz#ca7a042aa8aff494b334d0ff3e9e77079f6f702b"
integrity sha512-b/h7CPV7QEdrqIxtAf2j31U5ef05uBDuvoXv6L51Q4rcS1jdlXAVKJv+atCFdUXYl9dyTHGyoMzIepwowRJjFw==
version "8.2.12"
resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.2.12.tgz#81248a1a87e0f575cc594a99a08207fd1c4addc4"
integrity sha512-BJnGT5+0q2tzvs6oQfnY2NpEJ7rIXNfBnZtQOKCIsweeWXBXeDd5k31UgTdS3d/c02ouspufn37mTaHWkJyzMQ==
dependencies:
colorette "^1.2.2"
nanoid "^3.1.22"
@@ -6640,9 +6633,9 @@ sass-loader@^11.0.1:
neo-async "^2.6.2"
sass@^1.32.8:
version "1.32.10"
resolved "https://registry.yarnpkg.com/sass/-/sass-1.32.10.tgz#d40da4e20031b450359ee1c7e69bc8cc89569241"
integrity sha512-Nx0pcWoonAkn7CRp0aE/hket1UP97GiR1IFw3kcjV3pnenhWgZEWUf0ZcfPOV2fK52fnOcK3JdC/YYZ9E47DTQ==
version "1.32.11"
resolved "https://registry.yarnpkg.com/sass/-/sass-1.32.11.tgz#b236b3ea55c76602c2ef2bd0445f0db581baa218"
integrity sha512-O9tRcob/fegUVSIV1ihLLZcftIOh0AF1VpKgusUfLqnb2jQ0GLDwI5ivv1FYWivGv8eZ/AwntTyTzjcHu0c/qw==
dependencies:
chokidar ">=3.0.0 <4.0.0"
@@ -7181,9 +7174,9 @@ svgo@^1.0.0:
util.promisify "~1.0.0"
sweetalert2@^10.15.6:
version "10.16.3"
resolved "https://registry.yarnpkg.com/sweetalert2/-/sweetalert2-10.16.3.tgz#501777087681c25f9894eeba807b1c1ae8b021bf"
integrity sha512-ZSr+U9crlg1+wIf+S7BGBO5LFlNFRh+UM6ZURGPX5o1h14hJs6UdOce059VQz7jzuFB+xsO5TSvShNvp5YTqGQ==
version "10.16.6"
resolved "https://registry.yarnpkg.com/sweetalert2/-/sweetalert2-10.16.6.tgz#bf9893386aa9330a22fde188c25897a98559dc4a"
integrity sha512-089SRfG8NopJAVG9euo+kKHWRaCK6V5WY6v1kySYL07SDF/FEEW1Fu+LqkHqvQ0h3KnQ8AE2Z81mpvhMOlx/Vw==
tapable@^2.1.1, tapable@^2.2.0:
version "2.2.0"
@@ -7771,19 +7764,19 @@ webpack-sources@^2.1.1:
source-map "^0.6.1"
webpack@^5.25.1, webpack@^5.30.0:
version "5.33.2"
resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.33.2.tgz#c049717c9b038febf5a72fd2f53319ad59a8c1fc"
integrity sha512-X4b7F1sYBmJx8mlh2B7mV5szEkE0jYNJ2y3akgAP0ERi0vLCG1VvdsIxt8lFd4st6SUy0lf7W0CCQS566MBpJg==
version "5.35.1"
resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.35.1.tgz#857670799465c8a5cbb94c4c175d60ac42d18ba3"
integrity sha512-uWKYStqJ23+N6/EnMEwUjPSSKUG1tFmcuKhALEh/QXoUxwN8eb3ATNIZB38A+fO6QZ0xfc7Cu7KNV9LXNhDCsw==
dependencies:
"@types/eslint-scope" "^3.7.0"
"@types/estree" "^0.0.46"
"@types/estree" "^0.0.47"
"@webassemblyjs/ast" "1.11.0"
"@webassemblyjs/wasm-edit" "1.11.0"
"@webassemblyjs/wasm-parser" "1.11.0"
acorn "^8.0.4"
browserslist "^4.14.5"
chrome-trace-event "^1.0.2"
enhanced-resolve "^5.7.0"
enhanced-resolve "^5.8.0"
es-module-lexer "^0.4.0"
eslint-scope "^5.1.1"
events "^3.2.0"
@@ -7870,9 +7863,9 @@ wrappy@1:
integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=
ws@^7.4.4:
version "7.4.4"
resolved "https://registry.yarnpkg.com/ws/-/ws-7.4.4.tgz#383bc9742cb202292c9077ceab6f6047b17f2d59"
integrity sha512-Qm8k8ojNQIMx7S+Zp8u/uHOx7Qazv3Yv4q68MiWWWOJhiwG5W3x7iqmRtJo8xxrciZUY4vRxUTJCKuRnF28ZZw==
version "7.4.5"
resolved "https://registry.yarnpkg.com/ws/-/ws-7.4.5.tgz#a484dd851e9beb6fdb420027e3885e8ce48986c1"
integrity sha512-xzyu3hFvomRfXKH8vOFMU3OguG6oOvhXMo3xsGy3xWExqaM2dxBbVxuD99O7m3ZUFMvvscsZDqxfgMaRr/Nr1g==
xmldoc@^1.1.2:
version "1.1.2"

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -1 +1 @@
(()=>{"use strict";var e,r={},t={};function o(e){var n=t[e];if(void 0!==n)return n.exports;var l=t[e]={id:e,loaded:!1,exports:{}};return r[e].call(l.exports,l,l.exports,o),l.loaded=!0,l.exports}o.m=r,e=[],o.O=(r,t,n,l)=>{if(!t){var i=1/0;for(d=0;d<e.length;d++){for(var[t,n,l]=e[d],a=!0,u=0;u<t.length;u++)(!1&l||i>=l)&&Object.keys(o.O).every((e=>o.O[e](t[u])))?t.splice(u--,1):(a=!1,l<i&&(i=l));a&&(e.splice(d--,1),r=n())}return r}l=l||0;for(var d=e.length;d>0&&e[d-1][2]>l;d--)e[d]=e[d-1];e[d]=[t,n,l]},o.n=e=>{var r=e&&e.__esModule?()=>e.default:()=>e;return o.d(r,{a:r}),r},o.d=(e,r)=>{for(var t in r)o.o(r,t)&&!o.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:r[t]})},o.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),o.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),o.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},o.nmd=e=>(e.paths=[],e.children||(e.children=[]),e),(()=>{var e={721:0,879:0};o.O.j=r=>0===e[r];var r=(r,t)=>{var n,l,[i,a,u]=t,d=0;for(n in a)o.o(a,n)&&(o.m[n]=a[n]);for(u&&u(o),r&&r(t);d<i.length;d++)l=i[d],o.o(e,l)&&e[l]&&e[l][0](),e[i[d]]=0;o.O()},t=self.webpackChunk=self.webpackChunk||[];t.forEach(r.bind(null,0)),t.push=r.bind(null,t.push.bind(t))})(),o.O()})();
(()=>{"use strict";var e,r={},t={};function o(e){var n=t[e];if(void 0!==n)return n.exports;var l=t[e]={id:e,loaded:!1,exports:{}};return r[e].call(l.exports,l,l.exports,o),l.loaded=!0,l.exports}o.m=r,e=[],o.O=(r,t,n,l)=>{if(!t){var i=1/0;for(d=0;d<e.length;d++){for(var[t,n,l]=e[d],a=!0,u=0;u<t.length;u++)(!1&l||i>=l)&&Object.keys(o.O).every((e=>o.O[e](t[u])))?t.splice(u--,1):(a=!1,l<i&&(i=l));a&&(e.splice(d--,1),r=n())}return r}l=l||0;for(var d=e.length;d>0&&e[d-1][2]>l;d--)e[d]=e[d-1];e[d]=[t,n,l]},o.n=e=>{var r=e&&e.__esModule?()=>e.default:()=>e;return o.d(r,{a:r}),r},o.d=(e,r)=>{for(var t in r)o.o(r,t)&&!o.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:r[t]})},o.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),o.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),o.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},o.nmd=e=>(e.paths=[],e.children||(e.children=[]),e),(()=>{var e={721:0,879:0};o.O.j=r=>0===e[r];var r=(r,t)=>{var n,l,[i,a,u]=t,d=0;for(n in a)o.o(a,n)&&(o.m[n]=a[n]);if(u)var f=u(o);for(r&&r(t);d<i.length;d++)l=i[d],o.o(e,l)&&e[l]&&e[l][0](),e[i[d]]=0;return o.O(f)},t=self.webpackChunk=self.webpackChunk||[];t.forEach(r.bind(null,0)),t.push=r.bind(null,t.push.bind(t))})()})();

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -5,17 +5,17 @@
"flash_success": "Succes!",
"close": "\u00cenchide",
"split_transaction_title": "Descrierea tranzac\u021biei divizate",
"errors_submission": "There was something wrong with your submission. Please check out the errors.",
"errors_submission": "A fost ceva \u00een neregul\u0103 cu depunerea ta. Te rug\u0103m s\u0103 verifici erorile.",
"split": "\u00cemparte",
"single_split": "\u00cemparte",
"transaction_stored_link": "<a href=\"transactions\/show\/{ID}\">Tranzac\u021bia #{ID} (\"{title}\")<\/a> a fost stocat\u0103.",
"transaction_updated_link": "<a href=\"transactions\/show\/{ID}\">Transaction #{ID}<\/a> (\"{title}\") has been updated.",
"transaction_updated_link": "<a href=\"transactions\/show\/{ID}\">Tranzac\u021bia #{ID}<\/a> (\"{title}\") a fost actualizat\u0103.",
"transaction_new_stored_link": "<a href=\"transactions\/show\/{ID}\">Tranzac\u021bia #{ID}<\/a> a fost stocat\u0103.",
"transaction_journal_information": "Informa\u021bii despre tranzac\u021bii",
"no_budget_pointer": "Se pare c\u0103 nu ave\u021bi \u00eenc\u0103 bugete. Ar trebui s\u0103 crea\u021bi c\u00e2teva pe pagina <a href=\"\/budgets\">bugete<\/a>. Bugetele v\u0103 pot ajuta s\u0103 \u021bine\u021bi eviden\u021ba cheltuielilor.",
"no_bill_pointer": "Se pare c\u0103 nu ave\u021bi \u00eenc\u0103 facturi. Ar trebui s\u0103 crea\u021bi unele pe pagina <a href=\"bills\">facturi<\/a>. Facturile v\u0103 pot ajuta s\u0103 \u021bine\u021bi eviden\u021ba cheltuielilor.",
"source_account": "Contul surs\u0103",
"hidden_fields_preferences": "You can enable more transaction options in your <a href=\"preferences\">preferences<\/a>.",
"hidden_fields_preferences": "Pute\u021bi activa mai multe op\u021biuni de tranzac\u021bie \u00een <a href=\"preferences\">preferin\u021bele<\/a> dvs.",
"destination_account": "Contul de destina\u021bie",
"add_another_split": "Ad\u0103uga\u021bi o divizare",
"submission": "Transmitere",
@@ -26,11 +26,11 @@
"date": "Dat\u0103",
"tags": "Etichete",
"no_budget": "(nici un buget)",
"no_bill": "(no bill)",
"no_bill": "(f\u0103r\u0103 factur\u0103)",
"category": "Categorie",
"attachments": "Ata\u0219amente",
"notes": "Noti\u021be",
"external_uri": "External URL",
"external_uri": "URL extern",
"update_transaction": "Actualiza\u021bi tranzac\u021bia",
"after_update_create_another": "Dup\u0103 actualizare, reveni\u021bi aici pentru a continua editarea.",
"store_as_new": "Stoca\u021bi ca o tranzac\u021bie nou\u0103 \u00een loc s\u0103 actualiza\u021bi.",
@@ -76,16 +76,16 @@
"profile_create_token": "Creaz\u0103 token",
"profile_create": "Creaz\u0103",
"profile_save_changes": "Salveaz\u0103 modific\u0103rile",
"default_group_title_name": "(ungrouped)",
"default_group_title_name": "(negrupat)",
"piggy_bank": "Pu\u0219culi\u021b\u0103",
"profile_oauth_client_secret_title": "Client Secret",
"profile_oauth_client_secret_expl": "Here is your new client secret. This is the only time it will be shown so don't lose it! You may now use this secret to make API requests.",
"profile_oauth_confidential": "Confidential",
"profile_oauth_confidential_help": "Require the client to authenticate with a secret. Confidential clients can hold credentials in a secure way without exposing them to unauthorized parties. Public applications, such as native desktop or JavaScript SPA applications, are unable to hold secrets securely.",
"multi_account_warning_unknown": "Depending on the type of transaction you create, the source and\/or destination account of subsequent splits may be overruled by whatever is defined in the first split of the transaction.",
"multi_account_warning_withdrawal": "Keep in mind that the source account of subsequent splits will be overruled by whatever is defined in the first split of the withdrawal.",
"multi_account_warning_deposit": "Keep in mind that the destination account of subsequent splits will be overruled by whatever is defined in the first split of the deposit.",
"multi_account_warning_transfer": "Keep in mind that the source + destination account of subsequent splits will be overruled by whatever is defined in the first split of the transfer."
"profile_oauth_client_secret_title": "Secret client",
"profile_oauth_client_secret_expl": "Aici este noul t\u0103u cod secret de client. Este singura dat\u0103 c\u00e2nd va fi afi\u0219at a\u0219a c\u0103 nu \u00eel pierzi! Acum po\u021bi folosi acest cod pentru a face cereri API.",
"profile_oauth_confidential": "Confiden\u0163ial",
"profile_oauth_confidential_help": "Solicita\u021bi clientului s\u0103 se autentifice cu un secret. Clien\u021bii confiden\u021biali pot p\u0103stra acredit\u0103rile \u00eentr-un mod securizat f\u0103r\u0103 a le expune unor p\u0103r\u021bi neautorizate. Aplica\u021biile publice, cum ar fi aplica\u021biile native desktop sau JavaScript SPA, nu pot p\u0103stra secretele \u00een siguran\u021b\u0103.",
"multi_account_warning_unknown": "\u00cen func\u021bie de tipul de tranzac\u021bie pe care o crea\u021bi, contul sursei \u0219i\/sau destina\u021biei frac\u021bion\u0103rilor ulterioare poate fi dep\u0103\u0219it cu orice se define\u0219te \u00een prima \u00eemp\u0103r\u021bire a tranzac\u021biei.",
"multi_account_warning_withdrawal": "Re\u0163ine\u0163i faptul c\u0103 sursa scind\u0103rilor ulterioare va fi anulat\u0103 de orice altceva definit \u00een prima \u00eemp\u0103r\u0163ire a retragerii.",
"multi_account_warning_deposit": "\u021aine\u021bi cont de faptul c\u0103 destina\u021bia scind\u0103rilor ulterioare va fi dep\u0103\u0219it\u0103 cu orice se define\u0219te la prima \u00eemp\u0103r\u021bire a depozitului.",
"multi_account_warning_transfer": "Re\u0163ine\u0163i faptul c\u0103 contul sursei + destina\u0163ia frac\u0163ion\u0103rilor ulterioare va fi anulat de orice se define\u015fte \u00een prima \u00eemp\u0103r\u0163ire a transferului."
},
"form": {
"interest_date": "Data de interes",

View File

@@ -9,7 +9,7 @@
"split": "Roz\u00fa\u010dtova\u0165",
"single_split": "Roz\u00fa\u010dtova\u0165",
"transaction_stored_link": "<a href=\"transactions\/show\/{ID}\">Transakcia #{ID} (\"{title}\")<\/a> bola ulo\u017een\u00e1.",
"transaction_updated_link": "<a href=\"transactions\/show\/{ID}\">Transaction #{ID}<\/a> (\"{title}\") has been updated.",
"transaction_updated_link": "<a href=\"transactions\/show\/{ID}\">Transakcia #{ID}<\/a> (\"{title}\") bola upraven\u00e1.",
"transaction_new_stored_link": "<a href=\"transactions\/show\/{ID}\">Transakcia #{ID}<\/a> bola ulo\u017een\u00e1.",
"transaction_journal_information": "Inform\u00e1cie o transakcii",
"no_budget_pointer": "Zd\u00e1 sa, \u017ee zatia\u013e nem\u00e1te \u017eiadne rozpo\u010dty. Na str\u00e1nke <a href=\"\/budgets\">rozpo\u010dty<\/a> by ste si nejak\u00e9 mali vytvori\u0165. Rozpo\u010dty m\u00f4\u017eu pom\u00f4c\u0165 udr\u017ea\u0165 preh\u013ead vo v\u00fddavkoch.",

View File

@@ -40,7 +40,7 @@ return [
'date_time_js' => 'Do MMMM, YYYY, @ HH:mm:ss',
'specific_day_js' => 'D MMMM YYYY',
'week_in_year_js' => '[Week] w, YYYY',
'week_in_year_fns' => "'Week' I, yyyy",
'week_in_year_fns' => "'Week' w, yyyy",
'year_js' => 'YYYY',
'half_year_js' => 'Q YYYY',
'quarter_fns' => "'Q'Q, yyyy",

View File

@@ -40,7 +40,7 @@ return [
'date_time_js' => 'D. MMMM YYYY, @ HH:mm:ss',
'specific_day_js' => 'D. MMMM YYYY',
'week_in_year_js' => '[Week] t, RRRR',
'week_in_year_fns' => "'Week' I, yyyy",
'week_in_year_fns' => "'Week' w, yyyy",
'year_js' => 'YYYY',
'half_year_js' => 'Q YYYY',
'quarter_fns' => "'Q'Q, yyyy",

View File

@@ -40,10 +40,10 @@ return [
'date_time_js' => 'Do MMMM YYYY um HH:mm:ss',
'specific_day_js' => 'D. MMMM YYYY',
'week_in_year_js' => '[Week]. KW, YYYY',
'week_in_year_fns' => "'Woche' I, yyyy",
'week_in_year_fns' => "'Woche' ww/yyyy",
'year_js' => 'YYYY',
'half_year_js' => 'Q. Quartal YYYY',
'quarter_fns' => "'Q'Q, yyyy",
'quarter_fns' => "'Q'QQQ, yyyy",
'half_year_fns' => "'H{half}', yyyy",
'dow_1' => 'Montag',
'dow_2' => 'Dienstag',

View File

@@ -40,7 +40,7 @@ return [
'date_time_js' => 'Do MMMM YYYY, HH:mm:ss',
'specific_day_js' => 'D MMMM YYYY',
'week_in_year_js' => '[Week] w, YYYY',
'week_in_year_fns' => "'Week' I, yyyy",
'week_in_year_fns' => "'Week' w, yyyy",
'year_js' => 'YYYY',
'half_year_js' => 'Q YYYY',
'quarter_fns' => "'Q'Q, yyyy",

View File

@@ -40,7 +40,7 @@ return [
'date_time_js' => 'MMMM Do, YYYY, @ HH:mm:ss',
'specific_day_js' => 'D MMMM YYYY',
'week_in_year_js' => '[Week] w, YYYY',
'week_in_year_fns' => "'Week' I, yyyy",
'week_in_year_fns' => "'Week' w, yyyy",
'year_js' => 'YYYY',
'half_year_js' => 'Q YYYY',
'quarter_fns' => "'Q'Q, yyyy",

View File

@@ -40,7 +40,7 @@ return [
'date_time_js' => 'MMMM Do, YYYY, @ HH:mm:ss',
'specific_day_js' => 'D MMMM YYYY',
'week_in_year_js' => '[Week] w, YYYY',
'week_in_year_fns' => "'Week' I, yyyy",
'week_in_year_fns' => "'Week' w, yyyy",
'year_js' => 'YYYY',
'half_year_js' => 'Q YYYY',
'quarter_fns' => "'Q'Q, yyyy",

View File

@@ -40,10 +40,10 @@ return [
'date_time_js' => 'D MMMM YYYY, HH:mm:ss',
'specific_day_js' => 'D MMMM YYYY',
'week_in_year_js' => '[Week] w, YYYY',
'week_in_year_fns' => "'Week' I, yyyy",
'week_in_year_fns' => "'Semana' w, yyyy",
'year_js' => 'YYYY',
'half_year_js' => 'Q YYYY',
'quarter_fns' => "'Q'Q, yyyy",
'quarter_fns' => "'Trimestre' Q, yyyy",
'half_year_fns' => "'H{half}', yyyy",
'dow_1' => 'Lunes',
'dow_2' => 'Martes',

View File

@@ -298,8 +298,8 @@ return [
'search_modifier_has_any_category' => 'La transacción debe tener alguna categoría',
'search_modifier_has_no_budget' => 'La transacción no debe tener presupuesto',
'search_modifier_has_any_budget' => 'La transacción debe tener un presupuesto',
'search_modifier_has_no_bill' => 'The transaction must have no bill',
'search_modifier_has_any_bill' => 'The transaction must have a (any) bill',
'search_modifier_has_no_bill' => 'La transacción no debe tener factura',
'search_modifier_has_any_bill' => 'La transacción debe tener una (cualquier) factura',
'search_modifier_has_no_tag' => 'La transacción no debe tener etiquetas',
'search_modifier_has_any_tag' => 'La transacción debe tener (alguna) etiqueta',
'search_modifier_notes_contain' => 'Las notas de la transacción contienen ":value"',
@@ -431,7 +431,7 @@ return [
'apply_rule_group_selection' => 'Aplique la regla de grupo ":title" a una selección de sus transacciones',
'apply_rule_group_selection_intro' => 'Los grupos de reglas como ":title" normalmente sólo se aplican a transacciones nuevas o actualizadas, pero puedes indicarle a Firefly III que ejecute todas las reglas de este grupo en una selección de transacciones existentes. Esto puede ser útil si has actualizado un grupo de reglas y necesitas que los cambios se apliquen a todas tus otras transacciones.',
'applied_rule_group_selection' => 'El grupo de reglas ":title" ha sido aplicada a su selección.',
'timezone_difference' => 'Your browser reports time zone "{local}". Firefly III is configured for time zone "{system}". This chart may drift.',
'timezone_difference' => 'Su navegador reporta la zona horaria "{local}". Firefly III está configurado para la zona horaria "{system}". Este gráfico puede cambiar.',
// actions and triggers
'rule_trigger_user_action' => 'La acción del usuario es ":trigger_value"',
@@ -527,10 +527,10 @@ return [
'rule_trigger_has_no_budget' => 'Transacción no tiene presupuesto',
'rule_trigger_has_any_budget_choice' => 'Tiene un (cualquier) presupuesto',
'rule_trigger_has_any_budget' => 'La transacción tiene (cualquier) presupuesto',
'rule_trigger_has_no_bill_choice' => 'Has no bill',
'rule_trigger_has_no_bill' => 'Transaction has no bill',
'rule_trigger_has_any_bill_choice' => 'Has a (any) bill',
'rule_trigger_has_any_bill' => 'Transaction has a (any) bill',
'rule_trigger_has_no_bill_choice' => 'No tiene factura',
'rule_trigger_has_no_bill' => 'Transacción no tiene factura',
'rule_trigger_has_any_bill_choice' => 'Tiene una (cualquier) factura',
'rule_trigger_has_any_bill' => 'Transacción tiene una (cualquier) factura',
'rule_trigger_has_no_tag_choice' => 'No tiene etiqueta(s)',
'rule_trigger_has_no_tag' => 'La transacción no tiene etiqueta(s)',
'rule_trigger_has_any_tag_choice' => 'Tiene una o mas (cualquier) etiquetas',

View File

@@ -40,7 +40,7 @@ return [
'date_time_js' => 'MMMM Do, YYYY, @ HH:mm:ss',
'specific_day_js' => 'D MMMM YYYY',
'week_in_year_js' => '[Viikko] w, YYYY',
'week_in_year_fns' => "'Week' I, yyyy",
'week_in_year_fns' => "'Week' w, yyyy",
'year_js' => 'YYYY',
'half_year_js' => 'Q YYYY',
'quarter_fns' => "'Q'Q, yyyy",

View File

@@ -40,7 +40,7 @@ return [
'date_time_js' => 'Do MMMM YYYY, à HH:mm:ss',
'specific_day_js' => 'D MMMM YYYY',
'week_in_year_js' => '[Week] w, YYYY',
'week_in_year_fns' => "'Semaine' I, yyyy",
'week_in_year_fns' => "'Semaine' w, yyyy",
'year_js' => 'YYYY',
'half_year_js' => 'Q YYYY',
'quarter_fns' => "'Q'Q, yyyy",

View File

@@ -40,7 +40,7 @@ return [
'date_time_js' => 'YYYY. MMMM DD. HH:mm:ss',
'specific_day_js' => 'YYYY. MMMM DD.',
'week_in_year_js' => 'YYYY. w. [Week]',
'week_in_year_fns' => "'Week' I, yyyy",
'week_in_year_fns' => "'Week' w, yyyy",
'year_js' => 'YYYY',
'half_year_js' => 'YYYY Q',
'quarter_fns' => "'Q'Q, yyyy",

View File

@@ -40,7 +40,7 @@ return [
'date_time_js' => 'DD MMMM YYYY, @ HH:mm:ss',
'specific_day_js' => 'D MMMM YYYY',
'week_in_year_js' => '[Week] w, YYYY',
'week_in_year_fns' => "'Week' I, yyyy",
'week_in_year_fns' => "'Week' w, yyyy",
'year_js' => 'YYYY',
'half_year_js' => 'Q YYYY',
'quarter_fns' => "'Q'Q, yyyy",

View File

@@ -40,7 +40,7 @@ return [
'date_time_js' => 'Do MMMM YYYY, @ HH:mm:ss',
'specific_day_js' => 'G MMMM AAAA',
'week_in_year_js' => '[Week] s, AAAA',
'week_in_year_fns' => "'Week' I, yyyy",
'week_in_year_fns' => "'Settimana' w, yyyy",
'year_js' => 'AAAA',
'half_year_js' => 'T AAAA',
'quarter_fns' => "'Q'Q, yyyy",

View File

@@ -40,7 +40,7 @@ return [
'date_time_js' => 'MMMM Do, YYYY, @ HH:mm:ss',
'specific_day_js' => 'D MMMM YYYY',
'week_in_year_js' => '[Week] w, YYYY',
'week_in_year_fns' => "'Week' I, yyyy",
'week_in_year_fns' => "'Week' w, yyyy",
'year_js' => 'YYYY',
'half_year_js' => 'Q YYYY',
'quarter_fns' => "'Q'Q, yyyy",

View File

@@ -40,7 +40,7 @@ return [
'date_time_js' => 'D MMMM YYYY @ HH:mm:ss',
'specific_day_js' => 'D MMMM YYYY',
'week_in_year_js' => '[Week] w, YYYY',
'week_in_year_fns' => "'week' l, yyyy",
'week_in_year_fns' => "'Week' w, yyyy",
'year_js' => 'YYYY',
'half_year_js' => 'Q YYYY',
'quarter_fns' => "'Q'Q, yyyy",

View File

@@ -40,11 +40,11 @@ return [
'date_time_js' => 'D MMMM YYYY [o] HH:mm:ss',
'specific_day_js' => 'D MMMM YYYY',
'week_in_year_js' => '[Tydzień] w. YYYY',
'week_in_year_fns' => "'Week' I, yyyy",
'week_in_year_fns' => "w 'tydzień' yyyy",
'year_js' => 'YYYY',
'half_year_js' => 'Q YYYY',
'quarter_fns' => "'Q'Q, yyyy",
'half_year_fns' => "'H{half}', yyyy",
'quarter_fns' => "Q 'kwartał' yyyy",
'half_year_fns' => "'{half} połowa' yyyy",
'dow_1' => 'Poniedziałek',
'dow_2' => 'Wtorek',
'dow_3' => 'Środa',

View File

@@ -40,11 +40,11 @@ return [
'date_time_js' => 'MMMM Do, YYYY, @ HH:mm:ss',
'specific_day_js' => 'D MMMM YYYY',
'week_in_year_js' => '[Week] s, AAAA',
'week_in_year_fns' => "'Semana' I, yyyy",
'week_in_year_fns' => "'Semana' w, yyyy",
'year_js' => 'YYYY',
'half_year_js' => 'Q YYYY',
'quarter_fns' => "'Q'Q, yyyy",
'half_year_fns' => "'H{half}', yyyy",
'quarter_fns' => "'T'Q, yyyy",
'half_year_fns' => "'S{half}', yyyy",
'dow_1' => 'Segunda',
'dow_2' => 'Terça',
'dow_3' => 'Quarta',

View File

@@ -1104,7 +1104,7 @@ return [
'save_transactions_by_moving' => 'Salve esta transação movendo-a para outra conta:|Salve essas transações movendo-as para outra conta:',
'save_transactions_by_moving_js' => 'Nenhuma transação.|Salve esta transação movendo-a para outra conta.|Salve essas transações movendo-as para outra conta.',
'stored_new_account' => 'Nova conta ":name" armazenado!',
'stored_new_account_js' => 'New account "<a href="accounts/show/{ID}">{name}</a>" stored!',
'stored_new_account_js' => 'Nova conta "<a href="accounts/show/{ID}">{name}</a>" armazenada!',
'updated_account' => 'Conta ":name" atualizada',
'credit_card_options' => 'Opções de cartão de crédito',
'no_transactions_account' => 'Não há transações (neste período) para a conta ativa ":name".',

View File

@@ -170,7 +170,7 @@ return [
'recurring_keep_transactions' => 'A única transação criada por esta transação recorrente não será excluída.|Todas as :count transações criadas por esta transação recorrente não serão excluídas.',
'tag_keep_transactions' => 'A única transação conectada a esta tag não será excluída.|Todas as :count transações conectadas a esta tag não serão excluídas.',
'check_for_updates' => 'Buscar atualizações',
'liability_direction' => 'Liability in/out',
'liability_direction' => 'Passivo entrada/saída',
'delete_object_group' => 'Excluir grupo ":title"',

View File

@@ -24,13 +24,13 @@ declare(strict_types=1);
return [
'html_language' => 'pt',
'locale' => 'pt, Portugues, pt_PT.utf8, pt_PT.UTF-8',
'locale' => 'pt, Português, pt_PT.utf8, pt_PT.UTF-8',
'month' => '%B %Y',
'month_and_day' => '%B %e, %Y',
'month_and_day' => '%e %B, %Y',
'month_and_day_moment_js' => 'MMM D, YYYY',
'month_and_date_day' => '%A %B %e, %Y',
'month_and_day_no_year' => '%B %e',
'date_time' => '%B %e, %Y, @ %T',
'month_and_date_day' => '%A %e %B, %Y',
'month_and_day_no_year' => '%e %B',
'date_time' => '%e %B, %Y, @ %T',
'specific_day' => '%e %B %Y',
'week_in_year' => 'Semana %V, %G',
'year' => '%Y',
@@ -40,7 +40,7 @@ return [
'date_time_js' => 'MMMM Do, YYYY, @ HH:mm:ss',
'specific_day_js' => 'D MMMM YYYY',
'week_in_year_js' => '[Week] w, YYYY',
'week_in_year_fns' => "'Semana' I, yyyy",
'week_in_year_fns' => "'Semana' w, yyyy",
'year_js' => 'YYYY',
'half_year_js' => 'Q YYYY',
'quarter_fns' => "'Trimestre' Q, yyyy",

View File

@@ -40,11 +40,11 @@ return [
'date_time_js' => 'MMMM Do, YYYY, @ HH:mm:ss',
'specific_day_js' => 'D MMMM YYYY',
'week_in_year_js' => '[Week] w, YYYY',
'week_in_year_fns' => "'Week' I, yyyy",
'week_in_year_fns' => "'Săptămână' w, yyyy",
'year_js' => 'YYYY',
'half_year_js' => 'Q YYYY',
'quarter_fns' => "'Q'Q, yyyy",
'half_year_fns' => "'H{half}', yyyy",
'half_year_fns' => "'H{half}', yyy",
'dow_1' => 'Luni',
'dow_2' => 'Marţi',
'dow_3' => 'Miercuri',

Some files were not shown because too many files have changed in this diff Show More