mirror of
https://github.com/firefly-iii/firefly-iii.git
synced 2025-02-25 18:45:27 -06:00
Merge branch 'release/v6.1.0'
This commit is contained in:
12
.ci/php-cs-fixer/composer.lock
generated
12
.ci/php-cs-fixer/composer.lock
generated
@@ -226,16 +226,16 @@
|
||||
},
|
||||
{
|
||||
"name": "friendsofphp/php-cs-fixer",
|
||||
"version": "v3.41.0",
|
||||
"version": "v3.41.1",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/PHP-CS-Fixer/PHP-CS-Fixer.git",
|
||||
"reference": "7d8d18e19095a939b8a3b8046f57108feaad6134"
|
||||
"reference": "8b6ae8dcbaf23f09680643ab832a4a3a260265f6"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/PHP-CS-Fixer/PHP-CS-Fixer/zipball/7d8d18e19095a939b8a3b8046f57108feaad6134",
|
||||
"reference": "7d8d18e19095a939b8a3b8046f57108feaad6134",
|
||||
"url": "https://api.github.com/repos/PHP-CS-Fixer/PHP-CS-Fixer/zipball/8b6ae8dcbaf23f09680643ab832a4a3a260265f6",
|
||||
"reference": "8b6ae8dcbaf23f09680643ab832a4a3a260265f6",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -305,7 +305,7 @@
|
||||
],
|
||||
"support": {
|
||||
"issues": "https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues",
|
||||
"source": "https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/tree/v3.41.0"
|
||||
"source": "https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/tree/v3.41.1"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
@@ -313,7 +313,7 @@
|
||||
"type": "github"
|
||||
}
|
||||
],
|
||||
"time": "2023-12-08T22:54:33+00:00"
|
||||
"time": "2023-12-10T19:59:27+00:00"
|
||||
},
|
||||
{
|
||||
"name": "psr/container",
|
||||
|
||||
28
.ci/phpmd/composer.lock
generated
28
.ci/phpmd/composer.lock
generated
@@ -146,16 +146,16 @@
|
||||
},
|
||||
{
|
||||
"name": "pdepend/pdepend",
|
||||
"version": "2.16.0",
|
||||
"version": "2.16.1",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/pdepend/pdepend.git",
|
||||
"reference": "8dfc0c46529e2073fa97986552f80646eedac562"
|
||||
"reference": "66ceb05eaa8bf358574143c974b04463911bc700"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/pdepend/pdepend/zipball/8dfc0c46529e2073fa97986552f80646eedac562",
|
||||
"reference": "8dfc0c46529e2073fa97986552f80646eedac562",
|
||||
"url": "https://api.github.com/repos/pdepend/pdepend/zipball/66ceb05eaa8bf358574143c974b04463911bc700",
|
||||
"reference": "66ceb05eaa8bf358574143c974b04463911bc700",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -168,7 +168,6 @@
|
||||
"require-dev": {
|
||||
"easy-doc/easy-doc": "0.0.0|^1.2.3",
|
||||
"gregwar/rst": "^1.0",
|
||||
"phpunit/phpunit": "^4.8.36|^5.7.27",
|
||||
"squizlabs/php_codesniffer": "^2.0.0"
|
||||
},
|
||||
"bin": [
|
||||
@@ -198,7 +197,7 @@
|
||||
],
|
||||
"support": {
|
||||
"issues": "https://github.com/pdepend/pdepend/issues",
|
||||
"source": "https://github.com/pdepend/pdepend/tree/2.16.0"
|
||||
"source": "https://github.com/pdepend/pdepend/tree/2.16.1"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
@@ -206,26 +205,26 @@
|
||||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2023-11-29T08:52:35+00:00"
|
||||
"time": "2023-12-10T18:38:19+00:00"
|
||||
},
|
||||
{
|
||||
"name": "phpmd/phpmd",
|
||||
"version": "2.14.1",
|
||||
"version": "2.15.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/phpmd/phpmd.git",
|
||||
"reference": "442fc2c34edcd5198b442d8647c7f0aec3afabe8"
|
||||
"reference": "74a1f56e33afad4128b886e334093e98e1b5e7c0"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/phpmd/phpmd/zipball/442fc2c34edcd5198b442d8647c7f0aec3afabe8",
|
||||
"reference": "442fc2c34edcd5198b442d8647c7f0aec3afabe8",
|
||||
"url": "https://api.github.com/repos/phpmd/phpmd/zipball/74a1f56e33afad4128b886e334093e98e1b5e7c0",
|
||||
"reference": "74a1f56e33afad4128b886e334093e98e1b5e7c0",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"composer/xdebug-handler": "^1.0 || ^2.0 || ^3.0",
|
||||
"ext-xml": "*",
|
||||
"pdepend/pdepend": "^2.15.1",
|
||||
"pdepend/pdepend": "^2.16.1",
|
||||
"php": ">=5.3.9"
|
||||
},
|
||||
"require-dev": {
|
||||
@@ -234,7 +233,6 @@
|
||||
"ext-simplexml": "*",
|
||||
"gregwar/rst": "^1.0",
|
||||
"mikey179/vfsstream": "^1.6.8",
|
||||
"phpunit/phpunit": "^4.8.36 || ^5.7.27",
|
||||
"squizlabs/php_codesniffer": "^2.9.2 || ^3.7.2"
|
||||
},
|
||||
"bin": [
|
||||
@@ -282,7 +280,7 @@
|
||||
"support": {
|
||||
"irc": "irc://irc.freenode.org/phpmd",
|
||||
"issues": "https://github.com/phpmd/phpmd/issues",
|
||||
"source": "https://github.com/phpmd/phpmd/tree/2.14.1"
|
||||
"source": "https://github.com/phpmd/phpmd/tree/2.15.0"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
@@ -290,7 +288,7 @@
|
||||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2023-09-28T13:07:44+00:00"
|
||||
"time": "2023-12-11T08:22:20+00:00"
|
||||
},
|
||||
{
|
||||
"name": "psr/container",
|
||||
|
||||
@@ -26,11 +26,15 @@ namespace FireflyIII\Console\Commands\Correction;
|
||||
use FireflyIII\Console\Commands\ShowsFriendlyMessages;
|
||||
use FireflyIII\Models\AccountMeta;
|
||||
use FireflyIII\Models\BudgetLimit;
|
||||
use FireflyIII\Models\GroupMembership;
|
||||
use FireflyIII\Models\Transaction;
|
||||
use FireflyIII\Models\TransactionCurrency;
|
||||
use FireflyIII\Models\TransactionJournal;
|
||||
use FireflyIII\Models\UserGroup;
|
||||
use FireflyIII\Repositories\UserGroups\Currency\CurrencyRepositoryInterface;
|
||||
use Illuminate\Console\Command;
|
||||
use Illuminate\Support\Collection;
|
||||
use Illuminate\Support\Facades\Log;
|
||||
use Symfony\Component\Console\Command\Command as CommandAlias;
|
||||
|
||||
/**
|
||||
* Class EnableCurrencies
|
||||
@@ -49,35 +53,68 @@ class EnableCurrencies extends Command
|
||||
*/
|
||||
public function handle(): int
|
||||
{
|
||||
$found = [];
|
||||
$userGroups = UserGroup::get();
|
||||
foreach ($userGroups as $userGroup) {
|
||||
$this->correctCurrencies($userGroup);
|
||||
}
|
||||
return CommandAlias::SUCCESS;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param UserGroup $userGroup
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
private function correctCurrencies(UserGroup $userGroup): void
|
||||
{
|
||||
/** @var CurrencyRepositoryInterface $repos */
|
||||
$repos = app(CurrencyRepositoryInterface::class);
|
||||
|
||||
// first check if the user has any default currency (not necessarily the case, so can be forced).
|
||||
$defaultCurrency = app('amount')->getDefaultCurrencyByUserGroup($userGroup);
|
||||
|
||||
Log::debug(sprintf('Now correcting currencies for user group #%d', $userGroup->id));
|
||||
$found = [$defaultCurrency->id];
|
||||
// get all meta entries
|
||||
/** @var Collection $meta */
|
||||
$meta = AccountMeta::where('name', 'currency_id')->groupBy('data')->get(['data']);
|
||||
$meta = AccountMeta
|
||||
::leftJoin('accounts', 'accounts.id', '=', 'account_meta.account_id')
|
||||
->where('accounts.user_group_id', $userGroup->id)
|
||||
->where('account_meta.name', 'currency_id')->groupBy('data')->get(['data']);
|
||||
foreach ($meta as $entry) {
|
||||
$found[] = (int)$entry->data;
|
||||
}
|
||||
|
||||
// get all from journals:
|
||||
$journals = TransactionJournal::groupBy('transaction_currency_id')->get(['transaction_currency_id']);
|
||||
$journals = TransactionJournal
|
||||
::where('user_group_id', $userGroup->id)
|
||||
->groupBy('transaction_currency_id')->get(['transaction_currency_id']);
|
||||
foreach ($journals as $entry) {
|
||||
$found[] = (int)$entry->transaction_currency_id;
|
||||
}
|
||||
|
||||
// get all from transactions
|
||||
$transactions = Transaction::groupBy('transaction_currency_id', 'foreign_currency_id')->get(['transaction_currency_id', 'foreign_currency_id']);
|
||||
$transactions = Transaction
|
||||
::leftJoin('transaction_journals', 'transaction_journals.id', '=', 'transactions.transaction_journal_id')
|
||||
->where('transaction_journals.user_group_id', $userGroup->id)
|
||||
->groupBy('transactions.transaction_currency_id', 'transactions.foreign_currency_id')
|
||||
->get(['transactions.transaction_currency_id', 'transactions.foreign_currency_id']);
|
||||
foreach ($transactions as $entry) {
|
||||
$found[] = (int)$entry->transaction_currency_id;
|
||||
$found[] = (int)$entry->foreign_currency_id;
|
||||
}
|
||||
|
||||
// get all from budget limits
|
||||
$limits = BudgetLimit::groupBy('transaction_currency_id')->get(['transaction_currency_id']);
|
||||
$limits = BudgetLimit
|
||||
::leftJoin('budgets', 'budgets.id', '=', 'budget_limits.budget_id')
|
||||
->groupBy('transaction_currency_id')
|
||||
->get(['budget_limits.transaction_currency_id']);
|
||||
foreach ($limits as $entry) {
|
||||
$found[] = $entry->transaction_currency_id;
|
||||
}
|
||||
|
||||
$found = array_values(array_unique($found));
|
||||
$found = array_values(
|
||||
$found = array_values(array_unique($found));
|
||||
$found = array_values(
|
||||
array_filter(
|
||||
$found,
|
||||
static function (int $currencyId) {
|
||||
@@ -85,15 +122,24 @@ class EnableCurrencies extends Command
|
||||
}
|
||||
)
|
||||
);
|
||||
$disabled = TransactionCurrency::whereIn('id', $found)->where('enabled', false)->count();
|
||||
if ($disabled > 0) {
|
||||
$this->friendlyInfo(sprintf('%d currencies were (was) disabled while in use by transactions. This has been corrected.', $disabled));
|
||||
}
|
||||
if (0 === $disabled) {
|
||||
$this->friendlyPositive('All currencies are correctly enabled or disabled.');
|
||||
}
|
||||
TransactionCurrency::whereIn('id', $found)->update(['enabled' => true]);
|
||||
|
||||
return 0;
|
||||
$valid = new Collection();
|
||||
/** @var int $currencyId */
|
||||
foreach ($found as $currencyId) {
|
||||
$currency = $repos->find($currencyId);
|
||||
if (null !== $currency) {
|
||||
$valid->push($currency);
|
||||
}
|
||||
}
|
||||
$ids = $valid->pluck('id')->toArray();
|
||||
Log::debug(sprintf('Found currencies for user group #%d: %s', $userGroup->id, implode(', ', $ids)));
|
||||
$userGroup->currencies()->sync($ids);
|
||||
/** @var GroupMembership $membership */
|
||||
foreach ($userGroup->groupMemberships()->get() as $membership) {
|
||||
// make sure no individual different preferences.
|
||||
$membership->user->currencies()->sync([]);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -24,6 +24,7 @@ declare(strict_types=1);
|
||||
namespace FireflyIII\Handlers\Observer;
|
||||
|
||||
use FireflyIII\Models\Budget;
|
||||
use FireflyIII\Models\BudgetLimit;
|
||||
|
||||
/**
|
||||
* Class BudgetObserver
|
||||
@@ -41,11 +42,18 @@ class BudgetObserver
|
||||
foreach ($budget->attachments()->get() as $attachment) {
|
||||
$attachment->delete();
|
||||
}
|
||||
|
||||
$budget->budgetlimits()->delete();
|
||||
$budgetLimits = $budget->budgetlimits()->get();
|
||||
/** @var BudgetLimit $budgetLimit */
|
||||
foreach($budgetLimits as $budgetLimit) {
|
||||
// this loop exists so several events are fired.
|
||||
$budgetLimit->delete();
|
||||
}
|
||||
|
||||
$budget->notes()->delete();
|
||||
$budget->autoBudgets()->delete();
|
||||
|
||||
// recalculate available budgets.
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -85,8 +85,8 @@ class IndexController extends Controller
|
||||
// order so default is on top:
|
||||
$collection = $collection->sortBy(
|
||||
static function (TransactionCurrency $currency) {
|
||||
$default = true === $currency->userDefault ? 0 : 1;
|
||||
$enabled = true === $currency->userEnabled ? 0 : 1;
|
||||
$default = true === $currency->userGroupDefault ? 0 : 1;
|
||||
$enabled = true === $currency->userGroupEnabled ? 0 : 1;
|
||||
return sprintf('%s-%s-%s', $default, $enabled, $currency->code);
|
||||
}
|
||||
);
|
||||
|
||||
@@ -44,8 +44,8 @@ use Symfony\Component\HttpKernel\Exception\NotFoundHttpException;
|
||||
* @property Carbon|null $updated_at
|
||||
* @property Carbon|null $deleted_at
|
||||
* @property bool $enabled
|
||||
* @property bool|null $userDefault
|
||||
* @property bool|null $userEnabled
|
||||
* @property bool|null $userGroupDefault
|
||||
* @property bool|null $userGroupEnabled
|
||||
* @property string $code
|
||||
* @property string $name
|
||||
* @property string $symbol
|
||||
@@ -82,8 +82,8 @@ class TransactionCurrency extends Model
|
||||
use ReturnsIntegerIdTrait;
|
||||
use SoftDeletes;
|
||||
|
||||
public ?bool $userDefault;
|
||||
public ?bool $userEnabled;
|
||||
public ?bool $userGroupDefault;
|
||||
public ?bool $userGroupEnabled;
|
||||
protected $casts
|
||||
= [
|
||||
'created_at' => 'datetime',
|
||||
@@ -123,10 +123,10 @@ class TransactionCurrency extends Model
|
||||
*/
|
||||
public function refreshForUser(User $user)
|
||||
{
|
||||
$current = $user->userGroup->currencies()->where('transaction_currencies.id', $this->id)->first();
|
||||
$default = app('amount')->getDefaultCurrencyByUserGroup($user->userGroup);
|
||||
$this->userDefault = $default->id === $this->id;
|
||||
$this->userEnabled = null !== $current;
|
||||
$current = $user->userGroup->currencies()->where('transaction_currencies.id', $this->id)->first();
|
||||
$default = app('amount')->getDefaultCurrencyByUserGroup($user->userGroup);
|
||||
$this->userGroupDefault = $default->id === $this->id;
|
||||
$this->userGroupEnabled = null !== $current;
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -186,8 +186,8 @@ class CurrencyRepository implements CurrencyRepositoryInterface
|
||||
$isDefault = $local->contains(static function (TransactionCurrency $entry) use ($current) {
|
||||
return 1 === (int)$entry->pivot->group_default && $entry->id === $current->id;
|
||||
});
|
||||
$current->userEnabled = $hasId;
|
||||
$current->userDefault = $isDefault;
|
||||
$current->userGroupEnabled = $hasId;
|
||||
$current->userGroupDefault = $isDefault;
|
||||
return $current;
|
||||
});
|
||||
}
|
||||
@@ -199,8 +199,8 @@ class CurrencyRepository implements CurrencyRepositoryInterface
|
||||
{
|
||||
$all = $this->userGroup->currencies()->orderBy('code', 'ASC')->withPivot(['group_default'])->get();
|
||||
$all->map(static function (TransactionCurrency $current) {
|
||||
$current->userEnabled = true;
|
||||
$current->userDefault = 1 === (int)$current->pivot->group_default;
|
||||
$current->userGroupEnabled = true;
|
||||
$current->userGroupDefault = 1 === (int)$current->pivot->group_default;
|
||||
return $current;
|
||||
});
|
||||
return $all;
|
||||
|
||||
@@ -57,8 +57,8 @@ class CurrencyUpdateService
|
||||
if (array_key_exists('decimal_places', $data) && is_int($data['decimal_places'])) {
|
||||
$currency->decimal_places = $data['decimal_places'];
|
||||
}
|
||||
$currency->userEnabled = null;
|
||||
$currency->userDefault = null;
|
||||
$currency->userGroupEnabled = null;
|
||||
$currency->userGroupDefault = null;
|
||||
$currency->save();
|
||||
|
||||
return $currency;
|
||||
|
||||
@@ -43,8 +43,8 @@ class CurrencyTransformer extends AbstractTransformer
|
||||
'id' => $currency->id,
|
||||
'created_at' => $currency->created_at->toAtomString(),
|
||||
'updated_at' => $currency->updated_at->toAtomString(),
|
||||
'default' => $currency->userDefault,
|
||||
'enabled' => $currency->userEnabled,
|
||||
'default' => $currency->userGroupDefault,
|
||||
'enabled' => $currency->userGroupEnabled,
|
||||
'name' => $currency->name,
|
||||
'code' => $currency->code,
|
||||
'symbol' => $currency->symbol,
|
||||
|
||||
@@ -49,8 +49,8 @@ class CurrencyTransformer extends AbstractTransformer
|
||||
'id' => $currency->id,
|
||||
'created_at' => $currency->created_at->toAtomString(),
|
||||
'updated_at' => $currency->updated_at->toAtomString(),
|
||||
'default' => $currency->userDefault,
|
||||
'enabled' => $currency->userEnabled,
|
||||
'default' => $currency->userGroupDefault,
|
||||
'enabled' => $currency->userGroupEnabled,
|
||||
'name' => $currency->name,
|
||||
'code' => $currency->code,
|
||||
'symbol' => $currency->symbol,
|
||||
|
||||
16
changelog.md
16
changelog.md
@@ -3,9 +3,9 @@
|
||||
All notable changes to this project will be documented in this file.
|
||||
This project adheres to [Semantic Versioning](http://semver.org/).
|
||||
|
||||
## 6.1.0 - 2023-12-xx
|
||||
## 6.1.0 - 2023-12-17
|
||||
|
||||
> This release required **PHP 8.3.0** and will not work on earlier releases of PHP
|
||||
> ⚠️⚠️ This release required **PHP 8.3.0** and will not work on earlier releases of PHP ⚠️⚠️
|
||||
|
||||
### Added
|
||||
|
||||
@@ -15,13 +15,14 @@ This project adheres to [Semantic Versioning](http://semver.org/).
|
||||
|
||||
### Changed
|
||||
|
||||
- Requires PHP8.3
|
||||
- ⚠️⚠️ Requires PHP8.3 ⚠️⚠️
|
||||
- [Issue 8148](https://github.com/firefly-iii/firefly-iii/issues/8148) Slovenian language updates
|
||||
- [Issue 8023](https://github.com/firefly-iii/firefly-iii/issues/8023) Top bar is now fixed in place
|
||||
- Completely rewrote the documentation.
|
||||
|
||||
### Deprecated
|
||||
|
||||
- Support for PHP 8.2
|
||||
- ⚠️⚠️ Removed support for PHP 8.2 ⚠️⚠️
|
||||
|
||||
### Fixed
|
||||
|
||||
@@ -31,6 +32,7 @@ This project adheres to [Semantic Versioning](http://semver.org/).
|
||||
- [Issue 8207](https://github.com/firefly-iii/firefly-iii/issues/8207) Broken links, thanks @Maxco10!
|
||||
- [Issue 8138](https://github.com/firefly-iii/firefly-iii/issues/8138) Reconciled transactions can't be "store(d) as new"
|
||||
- [Issue 7716](https://github.com/firefly-iii/firefly-iii/issues/7716) Removed bar in budget overview
|
||||
- [Issue 8251](https://github.com/firefly-iii/firefly-iii/issues/8251) Removing a budget would not remove available budget
|
||||
|
||||
### API
|
||||
|
||||
@@ -329,7 +331,7 @@ This project adheres to [Semantic Versioning](http://semver.org/).
|
||||
|
||||
- 🇰🇷 Korean translations!
|
||||
- A new "adjusted" auto-budget type that will correct itself after
|
||||
spending. [Read more](https://docs.firefly-iii.org/firefly-iii/financial-concepts/organizing/#adjusted-and-correct-for-overspending)
|
||||
spending. [Read more](https://docs.firefly-iii.org/xfirefly-iii/financial-concepts/organizing/#adjusted-and-correct-for-overspending)
|
||||
- [Issue 6631](https://github.com/firefly-iii/firefly-iii/issues/6631) Can now link withdrawals and deposits to piggy
|
||||
banks, thanks @ChrisWin22!
|
||||
|
||||
@@ -1119,7 +1121,7 @@ https://api-docs.firefly-iii.org/.
|
||||
- ⚠️ This is the last release that supports PHP 8.0
|
||||
- 👍 Want to try the new v3 layout? At your own risk, browse to `/v3/`.
|
||||
|
||||
Please refer to the [documentation](https://docs.firefly-iii.org/firefly-iii/) and support channels if you run into
|
||||
Please refer to the [documentation](https://docs.firefly-iii.org/xfirefly-iii/) and support channels if you run into
|
||||
problems:
|
||||
|
||||
- [Gitter.im](https://gitter.im/firefly-iii/firefly-iii)
|
||||
@@ -1197,6 +1199,6 @@ problems:
|
||||
|
||||
# Full change log
|
||||
|
||||
Can be found here: https://docs.firefly-iii.org/firefly-iii/about-firefly-iii/changelog/
|
||||
Can be found here: https://docs.firefly-iii.org/references/firefly-iii/changelog/
|
||||
|
||||
|
||||
|
||||
104
composer.lock
generated
104
composer.lock
generated
@@ -117,16 +117,16 @@
|
||||
},
|
||||
{
|
||||
"name": "carbonphp/carbon-doctrine-types",
|
||||
"version": "2.0.0",
|
||||
"version": "2.1.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/CarbonPHP/carbon-doctrine-types.git",
|
||||
"reference": "67a77972b9f398ae7068dabacc39c08aeee170d5"
|
||||
"reference": "99f76ffa36cce3b70a4a6abce41dba15ca2e84cb"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/CarbonPHP/carbon-doctrine-types/zipball/67a77972b9f398ae7068dabacc39c08aeee170d5",
|
||||
"reference": "67a77972b9f398ae7068dabacc39c08aeee170d5",
|
||||
"url": "https://api.github.com/repos/CarbonPHP/carbon-doctrine-types/zipball/99f76ffa36cce3b70a4a6abce41dba15ca2e84cb",
|
||||
"reference": "99f76ffa36cce3b70a4a6abce41dba15ca2e84cb",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -166,7 +166,7 @@
|
||||
],
|
||||
"support": {
|
||||
"issues": "https://github.com/CarbonPHP/carbon-doctrine-types/issues",
|
||||
"source": "https://github.com/CarbonPHP/carbon-doctrine-types/tree/2.0.0"
|
||||
"source": "https://github.com/CarbonPHP/carbon-doctrine-types/tree/2.1.0"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
@@ -182,7 +182,7 @@
|
||||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2023-10-01T14:29:01+00:00"
|
||||
"time": "2023-12-11T17:09:12+00:00"
|
||||
},
|
||||
{
|
||||
"name": "dasprid/enum",
|
||||
@@ -2014,16 +2014,16 @@
|
||||
},
|
||||
{
|
||||
"name": "laravel/framework",
|
||||
"version": "v10.35.0",
|
||||
"version": "v10.37.3",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/laravel/framework.git",
|
||||
"reference": "91ec2d92d2f6007e9084fe06438b99c91845da69"
|
||||
"reference": "996375dd61f8c6e4ac262b57ed485655d71fcbdc"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/laravel/framework/zipball/91ec2d92d2f6007e9084fe06438b99c91845da69",
|
||||
"reference": "91ec2d92d2f6007e9084fe06438b99c91845da69",
|
||||
"url": "https://api.github.com/repos/laravel/framework/zipball/996375dd61f8c6e4ac262b57ed485655d71fcbdc",
|
||||
"reference": "996375dd61f8c6e4ac262b57ed485655d71fcbdc",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -2212,7 +2212,7 @@
|
||||
"issues": "https://github.com/laravel/framework/issues",
|
||||
"source": "https://github.com/laravel/framework"
|
||||
},
|
||||
"time": "2023-12-05T14:50:33+00:00"
|
||||
"time": "2023-12-13T20:10:58+00:00"
|
||||
},
|
||||
{
|
||||
"name": "laravel/passport",
|
||||
@@ -2929,16 +2929,16 @@
|
||||
},
|
||||
{
|
||||
"name": "league/csv",
|
||||
"version": "9.12.0",
|
||||
"version": "9.13.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/thephpleague/csv.git",
|
||||
"reference": "c1dc31e23eb3cd0f7b537ee1a669d5f58d5cfe21"
|
||||
"reference": "3690cc71bfe8dc3b6daeef356939fac95348f0a8"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/thephpleague/csv/zipball/c1dc31e23eb3cd0f7b537ee1a669d5f58d5cfe21",
|
||||
"reference": "c1dc31e23eb3cd0f7b537ee1a669d5f58d5cfe21",
|
||||
"url": "https://api.github.com/repos/thephpleague/csv/zipball/3690cc71bfe8dc3b6daeef356939fac95348f0a8",
|
||||
"reference": "3690cc71bfe8dc3b6daeef356939fac95348f0a8",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -2953,11 +2953,11 @@
|
||||
"ext-xdebug": "*",
|
||||
"friendsofphp/php-cs-fixer": "^v3.22.0",
|
||||
"phpbench/phpbench": "^1.2.15",
|
||||
"phpstan/phpstan": "^1.10.46",
|
||||
"phpstan/phpstan": "^1.10.50",
|
||||
"phpstan/phpstan-deprecation-rules": "^1.1.4",
|
||||
"phpstan/phpstan-phpunit": "^1.3.15",
|
||||
"phpstan/phpstan-strict-rules": "^1.5.2",
|
||||
"phpunit/phpunit": "^10.4.2",
|
||||
"phpunit/phpunit": "^10.5.3",
|
||||
"symfony/var-dumper": "^6.4.0"
|
||||
},
|
||||
"suggest": {
|
||||
@@ -3014,7 +3014,7 @@
|
||||
"type": "github"
|
||||
}
|
||||
],
|
||||
"time": "2023-12-01T17:54:07+00:00"
|
||||
"time": "2023-12-16T11:03:20+00:00"
|
||||
},
|
||||
{
|
||||
"name": "league/event",
|
||||
@@ -5879,16 +5879,16 @@
|
||||
},
|
||||
{
|
||||
"name": "spatie/laravel-ignition",
|
||||
"version": "2.3.1",
|
||||
"version": "2.3.2",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/spatie/laravel-ignition.git",
|
||||
"reference": "bf21cd15aa47fa4ec5d73bbc932005c70261efc8"
|
||||
"reference": "4800661a195e15783477d99f7f8f669a49793996"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/spatie/laravel-ignition/zipball/bf21cd15aa47fa4ec5d73bbc932005c70261efc8",
|
||||
"reference": "bf21cd15aa47fa4ec5d73bbc932005c70261efc8",
|
||||
"url": "https://api.github.com/repos/spatie/laravel-ignition/zipball/4800661a195e15783477d99f7f8f669a49793996",
|
||||
"reference": "4800661a195e15783477d99f7f8f669a49793996",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -5967,7 +5967,7 @@
|
||||
"type": "github"
|
||||
}
|
||||
],
|
||||
"time": "2023-10-09T12:55:26+00:00"
|
||||
"time": "2023-12-15T13:44:49+00:00"
|
||||
},
|
||||
{
|
||||
"name": "spatie/period",
|
||||
@@ -9739,16 +9739,16 @@
|
||||
},
|
||||
{
|
||||
"name": "nikic/php-parser",
|
||||
"version": "v4.17.1",
|
||||
"version": "v4.18.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/nikic/PHP-Parser.git",
|
||||
"reference": "a6303e50c90c355c7eeee2c4a8b27fe8dc8fef1d"
|
||||
"reference": "1bcbb2179f97633e98bbbc87044ee2611c7d7999"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/a6303e50c90c355c7eeee2c4a8b27fe8dc8fef1d",
|
||||
"reference": "a6303e50c90c355c7eeee2c4a8b27fe8dc8fef1d",
|
||||
"url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/1bcbb2179f97633e98bbbc87044ee2611c7d7999",
|
||||
"reference": "1bcbb2179f97633e98bbbc87044ee2611c7d7999",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -9789,9 +9789,9 @@
|
||||
],
|
||||
"support": {
|
||||
"issues": "https://github.com/nikic/PHP-Parser/issues",
|
||||
"source": "https://github.com/nikic/PHP-Parser/tree/v4.17.1"
|
||||
"source": "https://github.com/nikic/PHP-Parser/tree/v4.18.0"
|
||||
},
|
||||
"time": "2023-08-13T19:53:39+00:00"
|
||||
"time": "2023-12-10T21:03:43+00:00"
|
||||
},
|
||||
{
|
||||
"name": "phar-io/manifest",
|
||||
@@ -10148,16 +10148,16 @@
|
||||
},
|
||||
{
|
||||
"name": "phpstan/phpdoc-parser",
|
||||
"version": "1.24.4",
|
||||
"version": "1.24.5",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/phpstan/phpdoc-parser.git",
|
||||
"reference": "6bd0c26f3786cd9b7c359675cb789e35a8e07496"
|
||||
"reference": "fedf211ff14ec8381c9bf5714e33a7a552dd1acc"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/phpstan/phpdoc-parser/zipball/6bd0c26f3786cd9b7c359675cb789e35a8e07496",
|
||||
"reference": "6bd0c26f3786cd9b7c359675cb789e35a8e07496",
|
||||
"url": "https://api.github.com/repos/phpstan/phpdoc-parser/zipball/fedf211ff14ec8381c9bf5714e33a7a552dd1acc",
|
||||
"reference": "fedf211ff14ec8381c9bf5714e33a7a552dd1acc",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -10189,22 +10189,22 @@
|
||||
"description": "PHPDoc parser with support for nullable, intersection and generic types",
|
||||
"support": {
|
||||
"issues": "https://github.com/phpstan/phpdoc-parser/issues",
|
||||
"source": "https://github.com/phpstan/phpdoc-parser/tree/1.24.4"
|
||||
"source": "https://github.com/phpstan/phpdoc-parser/tree/1.24.5"
|
||||
},
|
||||
"time": "2023-11-26T18:29:22+00:00"
|
||||
"time": "2023-12-16T09:33:33+00:00"
|
||||
},
|
||||
{
|
||||
"name": "phpstan/phpstan",
|
||||
"version": "1.10.48",
|
||||
"version": "1.10.50",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/phpstan/phpstan.git",
|
||||
"reference": "087ed4b5f4a7a6e8f3bbdfbfe98ce5c181380bc6"
|
||||
"reference": "06a98513ac72c03e8366b5a0cb00750b487032e4"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/phpstan/phpstan/zipball/087ed4b5f4a7a6e8f3bbdfbfe98ce5c181380bc6",
|
||||
"reference": "087ed4b5f4a7a6e8f3bbdfbfe98ce5c181380bc6",
|
||||
"url": "https://api.github.com/repos/phpstan/phpstan/zipball/06a98513ac72c03e8366b5a0cb00750b487032e4",
|
||||
"reference": "06a98513ac72c03e8366b5a0cb00750b487032e4",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -10253,7 +10253,7 @@
|
||||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2023-12-08T14:34:28+00:00"
|
||||
"time": "2023-12-13T10:59:42+00:00"
|
||||
},
|
||||
{
|
||||
"name": "phpstan/phpstan-deprecation-rules",
|
||||
@@ -10354,16 +10354,16 @@
|
||||
},
|
||||
{
|
||||
"name": "phpunit/php-code-coverage",
|
||||
"version": "10.1.9",
|
||||
"version": "10.1.10",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/sebastianbergmann/php-code-coverage.git",
|
||||
"reference": "a56a9ab2f680246adcf3db43f38ddf1765774735"
|
||||
"reference": "599109c8ca6bae97b23482d557d2874c25a65e59"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/a56a9ab2f680246adcf3db43f38ddf1765774735",
|
||||
"reference": "a56a9ab2f680246adcf3db43f38ddf1765774735",
|
||||
"url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/599109c8ca6bae97b23482d557d2874c25a65e59",
|
||||
"reference": "599109c8ca6bae97b23482d557d2874c25a65e59",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -10420,7 +10420,7 @@
|
||||
"support": {
|
||||
"issues": "https://github.com/sebastianbergmann/php-code-coverage/issues",
|
||||
"security": "https://github.com/sebastianbergmann/php-code-coverage/security/policy",
|
||||
"source": "https://github.com/sebastianbergmann/php-code-coverage/tree/10.1.9"
|
||||
"source": "https://github.com/sebastianbergmann/php-code-coverage/tree/10.1.10"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
@@ -10428,7 +10428,7 @@
|
||||
"type": "github"
|
||||
}
|
||||
],
|
||||
"time": "2023-11-23T12:23:20+00:00"
|
||||
"time": "2023-12-11T06:28:43+00:00"
|
||||
},
|
||||
{
|
||||
"name": "phpunit/php-file-iterator",
|
||||
@@ -10675,16 +10675,16 @@
|
||||
},
|
||||
{
|
||||
"name": "phpunit/phpunit",
|
||||
"version": "10.5.2",
|
||||
"version": "10.5.3",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/sebastianbergmann/phpunit.git",
|
||||
"reference": "5aedff46afba98dddecaa12349ec044d9103d4fe"
|
||||
"reference": "6fce887c71076a73f32fd3e0774a6833fc5c7f19"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/5aedff46afba98dddecaa12349ec044d9103d4fe",
|
||||
"reference": "5aedff46afba98dddecaa12349ec044d9103d4fe",
|
||||
"url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/6fce887c71076a73f32fd3e0774a6833fc5c7f19",
|
||||
"reference": "6fce887c71076a73f32fd3e0774a6833fc5c7f19",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -10756,7 +10756,7 @@
|
||||
"support": {
|
||||
"issues": "https://github.com/sebastianbergmann/phpunit/issues",
|
||||
"security": "https://github.com/sebastianbergmann/phpunit/security/policy",
|
||||
"source": "https://github.com/sebastianbergmann/phpunit/tree/10.5.2"
|
||||
"source": "https://github.com/sebastianbergmann/phpunit/tree/10.5.3"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
@@ -10772,7 +10772,7 @@
|
||||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2023-12-05T14:54:33+00:00"
|
||||
"time": "2023-12-13T07:25:23+00:00"
|
||||
},
|
||||
{
|
||||
"name": "sebastian/cli-parser",
|
||||
|
||||
@@ -114,7 +114,7 @@ return [
|
||||
'handle_debts' => true,
|
||||
// see cer.php for exchange rates feature flag.
|
||||
],
|
||||
'version' => '6.1.0-alpha.1',
|
||||
'version' => '6.1.0',
|
||||
'api_version' => '2.0.12',
|
||||
'db_version' => 22,
|
||||
|
||||
|
||||
@@ -48,7 +48,7 @@ echo '<!DOCTYPE HTML>
|
||||
Leaving your web server configured like this is a <span style="color:red;">huge</span> security risk.
|
||||
</p>
|
||||
<p>
|
||||
Please <a href="https://docs.firefly-iii.org/firefly-iii/faq/self_hosted/#i-have-to-visit-firefly-iii-through-public-and-it-gives-me-a-warning">read more on the Github help pages</a>.
|
||||
Please <a href="https://docs.firefly-iii.org/references/faq/install/#i-have-to-visit-firefly-iii-through-public-and-it-gives-me-a-warning">read more on the Github help pages</a>.
|
||||
</p>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
12
package-lock.json
generated
12
package-lock.json
generated
@@ -26,9 +26,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@babel/runtime": {
|
||||
"version": "7.23.5",
|
||||
"resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.23.5.tgz",
|
||||
"integrity": "sha512-NdUTHcPe4C99WxPub+K9l9tK5/lV4UXIoaHSYgzco9BCyjKAAwzdBI+wWtYqHt7LJdbo74ZjRPJgzVweq1sz0w==",
|
||||
"version": "7.23.6",
|
||||
"resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.23.6.tgz",
|
||||
"integrity": "sha512-zHd0eUrf5GZoOWVCXp6koAKQTfZV07eit6bGPmJgnZdnSAvvZee6zniW2XMF7Cmc4ISOOnPy3QaSiIJGJkVEDQ==",
|
||||
"dependencies": {
|
||||
"regenerator-runtime": "^0.14.0"
|
||||
},
|
||||
@@ -911,9 +911,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/regenerator-runtime": {
|
||||
"version": "0.14.0",
|
||||
"resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.0.tgz",
|
||||
"integrity": "sha512-srw17NI0TUWHuGa5CFGGmhfNIeja30WMBfbslPNhf6JrqQlLN5gcrvig1oqPxiVaXb0oW0XRKtH6Nngs5lKCIA=="
|
||||
"version": "0.14.1",
|
||||
"resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz",
|
||||
"integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw=="
|
||||
},
|
||||
"node_modules/rollup": {
|
||||
"version": "3.29.4",
|
||||
|
||||
@@ -14,7 +14,7 @@ Hash: SHA256
|
||||
Contact: mailto:james@firefly-iii.org
|
||||
Expires: 2024-12-31T23:00:00.000Z
|
||||
Preferred-Languages: en, nl
|
||||
Policy: https://docs.firefly-iii.org/firefly-iii/support/
|
||||
Policy: https://docs.firefly-iii.org/explanation/support/
|
||||
|
||||
#
|
||||
# Thank you for your time!
|
||||
@@ -24,18 +24,18 @@ Policy: https://docs.firefly-iii.org/firefly-iii/support/
|
||||
#
|
||||
-----BEGIN PGP SIGNATURE-----
|
||||
|
||||
iQJKBAABCAA0FiEEAvQEbEsjbgYJVxYStJoyS36tbYAFAmUGj9gWHGphbWVzQGZp
|
||||
cmVmbHktaWlpLm9yZwAKCRC0mjJLfq1tgA0WD/9cHNSphMqPx05Tkak5kNKsmyYW
|
||||
YXZ4kcw5haLwcxk4ipudCzYLWejcXI7z/WVdYQrZVMw6Kaz6Z/ZgJQk6mQXTeb3L
|
||||
WcmxmiKGQk5twnmIy7vpoBgt2QH70lhP/x+FH0w1j22RM5b66gj/BZBYowtmUI1L
|
||||
HIwsTvtjBGZA8aJSPmtRGULJ45/GDZYi/Hjx49hPPLjIE8VP53Wa7L284i4R+gG9
|
||||
IEle9kqb2OUUp0+CmIXSKAvtFpDHt9Yc0AE6PU0WpSg3LI6NqyUiM2CdKvyKvtIV
|
||||
Y15LoJTkTuORzudP1HCImfcQUdJgrMe1DGz2siHqxTJVDUwzEVc6mOkGnefhIpFy
|
||||
jN0ik6pCSkLNsSYImQZq9H6d9yiPPYSR3JFjTDtEVnANjlT08ywPdsyWgvNaHHh1
|
||||
eMRy9+X24g9cQ7MqU77Y8p2/v3IudWbEsi+M1FUm4W0TE/MsNv9xydRvB6M41eVc
|
||||
raYnk8cVmEzpjsyxi9lAqpk4+qYD04JecYCPxkX6XxkFxzswS20LR4VVOamfKgv1
|
||||
yIzg1sCMArHeq0OC1k6lskB8DTXvw5+838iw4h8I0T6MAqXj4RKv8C45w7+uSlG9
|
||||
oXhpUweiiRzyZPWbWXU7jC9BvDyqfuxq9jn4LFDzAOV0raLz6QThiUcR3f7h2Rvo
|
||||
KiDjx3KprWU+swTosw==
|
||||
=1jlJ
|
||||
iQJKBAABCAA0FiEEAvQEbEsjbgYJVxYStJoyS36tbYAFAmV37E8WHGphbWVzQGZp
|
||||
cmVmbHktaWlpLm9yZwAKCRC0mjJLfq1tgFtzD/4lrhVkCi4mRAroSMbz7ZHbLwLi
|
||||
RAgiaFmnDI48LqkX/jJJTWSy8czl9gkKO9uVJzXwmjVzFg5vJTkRfjvNlTyOpL/l
|
||||
gB+REFYGadp8ulMCZcBlFgLbyAWtvHKV3UW//G8fzrASAEe+2eiuPQooLmwaKows
|
||||
X+ty2zZEH282uAiR36otlGR2UpUcYAy0XcAuE7hIxfHA8bsh5uqzAkm74OsynC8E
|
||||
6vBEi1QzarE+cfoZqBtriWELyownM9Z5a/cIzm47RfBkFUKXaQBL3pYN1kX2TAi5
|
||||
1//0WLrDiotkIwPmdYiYFmVmaJDjcapcAkDoD/wAv8BxxjPZ900RCTF4jzMTxIu0
|
||||
t6umbm3SaA/vaINv8ilmMMj6ep49GE8EssHvRBUaGnv7JjHe+XCZrOsk3a5+Z4zQ
|
||||
Sd9nuryLCX/G3Bz63rU/V1evuCT7ouNEWKUlwtYCqU+6BfumTdbJCPEH/4szxoi2
|
||||
cPvIw5Y5sA9ue5Wm4RIX7G0DyIRJJf3CB0PJWuujzF548hn60MPBLDw7xSraTQNX
|
||||
v1GRwTHIOo6e1U47naz9U3Dv3pK2J5aibL4K6pjyZG1bTqfE/0uY0hEXVFuNqAxT
|
||||
B6LSAcrP4j+bU4oZlWRx99yHv1ComWZzi/JvRKp9Y0aTcWbAeT+oz3PFw8K5lff/
|
||||
eweJG/H9BuHgDXdYQg==
|
||||
=Z9Gk
|
||||
-----END PGP SIGNATURE-----
|
||||
|
||||
@@ -1,17 +1,17 @@
|
||||
-----BEGIN PGP SIGNATURE-----
|
||||
|
||||
iQJKBAABCAA0FiEEAvQEbEsjbgYJVxYStJoyS36tbYAFAmUGj9gWHGphbWVzQGZp
|
||||
cmVmbHktaWlpLm9yZwAKCRC0mjJLfq1tgA0WD/9cHNSphMqPx05Tkak5kNKsmyYW
|
||||
YXZ4kcw5haLwcxk4ipudCzYLWejcXI7z/WVdYQrZVMw6Kaz6Z/ZgJQk6mQXTeb3L
|
||||
WcmxmiKGQk5twnmIy7vpoBgt2QH70lhP/x+FH0w1j22RM5b66gj/BZBYowtmUI1L
|
||||
HIwsTvtjBGZA8aJSPmtRGULJ45/GDZYi/Hjx49hPPLjIE8VP53Wa7L284i4R+gG9
|
||||
IEle9kqb2OUUp0+CmIXSKAvtFpDHt9Yc0AE6PU0WpSg3LI6NqyUiM2CdKvyKvtIV
|
||||
Y15LoJTkTuORzudP1HCImfcQUdJgrMe1DGz2siHqxTJVDUwzEVc6mOkGnefhIpFy
|
||||
jN0ik6pCSkLNsSYImQZq9H6d9yiPPYSR3JFjTDtEVnANjlT08ywPdsyWgvNaHHh1
|
||||
eMRy9+X24g9cQ7MqU77Y8p2/v3IudWbEsi+M1FUm4W0TE/MsNv9xydRvB6M41eVc
|
||||
raYnk8cVmEzpjsyxi9lAqpk4+qYD04JecYCPxkX6XxkFxzswS20LR4VVOamfKgv1
|
||||
yIzg1sCMArHeq0OC1k6lskB8DTXvw5+838iw4h8I0T6MAqXj4RKv8C45w7+uSlG9
|
||||
oXhpUweiiRzyZPWbWXU7jC9BvDyqfuxq9jn4LFDzAOV0raLz6QThiUcR3f7h2Rvo
|
||||
KiDjx3KprWU+swTosw==
|
||||
=1jlJ
|
||||
iQJKBAABCAA0FiEEAvQEbEsjbgYJVxYStJoyS36tbYAFAmV37E8WHGphbWVzQGZp
|
||||
cmVmbHktaWlpLm9yZwAKCRC0mjJLfq1tgFtzD/4lrhVkCi4mRAroSMbz7ZHbLwLi
|
||||
RAgiaFmnDI48LqkX/jJJTWSy8czl9gkKO9uVJzXwmjVzFg5vJTkRfjvNlTyOpL/l
|
||||
gB+REFYGadp8ulMCZcBlFgLbyAWtvHKV3UW//G8fzrASAEe+2eiuPQooLmwaKows
|
||||
X+ty2zZEH282uAiR36otlGR2UpUcYAy0XcAuE7hIxfHA8bsh5uqzAkm74OsynC8E
|
||||
6vBEi1QzarE+cfoZqBtriWELyownM9Z5a/cIzm47RfBkFUKXaQBL3pYN1kX2TAi5
|
||||
1//0WLrDiotkIwPmdYiYFmVmaJDjcapcAkDoD/wAv8BxxjPZ900RCTF4jzMTxIu0
|
||||
t6umbm3SaA/vaINv8ilmMMj6ep49GE8EssHvRBUaGnv7JjHe+XCZrOsk3a5+Z4zQ
|
||||
Sd9nuryLCX/G3Bz63rU/V1evuCT7ouNEWKUlwtYCqU+6BfumTdbJCPEH/4szxoi2
|
||||
cPvIw5Y5sA9ue5Wm4RIX7G0DyIRJJf3CB0PJWuujzF548hn60MPBLDw7xSraTQNX
|
||||
v1GRwTHIOo6e1U47naz9U3Dv3pK2J5aibL4K6pjyZG1bTqfE/0uY0hEXVFuNqAxT
|
||||
B6LSAcrP4j+bU4oZlWRx99yHv1ComWZzi/JvRKp9Y0aTcWbAeT+oz3PFw8K5lff/
|
||||
eweJG/H9BuHgDXdYQg==
|
||||
=Z9Gk
|
||||
-----END PGP SIGNATURE-----
|
||||
|
||||
File diff suppressed because one or more lines are too long
@@ -34,13 +34,13 @@
|
||||
"integrity": "sha384-YxWlWCDksuL6Ljn1HkJNPH8l+jSRIWPpMpPw3pFa0QnmLXjwV/uPwpDm/b9vn/o1"
|
||||
},
|
||||
"resources/assets/v2/pages/dashboard/dashboard.js": {
|
||||
"file": "assets/dashboard-bfc72cdb.js",
|
||||
"file": "assets/dashboard-8ab291b1.js",
|
||||
"imports": [
|
||||
"_load-translations-85b093de.js"
|
||||
],
|
||||
"isEntry": true,
|
||||
"src": "resources/assets/v2/pages/dashboard/dashboard.js",
|
||||
"integrity": "sha384-kE37MWn3DWfTheoMqJM1SS56PGlwlaaoJEIf66eW+ROFo88rAWyrwX52Jy0Q/0yU"
|
||||
"integrity": "sha384-a7EK1Hlv+X5I367qMl06ETSq3vMG4MAIcUFpnK+6FJJSHPeAoKEkqod4CsBkcAwO"
|
||||
},
|
||||
"resources/assets/v2/pages/transactions/create.js": {
|
||||
"file": "assets/create-46a6e026.js",
|
||||
|
||||
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
@@ -24,9 +24,9 @@
|
||||
"expense_account": "Crediteur",
|
||||
"revenue_account": "Debiteur",
|
||||
"budget": "Budget",
|
||||
"account_type_Asset account": "Asset account",
|
||||
"account_type_Expense account": "Expense account",
|
||||
"account_type_Revenue account": "Revenue account",
|
||||
"account_type_Asset account": "Betaalrekening",
|
||||
"account_type_Expense account": "Crediteur",
|
||||
"account_type_Revenue account": "Debiteur",
|
||||
"account_type_Debt": "Schuld",
|
||||
"account_type_Loan": "Lening",
|
||||
"account_type_Mortgage": "Hypotheek"
|
||||
|
||||
24
readme.md
24
readme.md
@@ -90,20 +90,20 @@ Firefly III is pretty feature packed. Some important stuff first:
|
||||
|
||||
The most exciting features are:
|
||||
|
||||
* Create [recurring transactions to manage your money](https://docs.firefly-iii.org/firefly-iii/financial-concepts/recurring/).
|
||||
* [Rule based transaction handling](https://docs.firefly-iii.org/firefly-iii/features/rules/) with the ability to create your own rules.
|
||||
* Create [recurring transactions to manage your money](https://docs.firefly-iii.org/explanation/financial-concepts/recurring/).
|
||||
* [Rule based transaction handling](https://docs.firefly-iii.org/how-to/firefly-iii/features/rules/) with the ability to create your own rules.
|
||||
|
||||
Then the things that make you go "yeah OK, makes sense".
|
||||
|
||||
* A [double-entry](https://en.wikipedia.org/wiki/Double-entry_bookkeeping_system) bookkeeping system.
|
||||
* Save towards a goal using [piggy banks](https://docs.firefly-iii.org/firefly-iii/financial-concepts/piggies/).
|
||||
* View [income and expense reports](https://docs.firefly-iii.org/firefly-iii/features/reports/).
|
||||
* Save towards a goal using [piggy banks](https://docs.firefly-iii.org/explanation/financial-concepts/piggies/).
|
||||
* View [income and expense reports](https://docs.firefly-iii.org/how-to/firefly-iii/finances/reports/).
|
||||
|
||||
And the things you would hope for but not expect:
|
||||
|
||||
* 2 factor authentication for extra security 🔒.
|
||||
* Supports [any currency you want](https://docs.firefly-iii.org/firefly-iii/financial-concepts/currencies/).
|
||||
* There is a [Docker image](https://docs.firefly-iii.org/firefly-iii/installation/docker/).
|
||||
* Supports [any currency you want](https://docs.firefly-iii.org/how-to/firefly-iii/features/currencies/).
|
||||
* There is a [Docker image](https://docs.firefly-iii.org/how-to/firefly-iii/installation/docker/).
|
||||
|
||||
And to organise everything:
|
||||
|
||||
@@ -111,7 +111,7 @@ And to organise everything:
|
||||
* Easy navigation through your records.
|
||||
* Lots of charts because we all love them.
|
||||
|
||||
Many more features are listed in the [documentation](https://docs.firefly-iii.org/firefly-iii/about-firefly-iii/introduction/).
|
||||
Many more features are listed in the [documentation](https://docs.firefly-iii.org/explanation/firefly-iii/about/introduction/).
|
||||
|
||||
## Who's it for?
|
||||
<img src="https://raw.githubusercontent.com/firefly-iii/firefly-iii/develop/.github/assets/img/iphone-complete.png" alt="Firefly III on iPhone" align="left" width="250">
|
||||
@@ -122,14 +122,14 @@ Many more features are listed in the [documentation](https://docs.firefly-iii.or
|
||||
|
||||
## The Firefly III eco-system
|
||||
|
||||
Several users have built pretty awesome stuff around the Firefly III API. [Check out these tools in the documentation](https://docs.firefly-iii.org/firefly-iii/more-information/3rdparty/).
|
||||
Several users have built pretty awesome stuff around the Firefly III API. [Check out these tools in the documentation](https://docs.firefly-iii.org/references/firefly-iii/third-parties/apps/).
|
||||
|
||||
## Getting Started
|
||||
|
||||
There are many ways to run Firefly III
|
||||
1. There is a [demo site](https://demo.firefly-iii.org) with an example financial administration already present.
|
||||
2. You can [install it on your server](https://docs.firefly-iii.org/firefly-iii/installation/self-hosted/).
|
||||
3. You can [run it using Docker](https://docs.firefly-iii.org/firefly-iii/installation/docker/).
|
||||
2. You can [install it on your server](https://docs.firefly-iii.org/how-to/firefly-iii/installation/self-managed/).
|
||||
3. You can [run it using Docker](https://docs.firefly-iii.org/how-to/firefly-iii/installation/docker/).
|
||||
4. You can [deploy via Kubernetes](https://firefly-iii.github.io/kubernetes/).
|
||||
5. You can [install it using Softaculous](https://www.softaculous.com/softaculous/apps/others/Firefly_III).
|
||||
6. You can [install it using AMPPS](https://www.ampps.com/).
|
||||
@@ -141,9 +141,9 @@ There are many ways to run Firefly III
|
||||
|
||||
You can contact me at [james@firefly-iii.org](mailto:james@firefly-iii.org), you may open an issue in the [main repository](https://github.com/firefly-iii/firefly-iii) or contact me through [gitter](https://gitter.im/firefly-iii/firefly-iii) and [Mastodon](https://fosstodon.org/@ff3).
|
||||
|
||||
Of course, there are some [contributing guidelines](https://docs.firefly-iii.org/firefly-iii/support/#contributing-code) and a [code of conduct](https://github.com/firefly-iii/firefly-iii/blob/main/.github/code_of_conduct.md), which I invite you to check out.
|
||||
Of course, there are some [contributing guidelines](https://docs.firefly-iii.org/references/support/#contributing-code) and a [code of conduct](https://github.com/firefly-iii/firefly-iii/blob/main/.github/code_of_conduct.md), which I invite you to check out.
|
||||
|
||||
I can always use your help [squashing bugs](https://docs.firefly-iii.org/data-importer/support/issues/), thinking about [new features](https://docs.firefly-iii.org/data-importer/support/issues/) or [translating Firefly III](https://docs.firefly-iii.org/firefly-iii/faq/translate/) into other languages.
|
||||
I can always use your help [squashing bugs](https://docs.firefly-iii.org/references/support/), thinking about [new features](https://docs.firefly-iii.org/references/support/) or [translating Firefly III](https://docs.firefly-iii.org/how-to/firefly-iii/development/translations/) into other languages.
|
||||
|
||||
[Sonarcloud][sc-project-url] scans the code of Firefly III. If you want to help improve Firefly III, check out the latest reports and take your pick!
|
||||
|
||||
|
||||
@@ -30,7 +30,7 @@
|
||||
"submit": "Invoeren",
|
||||
"amount": "Bedrag",
|
||||
"date": "Datum",
|
||||
"is_reconciled_fields_dropped": "Because this transaction is reconciled, you will not be able to update the accounts, nor the amount(s).",
|
||||
"is_reconciled_fields_dropped": "Omdat deze transactie al is afgestemd, kan je het bedrag noch de rekeningen wijzigen.",
|
||||
"tags": "Tags",
|
||||
"no_budget": "(geen budget)",
|
||||
"no_bill": "(geen contract)",
|
||||
|
||||
@@ -43,7 +43,7 @@ return [
|
||||
'split' => 'Splitsen',
|
||||
'single_split' => 'Split',
|
||||
'clone' => 'Dupliceren',
|
||||
'clone_and_edit' => 'Clone and edit',
|
||||
'clone_and_edit' => 'Dupliceren en wijzigen',
|
||||
'confirm_action' => 'Actie bevestigen',
|
||||
'last_seven_days' => 'Laatste zeven dagen',
|
||||
'last_thirty_days' => 'Laatste dertig dagen',
|
||||
@@ -469,10 +469,10 @@ return [
|
||||
'search_modifier_transaction_type' => 'Transactietype is ":value"',
|
||||
'search_modifier_not_transaction_type' => 'Transactietype is niet ":value"',
|
||||
'search_modifier_tag_is' => 'Tag is ":value"',
|
||||
'search_modifier_tag_contains' => 'Tag contains ":value"',
|
||||
'search_modifier_not_tag_contains' => 'Tag does not contain ":value"',
|
||||
'search_modifier_tag_ends' => 'Tag ends with ":value"',
|
||||
'search_modifier_tag_starts' => 'Tag starts with ":value"',
|
||||
'search_modifier_tag_contains' => 'Tag bevat ":value"',
|
||||
'search_modifier_not_tag_contains' => 'Tag bevat niet ":value"',
|
||||
'search_modifier_tag_ends' => 'Tag eindigt op ":value"',
|
||||
'search_modifier_tag_starts' => 'Tag begint met ":value"',
|
||||
'search_modifier_not_tag_is' => 'Geen tag is ":value"',
|
||||
'search_modifier_date_on_year' => 'Transactie is in jaar ":value"',
|
||||
'search_modifier_not_date_on_year' => 'Transactie is niet in jaar ":value"',
|
||||
@@ -1282,8 +1282,8 @@ return [
|
||||
'rule_action_append_notes_to_descr' => 'Voeg notitie toe aan beschrijving',
|
||||
'rule_action_move_descr_to_notes' => 'Notitie vervangen door beschrijving',
|
||||
'rule_action_move_notes_to_descr' => 'Beschrijving vervangen door notitie',
|
||||
'rule_action_set_destination_to_cash_choice' => 'Set destination account to (cash)',
|
||||
'rule_action_set_source_to_cash_choice' => 'Set source account to (cash)',
|
||||
'rule_action_set_destination_to_cash_choice' => 'Verander doelrekening naar (cash)-rekening',
|
||||
'rule_action_set_source_to_cash_choice' => 'Verander bronrekening naar (cash)-rekening',
|
||||
'rulegroup_for_bills_title' => 'Regelgroep voor contracten',
|
||||
'rulegroup_for_bills_description' => 'Een speciale regelgroep voor alle regels die betrekking hebben op contracten.',
|
||||
'rule_for_bill_title' => 'Automatisch gegenereerde regel voor contract ":name"',
|
||||
@@ -1572,7 +1572,7 @@ return [
|
||||
'list_all_attachments' => 'Lijst van alle bijlagen',
|
||||
|
||||
// transaction index
|
||||
'is_reconciled_fields_dropped' => 'Because this transaction is reconciled, you will not be able to update the accounts, nor the amount(s).',
|
||||
'is_reconciled_fields_dropped' => 'Omdat deze transactie al is afgestemd, kan je het bedrag noch de rekeningen wijzigen.',
|
||||
'title_expenses' => 'Uitgaven',
|
||||
'title_withdrawal' => 'Uitgaven',
|
||||
'title_revenue' => 'Inkomsten',
|
||||
@@ -1640,8 +1640,8 @@ return [
|
||||
'create_currency' => 'Voeg nieuwe valuta toe',
|
||||
'store_currency' => 'Sla nieuwe valuta op',
|
||||
'update_currency' => 'Wijzig valuta',
|
||||
'new_default_currency' => '":name" is now the default currency.',
|
||||
'default_currency_failed' => 'Could not make ":name" the default currency. Please check the logs.',
|
||||
'new_default_currency' => '":name" is nu de standaardvaluta.',
|
||||
'default_currency_failed' => 'Kan ":name" niet de standaardvaluta maken. Check de logs.',
|
||||
'cannot_delete_currency' => 'Kan ":name" niet verwijderen, want deze is in gebruik.',
|
||||
'cannot_delete_fallback_currency' => ':naam is de systeemvaluta en kan niet verwijderd worden.',
|
||||
'cannot_disable_currency_journals' => 'Je kan :name niet uitschakelen, er zijn nog transacties die deze valuta gebruiken.',
|
||||
@@ -1667,9 +1667,9 @@ return [
|
||||
'disable_currency' => 'Uitschakelen',
|
||||
'currencies_default_disabled' => 'De meeste van deze valuta zijn standaard uitgeschakeld. Om ze te gebruiken, moet je ze eerst inschakelen.',
|
||||
'currency_is_now_enabled' => 'Valuta ":name" is ingeschakeld',
|
||||
'could_not_enable_currency' => 'Could not enable currency ":name". Please review the logs.',
|
||||
'could_not_enable_currency' => 'Kon valuta ":name" niet inschakelen. Check de logs',
|
||||
'currency_is_now_disabled' => 'Valuta ":name" is uitgeschakeld',
|
||||
'could_not_disable_currency' => 'Could not disable currency ":name". Perhaps it is still in use?',
|
||||
'could_not_disable_currency' => 'Kon valuta ":name" niet uitschakelen. Misschien is deze nog steeds in gebruik?',
|
||||
|
||||
// forms:
|
||||
'mandatoryFields' => 'Verplichte velden',
|
||||
@@ -1955,7 +1955,7 @@ return [
|
||||
|
||||
|
||||
// transactions:
|
||||
'unreconcile' => 'Undo reconciliation',
|
||||
'unreconcile' => 'Ongedaan maken van afstemming',
|
||||
'update_withdrawal' => 'Wijzig uitgave',
|
||||
'update_deposit' => 'Wijzig inkomsten',
|
||||
'update_transaction' => 'Update transactie',
|
||||
@@ -2120,9 +2120,9 @@ return [
|
||||
'Expense account' => 'Crediteur',
|
||||
'Revenue account' => 'Debiteur',
|
||||
'Initial balance account' => 'Startbalansrekening',
|
||||
'account_type_Asset account' => 'Asset account',
|
||||
'account_type_Expense account' => 'Expense account',
|
||||
'account_type_Revenue account' => 'Revenue account',
|
||||
'account_type_Asset account' => 'Betaalrekening',
|
||||
'account_type_Expense account' => 'Crediteur',
|
||||
'account_type_Revenue account' => 'Debiteur',
|
||||
'account_type_Debt' => 'Schuld',
|
||||
'account_type_Loan' => 'Lening',
|
||||
'account_type_Mortgage' => 'Hypotheek',
|
||||
|
||||
@@ -56,8 +56,8 @@ return [
|
||||
'cannot_find_subscription' => 'Firefly III kan geen abonnement met naam ":name" vinden',
|
||||
'no_notes_to_move' => 'De transactie heeft geen notities om te verplaatsen naar het omschrijvingsveld',
|
||||
'no_tags_to_remove' => 'De transactie heeft geen tags om te verwijderen',
|
||||
'not_withdrawal' => 'The transaction is not a withdrawal',
|
||||
'not_deposit' => 'The transaction is not a deposit',
|
||||
'not_withdrawal' => 'Deze transactie is niet een uitgave',
|
||||
'not_deposit' => 'Deze transactie is geen inkomsten',
|
||||
'cannot_find_tag' => 'Firefly III kan tag ":tag" niet vinden',
|
||||
'cannot_find_asset' => 'Firefly III kan geen betaalrekening met naam ":name" vinden',
|
||||
'cannot_find_accounts' => 'Firefly III kan de bron- of doelrekening niet vinden',
|
||||
|
||||
@@ -44,12 +44,12 @@ return [
|
||||
'invalid_query_currency' => 'Je query bevat account met verschillende valuta-instellingen, wat niet is toegestaan.',
|
||||
'iban' => 'Dit is niet een geldige IBAN.',
|
||||
'zero_or_more' => 'De waarde mag niet negatief zijn.',
|
||||
'no_asset_account' => 'This is not an asset account.',
|
||||
'no_asset_account' => 'Dit is geen betaalrekening.',
|
||||
'date_or_time' => 'De waarde moet een geldige datum of tijdwaarde zijn (ISO 8601).',
|
||||
'source_equals_destination' => 'De bronrekening is gelijk aan de doelrekening.',
|
||||
'unique_account_number_for_user' => 'Het lijkt erop dat dit rekeningnummer al in gebruik is.',
|
||||
'unique_iban_for_user' => 'Het lijkt erop dat deze IBAN al in gebruik is.',
|
||||
'reconciled_forbidden_field' => 'This transaction is already reconciled, you cannot change the ":field"',
|
||||
'reconciled_forbidden_field' => 'Deze transactie is al afgestemd, dus je kan ":field" niet wijzigen',
|
||||
'deleted_user' => 'Je kan je niet registreren met dit e-mailadres.',
|
||||
'rule_trigger_value' => 'Deze waarde is niet geldig voor de geselecteerde trigger.',
|
||||
'rule_action_value' => 'Deze waarde is niet geldig voor de geselecteerde actie.',
|
||||
@@ -61,8 +61,8 @@ return [
|
||||
'transaction_types_equal' => 'Alle splits moeten van hetzelfde type zijn.',
|
||||
'invalid_transaction_type' => 'Ongeldig transactietype.',
|
||||
'invalid_selection' => 'Ongeldige selectie.',
|
||||
'belongs_user' => 'This value is linked to an object that does not seem to exist.',
|
||||
'belongs_user_or_user_group' => 'This value is linked to an object that does not seem to exist in your current financial administration.',
|
||||
'belongs_user' => 'Deze waarde hoort bij een object dat niet lijkt te bestaan.',
|
||||
'belongs_user_or_user_group' => 'Deze waarde hoort bij een object dat niet bij deze financiële administratie hoort.',
|
||||
'at_least_one_transaction' => 'Er is op zijn minst één transactie nodig.',
|
||||
'recurring_transaction_id' => 'Er is op zijn minst één transactie nodig.',
|
||||
'need_id_to_match' => 'Je moet dit item met een ID versturen, zodat de API het kan matchen.',
|
||||
|
||||
@@ -43,7 +43,7 @@
|
||||
class="fa fa-fw fa-trash"></span></a>
|
||||
{% endif %}
|
||||
{# Disable the currency. #}
|
||||
{% if currency.userEnabled %}
|
||||
{% if currency.userGroupEnabled %}
|
||||
<a class="btn btn-default disable-currency" data-code="{{ currency.code }}"
|
||||
href="#">
|
||||
<span class="fa fa-fw fa-square-o"></span>
|
||||
@@ -51,7 +51,7 @@
|
||||
{% endif %}
|
||||
|
||||
{# Enable the currency. #}
|
||||
{% if not currency.userEnabled %}
|
||||
{% if not currency.userGroupEnabled %}
|
||||
<a class="btn btn-default enable-currency" data-code="{{ currency.code }}"
|
||||
href="#">
|
||||
<span class="fa fa-fw fa-check-square-o"></span>
|
||||
@@ -66,19 +66,19 @@
|
||||
</div>
|
||||
</td>
|
||||
<td>
|
||||
{% if currency.userEnabled == false %}
|
||||
{% if currency.userGroupEnabled == false %}
|
||||
<span class="text-muted">
|
||||
{% endif %}
|
||||
{{ currency.name }} ({{ currency.code }}) ({{ currency.symbol|raw }})
|
||||
{% if currency.id == defaultCurrency.id %}
|
||||
<span class="label label-success" id="default-currency">{{ 'default_currency'|_ }}</span>
|
||||
{% endif %}
|
||||
{% if currency.userEnabled == false %}
|
||||
{% if currency.userGroupEnabled == false %}
|
||||
|
||||
<span class="label label-default">{{ 'currency_is_disabled'|_ }}</span>
|
||||
{% endif %}
|
||||
|
||||
{% if currency.userEnabled == false %}
|
||||
{% if currency.userGroupEnabled == false %}
|
||||
</span>
|
||||
{% endif %}
|
||||
</td>
|
||||
|
||||
Reference in New Issue
Block a user