Auto commit for release 'develop' on 2024-03-18

This commit is contained in:
github-actions 2024-03-18 20:25:30 +01:00
parent db0dbcfcf1
commit 9aa90650b4
108 changed files with 528 additions and 529 deletions

View File

@ -226,16 +226,16 @@
},
{
"name": "friendsofphp/php-cs-fixer",
"version": "v3.51.0",
"version": "v3.52.0",
"source": {
"type": "git",
"url": "https://github.com/PHP-CS-Fixer/PHP-CS-Fixer.git",
"reference": "127fa74f010da99053e3f5b62672615b72dd6efd"
"reference": "a3564bd66f4bce9bc871ef18b690e2dc67a7f969"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/PHP-CS-Fixer/PHP-CS-Fixer/zipball/127fa74f010da99053e3f5b62672615b72dd6efd",
"reference": "127fa74f010da99053e3f5b62672615b72dd6efd",
"url": "https://api.github.com/repos/PHP-CS-Fixer/PHP-CS-Fixer/zipball/a3564bd66f4bce9bc871ef18b690e2dc67a7f969",
"reference": "a3564bd66f4bce9bc871ef18b690e2dc67a7f969",
"shasum": ""
},
"require": {
@ -306,7 +306,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.51.0"
"source": "https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/tree/v3.52.0"
},
"funding": [
{
@ -314,7 +314,7 @@
"type": "github"
}
],
"time": "2024-02-28T19:50:06+00:00"
"time": "2024-03-18T18:40:11+00:00"
},
{
"name": "psr/container",

View File

@ -75,7 +75,7 @@ class ReconcileController extends Controller
*
* @throws FireflyException
* */
public function reconcile(Account $account, Carbon $start = null, Carbon $end = null)
public function reconcile(Account $account, ?Carbon $start = null, ?Carbon $end = null)
{
if (!$this->isEditableAccount($account)) {
return $this->redirectAccountToAccount($account);

View File

@ -75,7 +75,7 @@ class ShowController extends Controller
*
* @throws FireflyException
* */
public function show(Request $request, Account $account, Carbon $start = null, Carbon $end = null)
public function show(Request $request, Account $account, ?Carbon $start = null, ?Carbon $end = null)
{
$objectType = config(sprintf('firefly.shortNamesByFullName.%s', $account->accountType->type));

View File

@ -85,7 +85,7 @@ class IndexController extends Controller
*
* @throws FireflyException
* */
public function index(Carbon $start = null, Carbon $end = null)
public function index(?Carbon $start = null, ?Carbon $end = null)
{
$this->abRepository->cleanup();
app('log')->debug(sprintf('Start of IndexController::index("%s", "%s")', $start?->format('Y-m-d'), $end?->format('Y-m-d')));

View File

@ -75,7 +75,7 @@ class ShowController extends Controller
*
* @throws FireflyException
*/
public function noBudget(Request $request, Carbon $start = null, Carbon $end = null)
public function noBudget(Request $request, ?Carbon $start = null, ?Carbon $end = null)
{
// @var Carbon $start
$start ??= session('start');

View File

@ -70,7 +70,7 @@ class NoCategoryController extends Controller
*
* @throws FireflyException
*/
public function show(Request $request, Carbon $start = null, Carbon $end = null)
public function show(Request $request, ?Carbon $start = null, ?Carbon $end = null)
{
app('log')->debug('Start of noCategory()');
// @var Carbon $start

View File

@ -71,7 +71,7 @@ class ShowController extends Controller
*
* @throws FireflyException
*/
public function show(Request $request, Category $category, Carbon $start = null, Carbon $end = null)
public function show(Request $request, Category $category, ?Carbon $start = null, ?Carbon $end = null)
{
// @var Carbon $start
$start ??= session('start', today(config('app.timezone'))->startOfMonth());

View File

@ -38,7 +38,7 @@ class IntroController extends Controller
/**
* Returns the introduction wizard for a page.
*/
public function getIntroSteps(string $route, string $specificPage = null): JsonResponse
public function getIntroSteps(string $route, ?string $specificPage = null): JsonResponse
{
app('log')->debug(sprintf('getIntroSteps for route "%s" and page "%s"', $route, $specificPage));
$specificPage ??= '';
@ -91,7 +91,7 @@ class IntroController extends Controller
*
* @throws FireflyException
*/
public function postEnable(string $route, string $specialPage = null): JsonResponse
public function postEnable(string $route, ?string $specialPage = null): JsonResponse
{
$specialPage ??= '';
$route = str_replace('.', '_', $route);
@ -111,7 +111,7 @@ class IntroController extends Controller
*
* @throws FireflyException
*/
public function postFinished(string $route, string $specialPage = null): JsonResponse
public function postFinished(string $route, ?string $specialPage = null): JsonResponse
{
$specialPage ??= '';
$key = 'shown_demo_'.$route;

View File

@ -67,7 +67,7 @@ class ReconcileController extends Controller
*
* @throws FireflyException
*/
public function overview(Request $request, Account $account = null, Carbon $start = null, Carbon $end = null): JsonResponse
public function overview(Request $request, ?Account $account = null, ?Carbon $start = null, ?Carbon $end = null): JsonResponse
{
$startBalance = $request->get('startBalance');
$endBalance = $request->get('endBalance');
@ -177,7 +177,7 @@ class ReconcileController extends Controller
*
* @throws FireflyException
*/
public function transactions(Account $account, Carbon $start = null, Carbon $end = null)
public function transactions(Account $account, ?Carbon $start = null, ?Carbon $end = null)
{
if (null === $start || null === $end) {
throw new FireflyException('Invalid dates submitted.');

View File

@ -76,7 +76,7 @@ class CreateController extends Controller
*
* @throws FireflyException
*/
public function create(Request $request, RuleGroup $ruleGroup = null)
public function create(Request $request, ?RuleGroup $ruleGroup = null)
{
$this->createDefaultRuleGroup();
$preFilled = [

View File

@ -215,7 +215,7 @@ class TagController extends Controller
*
* @throws FireflyException
*/
public function show(Request $request, Tag $tag, Carbon $start = null, Carbon $end = null)
public function show(Request $request, Tag $tag, ?Carbon $start = null, ?Carbon $end = null)
{
// default values:
$subTitleIcon = 'fa-tag';

View File

@ -69,7 +69,7 @@ class IndexController extends Controller
*
* @throws FireflyException
*/
public function index(Request $request, string $objectType, Carbon $start = null, Carbon $end = null)
public function index(Request $request, string $objectType, ?Carbon $start = null, ?Carbon $end = null)
{
if ('transfers' === $objectType) {
$objectType = 'transfer';

View File

@ -25,7 +25,6 @@ namespace FireflyIII\Providers;
use FireflyIII\Repositories\LinkType\LinkTypeRepository;
use FireflyIII\Repositories\LinkType\LinkTypeRepositoryInterface;
use Illuminate\Contracts\Support\DeferrableProvider;
use Illuminate\Foundation\Application;
use Illuminate\Support\ServiceProvider;

View File

@ -122,7 +122,7 @@ class BudgetLimitRepository implements BudgetLimitRepositoryInterface
$budgetLimit->delete();
}
public function getAllBudgetLimitsByCurrency(TransactionCurrency $currency, Carbon $start = null, Carbon $end = null): Collection
public function getAllBudgetLimitsByCurrency(TransactionCurrency $currency, ?Carbon $start = null, ?Carbon $end = null): Collection
{
return $this->getAllBudgetLimits($start, $end)->filter(
static function (BudgetLimit $budgetLimit) use ($currency) {
@ -131,7 +131,7 @@ class BudgetLimitRepository implements BudgetLimitRepositoryInterface
);
}
public function getAllBudgetLimits(Carbon $start = null, Carbon $end = null): Collection
public function getAllBudgetLimits(?Carbon $start = null, ?Carbon $end = null): Collection
{
// both are NULL:
if (null === $start && null === $end) {
@ -198,7 +198,7 @@ class BudgetLimitRepository implements BudgetLimitRepositoryInterface
;
}
public function getBudgetLimits(Budget $budget, Carbon $start = null, Carbon $end = null): Collection
public function getBudgetLimits(Budget $budget, ?Carbon $start = null, ?Carbon $end = null): Collection
{
if (null === $end && null === $start) {
return $budget->budgetlimits()->with(['transactionCurrency'])->orderBy('budget_limits.start_date', 'DESC')->get(['budget_limits.*']);

View File

@ -57,11 +57,11 @@ interface BudgetLimitRepositoryInterface
/**
* TODO this method is not multi currency aware.
*/
public function getAllBudgetLimits(Carbon $start = null, Carbon $end = null): Collection;
public function getAllBudgetLimits(?Carbon $start = null, ?Carbon $end = null): Collection;
public function getAllBudgetLimitsByCurrency(TransactionCurrency $currency, Carbon $start = null, Carbon $end = null): Collection;
public function getAllBudgetLimitsByCurrency(TransactionCurrency $currency, ?Carbon $start = null, ?Carbon $end = null): Collection;
public function getBudgetLimits(Budget $budget, Carbon $start = null, Carbon $end = null): Collection;
public function getBudgetLimits(Budget $budget, ?Carbon $start = null, ?Carbon $end = null): Collection;
public function setUser(null|Authenticatable|User $user): void;

View File

@ -438,7 +438,7 @@ class BudgetRepository implements BudgetRepositoryInterface
*
* @param null|int $budgetId |null
*/
public function find(int $budgetId = null): ?Budget
public function find(?int $budgetId = null): ?Budget
{
return $this->user->budgets()->find($budgetId);
}

View File

@ -61,7 +61,7 @@ interface BudgetRepositoryInterface
public function destroyAutoBudget(Budget $budget): void;
public function find(int $budgetId = null): ?Budget;
public function find(?int $budgetId = null): ?Budget;
public function findBudget(?int $budgetId, ?string $budgetName): ?Budget;

View File

@ -44,7 +44,7 @@ class LinkTypeRepository implements LinkTypeRepositoryInterface
return $linkType->transactionJournalLinks()->count();
}
public function destroy(LinkType $linkType, LinkType $moveTo = null): bool
public function destroy(LinkType $linkType, ?LinkType $moveTo = null): bool
{
if (null !== $moveTo) {
TransactionJournalLink::where('link_type_id', $linkType->id)->update(['link_type_id' => $moveTo->id]);
@ -113,7 +113,7 @@ class LinkTypeRepository implements LinkTypeRepositoryInterface
/**
* Returns all the journal links (of a specific type).
*/
public function getJournalLinks(LinkType $linkType = null): Collection
public function getJournalLinks(?LinkType $linkType = null): Collection
{
$query = TransactionJournalLink::with(['source', 'destination'])
->leftJoin('transaction_journals as source_journals', 'journal_links.source_id', '=', 'source_journals.id')
@ -225,7 +225,7 @@ class LinkTypeRepository implements LinkTypeRepositoryInterface
return LinkType::find($linkTypeId);
}
public function findByName(string $name = null): ?LinkType
public function findByName(?string $name = null): ?LinkType
{
if (null === $name) {
return null;

View File

@ -37,7 +37,7 @@ interface LinkTypeRepositoryInterface
{
public function countJournals(LinkType $linkType): int;
public function destroy(LinkType $linkType, LinkType $moveTo = null): bool;
public function destroy(LinkType $linkType, ?LinkType $moveTo = null): bool;
public function destroyLink(TransactionJournalLink $link): bool;
@ -46,7 +46,7 @@ interface LinkTypeRepositoryInterface
/**
* Find link type by name.
*/
public function findByName(string $name = null): ?LinkType;
public function findByName(?string $name = null): ?LinkType;
/**
* Check if link exists between journals.
@ -65,7 +65,7 @@ interface LinkTypeRepositoryInterface
*/
public function getJournalIds(LinkType $linkType): array;
public function getJournalLinks(LinkType $linkType = null): Collection;
public function getJournalLinks(?LinkType $linkType = null): Collection;
/**
* Return list of existing connections.

View File

@ -202,7 +202,7 @@ class RecurringRepository implements RecurringRepositoryInterface
/**
* Returns the journals created for this recurrence, possibly limited by time.
*/
public function getJournalCount(Recurrence $recurrence, Carbon $start = null, Carbon $end = null): int
public function getJournalCount(Recurrence $recurrence, ?Carbon $start = null, ?Carbon $end = null): int
{
$query = TransactionJournal::leftJoin('journal_meta', 'journal_meta.transaction_journal_id', '=', 'transaction_journals.id')
->where('transaction_journals.user_id', $recurrence->user_id)

View File

@ -83,7 +83,7 @@ interface RecurringRepositoryInterface
/**
* Returns the count of journals created for this recurrence, possibly limited by time.
*/
public function getJournalCount(Recurrence $recurrence, Carbon $start = null, Carbon $end = null): int;
public function getJournalCount(Recurrence $recurrence, ?Carbon $start = null, ?Carbon $end = null): int;
/**
* Get journal ID's for journals created by this recurring transaction.

View File

@ -40,7 +40,7 @@ class Amount
*
* @throws FireflyException
*/
public function formatAnything(TransactionCurrency $format, string $amount, bool $coloured = null): string
public function formatAnything(TransactionCurrency $format, string $amount, ?bool $coloured = null): string
{
return $this->formatFlat($format->symbol, $format->decimal_places, $amount, $coloured);
}
@ -53,7 +53,7 @@ class Amount
*
* @SuppressWarnings(PHPMD.MissingImport)
*/
public function formatFlat(string $symbol, int $decimalPlaces, string $amount, bool $coloured = null): string
public function formatFlat(string $symbol, int $decimalPlaces, string $amount, ?bool $coloured = null): string
{
$locale = app('steam')->getLocale();
$rounded = app('steam')->bcround($amount, $decimalPlaces);

View File

@ -40,7 +40,7 @@ class ExpandedForm
*
* @throws FireflyException
*/
public function amountNoCurrency(string $name, $value = null, array $options = null): string
public function amountNoCurrency(string $name, $value = null, ?array $options = null): string
{
$options ??= [];
$label = $this->label($name, $options);
@ -71,7 +71,7 @@ class ExpandedForm
*
* @throws FireflyException
*/
public function checkbox(string $name, int $value = null, $checked = null, array $options = null): string
public function checkbox(string $name, ?int $value = null, $checked = null, ?array $options = null): string
{
$options ??= [];
$value ??= 1;
@ -106,7 +106,7 @@ class ExpandedForm
*
* @throws FireflyException
*/
public function date(string $name, $value = null, array $options = null): string
public function date(string $name, $value = null, ?array $options = null): string
{
$label = $this->label($name, $options);
$options = $this->expandOptionArray($name, $label, $options);
@ -129,7 +129,7 @@ class ExpandedForm
/**
* @throws FireflyException
*/
public function file(string $name, array $options = null): string
public function file(string $name, ?array $options = null): string
{
$options ??= [];
$label = $this->label($name, $options);
@ -153,7 +153,7 @@ class ExpandedForm
*
* @throws FireflyException
*/
public function integer(string $name, $value = null, array $options = null): string
public function integer(string $name, $value = null, ?array $options = null): string
{
$options ??= [];
$label = $this->label($name, $options);
@ -179,7 +179,7 @@ class ExpandedForm
*
* @throws FireflyException
*/
public function location(string $name, $value = null, array $options = null): string
public function location(string $name, $value = null, ?array $options = null): string
{
$options ??= [];
$label = $this->label($name, $options);
@ -227,7 +227,7 @@ class ExpandedForm
*
* @throws FireflyException
*/
public function objectGroup($value = null, array $options = null): string
public function objectGroup($value = null, ?array $options = null): string
{
$name = 'object_group';
$label = $this->label($name, $options);
@ -272,7 +272,7 @@ class ExpandedForm
/**
* @throws FireflyException
*/
public function password(string $name, array $options = null): string
public function password(string $name, ?array $options = null): string
{
$label = $this->label($name, $options);
$options = $this->expandOptionArray($name, $label, $options);
@ -297,7 +297,7 @@ class ExpandedForm
*
* @throws FireflyException
*/
public function percentage(string $name, $value = null, array $options = null): string
public function percentage(string $name, $value = null, ?array $options = null): string
{
$label = $this->label($name, $options);
$options = $this->expandOptionArray($name, $label, $options);
@ -323,7 +323,7 @@ class ExpandedForm
*
* @throws FireflyException
*/
public function staticText(string $name, $value, array $options = null): string
public function staticText(string $name, $value, ?array $options = null): string
{
$label = $this->label($name, $options);
$options = $this->expandOptionArray($name, $label, $options);
@ -346,7 +346,7 @@ class ExpandedForm
*
* @throws FireflyException
*/
public function text(string $name, $value = null, array $options = null): string
public function text(string $name, $value = null, ?array $options = null): string
{
$label = $this->label($name, $options);
$options = $this->expandOptionArray($name, $label, $options);
@ -370,7 +370,7 @@ class ExpandedForm
*
* @throws FireflyException
*/
public function textarea(string $name, $value = null, array $options = null): string
public function textarea(string $name, $value = null, ?array $options = null): string
{
$label = $this->label($name, $options);
$options = $this->expandOptionArray($name, $label, $options);

View File

@ -43,7 +43,7 @@ class AccountForm
/**
* Grouped dropdown list of all accounts that are valid as the destination of a withdrawal.
*/
public function activeDepositDestinations(string $name, mixed $value = null, array $options = null): string
public function activeDepositDestinations(string $name, mixed $value = null, ?array $options = null): string
{
$types = [AccountType::MORTGAGE, AccountType::DEBT, AccountType::CREDITCARD, AccountType::LOAN, AccountType::REVENUE];
$repository = $this->getAccountRepository();
@ -55,7 +55,7 @@ class AccountForm
return $this->select($name, $grouped, $value, $options);
}
private function getAccountsGrouped(array $types, AccountRepositoryInterface $repository = null): array
private function getAccountsGrouped(array $types, ?AccountRepositoryInterface $repository = null): array
{
if (null === $repository) {
$repository = $this->getAccountRepository();
@ -89,7 +89,7 @@ class AccountForm
/**
* Grouped dropdown list of all accounts that are valid as the destination of a withdrawal.
*/
public function activeWithdrawalDestinations(string $name, mixed $value = null, array $options = null): string
public function activeWithdrawalDestinations(string $name, mixed $value = null, ?array $options = null): string
{
$types = [AccountType::MORTGAGE, AccountType::DEBT, AccountType::CREDITCARD, AccountType::LOAN, AccountType::EXPENSE];
$repository = $this->getAccountRepository();
@ -107,7 +107,7 @@ class AccountForm
*
* @throws FireflyException
*/
public function assetAccountCheckList(string $name, array $options = null): string
public function assetAccountCheckList(string $name, ?array $options = null): string
{
$options ??= [];
$label = $this->label($name, $options);
@ -138,7 +138,7 @@ class AccountForm
*
* @param mixed $value
*/
public function assetAccountList(string $name, $value = null, array $options = null): string
public function assetAccountList(string $name, $value = null, ?array $options = null): string
{
$types = [AccountType::ASSET, AccountType::DEFAULT];
$grouped = $this->getAccountsGrouped($types);
@ -151,7 +151,7 @@ class AccountForm
*
* @param mixed $value
*/
public function longAccountList(string $name, $value = null, array $options = null): string
public function longAccountList(string $name, $value = null, ?array $options = null): string
{
$types = [AccountType::ASSET, AccountType::DEFAULT, AccountType::MORTGAGE, AccountType::DEBT, AccountType::CREDITCARD, AccountType::LOAN];
$grouped = $this->getAccountsGrouped($types);

View File

@ -42,7 +42,7 @@ class CurrencyForm
*
* @throws FireflyException
*/
public function amount(string $name, $value = null, array $options = null): string
public function amount(string $name, $value = null, ?array $options = null): string
{
return $this->currencyField($name, 'amount', $value, $options);
}
@ -50,7 +50,7 @@ class CurrencyForm
/**
* @throws FireflyException
*/
protected function currencyField(string $name, string $view, mixed $value = null, array $options = null): string
protected function currencyField(string $name, string $view, mixed $value = null, ?array $options = null): string
{
$label = $this->label($name, $options);
$options = $this->expandOptionArray($name, $label, $options);
@ -106,7 +106,7 @@ class CurrencyForm
*
* @throws FireflyException
*/
public function balanceAll(string $name, $value = null, array $options = null): string
public function balanceAll(string $name, $value = null, ?array $options = null): string
{
return $this->allCurrencyField($name, 'balance', $value, $options);
}
@ -118,7 +118,7 @@ class CurrencyForm
*
* @throws FireflyException
*/
protected function allCurrencyField(string $name, string $view, $value = null, array $options = null): string
protected function allCurrencyField(string $name, string $view, $value = null, ?array $options = null): string
{
$label = $this->label($name, $options);
$options = $this->expandOptionArray($name, $label, $options);
@ -173,7 +173,7 @@ class CurrencyForm
*
* @param mixed $value
*/
public function currencyList(string $name, $value = null, array $options = null): string
public function currencyList(string $name, $value = null, ?array $options = null): string
{
/** @var CurrencyRepositoryInterface $currencyRepos */
$currencyRepos = app(CurrencyRepositoryInterface::class);
@ -195,7 +195,7 @@ class CurrencyForm
*
* @param mixed $value
*/
public function currencyListEmpty(string $name, $value = null, array $options = null): string
public function currencyListEmpty(string $name, $value = null, ?array $options = null): string
{
/** @var CurrencyRepositoryInterface $currencyRepos */
$currencyRepos = app(CurrencyRepositoryInterface::class);

View File

@ -36,7 +36,7 @@ trait FormSupport
/**
* @param mixed $selected
*/
public function select(string $name, array $list = null, $selected = null, array $options = null): string
public function select(string $name, ?array $list = null, $selected = null, ?array $options = null): string
{
$list ??= [];
$label = $this->label($name, $options);
@ -55,7 +55,7 @@ trait FormSupport
return $html;
}
protected function label(string $name, array $options = null): string
protected function label(string $name, ?array $options = null): string
{
$options ??= [];
if (array_key_exists('label', $options)) {
@ -69,7 +69,7 @@ trait FormSupport
/**
* @param mixed $label
*/
protected function expandOptionArray(string $name, $label, array $options = null): array
protected function expandOptionArray(string $name, $label, ?array $options = null): array
{
$options ??= [];
$name = str_replace('[]', '', $name);

View File

@ -40,7 +40,7 @@ class PiggyBankForm
*
* @param mixed $value
*/
public function piggyBankList(string $name, $value = null, array $options = null): string
public function piggyBankList(string $name, $value = null, ?array $options = null): string
{
// make repositories
/** @var PiggyBankRepositoryInterface $repository */

View File

@ -34,7 +34,7 @@ class RuleForm
{
use FormSupport;
public function ruleGroupList(string $name, mixed $value = null, array $options = null): string
public function ruleGroupList(string $name, mixed $value = null, ?array $options = null): string
{
/** @var RuleGroupRepositoryInterface $groupRepos */
$groupRepos = app(RuleGroupRepositoryInterface::class);
@ -54,7 +54,7 @@ class RuleForm
/**
* @param null $value
*/
public function ruleGroupListWithEmpty(string $name, $value = null, array $options = null): string
public function ruleGroupListWithEmpty(string $name, $value = null, ?array $options = null): string
{
$options ??= [];
$options['class'] = 'form-control';

View File

@ -38,7 +38,7 @@ class Navigation
{
private Calculator $calculator;
public function __construct(Calculator $calculator = null)
public function __construct(?Calculator $calculator = null)
{
$this->calculator = $calculator instanceof Calculator ? $calculator : new Calculator();
}
@ -631,7 +631,7 @@ class Navigation
/**
* @throws FireflyException
*/
public function subtractPeriod(Carbon $theDate, string $repeatFreq, int $subtract = null): Carbon
public function subtractPeriod(Carbon $theDate, string $repeatFreq, ?int $subtract = null): Carbon
{
$subtract ??= 1;
$date = clone $theDate;

View File

@ -851,7 +851,7 @@ class Steam
return number_format((float)$value, 0, '.', '');
}
public function opposite(string $amount = null): ?string
public function opposite(?string $amount = null): ?string
{
if (null === $amount) {
return null;

View File

@ -87,7 +87,7 @@ class AmountFormat extends AbstractExtension
{
return new TwigFunction(
'formatAmountByAccount',
static function (AccountModel $account, string $amount, bool $coloured = null): string {
static function (AccountModel $account, string $amount, ?bool $coloured = null): string {
$coloured ??= true;
/** @var AccountRepositoryInterface $accountRepos */
@ -107,7 +107,7 @@ class AmountFormat extends AbstractExtension
{
return new TwigFunction(
'formatAmountBySymbol',
static function (string $amount, string $symbol, int $decimalPlaces = null, bool $coloured = null): string {
static function (string $amount, string $symbol, ?int $decimalPlaces = null, ?bool $coloured = null): string {
$decimalPlaces ??= 2;
$coloured ??= true;
$currency = new TransactionCurrency();
@ -127,7 +127,7 @@ class AmountFormat extends AbstractExtension
{
return new TwigFunction(
'formatAmountByCurrency',
static function (TransactionCurrency $currency, string $amount, bool $coloured = null): string {
static function (TransactionCurrency $currency, string $amount, ?bool $coloured = null): string {
$coloured ??= true;
return app('amount')->formatAnything($currency, $amount, $coloured);

View File

@ -253,7 +253,7 @@ class FireflyValidator extends Validator
return 1 === $count;
}
public function validateRuleActionValue(string $attribute, string $value = null): bool
public function validateRuleActionValue(string $attribute, ?string $value = null): bool
{
// first, get the index from this string:
$value ??= '';
@ -324,7 +324,7 @@ class FireflyValidator extends Validator
/**
* $attribute has the format triggers.%d.value.
*/
public function validateRuleTriggerValue(string $attribute, string $value = null): bool
public function validateRuleTriggerValue(string $attribute, ?string $value = null): bool
{
// first, get the index from this string:
$parts = explode('.', $attribute);

View File

@ -45,7 +45,7 @@ trait TransactionValidation
*
* Inclusion of user and/or group is optional.
*/
public function validateAccountInformation(Validator $validator, User $user = null, UserGroup $userGroup = null): void
public function validateAccountInformation(Validator $validator, ?User $user = null, ?UserGroup $userGroup = null): void
{
if ($validator->errors()->count() > 0) {
return;

10
composer.lock generated
View File

@ -10277,16 +10277,16 @@
},
{
"name": "phpstan/phpstan",
"version": "1.10.62",
"version": "1.10.63",
"source": {
"type": "git",
"url": "https://github.com/phpstan/phpstan.git",
"reference": "cd5c8a1660ed3540b211407c77abf4af193a6af9"
"reference": "ad12836d9ca227301f5fb9960979574ed8628339"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/phpstan/phpstan/zipball/cd5c8a1660ed3540b211407c77abf4af193a6af9",
"reference": "cd5c8a1660ed3540b211407c77abf4af193a6af9",
"url": "https://api.github.com/repos/phpstan/phpstan/zipball/ad12836d9ca227301f5fb9960979574ed8628339",
"reference": "ad12836d9ca227301f5fb9960979574ed8628339",
"shasum": ""
},
"require": {
@ -10335,7 +10335,7 @@
"type": "tidelift"
}
],
"time": "2024-03-13T12:27:20+00:00"
"time": "2024-03-18T16:53:53+00:00"
},
{
"name": "phpstan/phpstan-deprecation-rules",

File diff suppressed because one or more lines are too long

View File

@ -1 +1 @@
import{f as n}from"./vendor-291d7a70.js";function e(){return{id:"",name:"",alpine_name:""}}function o(){return{description:[],amount:[],currency_code:[],foreign_amount:[],foreign_currency_code:[],source_account:[],destination_account:[],budget_id:[],category_name:[],piggy_bank_id:[],bill_id:[],tags:[],notes:[],internal_reference:[],external_url:[],latitude:[],longitude:[],zoom_level:[],date:[],interest_date:[],book_date:[],process_date:[],due_date:[],payment_date:[],invoice_date:[]}}function d(){let t=n(new Date,"yyyy-MM-dd HH:mm");return{description:"",amount:"",currency_code:"EUR",foreign_amount:"",foreign_currency_code:"",source_account:e(),destination_account:e(),budget_id:null,category_name:"",piggy_bank_id:null,bill_id:null,tags:[],notes:"",internal_reference:"",external_url:"",hasLocation:!1,latitude:null,longitude:null,zoomLevel:null,date:t,interest_date:"",book_date:"",process_date:"",due_date:"",payment_date:"",invoice_date:"",errors:o()}}export{d as c,o as d};
import{f as n}from"./vendor-029c0fc2.js";function e(){return{id:"",name:"",alpine_name:""}}function o(){return{description:[],amount:[],currency_code:[],foreign_amount:[],foreign_currency_code:[],source_account:[],destination_account:[],budget_id:[],category_name:[],piggy_bank_id:[],bill_id:[],tags:[],notes:[],internal_reference:[],external_url:[],latitude:[],longitude:[],zoom_level:[],date:[],interest_date:[],book_date:[],process_date:[],due_date:[],payment_date:[],invoice_date:[]}}function d(){let t=n(new Date,"yyyy-MM-dd HH:mm");return{description:"",amount:"",currency_code:"EUR",foreign_amount:"",foreign_currency_code:"",source_account:e(),destination_account:e(),budget_id:null,category_name:"",piggy_bank_id:null,bill_id:null,tags:[],notes:"",internal_reference:"",external_url:"",hasLocation:!1,latitude:null,longitude:null,zoomLevel:null,date:t,interest_date:"",book_date:"",process_date:"",due_date:"",payment_date:"",invoice_date:"",errors:o()}}export{d as c,o as d};

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1 +1 @@
import{a as s}from"./format-money-5a1aa122.js";import{f as n}from"./vendor-291d7a70.js";class c{show(a,t){return s.get("/api/v2/accounts/"+a,{params:t})}index(a){return s.get("/api/v2/accounts",{params:a})}transactions(a,t){const r={page:t.page??1};return t.hasOwnProperty("start")&&(r.start=n(t.start,"y-MM-dd")),t.hasOwnProperty("end")&&(r.end=n(t.end,"y-MM-dd")),s.get("/api/v2/accounts/"+a+"/transactions",{params:r})}}export{c as G};
import{a as s}from"./format-money-89cf90df.js";import{f as n}from"./vendor-029c0fc2.js";class c{show(a,t){return s.get("/api/v2/accounts/"+a,{params:t})}index(a){return s.get("/api/v2/accounts",{params:a})}transactions(a,t){const r={page:t.page??1};return t.hasOwnProperty("start")&&(r.start=n(t.start,"y-MM-dd")),t.hasOwnProperty("end")&&(r.end=n(t.end,"y-MM-dd")),s.get("/api/v2/accounts/"+a+"/transactions",{params:r})}}export{c as G};

View File

@ -1 +1 @@
import{a as s}from"./format-money-5a1aa122.js";let t=class{list(a){return s.get("/api/v2/subscriptions",{params:a})}paid(a){return s.get("/api/v2/subscriptions/sum/paid",{params:a})}unpaid(a){return s.get("/api/v2/subscriptions/sum/unpaid",{params:a})}};class e{list(a){return s.get("/api/v2/piggy-banks",{params:a})}}export{t as G,e as a};
import{a as s}from"./format-money-89cf90df.js";let t=class{list(a){return s.get("/api/v2/subscriptions",{params:a})}paid(a){return s.get("/api/v2/subscriptions/sum/paid",{params:a})}unpaid(a){return s.get("/api/v2/subscriptions/sum/unpaid",{params:a})}};class e{list(a){return s.get("/api/v2/piggy-banks",{params:a})}}export{t as G,e as a};

View File

@ -1 +1 @@
import{a as t}from"./format-money-5a1aa122.js";class n{list(a){return t.get("/api/v2/transactions",{params:a})}infiniteList(a){return t.get("/api/v2/infinite/transactions",{params:a})}show(a,i){return t.get("/api/v2/transactions/"+a,{params:i})}}export{n as G};
import{a as t}from"./format-money-89cf90df.js";class n{list(a){return t.get("/api/v2/transactions",{params:a})}infiniteList(a){return t.get("/api/v2/infinite/transactions",{params:a})}show(a,i){return t.get("/api/v2/transactions/"+a,{params:i})}}export{n as G};

View File

@ -1 +1 @@
import{a as d,d as h,f as p}from"./format-money-5a1aa122.js";import{f as r,i as a}from"./vendor-291d7a70.js";/* empty css */import{G as m}from"./get-2d864c96.js";class f{setElement(t){console.log("GenericEditor.setElement()",t),this.element=t,this.parent=t.parentElement,this.options={}}init(){this.options.type=this.element.dataset.type,this.options.id=this.element.dataset.id,this.options.value=this.element.dataset.value,this.options.index=this.element.dataset.index,this.options.model=this.element.dataset.model,this.options.field=this.element.dataset.field,console.log("GenericEditor["+this.options.index+"].init()")}replace(){console.log("GenericEditor["+this.options.index+"].replace()"),this.options.original=this.element.parentElement.innerHTML,this.options.type==="text"&&this.replaceText()}replaceText(){console.log("GenericEditor["+this.options.index+"].replaceText()");let t=this.formStart()+this.rowStart();t+=this.columnStart("7")+this.label()+this.textField()+this.closeDiv(),t+=this.columnStart("5")+this.buttonGroup()+this.closeDiv(),t+=this.closeDiv()+this.closeForm(),this.element.parentElement.innerHTML=t}textField(){return'<input data-index="'+this.options.index+'input" autocomplete="off" type="text" class="form-control form-control-sm" id="input" name="name" value="'+this.options.value+'" placeholder="'+this.options.value+'" autofocus>'}closeDiv(){return"</div>"}closeForm(){return"</form>"}formStart(){return'<form class="form-inline">'}rowStart(){return'<div class="row">'}columnStart(t){return t===""?'<div class="col">':'<div class="col-'+t+'">'}label(){return'<label class="sr-only" for="input">Field value</label>'}buttonGroup(){return'<div class="btn-group btn-group-sm" role="group" aria-label="Options"><button data-index="'+this.options.index+'" type="button" @click="cancelInlineEdit" class="btn btn-danger"><em class="fa-solid fa-xmark text-white"></em></button><button data-index="'+this.options.index+'" type="submit" @click="submitInlineEdit" class="btn btn-success"><em class="fa-solid fa-check"></em></button></div>'}cancel(){console.log("GenericEditor["+this.options.index+"].cancel()"),console.log(this.element),console.log(this.parent),this.parent.innerHTML=this.options.original}submitInlineEdit(t){console.log("Submit?")}}class b{put(t,n){return d.put("/api/v2/accounts/"+t,n)}}const l=window.location.href.split("/"),g=l[l.length-1];let w=function(){return{notifications:{error:{show:!1,text:"",url:""},success:{show:!1,text:"",url:""},wait:{show:!1,text:""}},totalPages:1,page:1,tableColumns:{name:{enabled:!0}},editors:{},sortingColumn:"",sortDirection:"",accounts:[],sort(e){return this.sortingColumn=e,this.sortDirection=this.sortDirection==="asc"?"desc":"asc",this.loadAccounts(),!1},formatMoney(e,t){return p(e,t)},format(e){return r(e,a.t("config.date_time_fns"))},init(){this.notifications.wait.show=!0,this.notifications.wait.text=a.t("firefly.wait_loading_data"),this.loadAccounts()},submitInlineEdit(e){e.preventDefault();const n=e.currentTarget.dataset.index,i=document.querySelectorAll('[data-index="'+n+'input"]')[0].value??"";if(i==="")return;const o=this.editors[n].options.field,s={};s[o]=i,console.log(s),console.log("New value is "+i+" for account #"+this.editors[n].options.id),new b().put(this.editors[n].options.id,s)},cancelInlineEdit(e){const n=e.currentTarget.dataset.index;this.editors[n].cancel()},triggerEdit(e){const t=e.currentTarget,n=t.dataset.index;this.editors[n]=new f,this.editors[n].setElement(t),this.editors[n].init(),this.editors[n].replace()},loadAccounts(){this.notifications.wait.show=!0,this.notifications.wait.text=a.t("firefly.wait_loading_data"),this.accounts=[];const e=[{column:this.sortingColumn,direction:this.sortDirection}];new m().index({sorting:e,type:g,page:this.page}).then(t=>{for(let n=0;n<t.data.data.length;n++)if(t.data.data.hasOwnProperty(n)){let i=t.data.data[n],o={id:parseInt(i.id),active:i.attributes.active,name:i.attributes.name,type:i.attributes.type,role:i.attributes.account_role,iban:i.attributes.iban===null?"":i.attributes.iban.match(/.{1,4}/g).join(" "),account_number:i.attributes.account_number===null?"":i.attributes.account_number,current_balance:i.attributes.current_balance,currency_code:i.attributes.currency_code,native_current_balance:i.attributes.native_current_balance,native_currency_code:i.attributes.native_currency_code,last_activity:i.attributes.last_activity===null?"":r(new Date(i.attributes.last_activity),"P")};this.accounts.push(o)}this.notifications.wait.show=!1})}}},c={index:w,dates:h};function u(){Object.keys(c).forEach(e=>{console.log(`Loading page component "${e}"`);let t=c[e]();Alpine.data(e,()=>t)}),Alpine.start()}document.addEventListener("firefly-iii-bootstrapped",()=>{console.log("Loaded through event listener."),u()});window.bootstrapped&&(console.log("Loaded through window variable."),u());
import{a as d,d as h,f as p}from"./format-money-89cf90df.js";import{f as r,i as a}from"./vendor-029c0fc2.js";/* empty css */import{G as m}from"./get-23aadb69.js";class f{setElement(t){console.log("GenericEditor.setElement()",t),this.element=t,this.parent=t.parentElement,this.options={}}init(){this.options.type=this.element.dataset.type,this.options.id=this.element.dataset.id,this.options.value=this.element.dataset.value,this.options.index=this.element.dataset.index,this.options.model=this.element.dataset.model,this.options.field=this.element.dataset.field,console.log("GenericEditor["+this.options.index+"].init()")}replace(){console.log("GenericEditor["+this.options.index+"].replace()"),this.options.original=this.element.parentElement.innerHTML,this.options.type==="text"&&this.replaceText()}replaceText(){console.log("GenericEditor["+this.options.index+"].replaceText()");let t=this.formStart()+this.rowStart();t+=this.columnStart("7")+this.label()+this.textField()+this.closeDiv(),t+=this.columnStart("5")+this.buttonGroup()+this.closeDiv(),t+=this.closeDiv()+this.closeForm(),this.element.parentElement.innerHTML=t}textField(){return'<input data-index="'+this.options.index+'input" autocomplete="off" type="text" class="form-control form-control-sm" id="input" name="name" value="'+this.options.value+'" placeholder="'+this.options.value+'" autofocus>'}closeDiv(){return"</div>"}closeForm(){return"</form>"}formStart(){return'<form class="form-inline">'}rowStart(){return'<div class="row">'}columnStart(t){return t===""?'<div class="col">':'<div class="col-'+t+'">'}label(){return'<label class="sr-only" for="input">Field value</label>'}buttonGroup(){return'<div class="btn-group btn-group-sm" role="group" aria-label="Options"><button data-index="'+this.options.index+'" type="button" @click="cancelInlineEdit" class="btn btn-danger"><em class="fa-solid fa-xmark text-white"></em></button><button data-index="'+this.options.index+'" type="submit" @click="submitInlineEdit" class="btn btn-success"><em class="fa-solid fa-check"></em></button></div>'}cancel(){console.log("GenericEditor["+this.options.index+"].cancel()"),console.log(this.element),console.log(this.parent),this.parent.innerHTML=this.options.original}submitInlineEdit(t){console.log("Submit?")}}class b{put(t,n){return d.put("/api/v2/accounts/"+t,n)}}const l=window.location.href.split("/"),g=l[l.length-1];let w=function(){return{notifications:{error:{show:!1,text:"",url:""},success:{show:!1,text:"",url:""},wait:{show:!1,text:""}},totalPages:1,page:1,tableColumns:{name:{enabled:!0}},editors:{},sortingColumn:"",sortDirection:"",accounts:[],sort(e){return this.sortingColumn=e,this.sortDirection=this.sortDirection==="asc"?"desc":"asc",this.loadAccounts(),!1},formatMoney(e,t){return p(e,t)},format(e){return r(e,a.t("config.date_time_fns"))},init(){this.notifications.wait.show=!0,this.notifications.wait.text=a.t("firefly.wait_loading_data"),this.loadAccounts()},submitInlineEdit(e){e.preventDefault();const n=e.currentTarget.dataset.index,i=document.querySelectorAll('[data-index="'+n+'input"]')[0].value??"";if(i==="")return;const o=this.editors[n].options.field,s={};s[o]=i,console.log(s),console.log("New value is "+i+" for account #"+this.editors[n].options.id),new b().put(this.editors[n].options.id,s)},cancelInlineEdit(e){const n=e.currentTarget.dataset.index;this.editors[n].cancel()},triggerEdit(e){const t=e.currentTarget,n=t.dataset.index;this.editors[n]=new f,this.editors[n].setElement(t),this.editors[n].init(),this.editors[n].replace()},loadAccounts(){this.notifications.wait.show=!0,this.notifications.wait.text=a.t("firefly.wait_loading_data"),this.accounts=[];const e=[{column:this.sortingColumn,direction:this.sortDirection}];new m().index({sorting:e,type:g,page:this.page}).then(t=>{for(let n=0;n<t.data.data.length;n++)if(t.data.data.hasOwnProperty(n)){let i=t.data.data[n],o={id:parseInt(i.id),active:i.attributes.active,name:i.attributes.name,type:i.attributes.type,role:i.attributes.account_role,iban:i.attributes.iban===null?"":i.attributes.iban.match(/.{1,4}/g).join(" "),account_number:i.attributes.account_number===null?"":i.attributes.account_number,current_balance:i.attributes.current_balance,currency_code:i.attributes.currency_code,native_current_balance:i.attributes.native_current_balance,native_currency_code:i.attributes.native_currency_code,last_activity:i.attributes.last_activity===null?"":r(new Date(i.attributes.last_activity),"P")};this.accounts.push(o)}this.notifications.wait.show=!1})}}},c={index:w,dates:h};function u(){Object.keys(c).forEach(e=>{console.log(`Loading page component "${e}"`);let t=c[e]();Alpine.data(e,()=>t)}),Alpine.start()}document.addEventListener("firefly-iii-bootstrapped",()=>{console.log("Loaded through event listener."),u()});window.bootstrapped&&(console.log("Loaded through window variable."),u());

File diff suppressed because one or more lines are too long

View File

@ -1 +1 @@
import{c as o}from"./create-empty-split-70d17748.js";import{f as _}from"./vendor-291d7a70.js";function l(a,r){let n=[];for(let i in a)if(a.hasOwnProperty(i)){let e=a[i],t=o();t.transaction_journal_id=e.transaction_journal_id,t.transaction_group_id=r,t.bill_id=e.bill_id,t.bill_name=e.bill_name,t.budget_id=e.budget_id,t.budget_name=e.budget_name,t.category_name=e.category_name,t.category_id=e.category_id,t.piggy_bank_id=e.piggy_bank_id,t.piggy_bank_name=e.piggy_bank_name,t.book_date=e.book_date,t.due_date=e.due_date,t.interest_date=e.interest_date,t.invoice_date=e.invoice_date,t.payment_date=e.payment_date,t.process_date=e.process_date,t.external_url=e.external_url,t.internal_reference=e.internal_reference,t.notes=e.notes,t.tags=e.tags,t.amount=parseFloat(e.amount).toFixed(e.currency_decimal_places),t.currency_code=e.currency_code,e.foreign_amount!==null&&(t.forein_currency_code=e.foreign_currency_code,t.foreign_amount=parseFloat(e.foreign_amount).toFixed(e.foreign_currency_decimal_places)),t.date=_(new Date(e.date),"yyyy-MM-dd HH:mm"),t.description=e.description,t.destination_account={id:e.destination_id,name:e.destination_name,type:e.destination_type,alpine_name:e.destination_name},t.source_account={id:e.source_id,name:e.source_name,type:e.source_type,alpine_name:e.source_name},e.latitude!==null&&(t.hasLocation=!0,t.latitude=e.latitude,t.longitude=e.longitude,t.zoomLevel=e.zoom_level),n.push(t)}return n}export{l as p};
import{c as o}from"./create-empty-split-9549645c.js";import{f as _}from"./vendor-029c0fc2.js";function l(a,r){let n=[];for(let i in a)if(a.hasOwnProperty(i)){let e=a[i],t=o();t.transaction_journal_id=e.transaction_journal_id,t.transaction_group_id=r,t.bill_id=e.bill_id,t.bill_name=e.bill_name,t.budget_id=e.budget_id,t.budget_name=e.budget_name,t.category_name=e.category_name,t.category_id=e.category_id,t.piggy_bank_id=e.piggy_bank_id,t.piggy_bank_name=e.piggy_bank_name,t.book_date=e.book_date,t.due_date=e.due_date,t.interest_date=e.interest_date,t.invoice_date=e.invoice_date,t.payment_date=e.payment_date,t.process_date=e.process_date,t.external_url=e.external_url,t.internal_reference=e.internal_reference,t.notes=e.notes,t.tags=e.tags,t.amount=parseFloat(e.amount).toFixed(e.currency_decimal_places),t.currency_code=e.currency_code,e.foreign_amount!==null&&(t.forein_currency_code=e.foreign_currency_code,t.foreign_amount=parseFloat(e.foreign_amount).toFixed(e.foreign_currency_decimal_places)),t.date=_(new Date(e.date),"yyyy-MM-dd HH:mm"),t.description=e.description,t.destination_account={id:e.destination_id,name:e.destination_name,type:e.destination_type,alpine_name:e.destination_name},t.source_account={id:e.source_id,name:e.source_name,type:e.source_type,alpine_name:e.source_name},e.latitude!==null&&(t.hasLocation=!0,t.latitude=e.latitude,t.longitude=e.longitude,t.zoomLevel=e.zoom_level),n.push(t)}return n}export{l as p};

View File

@ -1 +1 @@
import{a as p}from"./format-money-5a1aa122.js";class u{put(t,a){let r="/api/v2/transactions/"+parseInt(a.id);return p.put(r,t)}}export{u as P};
import{a as p}from"./format-money-89cf90df.js";class u{put(t,a){let r="/api/v2/transactions/"+parseInt(a.id);return p.put(r,t)}}export{u as P};

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1,57 +1,57 @@
{
"_create-empty-split-70d17748.js": {
"file": "assets/create-empty-split-70d17748.js",
"_create-empty-split-9549645c.js": {
"file": "assets/create-empty-split-9549645c.js",
"imports": [
"_vendor-291d7a70.js"
"_vendor-029c0fc2.js"
]
},
"_format-money-5a1aa122.js": {
"file": "assets/format-money-5a1aa122.js",
"_format-money-89cf90df.js": {
"file": "assets/format-money-89cf90df.js",
"imports": [
"_vendor-291d7a70.js"
"_vendor-029c0fc2.js"
]
},
"_get-2d864c96.js": {
"file": "assets/get-2d864c96.js",
"_get-23aadb69.js": {
"file": "assets/get-23aadb69.js",
"imports": [
"_format-money-5a1aa122.js",
"_vendor-291d7a70.js"
"_format-money-89cf90df.js",
"_vendor-029c0fc2.js"
]
},
"_get-316f0281.js": {
"file": "assets/get-316f0281.js",
"_get-58830780.js": {
"file": "assets/get-58830780.js",
"imports": [
"_format-money-5a1aa122.js"
"_format-money-89cf90df.js"
]
},
"_get-a398221d.js": {
"file": "assets/get-a398221d.js",
"_get-b646f004.js": {
"file": "assets/get-b646f004.js",
"imports": [
"_format-money-5a1aa122.js"
"_format-money-89cf90df.js"
]
},
"_parse-downloaded-splits-ce04c01c.js": {
"file": "assets/parse-downloaded-splits-ce04c01c.js",
"_parse-downloaded-splits-2d74acfc.js": {
"file": "assets/parse-downloaded-splits-2d74acfc.js",
"imports": [
"_create-empty-split-70d17748.js",
"_vendor-291d7a70.js"
"_create-empty-split-9549645c.js",
"_vendor-029c0fc2.js"
]
},
"_put-02a25c9f.js": {
"file": "assets/put-02a25c9f.js",
"_put-c581fff2.js": {
"file": "assets/put-c581fff2.js",
"imports": [
"_format-money-5a1aa122.js"
"_format-money-89cf90df.js"
]
},
"_splice-errors-into-transactions-5b51d5fd.js": {
"file": "assets/splice-errors-into-transactions-5b51d5fd.js",
"_splice-errors-into-transactions-81484c73.js": {
"file": "assets/splice-errors-into-transactions-81484c73.js",
"imports": [
"_format-money-5a1aa122.js",
"_get-316f0281.js",
"_vendor-291d7a70.js"
"_format-money-89cf90df.js",
"_get-58830780.js",
"_vendor-029c0fc2.js"
]
},
"_vendor-291d7a70.js": {
"_vendor-029c0fc2.js": {
"assets": [
"assets/layers-1dbbe9d0.png",
"assets/layers-2x-066daca8.png",
@ -60,7 +60,7 @@
"css": [
"assets/vendor-52daf6b6.css"
],
"file": "assets/vendor-291d7a70.js"
"file": "assets/vendor-029c0fc2.js"
},
"grid-ff3-theme.css": {
"file": "assets/grid-ff3-theme-badb0a41.css",
@ -106,50 +106,50 @@
"css": [
"assets/grid-ff3-theme-badb0a41.css"
],
"file": "assets/index-548de579.js",
"file": "assets/index-56152516.js",
"imports": [
"_format-money-5a1aa122.js",
"_vendor-291d7a70.js",
"_get-2d864c96.js"
"_format-money-89cf90df.js",
"_vendor-029c0fc2.js",
"_get-23aadb69.js"
],
"isEntry": true,
"src": "resources/assets/v2/pages/accounts/index.js"
},
"resources/assets/v2/pages/dashboard/dashboard.js": {
"file": "assets/dashboard-39513f31.js",
"file": "assets/dashboard-f6f6ae3f.js",
"imports": [
"_format-money-5a1aa122.js",
"_vendor-291d7a70.js",
"_get-2d864c96.js",
"_get-a398221d.js",
"_get-316f0281.js"
"_format-money-89cf90df.js",
"_vendor-029c0fc2.js",
"_get-23aadb69.js",
"_get-b646f004.js",
"_get-58830780.js"
],
"isEntry": true,
"src": "resources/assets/v2/pages/dashboard/dashboard.js"
},
"resources/assets/v2/pages/transactions/create.js": {
"file": "assets/create-b70c5f7e.js",
"file": "assets/create-dec509ea.js",
"imports": [
"_format-money-5a1aa122.js",
"_create-empty-split-70d17748.js",
"_splice-errors-into-transactions-5b51d5fd.js",
"_vendor-291d7a70.js",
"_get-316f0281.js"
"_format-money-89cf90df.js",
"_create-empty-split-9549645c.js",
"_splice-errors-into-transactions-81484c73.js",
"_vendor-029c0fc2.js",
"_get-58830780.js"
],
"isEntry": true,
"src": "resources/assets/v2/pages/transactions/create.js"
},
"resources/assets/v2/pages/transactions/edit.js": {
"file": "assets/edit-0146de3c.js",
"file": "assets/edit-990ac3ab.js",
"imports": [
"_format-money-5a1aa122.js",
"_get-a398221d.js",
"_parse-downloaded-splits-ce04c01c.js",
"_splice-errors-into-transactions-5b51d5fd.js",
"_vendor-291d7a70.js",
"_create-empty-split-70d17748.js",
"_put-02a25c9f.js",
"_get-316f0281.js"
"_format-money-89cf90df.js",
"_get-b646f004.js",
"_parse-downloaded-splits-2d74acfc.js",
"_splice-errors-into-transactions-81484c73.js",
"_vendor-029c0fc2.js",
"_create-empty-split-9549645c.js",
"_put-c581fff2.js",
"_get-58830780.js"
],
"isEntry": true,
"src": "resources/assets/v2/pages/transactions/edit.js"
@ -158,12 +158,12 @@
"css": [
"assets/grid-ff3-theme-badb0a41.css"
],
"file": "assets/index-80c224c9.js",
"file": "assets/index-979da1db.js",
"imports": [
"_format-money-5a1aa122.js",
"_vendor-291d7a70.js",
"_put-02a25c9f.js",
"_get-a398221d.js"
"_format-money-89cf90df.js",
"_vendor-029c0fc2.js",
"_put-c581fff2.js",
"_get-b646f004.js"
],
"isEntry": true,
"src": "resources/assets/v2/pages/transactions/index.js"
@ -176,13 +176,13 @@
"css": [
"assets/show-8b1429e5.css"
],
"file": "assets/show-7b497861.js",
"file": "assets/show-31120d76.js",
"imports": [
"_format-money-5a1aa122.js",
"_vendor-291d7a70.js",
"_get-a398221d.js",
"_parse-downloaded-splits-ce04c01c.js",
"_create-empty-split-70d17748.js"
"_format-money-89cf90df.js",
"_vendor-029c0fc2.js",
"_get-b646f004.js",
"_parse-downloaded-splits-2d74acfc.js",
"_create-empty-split-9549645c.js"
],
"isEntry": true,
"src": "resources/assets/v2/pages/transactions/show.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

View File

@ -2,7 +2,7 @@
"config": {
"html_language": "de",
"date_time_fns": "dd. MMM. yyyy um HH:mm:ss",
"date_time_fns_short": "MMMM do, yyyy @ HH:mm"
"date_time_fns_short": "dd. MMM. yyyy um HH:mm"
},
"firefly": {
"spent": "Ausgegeben",

View File

@ -2,7 +2,7 @@
"config": {
"html_language": "de",
"date_time_fns": "dd. MMM. yyyy um HH:mm:ss",
"date_time_fns_short": "MMMM do, yyyy @ HH:mm"
"date_time_fns_short": "dd. MMM. yyyy um HH:mm"
},
"firefly": {
"spent": "Ausgegeben",

View File

@ -5,8 +5,8 @@
"flash_warning": "Achtung!",
"flash_success": "Geschafft!",
"close": "Schlie\u00dfen",
"select_dest_account": "Please select or type a valid destination account name",
"select_source_account": "Please select or type a valid source account name",
"select_dest_account": "Bitte einen g\u00fcltigen Zielkontonamen ausw\u00e4hlen oder eingeben",
"select_source_account": "Bitte einen g\u00fcltigen Quellkontonamen ausw\u00e4hlen oder eingeben",
"split_transaction_title": "Beschreibung der Splittbuchung",
"errors_submission": "Bei Ihren Eingaben stimmt etwas nicht. Bitte \u00fcberpr\u00fcfen Sie die unten stehenden Fehler.",
"split": "Teilen",

View File

@ -64,7 +64,7 @@ return [
// 'date_time' => '%B %e, %Y, @ %T',
'date_time_js' => 'Do MMMM YYYY um HH:mm:ss',
'date_time_fns' => 'dd. MMM. yyyy um HH:mm:ss',
'date_time_fns_short' => 'MMMM do, yyyy @ HH:mm',
'date_time_fns_short' => 'dd. MMM. yyyy um HH:mm',
// 'specific_day' => '%e %B %Y',
'specific_day_js' => 'D. MMMM YYYY',

View File

@ -42,7 +42,7 @@ return [
'fatal_error' => 'Es gab einen fatalen Fehler. Bitte überprüfen Sie die Logdateien in "storage/logs" oder verwenden Sie "docker logs -f [container]", um zu sehen, was vor sich geht.',
'maintenance_mode' => 'Firefly III ist im Wartungsmodus.',
'be_right_back' => 'Gleich wieder zurück!',
'check_back' => 'Firefly III is down for some necessary maintenance. Please check back in a second. If you happen to see this message on the demo site, just wait a few minutes. The database is reset every few hours.',
'check_back' => '',
'error_occurred' => 'Hoppla! Ein Fehler ist aufgetreten.',
'db_error_occurred' => 'Hoppla! Ein Datenbankfehler ist aufgetreten.',
'error_not_recoverable' => 'Leider konnte dieser Fehler nicht wiederhergestellt werden :(. Firefly III ist kaputt. Der Fehler ist:',

View File

@ -113,7 +113,7 @@ return [
'two_factor_forgot' => 'Ich kann keine 2FA-Codes generieren.',
'two_factor_lost_header' => 'Haben Sie ihre Zwei-Faktor-Authentifizierung verloren?',
'two_factor_lost_intro' => 'Wenn Sie auch Ihre Sicherungsschlüssel verloren haben, haben Sie Pech. Dies ist nichts, was Sie über die Weboberfläche beheben können. Sie haben jedoch zwei Möglichkeiten.',
'two_factor_lost_fix_self' => 'If you run your own instance of Firefly III, read <a href="https://docs.firefly-iii.org/references/faq/firefly-iii/using/#i-lost-my-2fa-token-generator-or-2fa-has-stopped-working">this entry in the FAQ</a> for instructions.',
'two_factor_lost_fix_self' => 'Wenn Sie Ihre eigene Instanz von Firefly III betreiben, lesen Sie <a href="https://docs.firefly-iii.org/references/faq/firefly-iii/using/#i-lost-my-2fa-token-generator-or-2fa-has-stopped-working>diesen Eintrag im FAQ</a> für Anweisungen.',
'two_factor_lost_fix_owner' => 'Ansonsten, mailen Sie dem Inhaber der Website, <a href="mailto::site_owner">:site_owner</a> und bitten Sie ihn, Ihre Zwei-Faktor Authentifizierung zurückzusetzen.',
'mfa_backup_code' => 'Sie haben sich mit einem Sicherungsschlüssel bei Firefly III angemeldet. Dieser kann nun nicht mehr verwendet werden, also streichen Sie ihn aus Ihrer Liste.',
'pref_two_factor_new_backup_codes' => 'Neue Sicherungsschlüssel abrufen',
@ -317,8 +317,8 @@ return [
'update_new_version_alert' => 'Eine neue Version von Firefly III ist verfügbar. Sie verwenden :your_version, die neueste Version ist :new_version, die am :date veröffentlicht wurde.',
'update_version_beta' => 'Seien Sie vorsichtig bei der Verwendung dieser BETA-Version. Sie könnte noch Fehler enthaltern.',
'update_version_alpha' => 'Seien Sie vorsichtig bei der Verwendung dieser APLPHA-Version. Sie kann Fehler enthaltern.',
'update_current_dev_older' => 'You are running development release ":version", which is older than the latest release :new_version. Please update!',
'update_current_dev_newer' => 'You are running development release ":version", which is newer than the latest release :new_version.',
'update_current_dev_older' => 'Sie verwenden die Entwicklungsversion „:version”, die älter ist als die neueste Version :new_version. Bitte aktualisieren Sie!',
'update_current_dev_newer' => 'Sie verwenden die Entwicklungsversion „:version”, die neuer ist als die letzte Version :new_version.',
'update_current_version_alert' => 'Sie verwenden Version :version. Dies ist die neueste verfügbare Version.',
'update_newer_version_alert' => 'Sie verwenden :your_version. Ihre Version ist neuer als die neueste Version (:new_version).',
'update_check_error' => 'Bei der Suche nach Aktualisierungen ist ein Fehler aufgetreten: :error',
@ -896,12 +896,12 @@ return [
'rule_trigger_budget_is' => 'Budget ist „:trigger_value”',
'rule_trigger_tag_is_choice' => 'Irgendein Schlagwort lautet..',
'rule_trigger_tag_is' => 'Irgendein Schlagwort lautet ":trigger_value"',
'rule_trigger_tag_contains_choice' => 'Any tag contains..',
'rule_trigger_tag_contains' => 'Any tag contains ":trigger_value"',
'rule_trigger_tag_ends_choice' => 'Any tag ends with..',
'rule_trigger_tag_ends' => 'Any tag ends with ":trigger_value"',
'rule_trigger_tag_starts_choice' => 'Any tag starts with..',
'rule_trigger_tag_starts' => 'Any tag starts with ":trigger_value"',
'rule_trigger_tag_contains_choice' => 'Beliebiges Schlagwort enthält …',
'rule_trigger_tag_contains' => 'Beliebiges Schlagwort enthält „:trigger_value”',
'rule_trigger_tag_ends_choice' => 'Beliebiges Schlagwort endet auf ...',
'rule_trigger_tag_ends' => 'Beliebiges Schlagwort endet auf „:trigger_value”',
'rule_trigger_tag_starts_choice' => 'Beliebiges Schlagwort beginnt mit ...',
'rule_trigger_tag_starts' => 'Beliebiges Schlagwort beginnt mit „:trigger_value”',
'rule_trigger_currency_is_choice' => 'Buchungswährung ist..',
'rule_trigger_currency_is' => 'Buchungswährung ist „:trigger_value”',
'rule_trigger_foreign_currency_is_choice' => 'Fremdwährung der Buchung ist..',
@ -1286,8 +1286,8 @@ return [
'rule_action_append_notes_to_descr' => 'Notizen an die Beschreibung anhängen',
'rule_action_move_descr_to_notes' => 'Notizen durch die Beschreibung ersetzen',
'rule_action_move_notes_to_descr' => 'Beschreibung durch die Notizen ersetzen',
'rule_action_set_amount_choice' => 'Set amount to ..',
'rule_action_set_amount' => 'Set amount to ":action_value"',
'rule_action_set_amount_choice' => 'Betrag festlegen auf …',
'rule_action_set_amount' => 'Betrag festlegen auf „:action_value”',
'rule_action_set_destination_to_cash_choice' => 'Zielkonto auf (Bargeld) setzen',
'rule_action_set_source_to_cash_choice' => 'Quellkonto auf (Bargeld) setzen',
'rulegroup_for_bills_title' => 'Regelgruppe für Rechnungen',
@ -1588,8 +1588,8 @@ return [
'submission_options' => 'Übermittlungsoptionen',
'apply_rules_checkbox' => 'Regeln anwenden',
'fire_webhooks_checkbox' => 'Webhooks abfeuern',
'select_source_account' => 'Please select or type a valid source account name',
'select_dest_account' => 'Please select or type a valid destination account name',
'select_source_account' => 'Bitte einen gültigen Quellkontonamen auswählen oder eingeben',
'select_dest_account' => 'Bitte einen gültigen Zielkontonamen auswählen oder eingeben',
// convert stuff:
'convert_is_already_type_Withdrawal' => 'Diese Buchung ist bereits eine Ausgabe',
@ -2461,7 +2461,7 @@ return [
'block_code_bounced' => 'E-Mail-Nachricht(en) wurden abgewiesen',
'block_code_expired' => 'Demo-Konto abgelaufen',
'no_block_code' => 'Kein Grund für Block oder Benutzer nicht blockiert',
'demo_user_export' => 'The demo user cannot export data',
'demo_user_export' => 'Der Demo-Benutzer kann keine Daten exportieren',
'block_code_email_changed' => 'Der Benutzer hat die neue E-Mail-Adresse noch nicht bestätigt',
'admin_update_email' => 'Im Gegensatz zur Profilseite wird der Benutzer NICHT benachrichtigt, dass seine E-Mail-Adresse geändert wurde!',
'update_user' => 'Benutzer aktualisieren',
@ -2770,7 +2770,7 @@ return [
'ale_action_add_to_piggy' => 'Sparschwein',
'ale_action_remove_from_piggy' => 'Sparschwein',
'ale_action_add_tag' => 'Schlagwort hinzugefügt',
'ale_action_update_amount' => 'Updated amount',
'ale_action_update_amount' => 'Betrag aktualisiert',
// dashboard
'enable_auto_convert' => 'Währungsumrechnung aktivieren',

View File

@ -70,5 +70,5 @@ return [
'cannot_find_budget' => 'Firefly III kann kein Budget ":name" finden',
'cannot_find_category' => 'Firefly III kann die Kategorie ":name" nicht finden',
'cannot_set_budget' => 'Firefly III kann das Budget ":name" nicht auf eine Buchung vom Typ ":type" setzen',
'journal_invalid_amount' => 'Firefly III can\'t set amount ":amount" because it is not a valid number.',
'journal_invalid_amount' => 'Firefly III kann den Betrag ":amount" nicht festlegen, da es sich nicht um eine gültige Zahl handelt.',
];

View File

@ -55,11 +55,11 @@ return [
'reconciled_forbidden_field' => 'Diese Buchung ist bereits abgeglichen, Sie können das „:field” nicht ändern',
'deleted_user' => 'Aufgrund von Sicherheitsbeschränkungen ist eine Registrierung mit dieser E-Mail-Adresse nicht zugelassen.',
'rule_trigger_value' => 'Dieser Wert ist für den ausgewählten Auslöser ungültig.',
'rule_action_expression' => 'Invalid expression. :error',
'rule_action_expression' => 'Ungültiger Ausdruck :error',
'rule_action_value' => 'Dieser Wert ist für die gewählte Aktion ungültig.',
'file_already_attached' => 'Die hochgeladene Datei „:name” ist diesem Objekt bereits angehängt.',
'file_attached' => 'Datei „:name” erfolgreich hochgeladen.',
'file_zero' => 'The file is zero bytes in size.',
'file_zero' => 'Die Datei hat eine Größe von null Bytes.',
'must_exist' => 'Die ID in Feld :attribute existiert nicht in der Datenbank.',
'all_accounts_equal' => 'Alle Konten in diesem Feld müssen identisch sein.',
'group_title_mandatory' => 'Ein Gruppentitel ist zwingend erforderlich, wenn mehr als eine Buchung vorliegt.',
@ -197,7 +197,7 @@ return [
*
*/
'secure_password' => 'This is not a secure password. Please try again. For more information, visit https://bit.ly/FF3-password',
'secure_password' => 'Dies ist ein unsicheres Passwort. Bitte versuchen Sie es erneut. Weitere Informationen finden Sie unter https://bit.ly/FF3-password',
'valid_recurrence_rep_type' => 'Ungültige Wiederholungsart für Daueraufträge.',
'valid_recurrence_rep_moment' => 'Ungültiges Wiederholungsmoment für diese Art der Wiederholung.',
'invalid_account_info' => 'Ungültige Kontodaten.',

View File

@ -103,7 +103,7 @@ Breadcrumbs::for(
Breadcrumbs::for(
'accounts.show',
static function (Generator $breadcrumbs, Account $account, Carbon $start = null, Carbon $end = null): void {
static function (Generator $breadcrumbs, Account $account, ?Carbon $start = null, ?Carbon $end = null): void {
$what = config('firefly.shortNamesByFullName.'.$account->accountType->type);
$breadcrumbs->parent('accounts.index', $what);
@ -438,7 +438,7 @@ Breadcrumbs::for(
Breadcrumbs::for(
'budgets.no-budget',
static function (Generator $breadcrumbs, Carbon $start = null, Carbon $end = null): void {
static function (Generator $breadcrumbs, ?Carbon $start = null, ?Carbon $end = null): void {
$breadcrumbs->parent('budgets.index');
$breadcrumbs->push(trans('firefly.journals_without_budget'), route('budgets.no-budget'));
if (null !== $start && null !== $end) {
@ -526,7 +526,7 @@ Breadcrumbs::for(
Breadcrumbs::for(
'categories.show',
static function (Generator $breadcrumbs, Category $category, Carbon $start = null, Carbon $end = null): void {
static function (Generator $breadcrumbs, Category $category, ?Carbon $start = null, ?Carbon $end = null): void {
$breadcrumbs->parent('categories.index');
$breadcrumbs->push(limitStringLength($category->name), route('categories.show', [$category->id]));
if (null !== $start && null !== $end) {
@ -553,7 +553,7 @@ Breadcrumbs::for(
Breadcrumbs::for(
'categories.no-category',
static function (Generator $breadcrumbs, Carbon $start = null, Carbon $end = null): void {
static function (Generator $breadcrumbs, ?Carbon $start = null, ?Carbon $end = null): void {
$breadcrumbs->parent('categories.index');
$breadcrumbs->push(trans('firefly.journals_without_category'), route('categories.no-category'));
if (null !== $start && null !== $end) {
@ -902,7 +902,7 @@ Breadcrumbs::for(
Breadcrumbs::for(
'rules.create',
static function (Generator $breadcrumbs, RuleGroup $ruleGroup = null): void {
static function (Generator $breadcrumbs, ?RuleGroup $ruleGroup = null): void {
$breadcrumbs->parent('rules.index');
if (null === $ruleGroup) {
$breadcrumbs->push(trans('firefly.make_new_rule_no_group'), route('rules.create'));
@ -1031,7 +1031,7 @@ Breadcrumbs::for(
Breadcrumbs::for(
'tags.show',
static function (Generator $breadcrumbs, Tag $tag, Carbon $start = null, Carbon $end = null): void {
static function (Generator $breadcrumbs, Tag $tag, ?Carbon $start = null, ?Carbon $end = null): void {
$breadcrumbs->parent('tags.index');
$breadcrumbs->push($tag->tag, route('tags.show', [$tag->id, $start, $end]));
@ -1062,7 +1062,7 @@ Breadcrumbs::for(
Breadcrumbs::for(
'transactions.index',
static function (Generator $breadcrumbs, string $what, Carbon $start = null, Carbon $end = null): void {
static function (Generator $breadcrumbs, string $what, ?Carbon $start = null, ?Carbon $end = null): void {
$breadcrumbs->parent('home');
$breadcrumbs->push(trans('breadcrumbs.'.$what.'_list'), route('transactions.index', [$what]));