no message

This commit is contained in:
James Cole 2021-05-09 06:38:44 +02:00
commit 787be9deb9
No known key found for this signature in database
GPG Key ID: B5669F9493CDE38D
114 changed files with 1675 additions and 869 deletions

View File

@ -64,7 +64,7 @@ AUDIT_LOG_LEVEL=info
# Use "mysql" for MySQL and MariaDB.
# Use "sqlite" for SQLite.
DB_CONNECTION=mysql
DB_HOST=fireflyiiidb
DB_HOST=db
DB_PORT=3306
DB_DATABASE=firefly
DB_USERNAME=firefly

35
.github/lock.yml vendored
View File

@ -1,35 +0,0 @@
# Configuration for Lock Threads - https://github.com/dessant/lock-threads
# Number of days of inactivity before a closed issue or pull request is locked
daysUntilLock: 90
# Skip issues and pull requests created before a given timestamp. Timestamp must
# follow ISO 8601 (`YYYY-MM-DD`). Set to `false` to disable
skipCreatedBefore: false
# Issues and pull requests with these labels will be ignored. Set to `[]` to disable
exemptLabels: []
# Label to add before locking, such as `outdated`. Set to `false` to disable
lockLabel: false
# Comment to post before locking. Set to `false` to disable
lockComment: false
# Assign `resolved` as the reason for locking. Set to `false` to disable
setLockReason: true
# Limit to only `issues` or `pulls`
# only: issues
# Optionally, specify configuration settings just for `issues` or `pulls`
# issues:
# exemptLabels:
# - help-wanted
# lockLabel: outdated
# pulls:
# daysUntilLock: 30
# Repository to extend settings from
# _extends: repo

19
.github/workflows/lock.yml vendored Normal file
View File

@ -0,0 +1,19 @@
name: Lock old issues
on:
workflow_dispatch:
schedule:
- cron: '0 0 * * *'
jobs:
lock:
runs-on: ubuntu-latest
steps:
- uses: dessant/lock-threads@v2
with:
github-token: ${{ github.token }}
issue-lock-inactive-days: '90'
issue-lock-comment: >
This issue has been automatically locked since there
has not been any recent activity after it was closed.
Please open a new issue for related bugs.

View File

@ -0,0 +1,132 @@
<?php
declare(strict_types=1);
namespace FireflyIII\Console\Commands\Correction;
use DB;
use Illuminate\Console\Command;
/**
* Class FixPostgresSequences
*/
class FixPostgresSequences extends Command
{
/**
* The console command description.
*
* @var string
*/
protected $description = 'Fixes issues with PostgreSQL sequences.';
/**
* The name and signature of the console command.
*
* @var string
*/
protected $signature = 'firefly-iii:fix-pgsql-sequences';
/**
* Execute the console command.
*
* @return int
*/
public function handle(): int
{
if (DB::connection()->getName() !== 'pgsql') {
$this->info('Command executed successfully.');
return 0;
}
$this->line('Going to verify PostgreSQL table sequences.');
$tablesToCheck = [
'2fa_tokens',
'account_meta',
'account_types',
'accounts',
'attachments',
'auto_budgets',
'available_budgets',
'bills',
'budget_limits',
'budget_transaction',
'budget_transaction_journal',
'budgets',
'categories',
'category_transaction',
'category_transaction_journal',
'configuration',
'currency_exchange_rates',
'export_jobs',
'failed_jobs',
'group_journals',
'import_jobs',
'jobs',
'journal_links',
'journal_meta',
'limit_repetitions',
'link_types',
'locations',
'migrations',
'notes',
'oauth_clients',
'oauth_personal_access_clients',
'object_groups',
'permissions',
'piggy_bank_events',
'piggy_bank_repetitions',
'piggy_banks',
'preferences',
'recurrences',
'recurrences_meta',
'recurrences_repetitions',
'recurrences_transactions',
'roles',
'rt_meta',
'rule_actions',
'rule_groups',
'rule_triggers',
'rules',
'tag_transaction_journal',
'tags',
'telemetry',
'transaction_currencies',
'transaction_groups',
'transaction_journals',
'transaction_types',
'transactions',
'users',
'webhook_attempts',
'webhook_messages',
'webhooks',
];
foreach ($tablesToCheck as $tableToCheck) {
$this->info(sprintf('Checking the next id sequence for table "%s".', $tableToCheck));
$highestId = DB::table($tableToCheck)->select(DB::raw('MAX(id)'))->first();
$nextId = DB::table($tableToCheck)->select(DB::raw(sprintf('nextval(\'%s_id_seq\')', $tableToCheck)))->first();
if(null === $nextId) {
$this->line(sprintf('nextval is NULL for table "%s", go to next table.', $tableToCheck));
continue;
}
if ($nextId->nextval < $highestId->max) {
DB::select(sprintf('SELECT setval(\'%s_id_seq\', %d)', $tableToCheck, $highestId->max));
$highestId = DB::table($tableToCheck)->select(DB::raw('MAX(id)'))->first();
$nextId = DB::table($tableToCheck)->select(DB::raw(sprintf('nextval(\'%s_id_seq\')', $tableToCheck)))->first();
if ($nextId->nextval > $highestId->max) {
$this->info(sprintf('Table "%s" autoincrement corrected.', $tableToCheck));
}
if ($nextId->nextval <= $highestId->max) {
$this->warn(sprintf('Arff! The nextval sequence is still all screwed up on table "%s".', $tableToCheck));
}
}
if ($nextId->nextval >= $highestId->max) {
$this->info(sprintf('Table "%s" autoincrement is correct.', $tableToCheck));
}
}
return 0;
}
}

View File

@ -64,7 +64,7 @@ class BackToJournals extends Command
$this->error('Please run firefly-iii:migrate-to-groups first.');
}
if ($this->isExecuted() && true !== $this->option('force')) {
$this->info('This command has already been executed.');
$this->warn('This command has already been executed.');
return 0;
}

View File

@ -130,6 +130,11 @@ class UpgradeDatabase extends Command
$result = Artisan::output();
echo $result;
$this->line('Fix PostgreSQL sequences.');
Artisan::call('firefly-iii:fix-pgsql-sequences');
$result = Artisan::output();
echo $result;
$this->line('Now decrypting the database (if necessary)...');
Artisan::call('firefly-iii:decrypt-all');
$result = Artisan::output();

View File

@ -101,7 +101,7 @@ class StandardMessageGenerator implements MessageGeneratorInterface
*/
private function getWebhooks(): Collection
{
return $this->user->webhooks()->where('active', 1)->where('trigger', $this->trigger)->get(['webhooks.*']);
return $this->user->webhooks()->where('active', true)->where('trigger', $this->trigger)->get(['webhooks.*']);
}
/**

View File

@ -497,7 +497,7 @@ class GroupCollector implements GroupCollectorInterface
->where(
static function (EloquentBuilder $q1) {
$q1->where('attachments.attachable_type', TransactionJournal::class);
$q1->where('attachments.uploaded', 1);
$q1->where('attachments.uploaded', true);
$q1->orWhereNull('attachments.attachable_type');
}
);

View File

@ -354,7 +354,7 @@ class ProfileController extends Controller
$user = auth()->user();
$isInternalAuth = $this->internalAuth;
$isInternalIdentity = $this->internalIdentity;
$count = DB::table('oauth_clients')->where('personal_access_client', 1)->whereNull('user_id')->count();
$count = DB::table('oauth_clients')->where('personal_access_client', true)->whereNull('user_id')->count();
$subTitle = $user->email;
$userId = $user->id;
$enabled2FA = null !== $user->mfa_secret;

View File

@ -158,6 +158,7 @@ class SelectController extends Controller
$rule->ruleTriggers = $triggers;
// create new rule engine:
/** @var RuleEngineInterface $newRuleEngine */
$newRuleEngine = app(RuleEngineInterface::class);
// set rules:

View File

@ -64,6 +64,7 @@ class InstallController extends Controller
$this->upgradeCommands = [
// there are 3 initial commands
'migrate' => ['--seed' => true, '--force' => true],
'firefly-iii:fix-pgsql-sequences' => [],
'firefly-iii:decrypt-all' => [],
'firefly-iii:restore-oauth-keys' => [],
'generate-keys' => [], // an exception :(

View File

@ -77,6 +77,10 @@ class IndexController extends Controller
*/
public function index(Request $request, string $objectType, Carbon $start = null, Carbon $end = null)
{
if('transfers' === $objectType) {
$objectType = 'transfer';
}
$subTitleIcon = config('firefly.transactionIconsByType.' . $objectType);
$types = config('firefly.transactionTypesByType.' . $objectType);
$page = (int)$request->get('page');

View File

@ -259,7 +259,7 @@ class AccountRepository implements AccountRepositoryInterface
if (0 !== count($types)) {
$query->accountTypeIn($types);
}
$query->where('active', 1);
$query->where('active', true);
$query->orderBy('accounts.account_type_id', 'ASC');
$query->orderBy('accounts.order', 'ASC');
$query->orderBy('accounts.name', 'ASC');
@ -640,7 +640,7 @@ class AccountRepository implements AccountRepositoryInterface
public function searchAccount(string $query, array $types, int $limit): Collection
{
$dbQuery = $this->user->accounts()
->where('active', 1)
->where('active', true)
->orderBy('accounts.order', 'ASC')
->orderBy('accounts.account_type_id', 'ASC')
->orderBy('accounts.name', 'ASC')
@ -669,7 +669,7 @@ class AccountRepository implements AccountRepositoryInterface
{
$dbQuery = $this->user->accounts()->distinct()
->leftJoin('account_meta', 'accounts.id', '=', 'account_meta.account_id')
->where('accounts.active', 1)
->where('accounts.active', true)
->orderBy('accounts.order', 'ASC')
->orderBy('accounts.account_type_id', 'ASC')
->orderBy('accounts.name', 'ASC')

View File

@ -261,6 +261,12 @@ class OperationsRepository implements OperationsRepositoryInterface
$collector->setSourceAccounts($opposing);
}
}
if(TransactionType::TRANSFER === $type) {
// supports only accounts, not opposing.
if(null !== $accounts) {
$collector->setAccounts($accounts);
}
}
if (null !== $currency) {
$collector->setCurrency($currency);

View File

@ -166,7 +166,7 @@ class BillRepository implements BillRepositoryInterface
public function getActiveBills(): Collection
{
return $this->user->bills()
->where('active', 1)
->where('active', true)
->orderBy('bills.name', 'ASC')
->get(['bills.*', DB::raw('((bills.amount_min + bills.amount_max) / 2) AS expectedAmount'),]);
}

View File

@ -197,7 +197,7 @@ class BudgetRepository implements BudgetRepositoryInterface
*/
public function getActiveBudgets(): Collection
{
return $this->user->budgets()->where('active', 1)
return $this->user->budgets()->where('active', true)
->orderBy('order', 'ASC')
->orderBy('name', 'ASC')
->get();
@ -282,7 +282,7 @@ class BudgetRepository implements BudgetRepositoryInterface
$search->where('name', 'LIKE', sprintf('%%%s%%', $query));
}
$search->orderBy('order', 'ASC')
->orderBy('name', 'ASC')->where('active', 1);
->orderBy('name', 'ASC')->where('active', true);
return $search->take($limit)->get();
}

View File

@ -448,7 +448,7 @@ class CurrencyRepository implements CurrencyRepositoryInterface
*/
public function searchCurrency(string $search, int $limit): Collection
{
$query = TransactionCurrency::where('enabled', 1);
$query = TransactionCurrency::where('enabled', true);
if ('' !== $search) {
$query->where('name', 'LIKE', sprintf('%%%s%%', $search));
}

View File

@ -211,8 +211,8 @@ class RuleRepository implements RuleRepositoryInterface
{
$collection = $this->user->rules()
->leftJoin('rule_groups', 'rule_groups.id', '=', 'rules.rule_group_id')
->where('rules.active', 1)
->where('rule_groups.active', 1)
->where('rules.active', true)
->where('rule_groups.active', true)
->orderBy('rule_groups.order', 'ASC')
->orderBy('rules.order', 'ASC')
->orderBy('rules.id', 'ASC')
@ -238,8 +238,8 @@ class RuleRepository implements RuleRepositoryInterface
{
$collection = $this->user->rules()
->leftJoin('rule_groups', 'rule_groups.id', '=', 'rules.rule_group_id')
->where('rules.active', 1)
->where('rule_groups.active', 1)
->where('rules.active', true)
->where('rule_groups.active', true)
->orderBy('rule_groups.order', 'ASC')
->orderBy('rules.order', 'ASC')
->orderBy('rules.id', 'ASC')

View File

@ -150,7 +150,7 @@ class RuleGroupRepository implements RuleGroupRepositoryInterface
*/
public function getActiveGroups(): Collection
{
return $this->user->ruleGroups()->with(['rules'])->where('rule_groups.active', 1)->orderBy('order', 'ASC')->get(['rule_groups.*']);
return $this->user->ruleGroups()->with(['rules'])->where('rule_groups.active', true)->orderBy('order', 'ASC')->get(['rule_groups.*']);
}
/**
@ -161,7 +161,7 @@ class RuleGroupRepository implements RuleGroupRepositoryInterface
public function getActiveRules(RuleGroup $group): Collection
{
return $group->rules()
->where('rules.active', 1)
->where('rules.active', true)
->get(['rules.*']);
}
@ -176,7 +176,7 @@ class RuleGroupRepository implements RuleGroupRepositoryInterface
->leftJoin('rule_triggers', 'rules.id', '=', 'rule_triggers.rule_id')
->where('rule_triggers.trigger_type', 'user_action')
->where('rule_triggers.trigger_value', 'store-journal')
->where('rules.active', 1)
->where('rules.active', true)
->get(['rules.*']);
}
@ -191,7 +191,7 @@ class RuleGroupRepository implements RuleGroupRepositoryInterface
->leftJoin('rule_triggers', 'rules.id', '=', 'rule_triggers.rule_id')
->where('rule_triggers.trigger_type', 'user_action')
->where('rule_triggers.trigger_value', 'update-journal')
->where('rules.active', 1)
->where('rules.active', true)
->get(['rules.*']);
}
@ -326,7 +326,7 @@ class RuleGroupRepository implements RuleGroupRepositoryInterface
*/
public function maxOrder(): int
{
return (int)$this->user->ruleGroups()->where('active', 1)->max('order');
return (int)$this->user->ruleGroups()->where('active', true)->max('order');
}
/**
@ -337,7 +337,7 @@ class RuleGroupRepository implements RuleGroupRepositoryInterface
$this->user->ruleGroups()->where('active', false)->update(['order' => 0]);
$set = $this->user
->ruleGroups()
->where('active', 1)
->where('active', true)
->whereNull('deleted_at')
->orderBy('order', 'ASC')
->orderBy('title', 'DESC')

View File

@ -102,7 +102,7 @@ class TransactionGroupRepository implements TransactionGroupRepositoryInterface
$journals = $group->transactionJournals->pluck('id')->toArray();
$set = Attachment::whereIn('attachable_id', $journals)
->where('attachable_type', TransactionJournal::class)
->where('uploaded', 1)
->where('uploaded', true)
->whereNull('deleted_at')->get();
$result = [];

View File

@ -96,7 +96,7 @@ trait JournalServiceTrait
$search = null;
// first attempt, find by ID.
if (null !== $data['id']) {
$search = $this->accountRepository->findNull($data['id']);
$search = $this->accountRepository->findNull((int) $data['id']);
if (null !== $search && in_array($search->accountType->type, $types, true)) {
Log::debug(
sprintf('Found "account_id" object: #%d, "%s" of type %s', $search->id, $search->name, $search->accountType->type)

View File

@ -136,6 +136,15 @@ class AccountUpdateService
$account->account_type_id = $type->id;
}
}
// set liability, alternative method used in v1 layout:
if ($this->isLiability($account) && array_key_exists('account_type_id', $data)) {
$type = AccountType::find((int)$data['account_type_id']);
if (null !== $type && in_array($type->type, config('firefly.valid_liabilities'), true)) {
$account->account_type_id = $type->id;
}
}
// update virtual balance (could be set to zero if empty string).
if (array_key_exists('virtual_balance', $data) && null !== $data['virtual_balance']) {

View File

@ -46,7 +46,7 @@ class BudgetList implements BinderInterface
if (auth()->check()) {
if ('allBudgets' === $value) {
return auth()->user()->budgets()->where('active', 1)
return auth()->user()->budgets()->where('active', true)
->orderBy('order', 'ASC')
->orderBy('name', 'ASC')
->get();
@ -63,7 +63,7 @@ class BudgetList implements BinderInterface
/** @var Collection $collection */
$collection = auth()->user()->budgets()
->where('active', 1)
->where('active', true)
->whereIn('id', $list)
->get();

View File

@ -61,7 +61,7 @@ trait RuleManagement
],
[
'type' => 'from_account_is',
'value' => (string)trans('firefly.default_rule_trigger_from_account'),
'value' => (string)trans('firefly.default_rule_trigger_source_account'),
'stop_processing' => false,
],

View File

@ -145,6 +145,7 @@ class SearchRuleEngine implements RuleEngineInterface
*/
public function setRules(Collection $rules): void
{
Log::debug(__METHOD__);
foreach ($rules as $rule) {
if ($rule instanceof Rule) {
@ -227,8 +228,16 @@ class SearchRuleEngine implements RuleEngineInterface
{
Log::debug(sprintf('Now in findStrictRule(#%d)', $rule->id ?? 0));
$searchArray = [];
/** @var Collection $triggers */
$triggers = $rule->ruleTriggers;
/** @var RuleTrigger $ruleTrigger */
foreach ($rule->ruleTriggers()->where('active', 1)->get() as $ruleTrigger) {
foreach ($triggers as $ruleTrigger) {
if (false === $ruleTrigger->active) {
continue;
}
// if needs no context, value is different:
$needsContext = config(sprintf('firefly.search.operators.%s.needs_context', $ruleTrigger->trigger_type)) ?? true;
if (false === $needsContext) {
@ -241,6 +250,7 @@ class SearchRuleEngine implements RuleEngineInterface
}
}
// add local operators:
foreach ($this->operators as $operator) {
Log::debug(sprintf('SearchRuleEngine:: add local added operator: %s:"%s"', $operator['type'], $operator['value']));
@ -373,7 +383,7 @@ class SearchRuleEngine implements RuleEngineInterface
{
Log::debug(sprintf('SearchRuleEngine:: Will now execute actions on transaction journal #%d', $transaction['transaction_journal_id']));
/** @var RuleAction $ruleAction */
foreach ($rule->ruleActions()->where('active', 1)->get() as $ruleAction) {
foreach ($rule->ruleActions()->where('active', true)->get() as $ruleAction) {
$break = $this->processRuleAction($ruleAction, $transaction);
if (true === $break) {
break;
@ -448,8 +458,15 @@ class SearchRuleEngine implements RuleEngineInterface
// start a search query for individual each trigger:
$total = new Collection;
$count = 0;
/** @var Collection $triggers */
$triggers = $rule->ruleTriggers;
/** @var RuleTrigger $ruleTrigger */
foreach ($rule->ruleTriggers()->where('active', 1)->get() as $ruleTrigger) {
foreach ($triggers as $ruleTrigger) {
if (false === $ruleTrigger->active) {
continue;
}
if ('user_action' === $ruleTrigger->trigger_type) {
Log::debug('Skip trigger type.');
continue;

View File

@ -2,6 +2,28 @@
All notable changes to this project will be documented in this file.
This project adheres to [Semantic Versioning](http://semver.org/).
## 5.5.11 - 2021-05-08
⚠️ On July 1st 2021 the Docker tag will change to `fireflyiii/core`. You can already start using the new tag.
### Fixed
- [Issue 4707](https://github.com/firefly-iii/firefly-iii/issues/4707) [issue 4732](https://github.com/firefly-iii/firefly-iii/issues/4732) Rule tests were broken, and matching transactions were not visible.
- [Issue 4729](https://github.com/firefly-iii/firefly-iii/issues/4729) Top boxes were no longer visible.
- [Issue 4730](https://github.com/firefly-iii/firefly-iii/issues/4730) Second split transaction had today's date
- [Issue 4734](https://github.com/firefly-iii/firefly-iii/issues/4734) Potential fixes for PostgreSQL and PHP 7.4.18.
- [Issue 4739](https://github.com/firefly-iii/firefly-iii/issues/4739) Was not possible to change liability type.
## 5.5.10 - 2021-05-01
### Changed
- [Issue 4708](https://github.com/firefly-iii/firefly-iii/issues/4708) When searching for the external ID, Firefly III will now only return the exact match.
### Fixed
- [Issue 4545](https://github.com/firefly-iii/firefly-iii/issues/4545) Rare but annoying issue with PostgreSQL increments will be repaired during image boot time. Thanks @jaylenw!
- [Issue 4710](https://github.com/firefly-iii/firefly-iii/issues/4710) Some rule actions could not handle liabilities.
- [Issue 4715](https://github.com/firefly-iii/firefly-iii/issues/4715) Fixed some titles.
- [Issue 4720](https://github.com/firefly-iii/firefly-iii/issues/4720) Could not remove a split in the new layout.
## 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.

View File

@ -155,6 +155,7 @@
],
"post-update-cmd": [
"@php artisan cache:clear",
"@php artisan firefly-iii:fix-pgsql-sequences",
"@php artisan firefly-iii:decrypt-all",
"@php artisan firefly-iii:transaction-identifiers",

264
composer.lock generated
View File

@ -2063,16 +2063,16 @@
},
{
"name": "laravel/ui",
"version": "v3.2.0",
"version": "v3.2.1",
"source": {
"type": "git",
"url": "https://github.com/laravel/ui.git",
"reference": "a1f82c6283c8373ea1958b8a27c3d5c98cade351"
"reference": "e2478cd0342a92ec1c8c77422553bda8ee004fd0"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/laravel/ui/zipball/a1f82c6283c8373ea1958b8a27c3d5c98cade351",
"reference": "a1f82c6283c8373ea1958b8a27c3d5c98cade351",
"url": "https://api.github.com/repos/laravel/ui/zipball/e2478cd0342a92ec1c8c77422553bda8ee004fd0",
"reference": "e2478cd0342a92ec1c8c77422553bda8ee004fd0",
"shasum": ""
},
"require": {
@ -2114,10 +2114,9 @@
"ui"
],
"support": {
"issues": "https://github.com/laravel/ui/issues",
"source": "https://github.com/laravel/ui/tree/v3.2.0"
"source": "https://github.com/laravel/ui/tree/v3.2.1"
},
"time": "2021-01-06T19:20:22+00:00"
"time": "2021-04-27T18:17:41+00:00"
},
{
"name": "laravelcollective/html",
@ -2328,16 +2327,16 @@
},
{
"name": "league/commonmark",
"version": "1.5.8",
"version": "1.6.1",
"source": {
"type": "git",
"url": "https://github.com/thephpleague/commonmark.git",
"reference": "08fa59b8e4e34ea8a773d55139ae9ac0e0aecbaf"
"reference": "2651c497f005de305c7ba3f232cbd87b8c00ee8c"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/thephpleague/commonmark/zipball/08fa59b8e4e34ea8a773d55139ae9ac0e0aecbaf",
"reference": "08fa59b8e4e34ea8a773d55139ae9ac0e0aecbaf",
"url": "https://api.github.com/repos/thephpleague/commonmark/zipball/2651c497f005de305c7ba3f232cbd87b8c00ee8c",
"reference": "2651c497f005de305c7ba3f232cbd87b8c00ee8c",
"shasum": ""
},
"require": {
@ -2425,7 +2424,7 @@
"type": "tidelift"
}
],
"time": "2021-03-28T18:51:39+00:00"
"time": "2021-05-08T16:08:00+00:00"
},
{
"name": "league/csv",
@ -2969,16 +2968,16 @@
},
{
"name": "nesbot/carbon",
"version": "2.46.0",
"version": "2.47.0",
"source": {
"type": "git",
"url": "https://github.com/briannesbitt/Carbon.git",
"reference": "2fd2c4a77d58a4e95234c8a61c5df1f157a91bf4"
"reference": "606262fd8888b75317ba9461825a24fc34001e1e"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/briannesbitt/Carbon/zipball/2fd2c4a77d58a4e95234c8a61c5df1f157a91bf4",
"reference": "2fd2c4a77d58a4e95234c8a61c5df1f157a91bf4",
"url": "https://api.github.com/repos/briannesbitt/Carbon/zipball/606262fd8888b75317ba9461825a24fc34001e1e",
"reference": "606262fd8888b75317ba9461825a24fc34001e1e",
"shasum": ""
},
"require": {
@ -3058,7 +3057,7 @@
"type": "tidelift"
}
],
"time": "2021-02-24T17:30:44+00:00"
"time": "2021-04-13T21:54:02+00:00"
},
{
"name": "nyholm/psr7",
@ -4060,16 +4059,16 @@
},
{
"name": "psr/log",
"version": "1.1.3",
"version": "1.1.4",
"source": {
"type": "git",
"url": "https://github.com/php-fig/log.git",
"reference": "0f73288fd15629204f9d42b7055f72dacbe811fc"
"reference": "d49695b909c3b7628b6289db5479a1c204601f11"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/php-fig/log/zipball/0f73288fd15629204f9d42b7055f72dacbe811fc",
"reference": "0f73288fd15629204f9d42b7055f72dacbe811fc",
"url": "https://api.github.com/repos/php-fig/log/zipball/d49695b909c3b7628b6289db5479a1c204601f11",
"reference": "d49695b909c3b7628b6289db5479a1c204601f11",
"shasum": ""
},
"require": {
@ -4093,7 +4092,7 @@
"authors": [
{
"name": "PHP-FIG",
"homepage": "http://www.php-fig.org/"
"homepage": "https://www.php-fig.org/"
}
],
"description": "Common interface for logging libraries",
@ -4104,9 +4103,9 @@
"psr-3"
],
"support": {
"source": "https://github.com/php-fig/log/tree/1.1.3"
"source": "https://github.com/php-fig/log/tree/1.1.4"
},
"time": "2020-03-23T09:12:05+00:00"
"time": "2021-05-03T11:20:27+00:00"
},
{
"name": "psr/simple-cache",
@ -4585,16 +4584,16 @@
},
{
"name": "symfony/console",
"version": "v5.2.6",
"version": "v5.2.7",
"source": {
"type": "git",
"url": "https://github.com/symfony/console.git",
"reference": "35f039df40a3b335ebf310f244cb242b3a83ac8d"
"reference": "90374b8ed059325b49a29b55b3f8bb4062c87629"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/console/zipball/35f039df40a3b335ebf310f244cb242b3a83ac8d",
"reference": "35f039df40a3b335ebf310f244cb242b3a83ac8d",
"url": "https://api.github.com/repos/symfony/console/zipball/90374b8ed059325b49a29b55b3f8bb4062c87629",
"reference": "90374b8ed059325b49a29b55b3f8bb4062c87629",
"shasum": ""
},
"require": {
@ -4662,7 +4661,7 @@
"terminal"
],
"support": {
"source": "https://github.com/symfony/console/tree/v5.2.6"
"source": "https://github.com/symfony/console/tree/v5.2.7"
},
"funding": [
{
@ -4678,20 +4677,20 @@
"type": "tidelift"
}
],
"time": "2021-03-28T09:42:18+00:00"
"time": "2021-04-19T14:07:32+00:00"
},
{
"name": "symfony/css-selector",
"version": "v5.2.4",
"version": "v5.2.7",
"source": {
"type": "git",
"url": "https://github.com/symfony/css-selector.git",
"reference": "f65f217b3314504a1ec99c2d6ef69016bb13490f"
"reference": "59a684f5ac454f066ecbe6daecce6719aed283fb"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/css-selector/zipball/f65f217b3314504a1ec99c2d6ef69016bb13490f",
"reference": "f65f217b3314504a1ec99c2d6ef69016bb13490f",
"url": "https://api.github.com/repos/symfony/css-selector/zipball/59a684f5ac454f066ecbe6daecce6719aed283fb",
"reference": "59a684f5ac454f066ecbe6daecce6719aed283fb",
"shasum": ""
},
"require": {
@ -4727,7 +4726,7 @@
"description": "Converts CSS selectors to XPath expressions",
"homepage": "https://symfony.com",
"support": {
"source": "https://github.com/symfony/css-selector/tree/v5.2.4"
"source": "https://github.com/symfony/css-selector/tree/v5.3.0-BETA1"
},
"funding": [
{
@ -4743,7 +4742,7 @@
"type": "tidelift"
}
],
"time": "2021-01-27T10:01:46+00:00"
"time": "2021-04-07T16:07:52+00:00"
},
{
"name": "symfony/deprecation-contracts",
@ -4814,16 +4813,16 @@
},
{
"name": "symfony/error-handler",
"version": "v5.2.6",
"version": "v5.2.7",
"source": {
"type": "git",
"url": "https://github.com/symfony/error-handler.git",
"reference": "bdb7fb4188da7f4211e4b88350ba0dfdad002b03"
"reference": "ea3ddbf67615e883ca7c33a4de61213789846782"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/error-handler/zipball/bdb7fb4188da7f4211e4b88350ba0dfdad002b03",
"reference": "bdb7fb4188da7f4211e4b88350ba0dfdad002b03",
"url": "https://api.github.com/repos/symfony/error-handler/zipball/ea3ddbf67615e883ca7c33a4de61213789846782",
"reference": "ea3ddbf67615e883ca7c33a4de61213789846782",
"shasum": ""
},
"require": {
@ -4863,7 +4862,7 @@
"description": "Provides tools to manage errors and ease debugging PHP code",
"homepage": "https://symfony.com",
"support": {
"source": "https://github.com/symfony/error-handler/tree/v5.2.6"
"source": "https://github.com/symfony/error-handler/tree/v5.2.7"
},
"funding": [
{
@ -4879,7 +4878,7 @@
"type": "tidelift"
}
],
"time": "2021-03-16T09:07:47+00:00"
"time": "2021-04-07T15:57:33+00:00"
},
{
"name": "symfony/event-dispatcher",
@ -5186,16 +5185,16 @@
},
{
"name": "symfony/http-foundation",
"version": "v5.2.4",
"version": "v5.2.7",
"source": {
"type": "git",
"url": "https://github.com/symfony/http-foundation.git",
"reference": "54499baea7f7418bce7b5ec92770fd0799e8e9bf"
"reference": "a416487a73bb9c9d120e9ba3a60547f4a3fb7a1f"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/http-foundation/zipball/54499baea7f7418bce7b5ec92770fd0799e8e9bf",
"reference": "54499baea7f7418bce7b5ec92770fd0799e8e9bf",
"url": "https://api.github.com/repos/symfony/http-foundation/zipball/a416487a73bb9c9d120e9ba3a60547f4a3fb7a1f",
"reference": "a416487a73bb9c9d120e9ba3a60547f4a3fb7a1f",
"shasum": ""
},
"require": {
@ -5239,7 +5238,7 @@
"description": "Defines an object-oriented layer for the HTTP specification",
"homepage": "https://symfony.com",
"support": {
"source": "https://github.com/symfony/http-foundation/tree/v5.2.4"
"source": "https://github.com/symfony/http-foundation/tree/v5.2.7"
},
"funding": [
{
@ -5255,20 +5254,20 @@
"type": "tidelift"
}
],
"time": "2021-02-25T17:16:57+00:00"
"time": "2021-05-01T13:46:24+00:00"
},
{
"name": "symfony/http-kernel",
"version": "v5.2.6",
"version": "v5.2.7",
"source": {
"type": "git",
"url": "https://github.com/symfony/http-kernel.git",
"reference": "f34de4c61ca46df73857f7f36b9a3805bdd7e3b2"
"reference": "1e9f6879f070f718e0055fbac232a56f67b8b6bd"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/http-kernel/zipball/f34de4c61ca46df73857f7f36b9a3805bdd7e3b2",
"reference": "f34de4c61ca46df73857f7f36b9a3805bdd7e3b2",
"url": "https://api.github.com/repos/symfony/http-kernel/zipball/1e9f6879f070f718e0055fbac232a56f67b8b6bd",
"reference": "1e9f6879f070f718e0055fbac232a56f67b8b6bd",
"shasum": ""
},
"require": {
@ -5351,7 +5350,7 @@
"description": "Provides a structured process for converting a Request into a Response",
"homepage": "https://symfony.com",
"support": {
"source": "https://github.com/symfony/http-kernel/tree/v5.2.6"
"source": "https://github.com/symfony/http-kernel/tree/v5.2.7"
},
"funding": [
{
@ -5367,20 +5366,20 @@
"type": "tidelift"
}
],
"time": "2021-03-29T05:16:58+00:00"
"time": "2021-05-01T14:53:15+00:00"
},
{
"name": "symfony/mime",
"version": "v5.2.6",
"version": "v5.2.7",
"source": {
"type": "git",
"url": "https://github.com/symfony/mime.git",
"reference": "1b2092244374cbe48ae733673f2ca0818b37197b"
"reference": "7af452bf51c46f18da00feb32e1ad36db9426515"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/mime/zipball/1b2092244374cbe48ae733673f2ca0818b37197b",
"reference": "1b2092244374cbe48ae733673f2ca0818b37197b",
"url": "https://api.github.com/repos/symfony/mime/zipball/7af452bf51c46f18da00feb32e1ad36db9426515",
"reference": "7af452bf51c46f18da00feb32e1ad36db9426515",
"shasum": ""
},
"require": {
@ -5434,7 +5433,7 @@
"mime-type"
],
"support": {
"source": "https://github.com/symfony/mime/tree/v5.2.6"
"source": "https://github.com/symfony/mime/tree/v5.2.7"
},
"funding": [
{
@ -5450,7 +5449,7 @@
"type": "tidelift"
}
],
"time": "2021-03-12T13:18:39+00:00"
"time": "2021-04-29T20:47:09+00:00"
},
{
"name": "symfony/polyfill-ctype",
@ -6183,16 +6182,16 @@
},
{
"name": "symfony/process",
"version": "v5.2.4",
"version": "v5.2.7",
"source": {
"type": "git",
"url": "https://github.com/symfony/process.git",
"reference": "313a38f09c77fbcdc1d223e57d368cea76a2fd2f"
"reference": "98cb8eeb72e55d4196dd1e36f1f16e7b3a9a088e"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/process/zipball/313a38f09c77fbcdc1d223e57d368cea76a2fd2f",
"reference": "313a38f09c77fbcdc1d223e57d368cea76a2fd2f",
"url": "https://api.github.com/repos/symfony/process/zipball/98cb8eeb72e55d4196dd1e36f1f16e7b3a9a088e",
"reference": "98cb8eeb72e55d4196dd1e36f1f16e7b3a9a088e",
"shasum": ""
},
"require": {
@ -6225,7 +6224,7 @@
"description": "Executes commands in sub-processes",
"homepage": "https://symfony.com",
"support": {
"source": "https://github.com/symfony/process/tree/v5.2.4"
"source": "https://github.com/symfony/process/tree/v5.3.0-BETA1"
},
"funding": [
{
@ -6241,7 +6240,7 @@
"type": "tidelift"
}
],
"time": "2021-01-27T10:15:41+00:00"
"time": "2021-04-08T10:27:02+00:00"
},
{
"name": "symfony/psr-http-message-bridge",
@ -6333,16 +6332,16 @@
},
{
"name": "symfony/routing",
"version": "v5.2.6",
"version": "v5.2.7",
"source": {
"type": "git",
"url": "https://github.com/symfony/routing.git",
"reference": "31fba555f178afd04d54fd26953501b2c3f0c6e6"
"reference": "3f0cab2e95b5e92226f34c2c1aa969d3fc41f48c"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/routing/zipball/31fba555f178afd04d54fd26953501b2c3f0c6e6",
"reference": "31fba555f178afd04d54fd26953501b2c3f0c6e6",
"url": "https://api.github.com/repos/symfony/routing/zipball/3f0cab2e95b5e92226f34c2c1aa969d3fc41f48c",
"reference": "3f0cab2e95b5e92226f34c2c1aa969d3fc41f48c",
"shasum": ""
},
"require": {
@ -6365,7 +6364,6 @@
"symfony/yaml": "^4.4|^5.0"
},
"suggest": {
"doctrine/annotations": "For using the annotation loader",
"symfony/config": "For using the all-in-one router or any loader",
"symfony/expression-language": "For using expression matching",
"symfony/http-foundation": "For using a Symfony Request object",
@ -6403,7 +6401,7 @@
"url"
],
"support": {
"source": "https://github.com/symfony/routing/tree/v5.2.6"
"source": "https://github.com/symfony/routing/tree/v5.2.7"
},
"funding": [
{
@ -6419,7 +6417,7 @@
"type": "tidelift"
}
],
"time": "2021-03-14T13:53:33+00:00"
"time": "2021-04-11T22:55:21+00:00"
},
{
"name": "symfony/service-contracts",
@ -6585,16 +6583,16 @@
},
{
"name": "symfony/translation",
"version": "v5.2.6",
"version": "v5.2.7",
"source": {
"type": "git",
"url": "https://github.com/symfony/translation.git",
"reference": "2cc7f45d96db9adfcf89adf4401d9dfed509f4e1"
"reference": "e37ece5242564bceea54d709eafc948377ec9749"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/translation/zipball/2cc7f45d96db9adfcf89adf4401d9dfed509f4e1",
"reference": "2cc7f45d96db9adfcf89adf4401d9dfed509f4e1",
"url": "https://api.github.com/repos/symfony/translation/zipball/e37ece5242564bceea54d709eafc948377ec9749",
"reference": "e37ece5242564bceea54d709eafc948377ec9749",
"shasum": ""
},
"require": {
@ -6658,7 +6656,7 @@
"description": "Provides tools to internationalize your application",
"homepage": "https://symfony.com",
"support": {
"source": "https://github.com/symfony/translation/tree/v5.2.6"
"source": "https://github.com/symfony/translation/tree/v5.2.7"
},
"funding": [
{
@ -6674,7 +6672,7 @@
"type": "tidelift"
}
],
"time": "2021-03-23T19:33:48+00:00"
"time": "2021-04-01T08:15:21+00:00"
},
{
"name": "symfony/translation-contracts",
@ -6756,16 +6754,16 @@
},
{
"name": "symfony/var-dumper",
"version": "v5.2.6",
"version": "v5.2.7",
"source": {
"type": "git",
"url": "https://github.com/symfony/var-dumper.git",
"reference": "89412a68ea2e675b4e44f260a5666729f77f668e"
"reference": "27cb9f7cfa3853c736425c7233a8f68814b19636"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/var-dumper/zipball/89412a68ea2e675b4e44f260a5666729f77f668e",
"reference": "89412a68ea2e675b4e44f260a5666729f77f668e",
"url": "https://api.github.com/repos/symfony/var-dumper/zipball/27cb9f7cfa3853c736425c7233a8f68814b19636",
"reference": "27cb9f7cfa3853c736425c7233a8f68814b19636",
"shasum": ""
},
"require": {
@ -6824,7 +6822,7 @@
"dump"
],
"support": {
"source": "https://github.com/symfony/var-dumper/tree/v5.2.6"
"source": "https://github.com/symfony/var-dumper/tree/v5.2.7"
},
"funding": [
{
@ -6840,7 +6838,7 @@
"type": "tidelift"
}
],
"time": "2021-03-28T09:42:18+00:00"
"time": "2021-04-19T14:07:32+00:00"
},
{
"name": "tightenco/collect",
@ -8532,16 +8530,16 @@
},
{
"name": "nikic/php-parser",
"version": "v4.10.4",
"version": "v4.10.5",
"source": {
"type": "git",
"url": "https://github.com/nikic/PHP-Parser.git",
"reference": "c6d052fc58cb876152f89f532b95a8d7907e7f0e"
"reference": "4432ba399e47c66624bc73c8c0f811e5c109576f"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/c6d052fc58cb876152f89f532b95a8d7907e7f0e",
"reference": "c6d052fc58cb876152f89f532b95a8d7907e7f0e",
"url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/4432ba399e47c66624bc73c8c0f811e5c109576f",
"reference": "4432ba399e47c66624bc73c8c0f811e5c109576f",
"shasum": ""
},
"require": {
@ -8582,22 +8580,22 @@
],
"support": {
"issues": "https://github.com/nikic/PHP-Parser/issues",
"source": "https://github.com/nikic/PHP-Parser/tree/v4.10.4"
"source": "https://github.com/nikic/PHP-Parser/tree/v4.10.5"
},
"time": "2020-12-20T10:01:03+00:00"
"time": "2021-05-03T19:11:20+00:00"
},
{
"name": "nunomaduro/larastan",
"version": "v0.7.4",
"version": "v0.7.5",
"source": {
"type": "git",
"url": "https://github.com/nunomaduro/larastan.git",
"reference": "0ceef2a39b45be9d7f7dd96192a1721ba5112278"
"reference": "ba865c6683552608bc2360a459925abeda45a4cc"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/nunomaduro/larastan/zipball/0ceef2a39b45be9d7f7dd96192a1721ba5112278",
"reference": "0ceef2a39b45be9d7f7dd96192a1721ba5112278",
"url": "https://api.github.com/repos/nunomaduro/larastan/zipball/ba865c6683552608bc2360a459925abeda45a4cc",
"reference": "ba865c6683552608bc2360a459925abeda45a4cc",
"shasum": ""
},
"require": {
@ -8661,7 +8659,7 @@
],
"support": {
"issues": "https://github.com/nunomaduro/larastan/issues",
"source": "https://github.com/nunomaduro/larastan/tree/v0.7.4"
"source": "https://github.com/nunomaduro/larastan/tree/v0.7.5"
},
"funding": [
{
@ -8681,7 +8679,7 @@
"type": "patreon"
}
],
"time": "2021-04-16T08:25:31+00:00"
"time": "2021-04-29T14:43:35+00:00"
},
{
"name": "phar-io/manifest",
@ -9021,16 +9019,16 @@
},
{
"name": "phpstan/phpstan",
"version": "0.12.84",
"version": "0.12.86",
"source": {
"type": "git",
"url": "https://github.com/phpstan/phpstan.git",
"reference": "9c43f15da8798c8f30a4b099e6a94530a558cfd5"
"reference": "a84fdc53ecca7643dbc89ef8880d8b393a6c155a"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/phpstan/phpstan/zipball/9c43f15da8798c8f30a4b099e6a94530a558cfd5",
"reference": "9c43f15da8798c8f30a4b099e6a94530a558cfd5",
"url": "https://api.github.com/repos/phpstan/phpstan/zipball/a84fdc53ecca7643dbc89ef8880d8b393a6c155a",
"reference": "a84fdc53ecca7643dbc89ef8880d8b393a6c155a",
"shasum": ""
},
"require": {
@ -9061,7 +9059,7 @@
"description": "PHPStan - PHP Static Analysis Tool",
"support": {
"issues": "https://github.com/phpstan/phpstan/issues",
"source": "https://github.com/phpstan/phpstan/tree/0.12.84"
"source": "https://github.com/phpstan/phpstan/tree/0.12.86"
},
"funding": [
{
@ -9077,7 +9075,7 @@
"type": "tidelift"
}
],
"time": "2021-04-19T17:10:54+00:00"
"time": "2021-05-08T11:29:01+00:00"
},
{
"name": "phpstan/phpstan-deprecation-rules",
@ -9607,12 +9605,12 @@
"source": {
"type": "git",
"url": "https://github.com/Roave/SecurityAdvisories.git",
"reference": "3c97c13698c448fdbbda20acb871884a2d8f45b1"
"reference": "07314cf15422b2e162d591fe8ef2b850612b808f"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/Roave/SecurityAdvisories/zipball/3c97c13698c448fdbbda20acb871884a2d8f45b1",
"reference": "3c97c13698c448fdbbda20acb871884a2d8f45b1",
"url": "https://api.github.com/repos/Roave/SecurityAdvisories/zipball/07314cf15422b2e162d591fe8ef2b850612b808f",
"reference": "07314cf15422b2e162d591fe8ef2b850612b808f",
"shasum": ""
},
"conflict": {
@ -9629,7 +9627,8 @@
"barrelstrength/sprout-base-email": "<1.2.7",
"barrelstrength/sprout-forms": "<3.9",
"baserproject/basercms": ">=4,<=4.3.6|>=4.4,<4.4.1",
"bolt/bolt": "<3.7.1",
"bk2k/bootstrap-package": ">=7.1,<7.1.2|>=8,<8.0.8|>=9,<9.0.4|>=9.1,<9.1.3|>=10,<10.0.10|>=11,<11.0.3",
"bolt/bolt": "<3.7.2",
"bolt/core": "<4.1.13",
"brightlocal/phpwhois": "<=4.2.5",
"buddypress/buddypress": "<5.1.2",
@ -9640,7 +9639,7 @@
"centreon/centreon": "<18.10.8|>=19,<19.4.5",
"cesnet/simplesamlphp-module-proxystatistics": "<3.1",
"codeigniter/framework": "<=3.0.6",
"composer/composer": "<=1-alpha.11",
"composer/composer": "<1.10.22|>=2-alpha.1,<2.0.13",
"contao-components/mediaelement": ">=2.14.2,<2.21.1",
"contao/core": ">=2,<3.5.39",
"contao/core-bundle": ">=4,<4.4.52|>=4.5,<4.9.6|= 4.10.0",
@ -9661,6 +9660,7 @@
"dompdf/dompdf": ">=0.6,<0.6.2",
"drupal/core": ">=7,<7.74|>=8,<8.8.11|>=8.9,<8.9.9|>=9,<9.0.8",
"drupal/drupal": ">=7,<7.74|>=8,<8.8.11|>=8.9,<8.9.9|>=9,<9.0.8",
"dweeves/magmi": "<=0.7.24",
"endroid/qr-code-bundle": "<3.4.2",
"enshrined/svg-sanitize": "<0.13.1",
"erusev/parsedown": "<1.7.2",
@ -9685,14 +9685,16 @@
"flarum/tags": "<=0.1-beta.13",
"fluidtypo3/vhs": "<5.1.1",
"fooman/tcpdf": "<6.2.22",
"forkcms/forkcms": "<5.8.3",
"fossar/tcpdf-parser": "<6.2.22",
"francoisjacquet/rosariosis": "<6.5.1",
"friendsofsymfony/oauth2-php": "<1.3",
"friendsofsymfony/rest-bundle": ">=1.2,<1.2.2",
"friendsofsymfony/user-bundle": ">=1.2,<1.3.5",
"friendsoftypo3/mediace": ">=7.6.2,<7.6.5",
"fuel/core": "<1.8.1",
"getgrav/grav": "<1.7.11",
"getkirby/cms": ">=3,<3.4.5",
"getkirby/cms": "<3.5.4",
"getkirby/panel": "<2.5.14",
"gos/web-socket-bundle": "<1.10.4|>=2,<2.6.1|>=3,<3.3",
"gree/jose": "<=2.2",
@ -9700,7 +9702,7 @@
"guzzlehttp/guzzle": ">=4-rc.2,<4.2.4|>=5,<5.3.1|>=6,<6.2.1",
"illuminate/auth": ">=4,<4.0.99|>=4.1,<=4.1.31|>=4.2,<=4.2.22|>=5,<=5.0.35|>=5.1,<=5.1.46|>=5.2,<=5.2.45|>=5.3,<=5.3.31|>=5.4,<=5.4.36|>=5.5,<5.5.10",
"illuminate/cookie": ">=4,<=4.0.11|>=4.1,<=4.1.99999|>=4.2,<=4.2.99999|>=5,<=5.0.99999|>=5.1,<=5.1.99999|>=5.2,<=5.2.99999|>=5.3,<=5.3.99999|>=5.4,<=5.4.99999|>=5.5,<=5.5.49|>=5.6,<=5.6.99999|>=5.7,<=5.7.99999|>=5.8,<=5.8.99999|>=6,<6.18.31|>=7,<7.22.4",
"illuminate/database": "<6.20.14|>=7,<7.30.4|>=8,<8.24",
"illuminate/database": "<6.20.26|>=7,<8.40",
"illuminate/encryption": ">=4,<=4.0.11|>=4.1,<=4.1.31|>=4.2,<=4.2.22|>=5,<=5.0.35|>=5.1,<=5.1.46|>=5.2,<=5.2.45|>=5.3,<=5.3.31|>=5.4,<=5.4.36|>=5.5,<5.5.40|>=5.6,<5.6.15",
"illuminate/view": ">=7,<7.1.2",
"impresscms/impresscms": "<=1.4.2",
@ -9713,10 +9715,10 @@
"kitodo/presentation": "<3.1.2",
"kreait/firebase-php": ">=3.2,<3.8.1",
"la-haute-societe/tcpdf": "<6.2.22",
"laravel/framework": "<6.20.14|>=7,<7.30.4|>=8,<8.24",
"laravel/framework": "<6.20.26|>=7,<8.40",
"laravel/socialite": ">=1,<1.0.99|>=2,<2.0.10",
"league/commonmark": "<0.18.3",
"librenms/librenms": "<1.53",
"librenms/librenms": "<21.1",
"livewire/livewire": ">2.2.4,<2.2.6",
"magento/community-edition": ">=2,<2.2.10|>=2.3,<2.3.3",
"magento/magento1ce": "<1.9.4.3",
@ -9737,11 +9739,12 @@
"nystudio107/craft-seomatic": "<3.3",
"nzo/url-encryptor-bundle": ">=4,<4.3.2|>=5,<5.0.1",
"october/backend": "<1.1.2",
"october/cms": "= 1.0.469|>=1.0.319,<1.0.469",
"october/cms": "= 1.1.1|= 1.0.471|= 1.0.469|>=1.0.319,<1.0.469",
"october/october": ">=1.0.319,<1.0.466",
"october/rain": "<1.0.472|>=1.1,<1.1.2",
"onelogin/php-saml": "<2.10.4",
"oneup/uploader-bundle": "<1.9.3|>=2,<2.1.5",
"opencart/opencart": "<=3.0.3.2",
"openid/php-openid": "<2.3",
"openmage/magento-lts": "<=19.4.12|>=20,<=20.0.8",
"orchid/platform": ">=9,<9.4.4",
@ -9752,10 +9755,10 @@
"paragonie/random_compat": "<2",
"passbolt/passbolt_api": "<2.11",
"paypal/merchant-sdk-php": "<3.12",
"pear/archive_tar": "<1.4.13",
"pear/archive_tar": "<1.4.12",
"personnummer/personnummer": "<3.0.2",
"phpfastcache/phpfastcache": ">=5,<5.0.13",
"phpmailer/phpmailer": "<6.1.6",
"phpmailer/phpmailer": "<6.1.6|>=6.1.8,<6.4.1",
"phpmussel/phpmussel": ">=1,<1.6",
"phpmyadmin/phpmyadmin": "<4.9.6|>=5,<5.0.3",
"phpoffice/phpexcel": "<1.8.2",
@ -9780,6 +9783,7 @@
"pusher/pusher-php-server": "<2.2.1",
"pwweb/laravel-core": "<=0.3.6-beta",
"rainlab/debugbar-plugin": "<3.1",
"rmccue/requests": ">=1.6,<1.8",
"robrichards/xmlseclibs": "<3.0.4",
"sabberworm/php-css-parser": ">=1,<1.0.1|>=2,<2.0.1|>=3,<3.0.1|>=4,<4.0.1|>=5,<5.0.9|>=5.1,<5.1.3|>=5.2,<5.2.1|>=6,<6.0.2|>=7,<7.0.4|>=8,<8.0.1|>=8.1,<8.1.1|>=8.2,<8.2.1|>=8.3,<8.3.1",
"sabre/dav": ">=1.6,<1.6.99|>=1.7,<1.7.11|>=1.8,<1.8.9",
@ -9887,6 +9891,7 @@
"yiisoft/yii2-jui": "<2.0.4",
"yiisoft/yii2-redis": "<2.0.8",
"yourls/yourls": "<1.7.4",
"zendesk/zendesk_api_client_php": "<2.2.11",
"zendframework/zend-cache": ">=2.4,<2.4.8|>=2.5,<2.5.3",
"zendframework/zend-captcha": ">=2,<2.4.9|>=2.5,<2.5.2",
"zendframework/zend-crypt": ">=2,<2.4.9|>=2.5,<2.5.2",
@ -9911,7 +9916,8 @@
"zetacomponents/mail": "<1.8.2",
"zf-commons/zfc-user": "<1.2.2",
"zfcampus/zf-apigility-doctrine": ">=1,<1.0.3",
"zfr/zfr-oauth2-server-module": "<0.1.2"
"zfr/zfr-oauth2-server-module": "<0.1.2",
"zoujingli/thinkadmin": "<6.0.22"
},
"type": "metapackage",
"notification-url": "https://packagist.org/downloads/",
@ -9945,7 +9951,7 @@
"type": "tidelift"
}
],
"time": "2021-04-22T17:19:04+00:00"
"time": "2021-05-06T19:08:33+00:00"
},
{
"name": "sebastian/cli-parser",
@ -11024,16 +11030,16 @@
},
{
"name": "symfony/debug",
"version": "v4.4.20",
"version": "v4.4.22",
"source": {
"type": "git",
"url": "https://github.com/symfony/debug.git",
"reference": "157bbec4fd773bae53c5483c50951a5530a2cc16"
"reference": "45b2136377cca5f10af858968d6079a482bca473"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/debug/zipball/157bbec4fd773bae53c5483c50951a5530a2cc16",
"reference": "157bbec4fd773bae53c5483c50951a5530a2cc16",
"url": "https://api.github.com/repos/symfony/debug/zipball/45b2136377cca5f10af858968d6079a482bca473",
"reference": "45b2136377cca5f10af858968d6079a482bca473",
"shasum": ""
},
"require": {
@ -11073,7 +11079,7 @@
"description": "Provides tools to ease debugging PHP code",
"homepage": "https://symfony.com",
"support": {
"source": "https://github.com/symfony/debug/tree/v4.4.20"
"source": "https://github.com/symfony/debug/tree/v4.4.22"
},
"funding": [
{
@ -11089,20 +11095,20 @@
"type": "tidelift"
}
],
"time": "2021-01-28T16:54:48+00:00"
"time": "2021-04-02T07:50:12+00:00"
},
{
"name": "symfony/filesystem",
"version": "v5.2.6",
"version": "v5.2.7",
"source": {
"type": "git",
"url": "https://github.com/symfony/filesystem.git",
"reference": "8c86a82f51658188119e62cff0a050a12d09836f"
"reference": "056e92acc21d977c37e6ea8e97374b2a6c8551b0"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/filesystem/zipball/8c86a82f51658188119e62cff0a050a12d09836f",
"reference": "8c86a82f51658188119e62cff0a050a12d09836f",
"url": "https://api.github.com/repos/symfony/filesystem/zipball/056e92acc21d977c37e6ea8e97374b2a6c8551b0",
"reference": "056e92acc21d977c37e6ea8e97374b2a6c8551b0",
"shasum": ""
},
"require": {
@ -11135,7 +11141,7 @@
"description": "Provides basic utilities for the filesystem",
"homepage": "https://symfony.com",
"support": {
"source": "https://github.com/symfony/filesystem/tree/v5.2.6"
"source": "https://github.com/symfony/filesystem/tree/v5.2.7"
},
"funding": [
{
@ -11151,7 +11157,7 @@
"type": "tidelift"
}
],
"time": "2021-03-28T14:30:26+00:00"
"time": "2021-04-01T10:42:13+00:00"
},
{
"name": "thecodingmachine/phpstan-strict-rules",

View File

@ -100,7 +100,7 @@ return [
'handle_debts' => true,
],
'version' => '5.5.9',
'version' => '5.5.11',
'api_version' => '1.5.2',
'db_version' => 16,
'maxUploadSize' => 1073741824, // 1 GB

View File

@ -4,6 +4,7 @@
"/public/js/accounts/delete.js": "/public/js/accounts/delete.js",
"/public/js/accounts/show.js": "/public/js/accounts/show.js",
"/public/js/accounts/create.js": "/public/js/accounts/create.js",
"/public/js/budgets/index.js": "/public/js/budgets/index.js",
"/public/js/transactions/create.js": "/public/js/transactions/create.js",
"/public/js/transactions/edit.js": "/public/js/transactions/edit.js",
"/public/js/transactions/index.js": "/public/js/transactions/index.js",

View File

@ -0,0 +1,114 @@
<!--
- Index.vue
- 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/>.
-->
<template>
<div>
<p>
<span class="d-block">(all)</span>
<span class="d-none d-xl-block">xl</span>
<span class="d-none d-lg-block d-xl-none">lg</span>
<span class="d-none d-md-block d-lg-none">md</span>
<span class="d-none d-sm-block d-md-none">sm</span>
<span class="d-block d-sm-none">xs</span>
</p>
<div class="row">
<div class="col-xl-2 col-lg-4 col-md-4 col-sm-4 col-6">
<div class="card card-primary">
<div class="card-header">
<h3 class="card-title">Budgets</h3>
</div>
<div class="card-body">
Budget X<br>
Budget Y<br>
Budget X<br>
Budget Y<br>
Budget X<br>
Budget Y<br>
Budget X<br>
Budget Y<br>
</div>
</div>
</div>
<div class="col-xl-10 col-lg-8 col-md-8 col-sm-8 col-6">
<div class="container-fluid" style="overflow:scroll;">
<div class="d-flex flex-row flex-nowrap">
<div class="card card-body-budget" v-for="n in 5">
<div class="card-header">
<h3 class="card-title">Maand yXz</h3>
</div>
<div class="card-body">
Some text<br>
Some text<br>
Some text<br>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</template>
<script>
export default {
name: "Index",
created() {
}
}
</script>
<style scoped>
.card-body-budget {
min-width: 300px;
margin-right: 5px;
}
.holder-titles {
display: flex;
flex-direction: column-reverse;
}
.title-block {
border: 1px red solid;
}
.holder-blocks {
display: flex;
flex-direction: column-reverse;
}
.budget-block {
border: 1px blue solid;
}
.budget-block-unused {
border: 1px green solid;
}
.budget-block-unset {
border: 1px purple solid;
}
</style>

View File

@ -27,7 +27,7 @@
<td style="vertical-align: middle">
<div class="progress progress active">
<div :aria-valuenow="budgetLimit.pctGreen" :style="'width: '+ budgetLimit.pctGreen + '%;'"
aria-valuemax="100" aria-valuemin="0" class="progress-bar bg-success progress-bar-striped" role="progressbar">
aria-valuemax="100" aria-valuemin="0" class="progress-bar bg-success" role="progressbar">
<span v-if="budgetLimit.pctGreen > 35">
{{ $t('firefly.spent_x_of_y', {amount: Intl.NumberFormat(locale, {style: 'currency', currency: budgetLimit.currency_code}).format(budgetLimit.spent), total: Intl.NumberFormat(locale, {style: 'currency', currency: budgetLimit.currency_code}).format(budgetLimit.amount)}) }}
<!-- -->
@ -37,14 +37,14 @@
</div>
<div :aria-valuenow="budgetLimit.pctOrange" :style="'width: '+ budgetLimit.pctOrange + '%;'"
aria-valuemax="100" aria-valuemin="0" class="progress-bar bg-warning progress-bar-striped" role="progressbar">
aria-valuemax="100" aria-valuemin="0" class="progress-bar bg-warning" role="progressbar">
<span v-if="budgetLimit.pctRed <= 50 && budgetLimit.pctOrange > 35">
{{ $t('firefly.spent_x_of_y', {amount: Intl.NumberFormat(locale, {style: 'currency', currency: budgetLimit.currency_code}).format(budgetLimit.spent), total: Intl.NumberFormat(locale, {style: 'currency', currency: budgetLimit.currency_code}).format(budgetLimit.amount)}) }}
</span>
</div>
<div :aria-valuenow="budgetLimit.pctRed" :style="'width: '+ budgetLimit.pctRed + '%;'"
aria-valuemax="100" aria-valuemin="0" class="progress-bar bg-danger progress-bar-striped" role="progressbar">
aria-valuemax="100" aria-valuemin="0" class="progress-bar bg-danger" role="progressbar">
<span v-if="budgetLimit.pctOrange <= 50 && budgetLimit.pctRed > 35" class="text-muted">
{{ $t('firefly.spent_x_of_y', {amount: Intl.NumberFormat(locale, {style: 'currency', currency: budgetLimit.currency_code}).format(budgetLimit.spent), total: Intl.NumberFormat(locale, {style: 'currency', currency: budgetLimit.currency_code}).format(budgetLimit.amount)}) }}
</span>

View File

@ -33,9 +33,6 @@
<div v-if="error" class="text-center">
<i class="fas fa-exclamation-triangle text-danger"></i>
</div>
<div v-if="timezoneDifference" class="text-muted small">
{{ $t('firefly.timezone_difference', {local: localTimeZone, system: systemTimeZone}) }}
</div>
</div>
<div class="card-footer">
<a class="btn btn-default button-sm" href="./accounts/asset"><i class="far fa-money-bill-alt"></i> {{ $t('firefly.go_to_asset_accounts') }}</a>
@ -66,24 +63,16 @@ export default {
dataCollection: {},
chartOptions: {},
_chart: null,
localTimeZone: '',
systemTimeZone: '',
}
},
created() {
this.chartOptions = DefaultLineOptions.methods.getDefaultOptions();
this.localTimeZone = Intl.DateTimeFormat().resolvedOptions().timeZone;
this.systemTimeZone = this.timezone;
this.ready = true;
},
computed: {
...mapGetters('dashboard/index', ['start', 'end']),
...mapGetters('root', ['timezone']),
'datesReady': function () {
return null !== this.start && null !== this.end && this.ready;
},
timezoneDifference: function () {
return this.localTimeZone !== this.systemTimeZone;
}
},
watch: {

View File

@ -42,7 +42,7 @@
<thead>
<tr>
<th scope="col">{{ $t('firefly.category') }}</th>
<th scope="col">{{ $t('firefly.spent') }}</th>
<th scope="col">{{ $t('firefly.spent') }} / {{ $t('firefly.earned') }}</th>
</tr>
</thead>
<tbody>

View File

@ -41,8 +41,8 @@
<caption style="display:none;">{{ $t('firefly.revenue_accounts') }}</caption>
<thead>
<tr>
<th scope="col">{{ $t('firefly.category') }}</th>
<th scope="col">{{ $t('firefly.spent') }}</th>
<th scope="col">{{ $t('firefly.account') }}</th>
<th scope="col">{{ $t('firefly.earned') }}</th>
</tr>
</thead>
<tbody>
@ -51,7 +51,7 @@
<td class="align-middle">
<div v-if="entry.pct > 0" class="progress">
<div :aria-valuenow="entry.pct" :style="{ width: entry.pct + '%'}" aria-valuemax="100"
aria-valuemin="0" class="progress-bar progress-bar-striped bg-success"
aria-valuemin="0" class="progress-bar bg-success"
role="progressbar">
<span v-if="entry.pct > 20">
{{ Intl.NumberFormat(locale, {style: 'currency', currency: entry.currency_code}).format(entry.difference_float) }}

View File

@ -41,7 +41,7 @@
<caption style="display:none;">{{ $t('firefly.expense_accounts') }}</caption>
<thead>
<tr>
<th scope="col">{{ $t('firefly.category') }}</th>
<th scope="col">{{ $t('firefly.account') }}</th>
<th scope="col">{{ $t('firefly.spent') }}</th>
</tr>
</thead>
@ -51,7 +51,7 @@
<td class="align-middle">
<div v-if="entry.pct > 0" class="progress">
<div :aria-valuenow="entry.pct" :style="{ width: entry.pct + '%'}" aria-valuemax="100"
aria-valuemin="0" class="progress-bar progress-bar-striped bg-danger"
aria-valuemin="0" class="progress-bar bg-danger"
role="progressbar">
<span v-if="entry.pct > 20">
{{ Intl.NumberFormat(locale, {style: 'currency', currency: entry.currency_code}).format(entry.difference_float) }}

View File

@ -58,7 +58,7 @@
<td>
<div class="progress-group">
<div class="progress progress-sm">
<div v-if="piggy.attributes.pct < 100" :style="{'width': piggy.attributes.pct + '%'}" class="progress-bar progress-bar-striped primary"></div>
<div v-if="piggy.attributes.pct < 100" :style="{'width': piggy.attributes.pct + '%'}" class="progress-bar primary"></div>
<div v-if="100 === piggy.attributes.pct" :style="{'width': piggy.attributes.pct + '%'}"
class="progress-bar progress-bar-striped bg-success"></div>
</div>

View File

@ -20,7 +20,7 @@
<template>
<div class="row">
<div class="col"> <!-- col-md-3 col-sm-6 col-12 -->
<div class="col" v-if="0 !== prefCurrencyBalances.length || 0 !== notPrefCurrencyBalances.length">
<div class="info-box">
<span class="info-box-icon"><i class="far fa-bookmark text-info"></i></span>
@ -45,7 +45,7 @@
</div>
</div>
<div class="col">
<div class="col" v-if="0!==prefBillsUnpaid.length || 0 !== notPrefBillsUnpaid.length">
<div class="info-box">
<span class="info-box-icon"><i class="far fa-calendar-alt text-teal"></i></span>
@ -55,7 +55,6 @@
<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>
@ -71,7 +70,7 @@
</div>
</div>
<!-- left to spend -->
<div class="col">
<div class="col" v-if="0 !== prefLeftToSpend.length || 0 !== notPrefLeftToSpend.length">
<div class="info-box">
<span class="info-box-icon"><i class="fas fa-money-bill text-success"></i></span>
@ -98,7 +97,7 @@
</div>
<!-- net worth -->
<div class="col">
<div class="col" v-if="0 !== notPrefNetWorth.length || 0 !== prefNetWorth.length">
<div class="info-box">
<span class="info-box-icon"><i class="fas fa-money-bill text-success"></i></span>

View File

@ -25,21 +25,26 @@
<Alert :message="warningMessage" type="warning"/>
<form @submit="submitTransaction" autocomplete="off">
<SplitPills :transactions="transactions"/>
<SplitPills
:transactions="transactions"
:count="transactions.length"
/>
<div class="tab-content">
<SplitForm
v-for="(transaction, index) in this.transactions"
v-bind:key="index"
:count="transactions.length"
:index="index"
v-bind:key="transaction.transaction_journal_id"
:key="transaction.transaction_journal_id"
:transaction="transaction"
:date="date"
:count="transactions.length"
:transaction-type="transactionType"
:source-allowed-types="sourceAllowedTypes"
:allowed-opposing-types="allowedOpposingTypes"
:custom-fields="customFields"
:date="date"
:index="index"
:transaction-type="transactionType"
:destination-allowed-types="destinationAllowedTypes"
:source-allowed-types="sourceAllowedTypes"
:allow-switch="false"
v-on:uploaded-attachments="uploadedAttachment($event)"
v-on:set-marker-location="storeLocation($event)"
@ -122,61 +127,105 @@ const lodashClonedeep = require('lodash.clonedeep');
export default {
name: "Edit",
created() {
// console.log('Created');
let parts = window.location.pathname.split('/');
this.groupId = parseInt(parts[parts.length - 1]);
this.transactions = [];
this.getTransactionGroup();
this.getAllowedOpposingTypes();
this.getCustomFields();
},
data() {
return {
successMessage: '',
errorMessage: '',
warningMessage: '',
successMessage: {type: String, default: ''},
errorMessage: {type: String, default: ''},
warningMessage: {type: String, default: ''},
// transaction props
transactions: [],
originalTransactions: [],
groupTitle: '',
originalGroupTitle: '',
transactionType: 'any',
groupId: 0,
transactions: {
type: Array,
default: function () {
return [];
}
},
originalTransactions: {
type: Array,
default: function () {
return [];
}
},
groupTitle: {type: String, default: ''},
originalGroupTitle: {type: String, default: ''},
transactionType: {type: String, default: 'any'},
groupId: {type: Number, default: 0},
// errors in the group title:
groupTitleErrors: [],
groupTitleErrors: {
type: Array,
default: function () {
return [];
}
},
// which custom fields to show
customFields: {},
customFields: {
type: Object,
default: function () {
return {};
}
},
// group ID + title once submitted:
returnedGroupId: 0,
returnedGroupTitle: '',
returnedGroupId: {type: Number, default: 0},
returnedGroupTitle: {type: String, default: ''},
// date and time of the transaction,
date: '',
originalDate: '',
date: {type: String, default: ''},
originalDate: {type: String, default: ''},
// things the process is done working on (3 phases):
submittedTransaction: false,
submittedTransaction: {type: Boolean, default: false},
// submittedLinks: false,
submittedAttachments: -1, // -1 = no attachments, 0 = uploading, 1 = uploaded
inError: false,
submittedAttachments: {type: Number, default: -1}, // -1 = no attachments, 0 = uploading, 1 = uploaded
inError: {type: Boolean, default: false},
// number of uploaded attachments
// its an object because we count per transaction journal (which can have multiple attachments)
// and array doesn't work right.
submittedAttCount: {},
submittedAttCount: {
type: Object,
default: function () {
return {};
}
},
// meta data for accounts
allowedOpposingTypes: {},
destinationAllowedTypes: [],
sourceAllowedTypes: [],
allowedOpposingTypes: {
type: Object,
default: function () {
return {};
}
},
destinationAllowedTypes: {
type: Array,
default: function () {
return [];
}
},
sourceAllowedTypes: {
type: Array,
default: function () {
return [];
}
},
// states for the form (makes sense right)
enableSubmit: true,
stayHere: false,
// force the submission (in case of deletes)
forceTransactionSubmission: false
}
},
components: {
@ -195,16 +244,17 @@ export default {
methods: {
...mapMutations('transactions/create', ['updateField',]),
/**
* Grap transaction group from URL and submit GET.
* Grab transaction group from URL and submit GET.
*/
getTransactionGroup: function () {
// console.log('getTransactionGroup');
axios.get('./api/v1/transactions/' + this.groupId)
.then(response => {
this.parseTransactionGroup(response.data);
}
).catch(error => {
console.log('I failed :(');
console.log(error);
//console.log('I failed :(');
//console.log(error);
});
},
/**
@ -219,12 +269,16 @@ export default {
this.groupTitle = attributes.group_title;
this.originalGroupTitle = attributes.group_title;
this.transactions = [];
this.originalTransactions = [];
//this.returnedGroupId = parseInt(response.data.id);
this.returnedGroupTitle = null === this.originalGroupTitle ? response.data.attributes.transactions[0].description : this.originalGroupTitle;
for (let i in transactions) {
if (transactions.hasOwnProperty(i) && /^0$|^[1-9]\d*$/.test(i) && i <= 4294967294) {
// console.log('Parsing transaction nr ' + i);
let result = this.parseTransaction(parseInt(i), transactions[i]);
this.transactions.push(result);
this.originalTransactions.push(lodashClonedeep(result));
@ -431,16 +485,31 @@ export default {
},
removeTransaction: function (payload) {
//console.log('removeTransaction()');
//console.log(payload);
//console.log('length: ' + this.transactions.length);
this.transactions.splice(payload.index, 1);
//console.log('length: ' + this.transactions.length);
// console.log('removeTransaction()');
// console.log('length : ' + this.transactions.length);
// console.log('Remove index: ' + payload.index);
let index = 0;
for (let i in this.transactions) {
if (this.transactions.hasOwnProperty(i) && /^0$|^[1-9]\d*$/.test(i) && i <= 4294967294) {
// console.log('Now at index: ' + i);
if (index === payload.index) {
this.forceTransactionSubmission = true;
//console.log('Delete!');
this.transactions.splice(index, 1);
//console.log(delete this.transactions[i]);
}
index++;
}
}
$('#transactionTabs li:first-child a').tab('show');
// console.log(this.transactions);
// this.transactions.splice(payload.index, 1);
// console.log('length: ' + this.transactions.length);
//this.originalTransactions.splice(payload.index, 1);
// this.originalTransactions.splice(payload.index, 1);
// this kills the original transactions.
this.originalTransactions = [];
//this.originalTransactions = [];
},
storeGroupTitle: function (payload) {
this.groupTitle = payload;
@ -465,7 +534,9 @@ export default {
this.transactions.push(newTransaction);
},
submitTransaction: function (event) {
// console.log('submitTransaction()');
event.preventDefault();
this.enableSubmit = false;
let submission = {transactions: []};
// parse data to see if we should submit anything at all:
@ -487,9 +558,11 @@ export default {
}
// loop each transaction (edited by the user):
// console.log('Start of loop submitTransaction');
for (let i in this.transactions) {
// console.log('Index ' + i);
if (this.transactions.hasOwnProperty(i) && /^0$|^[1-9]\d*$/.test(i) && i <= 4294967294) {
// console.log('Has index ' + i);
// original transaction present:
let currentTransaction = this.transactions[i];
let originalTransaction = this.originalTransactions.hasOwnProperty(i) ? this.originalTransactions[i] : {};
@ -519,19 +592,28 @@ export default {
for (let ii in basicFields) {
if (basicFields.hasOwnProperty(ii) && /^0$|^[1-9]\d*$/.test(ii) && ii <= 4294967294) {
let fieldName = basicFields[ii];
// console.log('Now at field ' + fieldName);
let submissionFieldName = fieldName;
// if the original is undefined and the new one is null, just skip it.
if (currentTransaction[fieldName] === null && 'undefined' === typeof originalTransaction[fieldName]) {
// console.log('Will continue and skip');
continue;
}
if (currentTransaction[fieldName] !== originalTransaction[fieldName]) {
if (currentTransaction[fieldName] !== originalTransaction[fieldName] || true === this.forceTransactionSubmission) {
// console.log('we continue');
// some fields are ignored:
if ('foreign_amount' === submissionFieldName && '' === currentTransaction[fieldName]) {
// console.log('we skip!');
continue;
}
if ('foreign_currency_id' === submissionFieldName && 0 === currentTransaction[fieldName]) {
if ('foreign_currency_id' === submissionFieldName && 0 === currentTransaction[fieldName] ) {
// console.log('we skip!');
continue;
}
if ('foreign_currency_id' === submissionFieldName && '0' === currentTransaction[fieldName] ) {
// console.log('we skip!');
continue;
}
@ -552,6 +634,7 @@ export default {
// otherwise save them and remember them for submission:
diff[submissionFieldName] = currentTransaction[fieldName];
shouldSubmit = true;
//console.log('Should submit is now TRUE');
}
}
}
@ -584,6 +667,10 @@ export default {
if (typeof currentTransaction.selectedAttachments !== 'undefined' && true === currentTransaction.selectedAttachments) {
shouldUpload = true;
}
if(true === shouldSubmit) {
// set the date to whatever the date is:
diff.date = this.date;
}
if (this.date !== this.originalDate) {
shouldSubmit = true;
@ -601,15 +688,18 @@ export default {
submission.transactions.push(lodashClonedeep(diff));
shouldSubmit = true;
}
// console.log('Should submit index ' + i + '?');
// console.log(shouldSubmit);
}
}
this.submitUpdate(submission, shouldSubmit, shouldLinks, shouldUpload);
},
submitData: function (shouldSubmit, submission) {
//console.log('submitData');
// console.log('submitData');
// console.log(submission);
if (!shouldSubmit) {
//console.log('No need!');
// console.log('No need to submit transaction.');
return new Promise((resolve) => {
resolve({});
});
@ -662,9 +752,10 @@ export default {
return this.deleteAllOriginalLinks().then(() => this.submitNewLinks());
},
submitAttachments: function (shouldSubmit, response) {
//console.log('submitAttachments');
// console.log('submitAttachments');
if (!shouldSubmit) {
//console.log('no need!');
// console.log('no need!');
this.submittedAttachments = 1;
return new Promise((resolve) => {
resolve({});
});
@ -697,17 +788,20 @@ export default {
}
},
finaliseSubmission: function () {
//console.log('finaliseSubmission');
// console.log('finaliseSubmission (' + this.submittedAttachments + ')');
if (0 === this.submittedAttachments) {
return;
}
//console.log('continue (' + this.submittedAttachments + ')');
// console.log('continue (' + this.submittedAttachments + ')');
// console.log(this.stayHere);
// console.log(this.inError);
if (true === this.stayHere && false === this.inError) {
//console.log('no error + no changes + no redirect');
// show message:
this.errorMessage = '';
this.warningMessage = '';
this.successMessage = this.$t('firefly.transaction_updated_link', {ID: this.groupId, title: this.returnedGroupTitle});
}
// no error + changes + redirect
if (false === this.stayHere && false === this.inError) {
@ -728,7 +822,7 @@ export default {
}
},
submitUpdate: function (submission, shouldSubmit, shouldLinks, shouldUpload) {
//console.log('submitUpdate()');
// console.log('submitUpdate()');
this.inError = false;
this.submitData(shouldSubmit, submission)
@ -843,23 +937,23 @@ export default {
}
return JSON.stringify(compare);
},
uploadAttachments: function (result) {
//console.log('TODO, upload attachments.');
if (0 === Object.keys(result).length) {
for (let i in this.transactions) {
if (this.transactions.hasOwnProperty(i) && /^0$|^[1-9]\d*$/.test(i) && i <= 4294967294) {
//console.log('updateField(' + i + ', transaction_journal_id, ' + result[i].transaction_journal_id + ')');
this.updateField({index: i, field: 'transaction_journal_id', value: result[i].transaction_journal_id});
}
}
//console.log('Transactions not changed, use original objects.');
} else {
//console.log('Transactions changed!');
}
this.submittedAttachments = true;
},
// uploadAttachments: function (result) {
// //console.log('TODO, upload attachments.');
// if (0 === Object.keys(result).length) {
//
// for (let i in this.transactions) {
// if (this.transactions.hasOwnProperty(i) && /^0$|^[1-9]\d*$/.test(i) && i <= 4294967294) {
//
// //console.log('updateField(' + i + ', transaction_journal_id, ' + result[i].transaction_journal_id + ')');
// this.updateField({index: i, field: 'transaction_journal_id', value: result[i].transaction_journal_id});
// }
// }
// //console.log('Transactions not changed, use original objects.');
// } else {
// //console.log('Transactions changed!');
// }
// this.submittedAttachments = 0;
// },
parseErrors: function (errors) {
for (let i in this.transactions) {

View File

@ -19,7 +19,7 @@
-->
<template>
<div :id="'split_' + index" :class="'tab-pane' + (0===index ? ' active' : '')">
<div :id="'split_' + index" :class="'tab-pane' + (0 === index ? ' active' : '')">
<div class="row">
<div class="col">
<div class="card">
@ -32,6 +32,7 @@
<button type="button" class="btn btn-danger btn-xs" @click="removeTransaction"><i class="fas fa-trash-alt"></i></button>
</div>
</div>
<div class="card-body">
<!-- start of body -->
<div class="row">
@ -330,7 +331,7 @@ export default {
},
count: {
type: Number,
required: false
required: true
},
customFields: {
type: Object,
@ -351,21 +352,28 @@ export default {
sourceAllowedTypes: {
type: Array,
required: false,
default: []
default: function () {
return [];
}
}, // allowed source account types.
destinationAllowedTypes: {
type: Array,
required: false,
default: []
default: function () {
return [];
}
},
// allow switch?
allowSwitch: {
type: Boolean,
required: false,
default: true
default: false
}
},
created() {
// console.log('SplitForm(' + this.index + ')');
},
methods: {
removeTransaction: function () {
// console.log('Will remove transaction ' + this.index);

View File

@ -22,9 +22,10 @@
<div v-if="transactions.length > 1" class="row">
<div class="col">
<!-- tabs -->
<ul class="nav nav-pills ml-auto p-2">
<li v-for="(transaction, index) in this.transactions" class="nav-item"><a :class="'nav-link' + (0===index ? ' active' : '')" :href="'#split_' + index"
data-toggle="tab">
<ul class="nav nav-pills ml-auto p-2" id="transactionTabs">
<li v-for="(transaction, index) in this.transactions" class="nav-item"><a :class="'nav-link' + (0 === index ? ' active' : '')"
:href="'#split_' + index"
data-toggle="pill">
<span v-if="'' !== transaction.description">{{ transaction.description }}</span>
<span v-if="'' === transaction.description">Split {{ index + 1 }}</span>
</a></li>
@ -36,6 +37,18 @@
<script>
export default {
name: "SplitPills",
props: ['transactions']
props: {
transactions: {
type: Array,
required: true,
default: function() {
return [];
}
},
count: {
type: Number,
required: true
},
}
}
</script>

View File

@ -106,10 +106,12 @@
"revenue_accounts": "\u0421\u043c\u0435\u0442\u043a\u0438 \u0437\u0430 \u043f\u0440\u0438\u0445\u043e\u0434\u0438",
"add_another_split": "\u0414\u043e\u0431\u0430\u0432\u044f\u043d\u0435 \u043d\u0430 \u0434\u0440\u0443\u0433 \u0440\u0430\u0437\u0434\u0435\u043b",
"actions": "\u0414\u0435\u0439\u0441\u0442\u0432\u0438\u044f",
"earned": "\u0421\u043f\u0435\u0447\u0435\u043b\u0435\u043d\u0438",
"empty": "(\u043f\u0440\u0430\u0437\u043d\u043e)",
"edit": "\u041f\u0440\u043e\u043c\u0435\u043d\u0438",
"never": "\u041d\u0438\u043a\u043e\u0433\u0430",
"account_type_Loan": "\u0417\u0430\u0435\u043c",
"account_type_Mortgage": "\u0418\u043f\u043e\u0442\u0435\u043a\u0430",
"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!",
"account_type_Debt": "\u0414\u044a\u043b\u0433",
"delete": "\u0418\u0437\u0442\u0440\u0438\u0439",
@ -127,6 +129,12 @@
"interest_calc_yearly": "\u0413\u043e\u0434\u0438\u0448\u043d\u043e",
"liability_direction_credit": "I am owed this debt",
"liability_direction_debit": "I owe this debt to somebody else",
"liability_direction_credit_short": "(firefly.liability_direction_credit_short)",
"liability_direction_debit_short": "(firefly.liability_direction_debit_short)",
"account_type_debt": "(firefly.account_type_debt)",
"account_type_loan": "(firefly.account_type_loan)",
"left_in_debt": "(firefly.left_in_debt)",
"account_type_mortgage": "(firefly.account_type_mortgage)",
"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.",
"none_in_select_list": "(\u043d\u0438\u0449\u043e)"
},
@ -134,15 +142,21 @@
"piggy_bank": "\u041a\u0430\u0441\u0438\u0447\u043a\u0430",
"percentage": "%",
"amount": "\u0421\u0443\u043c\u0430",
"lastActivity": "\u041f\u043e\u0441\u043b\u0435\u0434\u043d\u0430 \u0430\u043a\u0442\u0438\u0432\u043d\u043e\u0441\u0442",
"name": "\u0418\u043c\u0435",
"role": "\u041f\u0440\u0438\u0432\u0438\u043b\u0435\u0433\u0438\u0438",
"iban": "IBAN",
"interest": "\u041b\u0438\u0445\u0432\u0430",
"interest_period": "\u043b\u0438\u0445\u0432\u0435\u043d \u043f\u0435\u0440\u0438\u043e\u0434",
"liability_type": "\u0412\u0438\u0434 \u043d\u0430 \u0437\u0430\u0434\u044a\u043b\u0436\u0435\u043d\u0438\u0435\u0442\u043e",
"liability_direction": "(list.liability_direction)",
"currentBalance": "\u0422\u0435\u043a\u0443\u0449 \u0431\u0430\u043b\u0430\u043d\u0441",
"next_expected_match": "\u0421\u043b\u0435\u0434\u0432\u0430\u0449o \u043e\u0447\u0430\u043a\u0432\u0430\u043do \u0441\u044a\u0432\u043f\u0430\u0434\u0435\u043d\u0438\u0435"
},
"config": {
"html_language": "bg",
"week_in_year_fns": "'Week' w, yyyy",
"month_and_day_fns": "(config.month_and_day_fns)",
"quarter_fns": "'Q'Q, yyyy",
"half_year_fns": "'H{half}', yyyy"
},

View File

@ -106,10 +106,12 @@
"revenue_accounts": "P\u0159\u00edjmov\u00e9 \u00fa\u010dty",
"add_another_split": "P\u0159idat dal\u0161\u00ed roz\u00fa\u010dtov\u00e1n\u00ed",
"actions": "Akce",
"earned": "Vyd\u011bl\u00e1no",
"empty": "(pr\u00e1zdn\u00e9)",
"edit": "Upravit",
"never": "Nikdy",
"account_type_Loan": "P\u016fj\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!",
"account_type_Debt": "Dluh",
"delete": "Odstranit",
@ -127,6 +129,12 @@
"interest_calc_yearly": "Za rok",
"liability_direction_credit": "I am owed this debt",
"liability_direction_debit": "I owe this debt to somebody else",
"liability_direction_credit_short": "(firefly.liability_direction_credit_short)",
"liability_direction_debit_short": "(firefly.liability_direction_debit_short)",
"account_type_debt": "(firefly.account_type_debt)",
"account_type_loan": "(firefly.account_type_loan)",
"left_in_debt": "(firefly.left_in_debt)",
"account_type_mortgage": "(firefly.account_type_mortgage)",
"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.",
"none_in_select_list": "(\u017e\u00e1dn\u00e9)"
},
@ -134,15 +142,21 @@
"piggy_bank": "Pokladni\u010dka",
"percentage": "%",
"amount": "\u010c\u00e1stka",
"lastActivity": "Posledn\u00ed aktivita",
"name": "Jm\u00e9no",
"role": "Role",
"iban": "IBAN",
"interest": "\u00darok",
"interest_period": "\u00farokov\u00e9 obdob\u00ed",
"liability_type": "Typ z\u00e1vazku",
"liability_direction": "(list.liability_direction)",
"currentBalance": "Aktu\u00e1ln\u00ed z\u016fstatek",
"next_expected_match": "Dal\u0161\u00ed o\u010dek\u00e1van\u00e1 shoda"
},
"config": {
"html_language": "cs",
"week_in_year_fns": "'Week' w, yyyy",
"month_and_day_fns": "(config.month_and_day_fns)",
"quarter_fns": "'Q'Q, yyyy",
"half_year_fns": "'H{half}', yyyy"
},

View File

@ -42,10 +42,10 @@
"categories": "Kategorien",
"go_to_budgets": "Budgets anzeigen",
"income": "Einnahmen \/ Einkommen",
"go_to_deposits": "Zu Einlagen wechseln",
"go_to_deposits": "Einnahmen anzeigen",
"go_to_categories": "Kategorien anzeigen",
"expense_accounts": "Ausgabekonten",
"go_to_expenses": "Zu Ausgaben wechseln",
"go_to_expenses": "Ausgaben anzeigen",
"go_to_bills": "Rechnungen anzeigen",
"bills": "Rechnungen",
"last_thirty_days": "Letzte 30 Tage",
@ -106,10 +106,12 @@
"revenue_accounts": "Einnahmekonten",
"add_another_split": "Eine weitere Aufteilung hinzuf\u00fcgen",
"actions": "Aktionen",
"earned": "Eingenommen",
"empty": "(leer)",
"edit": "Bearbeiten",
"never": "Nie",
"account_type_Loan": "Darlehen",
"account_type_Mortgage": "Hypothek",
"timezone_difference": "Ihr Browser meldet die Zeitzone \u201e{local}\u201d. Firefly III ist aber f\u00fcr die Zeitzone \u201e{system}\u201d konfiguriert. Diese Karte kann deshalb abweichen.",
"stored_new_account_js": "Neues Konto \"<a href=\"accounts\/show\/{ID}\">\u201e{name}\u201d<\/a>\" gespeichert!",
"account_type_Debt": "Schuld",
"delete": "L\u00f6schen",
@ -127,6 +129,12 @@
"interest_calc_yearly": "J\u00e4hrlich",
"liability_direction_credit": "Mir wird dies geschuldet",
"liability_direction_debit": "Ich schulde dies jemandem",
"liability_direction_credit_short": "(firefly.liability_direction_credit_short)",
"liability_direction_debit_short": "(firefly.liability_direction_debit_short)",
"account_type_debt": "(firefly.account_type_debt)",
"account_type_loan": "(firefly.account_type_loan)",
"left_in_debt": "(firefly.left_in_debt)",
"account_type_mortgage": "(firefly.account_type_mortgage)",
"save_transactions_by_moving_js": "Keine Buchungen|Speichern Sie diese Buchung, indem Sie sie auf ein anderes Konto verschieben. |Speichern Sie diese Buchungen, indem Sie sie auf ein anderes Konto verschieben.",
"none_in_select_list": "(Keine)"
},
@ -134,15 +142,21 @@
"piggy_bank": "Sparschwein",
"percentage": "%",
"amount": "Betrag",
"lastActivity": "Letzte Aktivit\u00e4t",
"name": "Name",
"role": "Rolle",
"iban": "IBAN",
"interest": "Zinsen",
"interest_period": "Verzinsungszeitraum",
"liability_type": "Verbindlichkeitsart",
"liability_direction": "(list.liability_direction)",
"currentBalance": "Aktueller Kontostand",
"next_expected_match": "N\u00e4chste erwartete \u00dcbereinstimmung"
},
"config": {
"html_language": "de",
"week_in_year_fns": "'Woche' ww\/yyyy",
"month_and_day_fns": "(config.month_and_day_fns)",
"quarter_fns": "'Q'QQQ, yyyy",
"half_year_fns": "'H{half}', yyyy"
},

View File

@ -106,10 +106,12 @@
"revenue_accounts": "\u0388\u03c3\u03bf\u03b4\u03b1",
"add_another_split": "\u03a0\u03c1\u03bf\u03c3\u03b8\u03ae\u03ba\u03b7 \u03b5\u03bd\u03cc\u03c2 \u03b1\u03ba\u03cc\u03bc\u03b1 \u03b4\u03b9\u03b1\u03c7\u03c9\u03c1\u03b9\u03c3\u03bc\u03bf\u03cd",
"actions": "\u0395\u03bd\u03ad\u03c1\u03b3\u03b5\u03b9\u03b5\u03c2",
"earned": "\u039a\u03b5\u03c1\u03b4\u03ae\u03b8\u03b7\u03ba\u03b1\u03bd",
"empty": "(\u03ba\u03b5\u03bd\u03cc)",
"edit": "\u0395\u03c0\u03b5\u03be\u03b5\u03c1\u03b3\u03b1\u03c3\u03af\u03b1",
"never": "\u03a0\u03bf\u03c4\u03ad",
"account_type_Loan": "\u0394\u03ac\u03bd\u03b5\u03b9\u03bf",
"account_type_Mortgage": "\u03a5\u03c0\u03bf\u03b8\u03ae\u03ba\u03b7",
"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!",
"account_type_Debt": "\u03a7\u03c1\u03ad\u03bf\u03c2",
"delete": "\u0394\u03b9\u03b1\u03b3\u03c1\u03b1\u03c6\u03ae",
@ -127,6 +129,12 @@
"interest_calc_yearly": "\u0391\u03bd\u03ac \u03ad\u03c4\u03bf\u03c2",
"liability_direction_credit": "I am owed this debt",
"liability_direction_debit": "I owe this debt to somebody else",
"liability_direction_credit_short": "(firefly.liability_direction_credit_short)",
"liability_direction_debit_short": "(firefly.liability_direction_debit_short)",
"account_type_debt": "(firefly.account_type_debt)",
"account_type_loan": "(firefly.account_type_loan)",
"left_in_debt": "(firefly.left_in_debt)",
"account_type_mortgage": "(firefly.account_type_mortgage)",
"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.",
"none_in_select_list": "(\u03c4\u03af\u03c0\u03bf\u03c4\u03b1)"
},
@ -134,15 +142,21 @@
"piggy_bank": "\u039a\u03bf\u03c5\u03bc\u03c0\u03b1\u03c1\u03ac\u03c2",
"percentage": "pct.",
"amount": "\u03a0\u03bf\u03c3\u03cc",
"lastActivity": "\u03a4\u03b5\u03bb\u03b5\u03c5\u03c4\u03b1\u03af\u03b1 \u03b4\u03c1\u03b1\u03c3\u03c4\u03b7\u03c1\u03b9\u03cc\u03c4\u03b7\u03c4\u03b1",
"name": "\u038c\u03bd\u03bf\u03bc\u03b1",
"role": "\u03a1\u03cc\u03bb\u03bf\u03c2",
"iban": "IBAN",
"interest": "\u03a4\u03cc\u03ba\u03bf\u03c2",
"interest_period": "\u03c4\u03bf\u03ba\u03b9\u03b6\u03cc\u03bc\u03b5\u03bd\u03b7 \u03c0\u03b5\u03c1\u03af\u03bf\u03b4\u03bf\u03c2",
"liability_type": "\u03a4\u03cd\u03c0\u03bf\u03c2 \u03c5\u03c0\u03bf\u03c7\u03c1\u03ad\u03c9\u03c3\u03b7\u03c2",
"liability_direction": "(list.liability_direction)",
"currentBalance": "\u03a4\u03c1\u03ad\u03c7\u03bf\u03bd \u03c5\u03c0\u03cc\u03bb\u03bf\u03b9\u03c0\u03bf",
"next_expected_match": "\u0395\u03c0\u03cc\u03bc\u03b5\u03bd\u03b7 \u03b1\u03bd\u03b1\u03bc\u03b5\u03bd\u03cc\u03bc\u03b5\u03bd\u03b7 \u03b1\u03bd\u03c4\u03b9\u03c3\u03c4\u03bf\u03af\u03c7\u03b9\u03c3\u03b7"
},
"config": {
"html_language": "el",
"week_in_year_fns": "'Week' w, yyyy",
"month_and_day_fns": "(config.month_and_day_fns)",
"quarter_fns": "'Q'Q, yyyy",
"half_year_fns": "'H{half}', yyyy"
},

View File

@ -106,10 +106,12 @@
"revenue_accounts": "Revenue accounts",
"add_another_split": "Add another split",
"actions": "Actions",
"earned": "Earned",
"empty": "(empty)",
"edit": "Edit",
"never": "Never",
"account_type_Loan": "Loan",
"account_type_Mortgage": "Mortgage",
"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!",
"account_type_Debt": "Debt",
"delete": "Delete",
@ -127,6 +129,12 @@
"interest_calc_yearly": "Per year",
"liability_direction_credit": "I am owed this debt",
"liability_direction_debit": "I owe this debt to somebody else",
"liability_direction_credit_short": "(firefly.liability_direction_credit_short)",
"liability_direction_debit_short": "(firefly.liability_direction_debit_short)",
"account_type_debt": "(firefly.account_type_debt)",
"account_type_loan": "(firefly.account_type_loan)",
"left_in_debt": "(firefly.left_in_debt)",
"account_type_mortgage": "(firefly.account_type_mortgage)",
"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.",
"none_in_select_list": "(none)"
},
@ -134,15 +142,21 @@
"piggy_bank": "Piggy bank",
"percentage": "pct.",
"amount": "Amount",
"lastActivity": "Last activity",
"name": "Name",
"role": "Role",
"iban": "IBAN",
"interest": "Interest",
"interest_period": "interest period",
"liability_type": "Type of liability",
"liability_direction": "(list.liability_direction)",
"currentBalance": "Current balance",
"next_expected_match": "Next expected match"
},
"config": {
"html_language": "en-gb",
"week_in_year_fns": "'Week' w, yyyy",
"month_and_day_fns": "(config.month_and_day_fns)",
"quarter_fns": "'Q'Q, yyyy",
"half_year_fns": "'H{half}', yyyy"
},

View File

@ -106,10 +106,12 @@
"revenue_accounts": "Revenue accounts",
"add_another_split": "Add another split",
"actions": "Actions",
"earned": "Earned",
"empty": "(empty)",
"edit": "Edit",
"never": "Never",
"account_type_Loan": "Loan",
"account_type_Mortgage": "Mortgage",
"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!",
"account_type_Debt": "Debt",
"delete": "Delete",
@ -127,6 +129,12 @@
"interest_calc_yearly": "Per year",
"liability_direction_credit": "I am owed this debt",
"liability_direction_debit": "I owe this debt to somebody else",
"liability_direction_credit_short": "(firefly.liability_direction_credit_short)",
"liability_direction_debit_short": "(firefly.liability_direction_debit_short)",
"account_type_debt": "(firefly.account_type_debt)",
"account_type_loan": "(firefly.account_type_loan)",
"left_in_debt": "(firefly.left_in_debt)",
"account_type_mortgage": "(firefly.account_type_mortgage)",
"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.",
"none_in_select_list": "(none)"
},
@ -134,15 +142,21 @@
"piggy_bank": "Piggy bank",
"percentage": "pct.",
"amount": "Amount",
"lastActivity": "Last activity",
"name": "Name",
"role": "Role",
"iban": "IBAN",
"interest": "Interest",
"interest_period": "interest period",
"liability_type": "Type of liability",
"liability_direction": "(list.liability_direction)",
"currentBalance": "Current balance",
"next_expected_match": "Next expected match"
},
"config": {
"html_language": "en",
"week_in_year_fns": "'Week' w, yyyy",
"month_and_day_fns": "(config.month_and_day_fns)",
"quarter_fns": "'Q'Q, yyyy",
"half_year_fns": "'H{half}', yyyy"
},

View File

@ -106,10 +106,12 @@
"revenue_accounts": "Cuentas de ingresos",
"add_another_split": "A\u00f1adir otra divisi\u00f3n",
"actions": "Acciones",
"earned": "Ganado",
"empty": "(vac\u00edo)",
"edit": "Editar",
"never": "Nunca",
"account_type_Loan": "Pr\u00e9stamo",
"account_type_Mortgage": "Hipoteca",
"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",
@ -127,6 +129,12 @@
"interest_calc_yearly": "Por a\u00f1o",
"liability_direction_credit": "Se me debe esta deuda",
"liability_direction_debit": "Le debo esta deuda a otra persona",
"liability_direction_credit_short": "(firefly.liability_direction_credit_short)",
"liability_direction_debit_short": "(firefly.liability_direction_debit_short)",
"account_type_debt": "(firefly.account_type_debt)",
"account_type_loan": "(firefly.account_type_loan)",
"left_in_debt": "(firefly.left_in_debt)",
"account_type_mortgage": "(firefly.account_type_mortgage)",
"save_transactions_by_moving_js": "Ninguna transacci\u00f3n|Guardar esta transacci\u00f3n movi\u00e9ndola a otra cuenta. |Guardar estas transacciones movi\u00e9ndolas a otra cuenta.",
"none_in_select_list": "(ninguno)"
},
@ -134,15 +142,21 @@
"piggy_bank": "Alcancilla",
"percentage": "pct.",
"amount": "Monto",
"lastActivity": "Actividad m\u00e1s reciente",
"name": "Nombre",
"role": "Rol",
"iban": "IBAN",
"interest": "Inter\u00e9s",
"interest_period": "per\u00edodo de inter\u00e9s",
"liability_type": "Tipo de pasivo",
"liability_direction": "(list.liability_direction)",
"currentBalance": "Balance actual",
"next_expected_match": "Pr\u00f3xima coincidencia esperada"
},
"config": {
"html_language": "es",
"week_in_year_fns": "'Semana' w, yyyy",
"month_and_day_fns": "(config.month_and_day_fns)",
"quarter_fns": "'Trimestre' Q, yyyy",
"half_year_fns": "'H{half}', yyyy"
},

View File

@ -106,10 +106,12 @@
"revenue_accounts": "Tuottotilit",
"add_another_split": "Lis\u00e4\u00e4 tapahtumaan uusi osa",
"actions": "Toiminnot",
"earned": "Ansaittu",
"empty": "(tyhj\u00e4)",
"edit": "Muokkaa",
"never": "Ei koskaan",
"account_type_Loan": "Laina",
"account_type_Mortgage": "Kiinnelaina",
"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!",
"account_type_Debt": "Velka",
"delete": "Poista",
@ -127,6 +129,12 @@
"interest_calc_yearly": "Vuodessa",
"liability_direction_credit": "I am owed this debt",
"liability_direction_debit": "I owe this debt to somebody else",
"liability_direction_credit_short": "(firefly.liability_direction_credit_short)",
"liability_direction_debit_short": "(firefly.liability_direction_debit_short)",
"account_type_debt": "(firefly.account_type_debt)",
"account_type_loan": "(firefly.account_type_loan)",
"left_in_debt": "(firefly.left_in_debt)",
"account_type_mortgage": "(firefly.account_type_mortgage)",
"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.",
"none_in_select_list": "(ei mit\u00e4\u00e4n)"
},
@ -134,15 +142,21 @@
"piggy_bank": "S\u00e4\u00e4st\u00f6possu",
"percentage": "pros.",
"amount": "Summa",
"lastActivity": "Viimeisin tapahtuma",
"name": "Nimi",
"role": "Rooli",
"iban": "IBAN",
"interest": "Korko",
"interest_period": "korkojakso",
"liability_type": "Vastuutyyppi",
"liability_direction": "(list.liability_direction)",
"currentBalance": "T\u00e4m\u00e4nhetkinen saldo",
"next_expected_match": "Seuraava lasku odotettavissa"
},
"config": {
"html_language": "fi",
"week_in_year_fns": "'Week' w, yyyy",
"month_and_day_fns": "(config.month_and_day_fns)",
"quarter_fns": "'Q'Q, yyyy",
"half_year_fns": "'H{half}', yyyy"
},

View File

@ -106,10 +106,12 @@
"revenue_accounts": "Comptes de recettes",
"add_another_split": "Ajouter une autre fraction",
"actions": "Actions",
"earned": "Gagn\u00e9",
"empty": "(vide)",
"edit": "Modifier",
"never": "Jamais",
"account_type_Loan": "Pr\u00eat",
"account_type_Mortgage": "Pr\u00eat hypoth\u00e9caire",
"timezone_difference": "Votre navigateur signale le fuseau horaire \"{local}\". Firefly III est configur\u00e9 pour le fuseau horaire \"{system}\". Ce graphique peut \u00eatre d\u00e9cal\u00e9.",
"stored_new_account_js": "Nouveau compte \"<a href=\"accounts\/show\/{ID}\">{name}<\/a>\" enregistr\u00e9 !",
"account_type_Debt": "Dette",
"delete": "Supprimer",
@ -127,6 +129,12 @@
"interest_calc_yearly": "Par an",
"liability_direction_credit": "On me doit cette dette",
"liability_direction_debit": "Je dois cette dette \u00e0 quelqu'un d'autre",
"liability_direction_credit_short": "(firefly.liability_direction_credit_short)",
"liability_direction_debit_short": "(firefly.liability_direction_debit_short)",
"account_type_debt": "(firefly.account_type_debt)",
"account_type_loan": "(firefly.account_type_loan)",
"left_in_debt": "(firefly.left_in_debt)",
"account_type_mortgage": "(firefly.account_type_mortgage)",
"save_transactions_by_moving_js": "Aucune op\u00e9ration|Conserver cette op\u00e9ration en la d\u00e9pla\u00e7ant vers un autre compte. |Conserver ces op\u00e9rations en les d\u00e9pla\u00e7ant vers un autre compte.",
"none_in_select_list": "(aucun)"
},
@ -134,15 +142,21 @@
"piggy_bank": "Tirelire",
"percentage": "pct.",
"amount": "Montant",
"lastActivity": "Activit\u00e9 r\u00e9cente",
"name": "Nom",
"role": "R\u00f4le",
"iban": "Num\u00e9ro IBAN",
"interest": "Int\u00e9r\u00eat",
"interest_period": "p\u00e9riode d\u2019int\u00e9r\u00eat",
"liability_type": "Type de passif",
"liability_direction": "(list.liability_direction)",
"currentBalance": "Solde courant",
"next_expected_match": "Prochaine association attendue"
},
"config": {
"html_language": "fr",
"week_in_year_fns": "'Semaine' w, yyyy",
"month_and_day_fns": "(config.month_and_day_fns)",
"quarter_fns": "'Q'Q, yyyy",
"half_year_fns": "'H{half}', yyyy"
},

View File

@ -106,10 +106,12 @@
"revenue_accounts": "J\u00f6vedelemsz\u00e1ml\u00e1k",
"add_another_split": "M\u00e1sik feloszt\u00e1s hozz\u00e1ad\u00e1sa",
"actions": "M\u0171veletek",
"earned": "Megkeresett",
"empty": "(\u00fcres)",
"edit": "Szerkeszt\u00e9s",
"never": "Soha",
"account_type_Loan": "Hitel",
"account_type_Mortgage": "Jelz\u00e1log",
"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!",
"account_type_Debt": "Ad\u00f3ss\u00e1g",
"delete": "T\u00f6rl\u00e9s",
@ -127,6 +129,12 @@
"interest_calc_yearly": "\u00c9vente",
"liability_direction_credit": "I am owed this debt",
"liability_direction_debit": "I owe this debt to somebody else",
"liability_direction_credit_short": "(firefly.liability_direction_credit_short)",
"liability_direction_debit_short": "(firefly.liability_direction_debit_short)",
"account_type_debt": "(firefly.account_type_debt)",
"account_type_loan": "(firefly.account_type_loan)",
"left_in_debt": "(firefly.left_in_debt)",
"account_type_mortgage": "(firefly.account_type_mortgage)",
"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.",
"none_in_select_list": "(nincs)"
},
@ -134,15 +142,21 @@
"piggy_bank": "Malacpersely",
"percentage": "%",
"amount": "\u00d6sszeg",
"lastActivity": "Utols\u00f3 aktivit\u00e1s",
"name": "N\u00e9v",
"role": "Szerepk\u00f6r",
"iban": "IBAN",
"interest": "Kamat",
"interest_period": "kamatperi\u00f3dus",
"liability_type": "A k\u00f6telezetts\u00e9g t\u00edpusa",
"liability_direction": "(list.liability_direction)",
"currentBalance": "Aktu\u00e1lis egyenleg",
"next_expected_match": "K\u00f6vetkez\u0151 v\u00e1rhat\u00f3 egyez\u00e9s"
},
"config": {
"html_language": "hu",
"week_in_year_fns": "'Week' w, yyyy",
"month_and_day_fns": "(config.month_and_day_fns)",
"quarter_fns": "'Q'Q, yyyy",
"half_year_fns": "'H{half}', yyyy"
},

View File

@ -106,10 +106,12 @@
"revenue_accounts": "Conti entrate",
"add_another_split": "Aggiungi un'altra divisione",
"actions": "Azioni",
"earned": "Guadagnato",
"empty": "(vuoto)",
"edit": "Modifica",
"never": "Mai",
"account_type_Loan": "Prestito",
"account_type_Mortgage": "Mutuo",
"timezone_difference": "Il browser segnala \"{local}\" come fuso orario. Firefly III \u00e8 configurato con il fuso orario \"{system}\". Questo grafico potrebbe non \u00e8 essere corretto.",
"stored_new_account_js": "Nuovo conto \"<a href=\"accounts\/show\/{ID}\">{name}<\/a>\" salvato!",
"account_type_Debt": "Debito",
"delete": "Elimina",
@ -127,6 +129,12 @@
"interest_calc_yearly": "All'anno",
"liability_direction_credit": "Questo debito mi \u00e8 dovuto",
"liability_direction_debit": "Devo questo debito a qualcun altro",
"liability_direction_credit_short": "(firefly.liability_direction_credit_short)",
"liability_direction_debit_short": "(firefly.liability_direction_debit_short)",
"account_type_debt": "(firefly.account_type_debt)",
"account_type_loan": "(firefly.account_type_loan)",
"left_in_debt": "(firefly.left_in_debt)",
"account_type_mortgage": "(firefly.account_type_mortgage)",
"save_transactions_by_moving_js": "Nessuna transazione|Salva questa transazione spostandola in un altro conto.|Salva queste transazioni spostandole in un altro conto.",
"none_in_select_list": "(nessuna)"
},
@ -134,15 +142,21 @@
"piggy_bank": "Salvadanaio",
"percentage": "perc.",
"amount": "Importo",
"lastActivity": "Ultima attivit\u00e0",
"name": "Nome",
"role": "Ruolo",
"iban": "IBAN",
"interest": "Interesse",
"interest_period": "periodo di interesse",
"liability_type": "Tipo di passivit\u00e0",
"liability_direction": "(list.liability_direction)",
"currentBalance": "Saldo corrente",
"next_expected_match": "Prossimo abbinamento previsto"
},
"config": {
"html_language": "it",
"week_in_year_fns": "'Settimana' w, yyyy",
"month_and_day_fns": "(config.month_and_day_fns)",
"quarter_fns": "'Q'Q, yyyy",
"half_year_fns": "'H{half}', yyyy"
},

View File

@ -106,10 +106,12 @@
"revenue_accounts": "Inntektskontoer",
"add_another_split": "Legg til en oppdeling til",
"actions": "Handlinger",
"earned": "Opptjent",
"empty": "(empty)",
"edit": "Rediger",
"never": "Aldri",
"account_type_Loan": "L\u00e5n",
"account_type_Mortgage": "Boligl\u00e5n",
"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!",
"account_type_Debt": "Gjeld",
"delete": "Slett",
@ -127,6 +129,12 @@
"interest_calc_yearly": "Per \u00e5r",
"liability_direction_credit": "I am owed this debt",
"liability_direction_debit": "I owe this debt to somebody else",
"liability_direction_credit_short": "(firefly.liability_direction_credit_short)",
"liability_direction_debit_short": "(firefly.liability_direction_debit_short)",
"account_type_debt": "(firefly.account_type_debt)",
"account_type_loan": "(firefly.account_type_loan)",
"left_in_debt": "(firefly.left_in_debt)",
"account_type_mortgage": "(firefly.account_type_mortgage)",
"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.",
"none_in_select_list": "(ingen)"
},
@ -134,15 +142,21 @@
"piggy_bank": "Sparegris",
"percentage": "pct.",
"amount": "Bel\u00f8p",
"lastActivity": "Siste aktivitet",
"name": "Navn",
"role": "Rolle",
"iban": "IBAN",
"interest": "Renter",
"interest_period": "renteperiode",
"liability_type": "Type gjeld",
"liability_direction": "(list.liability_direction)",
"currentBalance": "N\u00e5v\u00e6rende saldo",
"next_expected_match": "Neste forventede treff"
},
"config": {
"html_language": "nb",
"week_in_year_fns": "'Week' w, yyyy",
"month_and_day_fns": "(config.month_and_day_fns)",
"quarter_fns": "'Q'Q, yyyy",
"half_year_fns": "'H{half}', yyyy"
},

View File

@ -106,10 +106,12 @@
"revenue_accounts": "Debiteuren",
"add_another_split": "Voeg een split toe",
"actions": "Acties",
"earned": "Verdiend",
"empty": "(leeg)",
"edit": "Wijzig",
"never": "Nooit",
"account_type_Loan": "Lening",
"account_type_Mortgage": "Hypotheek",
"timezone_difference": "Je browser is in tijdzone \"{local}\". Firefly III is in tijdzone \"{system}\". Deze grafiek kan afwijken.",
"stored_new_account_js": "Nieuwe account \"<a href=\"accounts\/show\/{ID}\">{name}<\/a>\" opgeslagen!",
"account_type_Debt": "Schuld",
"delete": "Verwijder",
@ -127,6 +129,12 @@
"interest_calc_yearly": "Per jaar",
"liability_direction_credit": "Ik krijg dit bedrag terug",
"liability_direction_debit": "Ik moet dit bedrag terugbetalen",
"liability_direction_credit_short": "(firefly.liability_direction_credit_short)",
"liability_direction_debit_short": "(firefly.liability_direction_debit_short)",
"account_type_debt": "(firefly.account_type_debt)",
"account_type_loan": "(firefly.account_type_loan)",
"left_in_debt": "(firefly.left_in_debt)",
"account_type_mortgage": "(firefly.account_type_mortgage)",
"save_transactions_by_moving_js": "Geen transacties|Bewaar deze transactie door ze aan een andere rekening te koppelen.|Bewaar deze transacties door ze aan een andere rekening te koppelen.",
"none_in_select_list": "(geen)"
},
@ -134,15 +142,21 @@
"piggy_bank": "Spaarpotje",
"percentage": "pct",
"amount": "Bedrag",
"lastActivity": "Laatste activiteit",
"name": "Naam",
"role": "Rol",
"iban": "IBAN",
"interest": "Rente",
"interest_period": "renteperiode",
"liability_type": "Type passiva",
"liability_direction": "(list.liability_direction)",
"currentBalance": "Huidig saldo",
"next_expected_match": "Volgende verwachte match"
},
"config": {
"html_language": "nl",
"week_in_year_fns": "'Week' w, yyyy",
"month_and_day_fns": "(config.month_and_day_fns)",
"quarter_fns": "'Q'Q, yyyy",
"half_year_fns": "'H{half}', yyyy"
},

View File

@ -106,10 +106,12 @@
"revenue_accounts": "Konta przychod\u00f3w",
"add_another_split": "Dodaj kolejny podzia\u0142",
"actions": "Akcje",
"earned": "Zarobiono",
"empty": "(pusty)",
"edit": "Modyfikuj",
"never": "Nigdy",
"account_type_Loan": "Po\u017cyczka",
"account_type_Mortgage": "Hipoteka",
"timezone_difference": "Twoja przegl\u0105darka raportuje stref\u0119 czasow\u0105 \"{local}\". Firefly III ma skonfigurowan\u0105 stref\u0119 czasow\u0105 \"{system}\". W zwi\u0105zku z t\u0105 r\u00f3\u017cnic\u0105, ten wykres mo\u017ce pokazywa\u0107 inne dane, ni\u017c oczekujesz.",
"stored_new_account_js": "Nowe konto \"<a href=\"accounts\/show\/{ID}\">{name}<\/a>\" zapisane!",
"account_type_Debt": "D\u0142ug",
"delete": "Usu\u0144",
@ -127,6 +129,12 @@
"interest_calc_yearly": "Co rok",
"liability_direction_credit": "Zad\u0142u\u017cenie wobec mnie",
"liability_direction_debit": "Zad\u0142u\u017cenie wobec kogo\u015b innego",
"liability_direction_credit_short": "(firefly.liability_direction_credit_short)",
"liability_direction_debit_short": "(firefly.liability_direction_debit_short)",
"account_type_debt": "(firefly.account_type_debt)",
"account_type_loan": "(firefly.account_type_loan)",
"left_in_debt": "(firefly.left_in_debt)",
"account_type_mortgage": "(firefly.account_type_mortgage)",
"save_transactions_by_moving_js": "Brak transakcji|Zapisz t\u0119 transakcj\u0119, przenosz\u0105c j\u0105 na inne konto.|Zapisz te transakcje przenosz\u0105c je na inne konto.",
"none_in_select_list": "(\u017cadne)"
},
@ -134,15 +142,21 @@
"piggy_bank": "Skarbonka",
"percentage": "%",
"amount": "Kwota",
"lastActivity": "Ostatnia aktywno\u015b\u0107",
"name": "Nazwa",
"role": "Rola",
"iban": "IBAN",
"interest": "Odsetki",
"interest_period": "okres odsetkowy",
"liability_type": "Rodzaj zobowi\u0105zania",
"liability_direction": "(list.liability_direction)",
"currentBalance": "Bie\u017c\u0105ce saldo",
"next_expected_match": "Nast\u0119pne oczekiwane dopasowanie"
},
"config": {
"html_language": "pl",
"week_in_year_fns": "w 'tydzie\u0144' yyyy",
"month_and_day_fns": "(config.month_and_day_fns)",
"quarter_fns": "Q 'kwarta\u0142' yyyy",
"half_year_fns": "'{half} po\u0142owa' yyyy"
},

View File

@ -106,10 +106,12 @@
"revenue_accounts": "Contas de receitas",
"add_another_split": "Adicionar outra divis\u00e3o",
"actions": "A\u00e7\u00f5es",
"earned": "Ganho",
"empty": "(vazio)",
"edit": "Editar",
"never": "Nunca",
"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": "Nova conta \"<a href=\"accounts\/show\/{ID}\">{name}<\/a>\" armazenada!",
"account_type_Debt": "D\u00edvida",
"delete": "Apagar",
@ -127,6 +129,12 @@
"interest_calc_yearly": "Por ano",
"liability_direction_credit": "Devo este d\u00e9bito",
"liability_direction_debit": "Devo este d\u00e9bito a outra pessoa",
"liability_direction_credit_short": "(firefly.liability_direction_credit_short)",
"liability_direction_debit_short": "(firefly.liability_direction_debit_short)",
"account_type_debt": "(firefly.account_type_debt)",
"account_type_loan": "(firefly.account_type_loan)",
"left_in_debt": "(firefly.left_in_debt)",
"account_type_mortgage": "(firefly.account_type_mortgage)",
"save_transactions_by_moving_js": "Nenhuma transa\u00e7\u00e3o.|Salve esta transa\u00e7\u00e3o movendo-a para outra conta.|Salve essas transa\u00e7\u00f5es movendo-as para outra conta.",
"none_in_select_list": "(nenhum)"
},
@ -134,15 +142,21 @@
"piggy_bank": "Cofrinho",
"percentage": "pct.",
"amount": "Total",
"lastActivity": "\u00daltima atividade",
"name": "Nome",
"role": "Papel",
"iban": "IBAN",
"interest": "Juros",
"interest_period": "per\u00edodo de juros",
"liability_type": "Tipo de passivo",
"liability_direction": "(list.liability_direction)",
"currentBalance": "Saldo atual",
"next_expected_match": "Pr\u00f3ximo correspondente esperado"
},
"config": {
"html_language": "pt-br",
"week_in_year_fns": "'Semana' w, yyyy",
"month_and_day_fns": "(config.month_and_day_fns)",
"quarter_fns": "'T'Q, yyyy",
"half_year_fns": "'S{half}', yyyy"
},

View File

@ -106,10 +106,12 @@
"revenue_accounts": "Conta de receitas",
"add_another_split": "Adicionar outra divis\u00e3o",
"actions": "A\u00e7\u00f5es",
"earned": "Ganho",
"empty": "(vazio)",
"edit": "Alterar",
"never": "Nunca",
"account_type_Loan": "Emprestimo",
"account_type_Mortgage": "Hipoteca",
"timezone_difference": "Seu navegador de Internet reporta o fuso hor\u00e1rio \"{local}\". O Firefly III est\u00e1 configurado para o fuso hor\u00e1rio \"{system}\". Esta tabela pode derivar.",
"stored_new_account_js": "Nova conta \"<a href=\"accounts\/show\/{ID}\">{name}<\/a>\" armazenada!",
"account_type_Debt": "Debito",
"delete": "Apagar",
@ -127,6 +129,12 @@
"interest_calc_yearly": "Anual",
"liability_direction_credit": "Esta d\u00edvida \u00e9-me devida",
"liability_direction_debit": "Devo esta d\u00edvida a outra pessoa",
"liability_direction_credit_short": "(firefly.liability_direction_credit_short)",
"liability_direction_debit_short": "(firefly.liability_direction_debit_short)",
"account_type_debt": "(firefly.account_type_debt)",
"account_type_loan": "(firefly.account_type_loan)",
"left_in_debt": "(firefly.left_in_debt)",
"account_type_mortgage": "(firefly.account_type_mortgage)",
"save_transactions_by_moving_js": "Nenhuma transa\u00e7\u00e3o| Guarde esta transa\u00e7\u00e3o movendo-a para outra conta| Guarde estas transa\u00e7\u00f5es movendo-as para outra conta.",
"none_in_select_list": "(nenhum)"
},
@ -134,15 +142,21 @@
"piggy_bank": "Mealheiro",
"percentage": "%.",
"amount": "Montante",
"lastActivity": "Ultima actividade",
"name": "Nome",
"role": "Regra",
"iban": "IBAN",
"interest": "Juro",
"interest_period": "periodo de juros",
"liability_type": "Tipo de responsabilidade",
"liability_direction": "(list.liability_direction)",
"currentBalance": "Saldo actual",
"next_expected_match": "Proxima correspondencia esperada"
},
"config": {
"html_language": "pt",
"week_in_year_fns": "'Semana' w, yyyy",
"month_and_day_fns": "(config.month_and_day_fns)",
"quarter_fns": "'Trimestre' Q, yyyy",
"half_year_fns": "'H{half}', yyyy"
},

View File

@ -106,10 +106,12 @@
"revenue_accounts": "Conturi de venituri",
"add_another_split": "Ad\u0103uga\u021bi o divizare",
"actions": "Ac\u021biuni",
"earned": "C\u00e2\u0219tigat",
"empty": "(gol)",
"edit": "Editeaz\u0103",
"never": "Niciodat\u0103",
"account_type_Loan": "\u00cemprumut",
"account_type_Mortgage": "Credit ipotecar",
"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",
@ -127,6 +129,12 @@
"interest_calc_yearly": "Pe an",
"liability_direction_credit": "Sunt datorat acestei datorii",
"liability_direction_debit": "Dator\u0103m aceast\u0103 datorie altcuiva",
"liability_direction_credit_short": "(firefly.liability_direction_credit_short)",
"liability_direction_debit_short": "(firefly.liability_direction_debit_short)",
"account_type_debt": "(firefly.account_type_debt)",
"account_type_loan": "(firefly.account_type_loan)",
"left_in_debt": "(firefly.left_in_debt)",
"account_type_mortgage": "(firefly.account_type_mortgage)",
"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)"
},
@ -134,15 +142,21 @@
"piggy_bank": "Pu\u0219culi\u021b\u0103",
"percentage": "procent %",
"amount": "Sum\u0103",
"lastActivity": "Ultima activitate",
"name": "Nume",
"role": "Rol",
"iban": "IBAN",
"interest": "Interes",
"interest_period": "perioad\u0103 de interes",
"liability_type": "Tip de provizion",
"liability_direction": "(list.liability_direction)",
"currentBalance": "Sold curent",
"next_expected_match": "Urm\u0103toarea potrivire a\u0219teptat\u0103"
},
"config": {
"html_language": "ro",
"week_in_year_fns": "'S\u0103pt\u0103m\u00e2n\u0103' w, yyyy",
"month_and_day_fns": "(config.month_and_day_fns)",
"quarter_fns": "'Q'Q, yyyy",
"half_year_fns": "'H{half}', yyy"
},

View File

@ -106,10 +106,12 @@
"revenue_accounts": "\u0421\u0447\u0435\u0442\u0430 \u0434\u043e\u0445\u043e\u0434\u043e\u0432",
"add_another_split": "\u0414\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u0435\u0449\u0435 \u043e\u0434\u043d\u0443 \u0447\u0430\u0441\u0442\u044c",
"actions": "\u0414\u0435\u0439\u0441\u0442\u0432\u0438\u044f",
"earned": "\u0417\u0430\u0440\u0430\u0431\u043e\u0442\u0430\u043d\u043e",
"empty": "(\u043f\u0443\u0441\u0442\u043e)",
"edit": "\u0418\u0437\u043c\u0435\u043d\u0438\u0442\u044c",
"never": "\u041d\u0438\u043a\u043e\u0433\u0434\u0430",
"account_type_Loan": "\u0417\u0430\u0451\u043c",
"account_type_Mortgage": "\u0418\u043f\u043e\u0442\u0435\u043a\u0430",
"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!",
"account_type_Debt": "\u0414\u0435\u0431\u0438\u0442",
"delete": "\u0423\u0434\u0430\u043b\u0438\u0442\u044c",
@ -127,6 +129,12 @@
"interest_calc_yearly": "\u0412 \u0433\u043e\u0434",
"liability_direction_credit": "I am owed this debt",
"liability_direction_debit": "I owe this debt to somebody else",
"liability_direction_credit_short": "(firefly.liability_direction_credit_short)",
"liability_direction_debit_short": "(firefly.liability_direction_debit_short)",
"account_type_debt": "(firefly.account_type_debt)",
"account_type_loan": "(firefly.account_type_loan)",
"left_in_debt": "(firefly.left_in_debt)",
"account_type_mortgage": "(firefly.account_type_mortgage)",
"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.",
"none_in_select_list": "(\u043d\u0435\u0442)"
},
@ -134,15 +142,21 @@
"piggy_bank": "\u041a\u043e\u043f\u0438\u043b\u043a\u0430",
"percentage": "\u043f\u0440\u043e\u0446\u0435\u043d\u0442\u043e\u0432",
"amount": "\u0421\u0443\u043c\u043c\u0430",
"lastActivity": "\u041f\u043e\u0441\u043b\u0435\u0434\u043d\u044f\u044f \u0430\u043a\u0442\u0438\u0432\u043d\u043e\u0441\u0442\u044c",
"name": "\u0418\u043c\u044f",
"role": "\u0420\u043e\u043b\u044c",
"iban": "IBAN",
"interest": "\u041f\u0440\u043e\u0446\u0435\u043d\u0442\u043d\u0430\u044f \u0441\u0442\u0430\u0432\u043a\u0430",
"interest_period": "\u043f\u0435\u0440\u0438\u043e\u0434 \u043d\u0430\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u044f \u043f\u0440\u043e\u0446\u0435\u043d\u0442\u043e\u0432",
"liability_type": "\u0422\u0438\u043f \u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0441\u0442\u0438",
"liability_direction": "(list.liability_direction)",
"currentBalance": "\u0422\u0435\u043a\u0443\u0449\u0438\u0439 \u0431\u0430\u043b\u0430\u043d\u0441",
"next_expected_match": "\u0421\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439 \u043e\u0436\u0438\u0434\u0430\u0435\u043c\u044b\u0439 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442"
},
"config": {
"html_language": "ru",
"week_in_year_fns": "'Week' w, yyyy",
"month_and_day_fns": "(config.month_and_day_fns)",
"quarter_fns": "'Q'Q, yyyy",
"half_year_fns": "'H{half}', yyyy"
},

View File

@ -106,10 +106,12 @@
"revenue_accounts": "V\u00fdnosov\u00e9 \u00fa\u010dty",
"add_another_split": "Prida\u0165 \u010fal\u0161ie roz\u00fa\u010dtovanie",
"actions": "Akcie",
"earned": "Zaroben\u00e9",
"empty": "(pr\u00e1zdne)",
"edit": "Upravi\u0165",
"never": "Nikdy",
"account_type_Loan": "P\u00f4\u017ei\u010dka",
"account_type_Mortgage": "Hypot\u00e9ka",
"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",
@ -127,6 +129,12 @@
"interest_calc_yearly": "Za rok",
"liability_direction_credit": "T\u00fato sumu mi dl\u017eia",
"liability_direction_debit": "Tento dlh m\u00e1m vo\u010di niekomu in\u00e9mu",
"liability_direction_credit_short": "(firefly.liability_direction_credit_short)",
"liability_direction_debit_short": "(firefly.liability_direction_debit_short)",
"account_type_debt": "(firefly.account_type_debt)",
"account_type_loan": "(firefly.account_type_loan)",
"left_in_debt": "(firefly.left_in_debt)",
"account_type_mortgage": "(firefly.account_type_mortgage)",
"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)"
},
@ -134,15 +142,21 @@
"piggy_bank": "Pokladni\u010dka",
"percentage": "perc.",
"amount": "Suma",
"lastActivity": "Posledn\u00e1 aktivita",
"name": "Meno\/N\u00e1zov",
"role": "Rola",
"iban": "IBAN",
"interest": "\u00darok",
"interest_period": "\u00farokov\u00e9 obdobie",
"liability_type": "Typ z\u00e1v\u00e4zku",
"liability_direction": "(list.liability_direction)",
"currentBalance": "Aktu\u00e1lny zostatok",
"next_expected_match": "\u010eal\u0161ia o\u010dak\u00e1van\u00e1 zhoda"
},
"config": {
"html_language": "sk",
"week_in_year_fns": "'T\u00fd\u017ede\u0148' tt, rrrr",
"month_and_day_fns": "(config.month_and_day_fns)",
"quarter_fns": "'Q'Q, rrrr",
"half_year_fns": "'H{half}', rrrr"
},

View File

@ -106,10 +106,12 @@
"revenue_accounts": "Int\u00e4ktskonton",
"add_another_split": "L\u00e4gga till en annan delning",
"actions": "\u00c5tg\u00e4rder",
"earned": "Tj\u00e4nat",
"empty": "(tom)",
"edit": "Redigera",
"never": "Aldrig",
"account_type_Loan": "L\u00e5n",
"account_type_Mortgage": "Bol\u00e5n",
"timezone_difference": "Din webbl\u00e4sare rapporterar tidszonen \"{local}\". Firefly III \u00e4r konfigurerad f\u00f6r tidszonen \"{system}\". Detta diagram kan glida.",
"stored_new_account_js": "Nytt konto \"<a href=\"accounts\/show\/{ID}\">{name}<\/a>\" lagrat!",
"account_type_Debt": "Skuld",
"delete": "Ta bort",
@ -127,6 +129,12 @@
"interest_calc_yearly": "Per \u00e5r",
"liability_direction_credit": "Jag \u00e4r skyldig denna skuld",
"liability_direction_debit": "Jag \u00e4r skyldig n\u00e5gon annan denna skuld",
"liability_direction_credit_short": "(firefly.liability_direction_credit_short)",
"liability_direction_debit_short": "(firefly.liability_direction_debit_short)",
"account_type_debt": "(firefly.account_type_debt)",
"account_type_loan": "(firefly.account_type_loan)",
"left_in_debt": "(firefly.left_in_debt)",
"account_type_mortgage": "(firefly.account_type_mortgage)",
"save_transactions_by_moving_js": "Inga transaktioner|Spara denna transaktion genom att flytta den till ett annat konto.|Spara dessa transaktioner genom att flytta dem till ett annat konto.",
"none_in_select_list": "(Ingen)"
},
@ -134,15 +142,21 @@
"piggy_bank": "Spargris",
"percentage": "procent",
"amount": "Belopp",
"lastActivity": "Senaste aktivitet",
"name": "Namn",
"role": "Roll",
"iban": "IBAN",
"interest": "R\u00e4nta",
"interest_period": "r\u00e4nteperiod",
"liability_type": "Typ av ansvar",
"liability_direction": "(list.liability_direction)",
"currentBalance": "Nuvarande saldo",
"next_expected_match": "N\u00e4sta f\u00f6rv\u00e4ntade tr\u00e4ff"
},
"config": {
"html_language": "sv",
"week_in_year_fns": "'Vecka' w, yyyy",
"month_and_day_fns": "(config.month_and_day_fns)",
"quarter_fns": "'kvartal'Q, yyyy",
"half_year_fns": "'H{half}', yyyy"
},

View File

@ -106,10 +106,12 @@
"revenue_accounts": "T\u00e0i kho\u1ea3n doanh thu",
"add_another_split": "Th\u00eam m\u1ed9t ph\u00e2n chia kh\u00e1c",
"actions": "H\u00e0nh \u0111\u1ed9ng",
"earned": "Ki\u1ebfm \u0111\u01b0\u1ee3c",
"empty": "(tr\u1ed1ng)",
"edit": "S\u1eeda",
"never": "Kh\u00f4ng bao gi\u1edd",
"account_type_Loan": "Ti\u1ec1n vay",
"account_type_Mortgage": "Th\u1ebf ch\u1ea5p",
"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!",
"account_type_Debt": "M\u00f3n n\u1ee3",
"delete": "X\u00f3a",
@ -127,6 +129,12 @@
"interest_calc_yearly": "M\u1ed7i n\u0103m",
"liability_direction_credit": "I am owed this debt",
"liability_direction_debit": "I owe this debt to somebody else",
"liability_direction_credit_short": "(firefly.liability_direction_credit_short)",
"liability_direction_debit_short": "(firefly.liability_direction_debit_short)",
"account_type_debt": "(firefly.account_type_debt)",
"account_type_loan": "(firefly.account_type_loan)",
"left_in_debt": "(firefly.left_in_debt)",
"account_type_mortgage": "(firefly.account_type_mortgage)",
"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.",
"none_in_select_list": "(Tr\u1ed1ng)"
},
@ -134,15 +142,21 @@
"piggy_bank": "\u1ed0ng heo con",
"percentage": "ph\u1ea7n tr\u0103m.",
"amount": "S\u1ed1 ti\u1ec1n",
"lastActivity": "Ho\u1ea1t \u0111\u1ed9ng cu\u1ed1i c\u00f9ng",
"name": "T\u00ean",
"role": "Quy t\u1eafc",
"iban": "IBAN",
"interest": "L\u00e3i",
"interest_period": "Chu k\u1ef3 l\u00e3i",
"liability_type": "Lo\u1ea1i tr\u00e1ch nhi\u1ec7m ph\u00e1p l\u00fd",
"liability_direction": "(list.liability_direction)",
"currentBalance": "S\u1ed1 d\u01b0 hi\u1ec7n t\u1ea1i",
"next_expected_match": "Tr\u1eadn \u0111\u1ea5u d\u1ef1 ki\u1ebfn ti\u1ebfp theo"
},
"config": {
"html_language": "vi",
"week_in_year_fns": "'Week' w, yyyy",
"week_in_year_fns": "'Tu\u1ea7n' w, yyyy",
"month_and_day_fns": "(config.month_and_day_fns)",
"quarter_fns": "'Q'Q, yyyy",
"half_year_fns": "'H{half}', yyyy"
},

View File

@ -106,10 +106,12 @@
"revenue_accounts": "\u6536\u5165\u8d26\u6237",
"add_another_split": "\u589e\u52a0\u53e6\u4e00\u7b14\u62c6\u5206",
"actions": "\u64cd\u4f5c",
"earned": "\u6536\u5165",
"empty": "(\u7a7a)",
"edit": "\u7f16\u8f91",
"never": "\u6c38\u4e0d",
"account_type_Loan": "\u8d37\u6b3e",
"account_type_Mortgage": "\u62b5\u62bc",
"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!",
"account_type_Debt": "\u6b20\u6b3e",
"delete": "\u5220\u9664",
@ -127,6 +129,12 @@
"interest_calc_yearly": "\u6bcf\u5e74",
"liability_direction_credit": "\u6211\u6b20\u4e86\u8fd9\u7b14\u503a\u52a1",
"liability_direction_debit": "\u6211\u6b20\u522b\u4eba\u8fd9\u7b14\u94b1",
"liability_direction_credit_short": "(firefly.liability_direction_credit_short)",
"liability_direction_debit_short": "(firefly.liability_direction_debit_short)",
"account_type_debt": "(firefly.account_type_debt)",
"account_type_loan": "(firefly.account_type_loan)",
"left_in_debt": "(firefly.left_in_debt)",
"account_type_mortgage": "(firefly.account_type_mortgage)",
"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.",
"none_in_select_list": "(\u7a7a)"
},
@ -134,15 +142,21 @@
"piggy_bank": "\u5b58\u94b1\u7f50",
"percentage": "%",
"amount": "\u91d1\u989d",
"lastActivity": "\u4e0a\u6b21\u6d3b\u52a8",
"name": "\u540d\u79f0",
"role": "\u89d2\u8272",
"iban": "\u56fd\u9645\u94f6\u884c\u8d26\u6237\u53f7\u7801\uff08IBAN\uff09",
"interest": "\u5229\u606f",
"interest_period": "\u5229\u606f\u671f",
"liability_type": "\u503a\u52a1\u7c7b\u578b",
"liability_direction": "(list.liability_direction)",
"currentBalance": "\u76ee\u524d\u4f59\u989d",
"next_expected_match": "\u9884\u671f\u4e0b\u6b21\u652f\u4ed8"
},
"config": {
"html_language": "zh-cn",
"week_in_year_fns": "'\u5468' w\uff0cyyyy",
"month_and_day_fns": "(config.month_and_day_fns)",
"quarter_fns": "'Q'Q, yyyy",
"half_year_fns": "'H{half}', yyyy"
},

View File

@ -106,10 +106,12 @@
"revenue_accounts": "\u6536\u5165\u5e33\u6236",
"add_another_split": "\u589e\u52a0\u62c6\u5206",
"actions": "\u64cd\u4f5c",
"earned": "\u5df2\u8cfa\u5f97",
"empty": "(empty)",
"edit": "\u7de8\u8f2f",
"never": "\u672a\u6709\u8cc7\u6599",
"account_type_Loan": "\u8cb8\u6b3e",
"account_type_Mortgage": "\u62b5\u62bc",
"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!",
"account_type_Debt": "\u8ca0\u50b5",
"delete": "\u522a\u9664",
@ -127,6 +129,12 @@
"interest_calc_yearly": "\u6bcf\u5e74",
"liability_direction_credit": "I am owed this debt",
"liability_direction_debit": "I owe this debt to somebody else",
"liability_direction_credit_short": "(firefly.liability_direction_credit_short)",
"liability_direction_debit_short": "(firefly.liability_direction_debit_short)",
"account_type_debt": "(firefly.account_type_debt)",
"account_type_loan": "(firefly.account_type_loan)",
"left_in_debt": "(firefly.left_in_debt)",
"account_type_mortgage": "(firefly.account_type_mortgage)",
"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.",
"none_in_select_list": "(\u7a7a)"
},
@ -134,15 +142,21 @@
"piggy_bank": "\u5c0f\u8c6c\u64b2\u6eff",
"percentage": "pct.",
"amount": "\u91d1\u984d",
"lastActivity": "\u4e0a\u6b21\u6d3b\u52d5",
"name": "\u540d\u7a31",
"role": "\u89d2\u8272",
"iban": "\u570b\u969b\u9280\u884c\u5e33\u6236\u865f\u78bc (IBAN)",
"interest": "\u5229\u7387",
"interest_period": "\u5229\u7387\u671f",
"liability_type": "\u8ca0\u50b5\u985e\u578b",
"liability_direction": "(list.liability_direction)",
"currentBalance": "\u76ee\u524d\u9918\u984d",
"next_expected_match": "\u4e0b\u4e00\u500b\u9810\u671f\u7684\u914d\u5c0d"
},
"config": {
"html_language": "zh-tw",
"week_in_year_fns": "'Week' w, yyyy",
"month_and_day_fns": "(config.month_and_day_fns)",
"quarter_fns": "'Q'Q, yyyy",
"half_year_fns": "'H{half}', yyyy"
},

48
frontend/src/pages/budgets/index.js vendored Normal file
View File

@ -0,0 +1,48 @@
/*
* index.js
* Copyright (c) 2020 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/>.
*/
require('../../bootstrap');
import Vue from "vue";
import Index from "../../components/budgets/Index";
import store from "../../components/store";
// i18n
let i18n = require('../../i18n');
let props = {};
new Vue({
i18n,
store,
el: "#budgets",
render: (createElement) => {
return createElement(Index, {props: props});
},
beforeCreate() {
// init the old root store (TODO remove me)
//this.$store.commit('initialiseStore');
//this.$store.dispatch('updateCurrencyPreference');
// init the new root store (dont care about results)
this.$store.dispatch('root/initialiseStore');
// also init the dashboard store.
//this.$store.dispatch('dashboard/index/initialiseStore');
},
});

View File

@ -56,6 +56,9 @@ mix.js('src/pages/accounts/delete.js', 'public/js/accounts').vue({version: 2});
mix.js('src/pages/accounts/show.js', 'public/js/accounts').vue({version: 2});
mix.js('src/pages/accounts/create.js', 'public/js/accounts').vue({version: 2});
// budgets
mix.js('src/pages/budgets/index.js', 'public/js/budgets').vue({version: 2});
// transactions.
mix.js('src/pages/transactions/create.js', 'public/js/transactions').vue({version: 2});
mix.js('src/pages/transactions/edit.js', 'public/js/transactions').vue({version: 2});

File diff suppressed because it is too large Load Diff

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

2
public/v2/js/budgets/index.js vendored Executable file

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

@ -16,7 +16,7 @@
*/
/*!
* Chart.js v3.1.1
* Chart.js v3.2.1
* https://www.chartjs.org
* (c) 2021 Chart.js Contributors
* Released under the MIT License
@ -76,7 +76,7 @@
*/
/*!
* vue-i18n v8.24.3
* vue-i18n v8.24.4
* (c) 2021 kazuya kawaguchi
* Released under the MIT License.
*/

File diff suppressed because one or more lines are too long

View File

@ -431,7 +431,6 @@ return [
'apply_rule_group_selection' => 'Приложете групата правила ":title" към селекция от вашите транзакции',
'apply_rule_group_selection_intro' => 'Групи правила като ":title" обикновено се прилагат само за нови или актуализирани транзакции, но можете да кажете на Firefly III да го стартира върху селекция от вашите съществуващи транзакции. Това може да бъде полезно, когато сте актуализирали група правила и се нуждаете промените, да се отразят на всички останали транзакции.',
'applied_rule_group_selection' => 'Групата правила ":title" е приложена към вашия избор.',
'timezone_difference' => 'Your browser reports time zone "{local}". Firefly III is configured for time zone "{system}". This chart may drift.',
// actions and triggers
'rule_trigger_user_action' => 'Действието на потребителя е „:trigger_value“',

View File

@ -431,7 +431,6 @@ return [
'apply_rule_group_selection' => 'Uplatnit skupinu pravidel „:title“ na vybrané transakce',
'apply_rule_group_selection_intro' => 'Rule groups like ":title" are normally only applied to new or updated transactions, but you can tell Firefly III to run all the rules in this group on a selection of your existing transactions. This can be useful when you have updated a group of rules and you need the changes to be applied to all of your other transactions.',
'applied_rule_group_selection' => 'Skupina pravidel „:title“ byla uplatněna na váš výběr.',
'timezone_difference' => 'Your browser reports time zone "{local}". Firefly III is configured for time zone "{system}". This chart may drift.',
// actions and triggers
'rule_trigger_user_action' => 'Uživatelská akce je „:trigger_value“',

View File

@ -431,7 +431,6 @@ return [
'apply_rule_group_selection' => 'Regelgruppe „:title” auf eine Auswahl Ihrer Buchungen anwenden',
'apply_rule_group_selection_intro' => 'Regelgruppen wie „:title” werden in der Regel nur auf neue oder aktualisierte Buchungen angewandt, aber Sie können die Gruppe auch auf eine Auswahl Ihrer bestehenden Transaktionen anwenden. Dies kann nützlich sein, wenn Sie eine Gruppe aktualisiert haben und Sie die Änderungen auf andere Buchungen übertragen möchten.',
'applied_rule_group_selection' => 'Regelgruppe ":title" wurde auf Ihre Auswahl angewendet.',
'timezone_difference' => 'Ihr Browser meldet die Zeitzone „{local}”. Firefly III ist aber für die Zeitzone „{system}” konfiguriert. Diese Karte kann deshalb abweichen.',
// actions and triggers
'rule_trigger_user_action' => 'Die Nutzeraktion ist ":trigger_value"',
@ -1288,8 +1287,8 @@ return [
'budgetsAndSpending' => 'Budgets und Ausgaben',
'budgets_and_spending' => 'Budgets und Ausgaben',
'go_to_budget' => 'Zu Budget „{budget}” wechseln',
'go_to_deposits' => 'Zu Einlagen wechseln',
'go_to_expenses' => 'Zu Ausgaben wechseln',
'go_to_deposits' => 'Einnahmen anzeigen',
'go_to_expenses' => 'Ausgaben anzeigen',
'savings' => 'Erspartes',
'newWithdrawal' => 'Neue Ausgabe',
'newDeposit' => 'Neue Einnahme',

View File

@ -431,7 +431,6 @@ return [
'apply_rule_group_selection' => 'Εφαρμογή ομάδας κανόνων ":title" σε μία επιλογή των συναλλαγών σας',
'apply_rule_group_selection_intro' => 'Ομάδες κανόνων όπως ":title" συνήθως εφαρμόζονται σε νέες ή ενημερωμένες συναλλαγές, αλλά μπορείτε να πείτε στο Firefly III να εκτελέσει όλους τους κανόνες σε αυτή την ομάδα σε μία επιλογή των υπαρχόντων συναλλαγών σας. Αυτό μπορεί να είναι χρήσιμο εάν ενημερώσατε μια ομάδα κανόνων και θέλετε οι αλλαγές να εφαρμοστούν σε όλες τις άλλες συναλλαγές σας.',
'applied_rule_group_selection' => 'Η ομάδα κανόνων ":title" έχει εφαρμοστεί στην επιλογή σας.',
'timezone_difference' => 'Your browser reports time zone "{local}". Firefly III is configured for time zone "{system}". This chart may drift.',
// actions and triggers
'rule_trigger_user_action' => 'Η ενέργεια χρήστη είναι ":trigger_value"',

View File

@ -431,7 +431,6 @@ return [
'apply_rule_group_selection' => 'Apply rule group ":title" to a selection of your transactions',
'apply_rule_group_selection_intro' => 'Rule groups like ":title" are normally only applied to new or updated transactions, but you can tell Firefly III to run all the rules in this group on a selection of your existing transactions. This can be useful when you have updated a group of rules and you need the changes to be applied to all of your other transactions.',
'applied_rule_group_selection' => 'Rule group ":title" has been applied to your selection.',
'timezone_difference' => 'Your browser reports time zone "{local}". Firefly III is configured for time zone "{system}". This chart may drift.',
// actions and triggers
'rule_trigger_user_action' => 'User action is ":trigger_value"',

View File

@ -431,7 +431,6 @@ return [
'apply_rule_group_selection' => 'Apply rule group ":title" to a selection of your transactions',
'apply_rule_group_selection_intro' => 'Rule groups like ":title" are normally only applied to new or updated transactions, but you can tell Firefly III to run all the rules in this group on a selection of your existing transactions. This can be useful when you have updated a group of rules and you need the changes to be applied to all of your other transactions.',
'applied_rule_group_selection' => 'Rule group ":title" has been applied to your selection.',
'timezone_difference' => 'Your browser reports time zone "{local}". Firefly III is configured for time zone "{system}". This chart may drift.',
// actions and triggers
'rule_trigger_user_action' => 'User action is ":trigger_value"',

View File

@ -431,7 +431,6 @@ 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' => '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"',

View File

@ -431,7 +431,6 @@ return [
'apply_rule_group_selection' => 'Aja sääntöryhmä ":title" valituille tapahtumille',
'apply_rule_group_selection_intro' => 'Sääntöryhmät kuten ":title" ajetaan normaalisti ainoastaan uusille tai päivitetyille tapahtumille, mutta voit pyytää Firefly III:a ajamaan kaikki ryhmän säännöt myös sinun valitsemillesi, jo olemassa oleville tapahtumille. Tämä voi olla kätevää kun olet päivittänyt ryhmän sääntöjä ja haluat muutosten vaikuttavan jo olemassaoleviin tapahtumiin.',
'applied_rule_group_selection' => 'Sääntöryhmä ":title" on ajettu valituille tapahtumille.',
'timezone_difference' => 'Your browser reports time zone "{local}". Firefly III is configured for time zone "{system}". This chart may drift.',
// actions and triggers
'rule_trigger_user_action' => 'Käyttäjän toiminto on ":trigger_value"',

View File

@ -431,7 +431,6 @@ return [
'apply_rule_group_selection' => 'Appliquer le groupe de règles ":title" à une sélection de vos opérations',
'apply_rule_group_selection_intro' => 'Les groupes de règles comme ":title" ne s\'appliquent normalement qu\'aux opérations nouvelles ou mises à jour, mais vous pouvez dire à Firefly III d\'exécuter toutes les règles de ce groupe sur une sélection de vos opérations existantes. Cela peut être utile lorsque vous avez mis à jour un groupe de règles et avez besoin que les modifications soient appliquées à lensemble de vos autres opérations.',
'applied_rule_group_selection' => 'Le groupe de règles ":title" a été appliqué à votre sélection.',
'timezone_difference' => 'Votre navigateur signale le fuseau horaire "{local}". Firefly III est configuré pour le fuseau horaire "{system}". Ce graphique peut être décalé.',
// actions and triggers
'rule_trigger_user_action' => 'L\'action de lutilisateur est ":trigger_value"',

View File

@ -431,7 +431,6 @@ return [
'apply_rule_group_selection' => '":title" szabálycsoport alkalmazása a tranzakciók egy csoportján',
'apply_rule_group_selection_intro' => 'Az olyan szabálycsoportok mint a ":title" normális esetben csak az új vagy a frissített tranzakciókon lesznek alkalmazva, de meg lehet mondani a Firefly III-nak, hogy futtassa le a csoportban lévő összes szabályt a már létező tranzakciókon. Ez hasznos lehet, ha egy szabálycsoport frissítve lett és a módosításokat az összes tranzakción alkalmazni kell.',
'applied_rule_group_selection' => '":title" szabálycsoport alkalmazva a kiválasztásra.',
'timezone_difference' => 'Your browser reports time zone "{local}". Firefly III is configured for time zone "{system}". This chart may drift.',
// actions and triggers
'rule_trigger_user_action' => 'A felhasználói művelet ":trigger_value"',

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' w, yyyy",
'week_in_year_fns' => "'Mingguan' w, yyyy",
'year_js' => 'YYYY',
'half_year_js' => 'Q YYYY',
'quarter_fns' => "'Q'Q, yyyy",

View File

@ -90,7 +90,7 @@ return [
'help_for_this_page' => 'Help for this page',
'no_help_could_be_found' => 'No help text could be found.',
'no_help_title' => 'Apologies, an error occurred.',
'two_factor_welcome' => 'Hello!',
'two_factor_welcome' => 'Halo!',
'two_factor_enter_code' => 'Untuk melanjutkan, masukkan kode Pengecekan keamanan dua faktor Anda. Aplikasi Anda bisa menghasilkannya untuk Anda.',
'two_factor_code_here' => 'Masukkan kode di sini',
'two_factor_title' => 'Pengecekan keamanan Dua faktor',
@ -151,14 +151,14 @@ return [
'clone_deposit' => 'Kloning deposit ini',
'clone_transfer' => 'Kloning transfer ini',
'multi_select_no_selection' => 'Tidak ada yang di pilih',
'multi_select_select_all' => 'Select all',
'multi_select_n_selected' => 'selected',
'multi_select_select_all' => 'Pilih Semua',
'multi_select_n_selected' => 'dipilih',
'multi_select_all_selected' => 'Semua dipilih',
'multi_select_filter_placeholder' => 'Menemukan..',
'intro_next_label' => 'Next',
'intro_prev_label' => 'Previous',
'intro_skip_label' => 'Skip',
'intro_done_label' => 'Done',
'intro_next_label' => 'Selanjutnya',
'intro_prev_label' => 'Sebelumnya',
'intro_skip_label' => 'Lewati',
'intro_done_label' => 'Selesai',
'between_dates_breadcrumb' => 'Antara :start dan :end',
'all_journals_without_budget' => 'Semua transaksi tanpa anggaran',
'journals_without_budget' => 'Transaksi tanpa anggaran',
@ -191,9 +191,9 @@ return [
'invalid_locale_settings' => 'Firefly III tidak dapat memformat jumlah uang karena server Anda kehilangan paket yang dibutuhkan. Ada <a href="https://github.com/firefly-iii/help/wiki/Missing-locale-packages">instructions bagaimana melakukan ini</a>.',
'quickswitch' => 'Quickswitch',
'sign_in_to_start' => 'Sign in to start your session',
'sign_in' => 'Sign in',
'register_new_account' => 'Register a new account',
'forgot_my_password' => 'I forgot my password',
'sign_in' => 'Masuk',
'register_new_account' => 'Daftar akun baru',
'forgot_my_password' => 'Lupa password',
'problems_with_input' => 'There were some problems with your input.',
'reset_password' => 'Atur ulang kata sandi Anda',
'button_reset_password' => 'Atur ulang kata sandi',
@ -205,8 +205,8 @@ return [
'reset_pw_page_title' => 'Atur ulang kata sandi Anda untuk Firefly III',
'cannot_reset_demo_user' => 'You cannot reset the password of the demo user.',
'no_att_demo_user' => 'The demo user can\'t upload attachments.',
'button_register' => 'Register',
'authorization' => 'Authorization',
'button_register' => 'Daftar',
'authorization' => 'Otorisasi',
'active_bills_only' => 'active bills only',
'active_bills_only_total' => 'all active bills',
'active_exp_bills_only' => 'active and expected bills only',
@ -255,9 +255,9 @@ return [
'updates_ask_me_later' => 'Ask me later',
'updates_do_not_check' => 'Do not check for updates',
'updates_enable_check' => 'Enable the check for updates',
'admin_update_check_now_title' => 'Check for updates now',
'admin_update_check_now_title' => 'Periksa pembaruan',
'admin_update_check_now_explain' => 'If you press the button, Firefly III will see if your current version is the latest.',
'check_for_updates_button' => 'Check now!',
'check_for_updates_button' => 'Periksa sekarang!',
'update_new_version_alert' => 'A new version of Firefly III is available. You are running :your_version, the latest version is :new_version which was released on :date.',
'update_version_beta' => 'This version is a BETA version. You may run into issues.',
'update_version_alpha' => 'This version is a ALPHA version. You may run into issues.',
@ -431,7 +431,6 @@ return [
'apply_rule_group_selection' => 'Terapkan grup aturan ":title" ke pilihan transaksi Anda',
'apply_rule_group_selection_intro' => 'Kelompok aturan seperti ":title" biasanya hanya diterapkan pada transaksi baru atau yang diperbarui, namun Anda dapat memberi tahu Firefly III untuk menjalankan semua aturan dalam grup ini pada pilihan transaksi Anda saat ini. Ini bisa berguna bila Anda telah memperbarui sekumpulan aturan dan Anda memerlukan perubahan yang akan diterapkan pada semua transaksi Anda yang lain.',
'applied_rule_group_selection' => 'Rule group ":title" telah diterapkan pada pilihan Anda.',
'timezone_difference' => 'Your browser reports time zone "{local}". Firefly III is configured for time zone "{system}". This chart may drift.',
// actions and triggers
'rule_trigger_user_action' => 'Tindakan pengguna adalah ":trigger_value"',

View File

@ -25,7 +25,7 @@ declare(strict_types=1);
return [
'iban' => 'Ini bukan IBAN yang valid.',
'zero_or_more' => 'Nilai tidak bisa negatif.',
'date_or_time' => 'The value must be a valid date or time value (ISO 8601).',
'date_or_time' => 'Nilainya harus berupa nilai tanggal atau waktu yang valid (ISO 8601).',
'source_equals_destination' => 'Akun sumber sama dengan akun tujuan.',
'unique_account_number_for_user' => 'Sepertinya nomor rekening ini sudah digunakan.',
'unique_iban_for_user' => 'Sepertinya nomor rekening ini sudah digunakan.',
@ -33,7 +33,7 @@ return [
'rule_trigger_value' => 'Nilai ini tidak validi untuk trigger yang dipilih.',
'rule_action_value' => 'Nilai ini tidak valid untuk tindakan yang dipilih.',
'file_already_attached' => 'Upload file ";name" sudah terpasang pada objek ini.',
'file_attached' => 'Successfully uploaded file ":name".',
'file_attached' => 'Berhasil mengunggah file ": name".',
'must_exist' => 'ID di bidang :attribute tidak ada di database.',
'all_accounts_equal' => 'Semua akun di bidang ini harus sama.',
'group_title_mandatory' => 'A group title is mandatory when there is more than one transaction.',

View File

@ -431,7 +431,6 @@ return [
'apply_rule_group_selection' => 'Applica il gruppo di regole ":title" a una selezione delle tue transazioni',
'apply_rule_group_selection_intro' => 'Gruppi di regole come ":title" sono normalmente applicati solo a transazioni nuove o aggiornate, ma puoi dire a Firefly III di eseguire tutte le regole in questo gruppo su una selezione delle tue transazioni esistenti. Questo può essere utile quando hai aggiornato un gruppo di regole e hai bisogno delle modifiche da applicare a tutte le tue altre transazioni.',
'applied_rule_group_selection' => 'Il gruppo di regole ":title" è stato applicato alla selezione.',
'timezone_difference' => 'Il browser segnala "{local}" come fuso orario. Firefly III è configurato con il fuso orario "{system}". Questo grafico potrebbe non è essere corretto.',
// actions and triggers
'rule_trigger_user_action' => 'L\'azione dell\'utente è ":trigger_value"',

View File

@ -431,7 +431,6 @@ return [
'apply_rule_group_selection' => 'Bruk regelgruppe ":title" til et utvalg av dine transaksjoner',
'apply_rule_group_selection_intro' => 'Regelgrupper som ":title" brukes normalt bare til nye eller oppdaterte transaksjoner, men du kan få Firefly III til å kjøre dem på et utvalg av dine eksisterende transaksjoner. Dette kan være nyttig når du har oppdatert en regelgruppe, og du trenger at endringene blir brukt på alle dine tidligere transaksjoner.',
'applied_rule_group_selection' => 'Regelgruppe ":title" har blitt brukt på ditt utvalg.',
'timezone_difference' => 'Your browser reports time zone "{local}". Firefly III is configured for time zone "{system}". This chart may drift.',
// actions and triggers
'rule_trigger_user_action' => 'Brukerhandling er ":trigger_value"',

View File

@ -431,7 +431,6 @@ return [
'apply_rule_group_selection' => 'Pas regelgroep ":title" toe op een selectie van je transacties',
'apply_rule_group_selection_intro' => 'Regelgroepen zoals ":title" worden normaal alleen op nieuwe of geüpdate transacties toegepast, maar Firefly III kan ze ook toepassen op (een selectie van) je bestaande transacties. Dit kan praktisch zijn als je regels in de groep hebt veranderd en je wilt de veranderingen toepassen op al je transacties.',
'applied_rule_group_selection' => 'Regelgroep ":title" is toegepast op je selectie.',
'timezone_difference' => 'Je browser is in tijdzone "{local}". Firefly III is in tijdzone "{system}". Deze grafiek kan afwijken.',
// actions and triggers
'rule_trigger_user_action' => 'Gebruikersactie is ":trigger_value"',

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