mirror of
https://github.com/firefly-iii/firefly-iii.git
synced 2025-02-25 18:45:27 -06:00
Merge branch 'develop' of github.com:firefly-iii/firefly-iii into develop
# Conflicts: # app/Transformers/CurrencyTransformer.php # app/Transformers/V2/CurrencyTransformer.php
This commit is contained in:
commit
19dfcf7139
12
.ci/php-cs-fixer/composer.lock
generated
12
.ci/php-cs-fixer/composer.lock
generated
@ -406,16 +406,16 @@
|
||||
},
|
||||
{
|
||||
"name": "friendsofphp/php-cs-fixer",
|
||||
"version": "v3.68.0",
|
||||
"version": "v3.68.1",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/PHP-CS-Fixer/PHP-CS-Fixer.git",
|
||||
"reference": "73f78d8b2b34a0dd65fedb434a602ee4c2c8ad4c"
|
||||
"reference": "b9db2b2ea3cdba7201067acee46f984ef2397cff"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/PHP-CS-Fixer/PHP-CS-Fixer/zipball/73f78d8b2b34a0dd65fedb434a602ee4c2c8ad4c",
|
||||
"reference": "73f78d8b2b34a0dd65fedb434a602ee4c2c8ad4c",
|
||||
"url": "https://api.github.com/repos/PHP-CS-Fixer/PHP-CS-Fixer/zipball/b9db2b2ea3cdba7201067acee46f984ef2397cff",
|
||||
"reference": "b9db2b2ea3cdba7201067acee46f984ef2397cff",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@ -497,7 +497,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.68.0"
|
||||
"source": "https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/tree/v3.68.1"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
@ -505,7 +505,7 @@
|
||||
"type": "github"
|
||||
}
|
||||
],
|
||||
"time": "2025-01-13T17:01:01+00:00"
|
||||
"time": "2025-01-17T09:20:36+00:00"
|
||||
},
|
||||
{
|
||||
"name": "psr/container",
|
||||
|
@ -234,7 +234,7 @@ abstract class Controller extends BaseController
|
||||
final protected function jsonApiList(string $key, LengthAwarePaginator $paginator, AbstractTransformer $transformer): array
|
||||
{
|
||||
$manager = new Manager();
|
||||
$baseUrl = sprintf('%s/api/v1/',request()->getSchemeAndHttpHost());
|
||||
$baseUrl = sprintf('%s/api/v1/', request()->getSchemeAndHttpHost());
|
||||
|
||||
// TODO add stuff to path?
|
||||
|
||||
|
@ -58,6 +58,7 @@ class ShowController extends Controller
|
||||
|
||||
return response()
|
||||
->api($this->jsonApiObject(self::RESOURCE_KEY, $userGroup, $transformer))
|
||||
->header('Content-Type', self::CONTENT_TYPE);
|
||||
->header('Content-Type', self::CONTENT_TYPE)
|
||||
;
|
||||
}
|
||||
}
|
||||
|
@ -1,4 +1,5 @@
|
||||
<?php
|
||||
|
||||
/*
|
||||
* UpdateController.php
|
||||
* Copyright (c) 2025 james@firefly-iii.org.
|
||||
@ -51,20 +52,20 @@ class UpdateController extends Controller
|
||||
);
|
||||
}
|
||||
|
||||
public function update(UpdateRequest $request, UserGroup $userGroup): JsonResponse {
|
||||
public function update(UpdateRequest $request, UserGroup $userGroup): JsonResponse
|
||||
{
|
||||
app('log')->debug(sprintf('Now in %s', __METHOD__));
|
||||
$data = $request->getData();
|
||||
$userGroup = $this->repository->update($userGroup, $data);
|
||||
$data = $request->getData();
|
||||
$userGroup = $this->repository->update($userGroup, $data);
|
||||
$userGroup->refresh();
|
||||
app('preferences')->mark();
|
||||
|
||||
$transformer = new UserGroupTransformer();
|
||||
$transformer = new UserGroupTransformer();
|
||||
$transformer->setParameters($this->parameters);
|
||||
|
||||
return response()
|
||||
->api($this->jsonApiObject(self::RESOURCE_KEY, $userGroup, $transformer))
|
||||
->header('Content-Type', self::CONTENT_TYPE)
|
||||
;
|
||||
;
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -55,7 +55,7 @@ class DateRequest extends FormRequest
|
||||
return [
|
||||
'start' => $start,
|
||||
'end' => $end,
|
||||
'date' => $this->getCarbonDate('date'),
|
||||
'date' => $this->getCarbonDate('date'),
|
||||
];
|
||||
}
|
||||
|
||||
|
@ -25,7 +25,6 @@ declare(strict_types=1);
|
||||
namespace FireflyIII\Api\V1\Requests\Models\UserGroup;
|
||||
|
||||
use FireflyIII\Models\UserGroup;
|
||||
use FireflyIII\Rules\UserGroup\UniqueTitle;
|
||||
use FireflyIII\Support\Request\ChecksLogin;
|
||||
use FireflyIII\Support\Request\ConvertsDataTypes;
|
||||
use Illuminate\Foundation\Http\FormRequest;
|
||||
@ -41,7 +40,7 @@ class UpdateRequest extends FormRequest
|
||||
public function getData(): array
|
||||
{
|
||||
$fields = [
|
||||
'title' => ['title', 'convertString'],
|
||||
'title' => ['title', 'convertString'],
|
||||
'native_currency_id' => ['native_currency_id', 'convertInteger'],
|
||||
'native_currency_code' => ['native_currency_code', 'convertString'],
|
||||
];
|
||||
@ -58,7 +57,7 @@ class UpdateRequest extends FormRequest
|
||||
$userGroup = $this->route()->parameter('userGroup');
|
||||
|
||||
return [
|
||||
'title' => ['required','min:1','max:255'],
|
||||
'title' => ['required', 'min:1', 'max:255'],
|
||||
'native_currency_id' => 'exists:transaction_currencies,id',
|
||||
'native_currency_code' => 'exists:transaction_currencies,code',
|
||||
];
|
||||
|
@ -66,7 +66,7 @@ class ShowController extends Controller
|
||||
$default = 1 === $group->pivot->group_default;
|
||||
}
|
||||
$currency->userGroupEnabled = $enabled;
|
||||
$currency->userGroupNative = $default;
|
||||
$currency->userGroupNative = $default;
|
||||
|
||||
|
||||
$transformer = new CurrencyTransformer();
|
||||
|
@ -74,7 +74,7 @@ class IndexController extends Controller
|
||||
// order so default and enabled are on top:
|
||||
$collection = $collection->sortBy(
|
||||
static function (TransactionCurrency $currency) {
|
||||
$native = true === $currency->userGroupNative ? 0 : 1;
|
||||
$native = true === $currency->userGroupNative ? 0 : 1;
|
||||
$enabled = true === $currency->userGroupEnabled ? 0 : 1;
|
||||
|
||||
return sprintf('%s-%s-%s', $native, $enabled, $currency->code);
|
||||
|
@ -93,6 +93,7 @@ class InterestingMessage
|
||||
|
||||
return null !== $transactionGroupId && null !== $message;
|
||||
}
|
||||
|
||||
private function userGroupMessage(Request $request): bool
|
||||
{
|
||||
// get parameters from request.
|
||||
@ -153,23 +154,24 @@ class InterestingMessage
|
||||
{
|
||||
// get parameters from request.
|
||||
$userGroupId = $request->get('user_group_id');
|
||||
$message = $request->get('message');
|
||||
$message = $request->get('message');
|
||||
|
||||
/** @var User $user */
|
||||
$user = auth()->user();
|
||||
$user = auth()->user();
|
||||
|
||||
$userGroup = UserGroup::find($userGroupId);
|
||||
$valid = false;
|
||||
$userGroup = UserGroup::find($userGroupId);
|
||||
$valid = false;
|
||||
$memberships = $user->groupMemberships()->get();
|
||||
|
||||
/** @var GroupMembership $membership */
|
||||
foreach($memberships as $membership) {
|
||||
if($membership->userGroup->id === $userGroup->id) {
|
||||
foreach ($memberships as $membership) {
|
||||
if ($membership->userGroup->id === $userGroup->id) {
|
||||
$valid = true;
|
||||
|
||||
break;
|
||||
}
|
||||
}
|
||||
if(false === $valid) {
|
||||
if (false === $valid) {
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -37,7 +37,7 @@ class TransactionCurrency extends Model
|
||||
use ReturnsIntegerIdTrait;
|
||||
use SoftDeletes;
|
||||
|
||||
public ?bool $userGroupNative = null;
|
||||
public ?bool $userGroupNative = null;
|
||||
public ?bool $userGroupEnabled = null;
|
||||
protected $casts
|
||||
= [
|
||||
@ -73,8 +73,8 @@ class TransactionCurrency extends Model
|
||||
public function refreshForUser(User $user): void
|
||||
{
|
||||
$current = $user->userGroup->currencies()->where('transaction_currencies.id', $this->id)->first();
|
||||
$native = app('amount')->getDefaultCurrencyByUserGroup($user->userGroup);
|
||||
$this->userGroupNative = $native->id === $this->id;
|
||||
$native = app('amount')->getDefaultCurrencyByUserGroup($user->userGroup);
|
||||
$this->userGroupNative = $native->id === $this->id;
|
||||
$this->userGroupEnabled = null !== $current;
|
||||
}
|
||||
|
||||
|
@ -50,7 +50,7 @@ class UserGroupRepository implements UserGroupRepositoryInterface
|
||||
/** @var GroupMembership $membership */
|
||||
foreach ($memberships as $membership) {
|
||||
/** @var null|User $user */
|
||||
$user = $membership->user()->first();
|
||||
$user = $membership->user()->first();
|
||||
if (null === $user) {
|
||||
continue;
|
||||
}
|
||||
@ -79,8 +79,8 @@ class UserGroupRepository implements UserGroupRepositoryInterface
|
||||
// all users are now moved away from user group.
|
||||
// time to DESTROY all objects.
|
||||
// we have to do this one by one to trigger the necessary observers :(
|
||||
$objects = ['availableBudgets', 'bills', 'budgets', 'categories', 'currencyExchangeRates', 'objectGroups',
|
||||
'recurrences', 'rules', 'ruleGroups', 'tags', 'transactionGroups', 'transactionJournals', 'piggyBanks', 'accounts', 'webhooks',
|
||||
$objects = ['availableBudgets', 'bills', 'budgets', 'categories', 'currencyExchangeRates', 'objectGroups',
|
||||
'recurrences', 'rules', 'ruleGroups', 'tags', 'transactionGroups', 'transactionJournals', 'piggyBanks', 'accounts', 'webhooks',
|
||||
];
|
||||
foreach ($objects as $object) {
|
||||
foreach ($userGroup->{$object}()->get() as $item) { // @phpstan-ignore-line
|
||||
@ -107,7 +107,7 @@ class UserGroupRepository implements UserGroupRepositoryInterface
|
||||
/** @var null|UserGroup $group */
|
||||
$group = $membership->userGroup()->first();
|
||||
if (null !== $group) {
|
||||
$groupId = $group->id;
|
||||
$groupId = $group->id;
|
||||
if (in_array($groupId, array_keys($set), true)) {
|
||||
continue;
|
||||
}
|
||||
@ -132,14 +132,14 @@ class UserGroupRepository implements UserGroupRepositoryInterface
|
||||
while ($exists && $loop < 10) {
|
||||
$existingGroup = $this->findByName($groupName);
|
||||
if (null === $existingGroup) {
|
||||
$exists = false;
|
||||
$exists = false;
|
||||
|
||||
/** @var null|UserGroup $existingGroup */
|
||||
$existingGroup = $this->store(['user' => $user, 'title' => $groupName]);
|
||||
}
|
||||
if (null !== $existingGroup) {
|
||||
// group already exists
|
||||
$groupName = sprintf('%s-%s', $user->email, substr(sha1(rand(1000, 9999) . microtime()), 0, 4));
|
||||
$groupName = sprintf('%s-%s', $user->email, substr(sha1(rand(1000, 9999).microtime()), 0, 4));
|
||||
}
|
||||
++$loop;
|
||||
}
|
||||
@ -160,7 +160,7 @@ class UserGroupRepository implements UserGroupRepositoryInterface
|
||||
$data['user'] = $this->user;
|
||||
|
||||
/** @var UserGroupFactory $factory */
|
||||
$factory = app(UserGroupFactory::class);
|
||||
$factory = app(UserGroupFactory::class);
|
||||
|
||||
return $factory->create($data);
|
||||
}
|
||||
@ -187,7 +187,7 @@ class UserGroupRepository implements UserGroupRepositoryInterface
|
||||
return $this->user->groupMemberships()->where('user_group_id', $groupId)->get();
|
||||
}
|
||||
|
||||
public function setUser(null | Authenticatable | User $user): void
|
||||
public function setUser(null|Authenticatable|User $user): void
|
||||
{
|
||||
app('log')->debug(sprintf('Now in %s', __METHOD__));
|
||||
if ($user instanceof User) {
|
||||
@ -199,9 +199,10 @@ class UserGroupRepository implements UserGroupRepositoryInterface
|
||||
{
|
||||
$userGroup->title = $data['title'];
|
||||
$userGroup->save();
|
||||
$currency = null;
|
||||
$currency = null;
|
||||
|
||||
/** @var CurrencyRepositoryInterface $repository */
|
||||
$repository = app(CurrencyRepositoryInterface::class);
|
||||
$repository = app(CurrencyRepositoryInterface::class);
|
||||
|
||||
if (array_key_exists('native_currency_code', $data)) {
|
||||
$repository->setUser($this->user);
|
||||
@ -227,11 +228,11 @@ class UserGroupRepository implements UserGroupRepositoryInterface
|
||||
*/
|
||||
public function updateMembership(UserGroup $userGroup, array $data): UserGroup
|
||||
{
|
||||
$owner = UserRole::whereTitle(UserRoleEnum::OWNER)->first();
|
||||
$owner = UserRole::whereTitle(UserRoleEnum::OWNER)->first();
|
||||
app('log')->debug('in update membership');
|
||||
|
||||
/** @var null|User $user */
|
||||
$user = null;
|
||||
$user = null;
|
||||
if (array_key_exists('id', $data)) {
|
||||
/** @var null|User $user */
|
||||
$user = User::find($data['id']);
|
||||
@ -270,8 +271,9 @@ class UserGroupRepository implements UserGroupRepositoryInterface
|
||||
if ($membershipCount > 1) {
|
||||
// group has multiple members. How many are owner, except the user we're editing now?
|
||||
$ownerCount = $userGroup->groupMemberships()
|
||||
->where('user_role_id', $owner->id)
|
||||
->where('user_id', '!=', $user->id)->count();
|
||||
->where('user_role_id', $owner->id)
|
||||
->where('user_id', '!=', $user->id)->count()
|
||||
;
|
||||
// if there are no other owners and the current users does not get or keep the owner role, refuse.
|
||||
if (
|
||||
0 === $ownerCount
|
||||
|
@ -180,11 +180,11 @@ class CurrencyRepository implements CurrencyRepositoryInterface
|
||||
$hasId = $local->contains(static function (TransactionCurrency $entry) use ($current) {
|
||||
return $entry->id === $current->id;
|
||||
});
|
||||
$isNative = $local->contains(static function (TransactionCurrency $entry) use ($current) {
|
||||
$isNative = $local->contains(static function (TransactionCurrency $entry) use ($current) {
|
||||
return 1 === (int) $entry->pivot->group_default && $entry->id === $current->id;
|
||||
});
|
||||
$current->userGroupEnabled = $hasId;
|
||||
$current->userGroupNative = $isNative;
|
||||
$current->userGroupNative = $isNative;
|
||||
|
||||
return $current;
|
||||
});
|
||||
@ -195,7 +195,7 @@ class CurrencyRepository implements CurrencyRepositoryInterface
|
||||
$all = $this->userGroup->currencies()->orderBy('code', 'ASC')->withPivot(['group_default'])->get();
|
||||
$all->map(static function (TransactionCurrency $current) { // @phpstan-ignore-line
|
||||
$current->userGroupEnabled = true;
|
||||
$current->userGroupNative = 1 === (int) $current->pivot->group_default;
|
||||
$current->userGroupNative = 1 === (int) $current->pivot->group_default;
|
||||
|
||||
return $current;
|
||||
});
|
||||
|
@ -51,7 +51,7 @@ class CurrencyUpdateService
|
||||
$currency->decimal_places = $data['decimal_places'];
|
||||
}
|
||||
$currency->userGroupEnabled = null;
|
||||
$currency->userGroupNative = null;
|
||||
$currency->userGroupNative = null;
|
||||
$currency->save();
|
||||
|
||||
return $currency;
|
||||
|
@ -175,9 +175,10 @@ class Amount
|
||||
{
|
||||
return $this->getNativeCurrencyByUserGroup($userGroup);
|
||||
}
|
||||
|
||||
public function getNativeCurrencyByUserGroup(UserGroup $userGroup): TransactionCurrency
|
||||
{
|
||||
$cache = new CacheProperties();
|
||||
$cache = new CacheProperties();
|
||||
$cache->addProperty('getNativeCurrencyByGroup');
|
||||
$cache->addProperty($userGroup->id);
|
||||
if ($cache->has()) {
|
||||
|
@ -86,8 +86,8 @@ class ExportDataGenerator
|
||||
|
||||
public function __construct()
|
||||
{
|
||||
$this->accounts = new Collection();
|
||||
$this->start = today(config('app.timezone'));
|
||||
$this->accounts = new Collection();
|
||||
$this->start = today(config('app.timezone'));
|
||||
$this->start->subYear();
|
||||
$this->end = today(config('app.timezone'));
|
||||
$this->exportTransactions = false;
|
||||
@ -145,7 +145,7 @@ class ExportDataGenerator
|
||||
*/
|
||||
private function exportAccounts(): string
|
||||
{
|
||||
$header = [
|
||||
$header = [
|
||||
'user_id',
|
||||
'account_id',
|
||||
'created_at',
|
||||
@ -166,7 +166,7 @@ class ExportDataGenerator
|
||||
];
|
||||
|
||||
/** @var AccountRepositoryInterface $repository */
|
||||
$repository = app(AccountRepositoryInterface::class);
|
||||
$repository = app(AccountRepositoryInterface::class);
|
||||
$repository->setUser($this->user);
|
||||
$allAccounts = $repository->getAccountsByType([]);
|
||||
$records = [];
|
||||
@ -196,7 +196,7 @@ class ExportDataGenerator
|
||||
}
|
||||
|
||||
// load the CSV document from a string
|
||||
$csv = Writer::createFromString();
|
||||
$csv = Writer::createFromString();
|
||||
|
||||
// insert the header
|
||||
try {
|
||||
@ -234,8 +234,8 @@ class ExportDataGenerator
|
||||
/** @var BillRepositoryInterface $repository */
|
||||
$repository = app(BillRepositoryInterface::class);
|
||||
$repository->setUser($this->user);
|
||||
$bills = $repository->getBills();
|
||||
$header = [
|
||||
$bills = $repository->getBills();
|
||||
$header = [
|
||||
'user_id',
|
||||
'bill_id',
|
||||
'created_at',
|
||||
@ -249,7 +249,7 @@ class ExportDataGenerator
|
||||
'skip',
|
||||
'active',
|
||||
];
|
||||
$records = [];
|
||||
$records = [];
|
||||
|
||||
/** @var Bill $bill */
|
||||
foreach ($bills as $bill) {
|
||||
@ -270,7 +270,7 @@ class ExportDataGenerator
|
||||
}
|
||||
|
||||
// load the CSV document from a string
|
||||
$csv = Writer::createFromString();
|
||||
$csv = Writer::createFromString();
|
||||
|
||||
// insert the header
|
||||
try {
|
||||
@ -300,7 +300,7 @@ class ExportDataGenerator
|
||||
*/
|
||||
private function exportBudgets(): string
|
||||
{
|
||||
$header = [
|
||||
$header = [
|
||||
'user_id',
|
||||
'budget_id',
|
||||
'name',
|
||||
@ -314,9 +314,9 @@ class ExportDataGenerator
|
||||
|
||||
$budgetRepos = app(BudgetRepositoryInterface::class);
|
||||
$budgetRepos->setUser($this->user);
|
||||
$limitRepos = app(BudgetLimitRepositoryInterface::class);
|
||||
$budgets = $budgetRepos->getBudgets();
|
||||
$records = [];
|
||||
$limitRepos = app(BudgetLimitRepositoryInterface::class);
|
||||
$budgets = $budgetRepos->getBudgets();
|
||||
$records = [];
|
||||
|
||||
/** @var Budget $budget */
|
||||
foreach ($budgets as $budget) {
|
||||
@ -339,7 +339,7 @@ class ExportDataGenerator
|
||||
}
|
||||
|
||||
// load the CSV document from a string
|
||||
$csv = Writer::createFromString();
|
||||
$csv = Writer::createFromString();
|
||||
|
||||
// insert the header
|
||||
try {
|
||||
@ -369,10 +369,10 @@ class ExportDataGenerator
|
||||
*/
|
||||
private function exportCategories(): string
|
||||
{
|
||||
$header = ['user_id', 'category_id', 'created_at', 'updated_at', 'name'];
|
||||
$header = ['user_id', 'category_id', 'created_at', 'updated_at', 'name'];
|
||||
|
||||
/** @var CategoryRepositoryInterface $catRepos */
|
||||
$catRepos = app(CategoryRepositoryInterface::class);
|
||||
$catRepos = app(CategoryRepositoryInterface::class);
|
||||
$catRepos->setUser($this->user);
|
||||
|
||||
$records = [];
|
||||
@ -390,7 +390,7 @@ class ExportDataGenerator
|
||||
}
|
||||
|
||||
// load the CSV document from a string
|
||||
$csv = Writer::createFromString();
|
||||
$csv = Writer::createFromString();
|
||||
|
||||
// insert the header
|
||||
try {
|
||||
@ -421,14 +421,14 @@ class ExportDataGenerator
|
||||
private function exportPiggies(): string
|
||||
{
|
||||
/** @var PiggyBankRepositoryInterface $piggyRepos */
|
||||
$piggyRepos = app(PiggyBankRepositoryInterface::class);
|
||||
$piggyRepos = app(PiggyBankRepositoryInterface::class);
|
||||
$piggyRepos->setUser($this->user);
|
||||
|
||||
/** @var AccountRepositoryInterface $accountRepos */
|
||||
$accountRepos = app(AccountRepositoryInterface::class);
|
||||
$accountRepos->setUser($this->user);
|
||||
|
||||
$header = [
|
||||
$header = [
|
||||
'user_id',
|
||||
'piggy_bank_id',
|
||||
'created_at',
|
||||
@ -444,8 +444,8 @@ class ExportDataGenerator
|
||||
'order',
|
||||
'active',
|
||||
];
|
||||
$records = [];
|
||||
$piggies = $piggyRepos->getPiggyBanks();
|
||||
$records = [];
|
||||
$piggies = $piggyRepos->getPiggyBanks();
|
||||
|
||||
/** @var PiggyBank $piggy */
|
||||
foreach ($piggies as $piggy) {
|
||||
@ -470,7 +470,7 @@ class ExportDataGenerator
|
||||
}
|
||||
|
||||
// load the CSV document from a string
|
||||
$csv = Writer::createFromString();
|
||||
$csv = Writer::createFromString();
|
||||
|
||||
// insert the header
|
||||
try {
|
||||
@ -503,7 +503,7 @@ class ExportDataGenerator
|
||||
/** @var RecurringRepositoryInterface $recurringRepos */
|
||||
$recurringRepos = app(RecurringRepositoryInterface::class);
|
||||
$recurringRepos->setUser($this->user);
|
||||
$header = [
|
||||
$header = [
|
||||
// recurrence:
|
||||
'user_id', 'recurrence_id', 'row_contains', 'created_at', 'updated_at', 'type', 'title', 'description', 'first_date', 'repeat_until', 'latest_date', 'repetitions', 'apply_rules', 'active',
|
||||
|
||||
@ -512,8 +512,8 @@ class ExportDataGenerator
|
||||
// transactions + meta:
|
||||
'currency_code', 'foreign_currency_code', 'source_name', 'source_type', 'destination_name', 'destination_type', 'amount', 'foreign_amount', 'category', 'budget', 'piggy_bank', 'tags',
|
||||
];
|
||||
$records = [];
|
||||
$recurrences = $recurringRepos->getAll();
|
||||
$records = [];
|
||||
$recurrences = $recurringRepos->getAll();
|
||||
|
||||
/** @var Recurrence $recurrence */
|
||||
foreach ($recurrences as $recurrence) {
|
||||
@ -546,7 +546,7 @@ class ExportDataGenerator
|
||||
$piggyBankId = $recurringRepos->getPiggyBank($transaction);
|
||||
$tags = $recurringRepos->getTags($transaction);
|
||||
|
||||
$records[] = [
|
||||
$records[] = [
|
||||
// recurrence
|
||||
$this->user->id,
|
||||
$recurrence->id,
|
||||
@ -562,7 +562,7 @@ class ExportDataGenerator
|
||||
}
|
||||
}
|
||||
// load the CSV document from a string
|
||||
$csv = Writer::createFromString();
|
||||
$csv = Writer::createFromString();
|
||||
|
||||
// insert the header
|
||||
try {
|
||||
@ -599,8 +599,8 @@ class ExportDataGenerator
|
||||
'action_type', 'action_value', 'action_order', 'action_active', 'action_stop_processing'];
|
||||
$ruleRepos = app(RuleRepositoryInterface::class);
|
||||
$ruleRepos->setUser($this->user);
|
||||
$rules = $ruleRepos->getAll();
|
||||
$records = [];
|
||||
$rules = $ruleRepos->getAll();
|
||||
$records = [];
|
||||
|
||||
/** @var Rule $rule */
|
||||
foreach ($rules as $rule) {
|
||||
@ -639,7 +639,7 @@ class ExportDataGenerator
|
||||
}
|
||||
|
||||
// load the CSV document from a string
|
||||
$csv = Writer::createFromString();
|
||||
$csv = Writer::createFromString();
|
||||
|
||||
// insert the header
|
||||
try {
|
||||
@ -669,12 +669,12 @@ class ExportDataGenerator
|
||||
*/
|
||||
private function exportTags(): string
|
||||
{
|
||||
$header = ['user_id', 'tag_id', 'created_at', 'updated_at', 'tag', 'date', 'description', 'latitude', 'longitude', 'zoom_level'];
|
||||
$header = ['user_id', 'tag_id', 'created_at', 'updated_at', 'tag', 'date', 'description', 'latitude', 'longitude', 'zoom_level'];
|
||||
|
||||
$tagRepos = app(TagRepositoryInterface::class);
|
||||
$tagRepos->setUser($this->user);
|
||||
$tags = $tagRepos->get();
|
||||
$records = [];
|
||||
$tags = $tagRepos->get();
|
||||
$records = [];
|
||||
|
||||
/** @var Tag $tag */
|
||||
foreach ($tags as $tag) {
|
||||
@ -693,7 +693,7 @@ class ExportDataGenerator
|
||||
}
|
||||
|
||||
// load the CSV document from a string
|
||||
$csv = Writer::createFromString();
|
||||
$csv = Writer::createFromString();
|
||||
|
||||
// insert the header
|
||||
try {
|
||||
@ -732,26 +732,26 @@ class ExportDataGenerator
|
||||
private function exportTransactions(): string
|
||||
{
|
||||
// TODO better place for keys?
|
||||
$header = ['user_id', 'group_id', 'journal_id', 'created_at', 'updated_at', 'group_title', 'type', 'currency_code', 'amount', 'foreign_currency_code', 'foreign_amount', 'native_currency_code', 'native_amount', 'native_foreign_amount', 'description', 'date', 'source_name', 'source_iban', 'source_type', 'destination_name', 'destination_iban', 'destination_type', 'reconciled', 'category', 'budget', 'bill', 'tags', 'notes'];
|
||||
$header = ['user_id', 'group_id', 'journal_id', 'created_at', 'updated_at', 'group_title', 'type', 'currency_code', 'amount', 'foreign_currency_code', 'foreign_amount', 'native_currency_code', 'native_amount', 'native_foreign_amount', 'description', 'date', 'source_name', 'source_iban', 'source_type', 'destination_name', 'destination_iban', 'destination_type', 'reconciled', 'category', 'budget', 'bill', 'tags', 'notes'];
|
||||
|
||||
$metaFields = config('firefly.journal_meta_fields');
|
||||
$header = array_merge($header, $metaFields);
|
||||
$default = Amount::getDefaultCurrency();
|
||||
|
||||
$collector = app(GroupCollectorInterface::class);
|
||||
$collector = app(GroupCollectorInterface::class);
|
||||
$collector->setUser($this->user);
|
||||
$collector->setRange($this->start, $this->end)->withAccountInformation()->withCategoryInformation()->withBillInformation()->withBudgetInformation()->withTagInformation()->withNotes();
|
||||
if (0 !== $this->accounts->count()) {
|
||||
$collector->setAccounts($this->accounts);
|
||||
}
|
||||
|
||||
$journals = $collector->getExtractedJournals();
|
||||
$journals = $collector->getExtractedJournals();
|
||||
|
||||
// get repository for meta data:
|
||||
$repository = app(TransactionGroupRepositoryInterface::class);
|
||||
$repository->setUser($this->user);
|
||||
|
||||
$records = [];
|
||||
$records = [];
|
||||
|
||||
/** @var array $journal */
|
||||
foreach ($journals as $journal) {
|
||||
@ -776,7 +776,7 @@ class ExportDataGenerator
|
||||
$nativeForeignAmount = null === $journal['native_foreign_amount'] ? null : Steam::bcround(Steam::negative($journal['native_foreign_amount'], $default->decimal_places));
|
||||
}
|
||||
|
||||
$records[] = [
|
||||
$records[] = [
|
||||
$journal['user_id'], $journal['transaction_group_id'], $journal['transaction_journal_id'], $journal['created_at']->toAtomString(), $journal['updated_at']->toAtomString(), $journal['transaction_group_title'], $journal['transaction_type_type'],
|
||||
// amounts and currencies
|
||||
$journal['currency_code'], $amount, $journal['foreign_currency_code'], $foreignAmount, $default->code, $nativeAmount, $nativeForeignAmount,
|
||||
@ -801,7 +801,7 @@ class ExportDataGenerator
|
||||
}
|
||||
|
||||
// load the CSV document from a string
|
||||
$csv = Writer::createFromString();
|
||||
$csv = Writer::createFromString();
|
||||
|
||||
// insert the header
|
||||
try {
|
||||
|
@ -82,7 +82,7 @@ class AccountTransformer extends AbstractTransformer
|
||||
[$openingBalance, $nativeOpeningBalance, $openingBalanceDate] = $this->getOpeningBalance($account, $accountType, $convertToNative);
|
||||
[$interest, $interestPeriod] = $this->getInterest($account, $accountType);
|
||||
|
||||
$default = $this->default;
|
||||
$default = $this->default;
|
||||
if (!$this->convertToNative) {
|
||||
// reset default currency to NULL, not interesting.
|
||||
$default = null;
|
||||
|
@ -62,8 +62,8 @@ class AvailableBudgetTransformer extends AbstractTransformer
|
||||
$this->repository->setUser($availableBudget->user);
|
||||
|
||||
$currency = $availableBudget->transactionCurrency;
|
||||
$default = $this->default;
|
||||
if(!$this->convertToNative) {
|
||||
$default = $this->default;
|
||||
if (!$this->convertToNative) {
|
||||
$default = null;
|
||||
}
|
||||
$data = [
|
||||
@ -87,7 +87,7 @@ class AvailableBudgetTransformer extends AbstractTransformer
|
||||
'links' => [
|
||||
[
|
||||
'rel' => 'self',
|
||||
'uri' => '/available_budgets/' . $availableBudget->id,
|
||||
'uri' => '/available_budgets/'.$availableBudget->id,
|
||||
],
|
||||
],
|
||||
];
|
||||
|
@ -64,23 +64,23 @@ class BillTransformer extends AbstractTransformer
|
||||
*/
|
||||
public function transform(Bill $bill): array
|
||||
{
|
||||
$default = $this->parameters->get('defaultCurrency') ?? $this->default;
|
||||
$default = $this->parameters->get('defaultCurrency') ?? $this->default;
|
||||
|
||||
$paidData = $this->paidData($bill);
|
||||
$lastPaidDate = $this->getLastPaidDate($paidData);
|
||||
$start = $this->parameters->get('start') ?? today()->subYears(10);
|
||||
$end = $this->parameters->get('end') ?? today()->addYears(10);
|
||||
$payDates = $this->calculator->getPayDates($start, $end, $bill->date, $bill->repeat_freq, $bill->skip, $lastPaidDate);
|
||||
$currency = $bill->transactionCurrency;
|
||||
$notes = $this->repository->getNoteText($bill);
|
||||
$notes = '' === $notes ? null : $notes;
|
||||
$objectGroupId = null;
|
||||
$objectGroupOrder = null;
|
||||
$objectGroupTitle = null;
|
||||
$paidData = $this->paidData($bill);
|
||||
$lastPaidDate = $this->getLastPaidDate($paidData);
|
||||
$start = $this->parameters->get('start') ?? today()->subYears(10);
|
||||
$end = $this->parameters->get('end') ?? today()->addYears(10);
|
||||
$payDates = $this->calculator->getPayDates($start, $end, $bill->date, $bill->repeat_freq, $bill->skip, $lastPaidDate);
|
||||
$currency = $bill->transactionCurrency;
|
||||
$notes = $this->repository->getNoteText($bill);
|
||||
$notes = '' === $notes ? null : $notes;
|
||||
$objectGroupId = null;
|
||||
$objectGroupOrder = null;
|
||||
$objectGroupTitle = null;
|
||||
$this->repository->setUser($bill->user);
|
||||
|
||||
/** @var null|ObjectGroup $objectGroup */
|
||||
$objectGroup = $bill->objectGroups->first();
|
||||
$objectGroup = $bill->objectGroups->first();
|
||||
if (null !== $objectGroup) {
|
||||
$objectGroupId = $objectGroup->id;
|
||||
$objectGroupOrder = $objectGroup->order;
|
||||
@ -90,7 +90,7 @@ class BillTransformer extends AbstractTransformer
|
||||
$paidDataFormatted = [];
|
||||
$payDatesFormatted = [];
|
||||
foreach ($paidData as $object) {
|
||||
$date = Carbon::createFromFormat('!Y-m-d', $object['date'], config('app.timezone'));
|
||||
$date = Carbon::createFromFormat('!Y-m-d', $object['date'], config('app.timezone'));
|
||||
if (null === $date) {
|
||||
$date = today(config('app.timezone'));
|
||||
}
|
||||
@ -99,24 +99,24 @@ class BillTransformer extends AbstractTransformer
|
||||
}
|
||||
|
||||
foreach ($payDates as $string) {
|
||||
$date = Carbon::createFromFormat('!Y-m-d', $string, config('app.timezone'));
|
||||
$date = Carbon::createFromFormat('!Y-m-d', $string, config('app.timezone'));
|
||||
if (null === $date) {
|
||||
$date = today(config('app.timezone'));
|
||||
}
|
||||
$payDatesFormatted[] = $date->toAtomString();
|
||||
}
|
||||
// next expected match
|
||||
$nem = null;
|
||||
$nemDate = null;
|
||||
$nemDiff = trans('firefly.not_expected_period');
|
||||
$firstPayDate = $payDates[0] ?? null;
|
||||
$nem = null;
|
||||
$nemDate = null;
|
||||
$nemDiff = trans('firefly.not_expected_period');
|
||||
$firstPayDate = $payDates[0] ?? null;
|
||||
|
||||
if (null !== $firstPayDate) {
|
||||
$nemDate = Carbon::createFromFormat('!Y-m-d', $firstPayDate, config('app.timezone'));
|
||||
if (null === $nemDate) {
|
||||
$nemDate = today(config('app.timezone'));
|
||||
}
|
||||
$nem = $nemDate->toAtomString();
|
||||
$nem = $nemDate->toAtomString();
|
||||
|
||||
// nullify again when it's outside the current view range.
|
||||
if (
|
||||
@ -137,7 +137,7 @@ class BillTransformer extends AbstractTransformer
|
||||
|
||||
$current = $payDatesFormatted[0] ?? null;
|
||||
if (null !== $current && !$nemDate->isToday()) {
|
||||
$temp2 = Carbon::createFromFormat('Y-m-d\TH:i:sP', $current);
|
||||
$temp2 = Carbon::createFromFormat('Y-m-d\TH:i:sP', $current);
|
||||
if (null === $temp2) {
|
||||
$temp2 = today(config('app.timezone'));
|
||||
}
|
||||
@ -158,32 +158,32 @@ class BillTransformer extends AbstractTransformer
|
||||
'native_currency_code' => $default?->code,
|
||||
'native_currency_symbol' => $default?->symbol,
|
||||
'native_currency_decimal_places' => $default?->decimal_places,
|
||||
'name' => $bill->name,
|
||||
'amount_min' => app('steam')->bcround($bill->amount_min, $currency->decimal_places),
|
||||
'amount_max' => app('steam')->bcround($bill->amount_max, $currency->decimal_places),
|
||||
'native_amount_min' => $this->convertToNative ? app('steam')->bcround($bill->native_amount_min, $default->decimal_places) : null,
|
||||
'native_amount_max' => $this->convertToNative ? app('steam')->bcround($bill->native_amount_max, $default->decimal_places) : null,
|
||||
'date' => $bill->date->toAtomString(),
|
||||
'end_date' => $bill->end_date?->toAtomString(),
|
||||
'extension_date' => $bill->extension_date?->toAtomString(),
|
||||
'repeat_freq' => $bill->repeat_freq,
|
||||
'skip' => $bill->skip,
|
||||
'active' => $bill->active,
|
||||
'order' => $bill->order,
|
||||
'notes' => $notes,
|
||||
'object_group_id' => null !== $objectGroupId ? (string) $objectGroupId : null,
|
||||
'object_group_order' => $objectGroupOrder,
|
||||
'object_group_title' => $objectGroupTitle,
|
||||
'name' => $bill->name,
|
||||
'amount_min' => app('steam')->bcround($bill->amount_min, $currency->decimal_places),
|
||||
'amount_max' => app('steam')->bcround($bill->amount_max, $currency->decimal_places),
|
||||
'native_amount_min' => $this->convertToNative ? app('steam')->bcround($bill->native_amount_min, $default->decimal_places) : null,
|
||||
'native_amount_max' => $this->convertToNative ? app('steam')->bcround($bill->native_amount_max, $default->decimal_places) : null,
|
||||
'date' => $bill->date->toAtomString(),
|
||||
'end_date' => $bill->end_date?->toAtomString(),
|
||||
'extension_date' => $bill->extension_date?->toAtomString(),
|
||||
'repeat_freq' => $bill->repeat_freq,
|
||||
'skip' => $bill->skip,
|
||||
'active' => $bill->active,
|
||||
'order' => $bill->order,
|
||||
'notes' => $notes,
|
||||
'object_group_id' => null !== $objectGroupId ? (string) $objectGroupId : null,
|
||||
'object_group_order' => $objectGroupOrder,
|
||||
'object_group_title' => $objectGroupTitle,
|
||||
|
||||
// these fields need work:
|
||||
'next_expected_match' => $nem,
|
||||
'next_expected_match_diff' => $nemDiff,
|
||||
'pay_dates' => $payDatesFormatted,
|
||||
'paid_dates' => $paidDataFormatted,
|
||||
'links' => [
|
||||
'next_expected_match' => $nem,
|
||||
'next_expected_match_diff' => $nemDiff,
|
||||
'pay_dates' => $payDatesFormatted,
|
||||
'paid_dates' => $paidDataFormatted,
|
||||
'links' => [
|
||||
[
|
||||
'rel' => 'self',
|
||||
'uri' => '/bills/' . $bill->id,
|
||||
'uri' => '/bills/'.$bill->id,
|
||||
],
|
||||
],
|
||||
];
|
||||
@ -205,13 +205,13 @@ class BillTransformer extends AbstractTransformer
|
||||
// 2023-07-18 this particular date is used to search for the last paid date.
|
||||
// 2023-07-18 the cloned $searchDate is used to grab the correct transactions.
|
||||
/** @var Carbon $start */
|
||||
$start = clone $this->parameters->get('start');
|
||||
$searchStart = clone $start;
|
||||
$start = clone $this->parameters->get('start');
|
||||
$searchStart = clone $start;
|
||||
$start->subDay();
|
||||
|
||||
/** @var Carbon $end */
|
||||
$end = clone $this->parameters->get('end');
|
||||
$searchEnd = clone $end;
|
||||
$end = clone $this->parameters->get('end');
|
||||
$searchEnd = clone $end;
|
||||
|
||||
// move the search dates to the start of the day.
|
||||
$searchStart->startOfDay();
|
||||
@ -221,7 +221,7 @@ class BillTransformer extends AbstractTransformer
|
||||
app('log')->debug(sprintf('Search parameters are: start: %s', $searchStart->format('Y-m-d')));
|
||||
|
||||
// Get from database when bill was paid.
|
||||
$set = $this->repository->getPaidDatesInRange($bill, $searchStart, $searchEnd);
|
||||
$set = $this->repository->getPaidDatesInRange($bill, $searchStart, $searchEnd);
|
||||
app('log')->debug(sprintf('Count %d entries in getPaidDatesInRange()', $set->count()));
|
||||
|
||||
// Grab from array the most recent payment. If none exist, fall back to the start date and pretend *that* was the last paid date.
|
||||
@ -230,7 +230,7 @@ class BillTransformer extends AbstractTransformer
|
||||
app('log')->debug(sprintf('Result of lastPaidDate is %s', $lastPaidDate->format('Y-m-d')));
|
||||
|
||||
// At this point the "next match" is exactly after the last time the bill was paid.
|
||||
$result = [];
|
||||
$result = [];
|
||||
foreach ($set as $entry) {
|
||||
$result[] = [
|
||||
'transaction_group_id' => (string) $entry->transaction_group_id,
|
||||
|
@ -66,8 +66,8 @@ class BudgetLimitTransformer extends AbstractTransformer
|
||||
*/
|
||||
public function transform(BudgetLimit $budgetLimit): array
|
||||
{
|
||||
$repository = app(OperationsRepository::class);
|
||||
$limitRepos = app(BudgetLimitRepositoryInterface::class);
|
||||
$repository = app(OperationsRepository::class);
|
||||
$limitRepos = app(BudgetLimitRepositoryInterface::class);
|
||||
$repository->setUser($budgetLimit->budget->user);
|
||||
$limitRepos->setUser($budgetLimit->budget->user);
|
||||
$expenses = $repository->sumExpenses(
|
||||
@ -93,8 +93,8 @@ class BudgetLimitTransformer extends AbstractTransformer
|
||||
$currencySymbol = $currency->symbol;
|
||||
$currencyDecimalPlaces = $currency->decimal_places;
|
||||
}
|
||||
$amount = app('steam')->bcround($amount, $currencyDecimalPlaces);
|
||||
$default = $this->default;
|
||||
$amount = app('steam')->bcround($amount, $currencyDecimalPlaces);
|
||||
$default = $this->default;
|
||||
if (!$this->convertToNative) {
|
||||
$default = null;
|
||||
}
|
||||
@ -124,7 +124,7 @@ class BudgetLimitTransformer extends AbstractTransformer
|
||||
'links' => [
|
||||
[
|
||||
'rel' => 'self',
|
||||
'uri' => '/budgets/limits/' . $budgetLimit->id,
|
||||
'uri' => '/budgets/limits/'.$budgetLimit->id,
|
||||
],
|
||||
],
|
||||
];
|
||||
|
@ -70,23 +70,23 @@ class BudgetTransformer extends AbstractTransformer
|
||||
}
|
||||
|
||||
// info for auto budget.
|
||||
$abType = null;
|
||||
$abAmount = null;
|
||||
$abNative = null;
|
||||
$abPeriod = null;
|
||||
$notes = $this->repository->getNoteText($budget);
|
||||
$abType = null;
|
||||
$abAmount = null;
|
||||
$abNative = null;
|
||||
$abPeriod = null;
|
||||
$notes = $this->repository->getNoteText($budget);
|
||||
|
||||
$types = [
|
||||
$types = [
|
||||
AutoBudgetType::AUTO_BUDGET_RESET->value => 'reset',
|
||||
AutoBudgetType::AUTO_BUDGET_ROLLOVER->value => 'rollover',
|
||||
AutoBudgetType::AUTO_BUDGET_ADJUSTED->value => 'adjusted',
|
||||
];
|
||||
$currency = $autoBudget?->transactionCurrency;
|
||||
$default = $this->default;
|
||||
$currency = $autoBudget?->transactionCurrency;
|
||||
$default = $this->default;
|
||||
if (!$this->convertToNative) {
|
||||
$default = null;
|
||||
}
|
||||
if(null === $autoBudget) {
|
||||
if (null === $autoBudget) {
|
||||
$currency = $default;
|
||||
}
|
||||
if (null !== $autoBudget) {
|
||||
@ -97,15 +97,15 @@ class BudgetTransformer extends AbstractTransformer
|
||||
}
|
||||
|
||||
return [
|
||||
'id' => (string) $budget->id,
|
||||
'created_at' => $budget->created_at->toAtomString(),
|
||||
'updated_at' => $budget->updated_at->toAtomString(),
|
||||
'active' => $budget->active,
|
||||
'name' => $budget->name,
|
||||
'order' => $budget->order,
|
||||
'notes' => $notes,
|
||||
'auto_budget_type' => $abType,
|
||||
'auto_budget_period' => $abPeriod,
|
||||
'id' => (string) $budget->id,
|
||||
'created_at' => $budget->created_at->toAtomString(),
|
||||
'updated_at' => $budget->updated_at->toAtomString(),
|
||||
'active' => $budget->active,
|
||||
'name' => $budget->name,
|
||||
'order' => $budget->order,
|
||||
'notes' => $notes,
|
||||
'auto_budget_type' => $abType,
|
||||
'auto_budget_period' => $abPeriod,
|
||||
|
||||
'currency_id' => null === $autoBudget ? null : (string) $autoBudget->transactionCurrency->id,
|
||||
'currency_code' => $autoBudget?->transactionCurrency->code,
|
||||
@ -125,7 +125,7 @@ class BudgetTransformer extends AbstractTransformer
|
||||
'links' => [
|
||||
[
|
||||
'rel' => 'self',
|
||||
'uri' => '/budgets/' . $budget->id,
|
||||
'uri' => '/budgets/'.$budget->id,
|
||||
],
|
||||
],
|
||||
];
|
||||
|
@ -60,10 +60,10 @@ class CategoryTransformer extends AbstractTransformer
|
||||
$this->opsRepository->setUser($category->user);
|
||||
$this->repository->setUser($category->user);
|
||||
|
||||
$spent = [];
|
||||
$earned = [];
|
||||
$start = $this->parameters->get('start');
|
||||
$end = $this->parameters->get('end');
|
||||
$spent = [];
|
||||
$earned = [];
|
||||
$start = $this->parameters->get('start');
|
||||
$end = $this->parameters->get('end');
|
||||
if (null !== $start && null !== $end) {
|
||||
$earned = $this->beautify($this->opsRepository->sumIncome($start, $end, null, new Collection([$category])));
|
||||
$spent = $this->beautify($this->opsRepository->sumExpenses($start, $end, null, new Collection([$category])));
|
||||
@ -72,7 +72,7 @@ class CategoryTransformer extends AbstractTransformer
|
||||
if (!$this->convertToNative) {
|
||||
$default = null;
|
||||
}
|
||||
$notes = $this->repository->getNoteText($category);
|
||||
$notes = $this->repository->getNoteText($category);
|
||||
|
||||
return [
|
||||
'id' => $category->id,
|
||||
@ -89,7 +89,7 @@ class CategoryTransformer extends AbstractTransformer
|
||||
'links' => [
|
||||
[
|
||||
'rel' => 'self',
|
||||
'uri' => '/categories/' . $category->id,
|
||||
'uri' => '/categories/'.$category->id,
|
||||
],
|
||||
],
|
||||
];
|
||||
|
@ -83,13 +83,13 @@ class UserGroupTransformer extends AbstractTransformer
|
||||
|
||||
private function mergeMemberships(): void
|
||||
{
|
||||
$new = [];
|
||||
$new = [];
|
||||
foreach ($this->memberships as $groupId => $members) {
|
||||
$new[$groupId] ??= [];
|
||||
|
||||
foreach ($members as $member) {
|
||||
$mail = $member['user_email'];
|
||||
$new[$groupId][$mail] ??= [
|
||||
$new[$groupId][$mail] ??= [
|
||||
'user_id' => $member['user_id'],
|
||||
'user_email' => $member['user_email'],
|
||||
'you' => $member['you'],
|
||||
@ -107,6 +107,7 @@ class UserGroupTransformer extends AbstractTransformer
|
||||
public function transform(UserGroup $userGroup): array
|
||||
{
|
||||
$currency = Amount::getDefaultCurrencyByUserGroup($userGroup);
|
||||
|
||||
return [
|
||||
'id' => $userGroup->id,
|
||||
'created_at' => $userGroup->created_at->toAtomString(),
|
||||
|
12
composer.lock
generated
12
composer.lock
generated
@ -10286,16 +10286,16 @@
|
||||
},
|
||||
{
|
||||
"name": "barryvdh/reflection-docblock",
|
||||
"version": "v2.3.0",
|
||||
"version": "v2.3.1",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/barryvdh/ReflectionDocBlock.git",
|
||||
"reference": "818be8de6af4d16ef3ad51ea9234b3d37026ee5f"
|
||||
"reference": "b6ff9f93603561f50e53b64310495d20b8dff5d8"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/barryvdh/ReflectionDocBlock/zipball/818be8de6af4d16ef3ad51ea9234b3d37026ee5f",
|
||||
"reference": "818be8de6af4d16ef3ad51ea9234b3d37026ee5f",
|
||||
"url": "https://api.github.com/repos/barryvdh/ReflectionDocBlock/zipball/b6ff9f93603561f50e53b64310495d20b8dff5d8",
|
||||
"reference": "b6ff9f93603561f50e53b64310495d20b8dff5d8",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@ -10332,9 +10332,9 @@
|
||||
}
|
||||
],
|
||||
"support": {
|
||||
"source": "https://github.com/barryvdh/ReflectionDocBlock/tree/v2.3.0"
|
||||
"source": "https://github.com/barryvdh/ReflectionDocBlock/tree/v2.3.1"
|
||||
},
|
||||
"time": "2024-12-30T10:35:04+00:00"
|
||||
"time": "2025-01-18T19:26:32+00:00"
|
||||
},
|
||||
{
|
||||
"name": "cloudcreativity/json-api-testing",
|
||||
|
@ -81,7 +81,7 @@ return [
|
||||
'running_balance_column' => env('USE_RUNNING_BALANCE', false),
|
||||
// see cer.php for exchange rates feature flag.
|
||||
],
|
||||
'version' => 'develop/2025-01-15',
|
||||
'version' => 'develop/2025-01-19',
|
||||
'api_version' => '2.1.0', // field is no longer used.
|
||||
'db_version' => 25,
|
||||
|
||||
|
24
package-lock.json
generated
24
package-lock.json
generated
@ -3061,9 +3061,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@types/imagemin": {
|
||||
"version": "9.0.0",
|
||||
"resolved": "https://registry.npmjs.org/@types/imagemin/-/imagemin-9.0.0.tgz",
|
||||
"integrity": "sha512-4IaT+BdPUAFf/AAy3XlFAbqGk4RawhdidxWO5XTe+PJAYAr4d7m2FHiqyEPXbDpwS+IaLIJq5AIjLE9HcwMGBg==",
|
||||
"version": "9.0.1",
|
||||
"resolved": "https://registry.npmjs.org/@types/imagemin/-/imagemin-9.0.1.tgz",
|
||||
"integrity": "sha512-xMWpvrUhtYxl6EeW+UhVH3rwUKhCRx21XddcoWByjDAasXZT5pQaCn0YVnXoTijX5hlTrGqV4TGQL/Htpp00+w==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
@ -3133,9 +3133,9 @@
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/@types/node": {
|
||||
"version": "22.10.6",
|
||||
"resolved": "https://registry.npmjs.org/@types/node/-/node-22.10.6.tgz",
|
||||
"integrity": "sha512-qNiuwC4ZDAUNcY47xgaSuS92cjf8JbSUoaKS77bmLG1rU7MlATVSiw/IlrjtIyyskXBZ8KkNfjK/P5na7rgXbQ==",
|
||||
"version": "22.10.7",
|
||||
"resolved": "https://registry.npmjs.org/@types/node/-/node-22.10.7.tgz",
|
||||
"integrity": "sha512-V09KvXxFiutGp6B7XkpaDXlNadZxrzajcY50EuoLIpQ6WWYCSvf19lVIazzfIzQvhUN2HjX12spLojTnhuKlGg==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
@ -4448,9 +4448,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/caniuse-lite": {
|
||||
"version": "1.0.30001692",
|
||||
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001692.tgz",
|
||||
"integrity": "sha512-A95VKan0kdtrsnMubMKxEKUKImOPSuCpYgxSQBo036P5YYgVIcOYJEgt/txJWqObiRQeISNCfef9nvlQ0vbV7A==",
|
||||
"version": "1.0.30001695",
|
||||
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001695.tgz",
|
||||
"integrity": "sha512-vHyLade6wTgI2u1ec3WQBxv+2BrTERV28UXQu9LO6lZ9pYeMk34vjXFLOxo1A4UBA8XTL4njRQZdno/yYaSmWw==",
|
||||
"dev": true,
|
||||
"funding": [
|
||||
{
|
||||
@ -5663,9 +5663,9 @@
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/electron-to-chromium": {
|
||||
"version": "1.5.82",
|
||||
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.82.tgz",
|
||||
"integrity": "sha512-Zq16uk1hfQhyGx5GpwPAYDwddJuSGhtRhgOA2mCxANYaDT79nAeGnaXogMGng4KqLaJUVnOnuL0+TDop9nLOiA==",
|
||||
"version": "1.5.83",
|
||||
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.83.tgz",
|
||||
"integrity": "sha512-LcUDPqSt+V0QmI47XLzZrz5OqILSMGsPFkDYus22rIbgorSvBYEFqq854ltTmUdHkY92FSdAAvsh4jWEULMdfQ==",
|
||||
"dev": true,
|
||||
"license": "ISC"
|
||||
},
|
||||
|
@ -1,5 +1,11 @@
|
||||
{
|
||||
"firefly": {
|
||||
"administrations_page_title": "Financial administrations",
|
||||
"administrations_index_menu": "Financial administrations",
|
||||
"temp_administrations_introduction": "Firefly III will soon get the ability to manage multiple financial administrations. Right now, you only have the one. You can set the title of this administration and its native currency. This replaces the previous setting where you would set your \"default currency\". This setting is now tied to the financial administration and can be different per administration.",
|
||||
"administration_currency_form_help": "It may take a long time for the page to load if you change the native currency because transaction may need to be converted to your (new) native currency.",
|
||||
"administrations_page_edit_sub_title_js": "Edit financial administration \"{title}\"",
|
||||
"table": "\u0422\u0430\u0431\u043b\u0438\u0446\u0430",
|
||||
"welcome_back": "\u041a\u0430\u043a\u0432\u043e \u0441\u0435 \u0441\u043b\u0443\u0447\u0432\u0430?",
|
||||
"flash_error": "\u0413\u0440\u0435\u0448\u043a\u0430!",
|
||||
"flash_warning": "\u0412\u043d\u0438\u043c\u0430\u043d\u0438\u0435!",
|
||||
@ -145,6 +151,7 @@
|
||||
"url": "URL",
|
||||
"active": "\u0410\u043a\u0442\u0438\u0432\u0435\u043d",
|
||||
"interest_date": "\u041f\u0430\u0434\u0435\u0436 \u043d\u0430 \u043b\u0438\u0445\u0432\u0430",
|
||||
"administration_currency": "Native currency",
|
||||
"title": "\u0417\u0430\u0433\u043b\u0430\u0432\u0438\u0435",
|
||||
"date": "\u0414\u0430\u0442\u0430",
|
||||
"book_date": "\u0414\u0430\u0442\u0430 \u043d\u0430 \u043e\u0441\u0447\u0435\u0442\u043e\u0432\u043e\u0434\u044f\u0432\u0430\u043d\u0435",
|
||||
@ -162,7 +169,9 @@
|
||||
"rate": "Rate"
|
||||
},
|
||||
"list": {
|
||||
"title": "\u0417\u0430\u0433\u043b\u0430\u0432\u0438\u0435",
|
||||
"active": "\u0410\u043a\u0442\u0438\u0432\u0435\u043d \u043b\u0438 \u0435?",
|
||||
"native_currency": "Native currency",
|
||||
"trigger": "\u0417\u0430\u0434\u0435\u0439\u0441\u0442\u0432\u0430\u043d\u0435",
|
||||
"response": "\u041e\u0442\u0433\u043e\u0432\u043e\u0440",
|
||||
"delivery": "Delivery",
|
||||
|
@ -1,5 +1,11 @@
|
||||
{
|
||||
"firefly": {
|
||||
"administrations_page_title": "Financial administrations",
|
||||
"administrations_index_menu": "Financial administrations",
|
||||
"temp_administrations_introduction": "Firefly III will soon get the ability to manage multiple financial administrations. Right now, you only have the one. You can set the title of this administration and its native currency. This replaces the previous setting where you would set your \"default currency\". This setting is now tied to the financial administration and can be different per administration.",
|
||||
"administration_currency_form_help": "It may take a long time for the page to load if you change the native currency because transaction may need to be converted to your (new) native currency.",
|
||||
"administrations_page_edit_sub_title_js": "Edit financial administration \"{title}\"",
|
||||
"table": "Taula",
|
||||
"welcome_back": "Qu\u00e8 est\u00e0 passant?",
|
||||
"flash_error": "Error!",
|
||||
"flash_warning": "Atenci\u00f3!",
|
||||
@ -145,6 +151,7 @@
|
||||
"url": "URL",
|
||||
"active": "Actiu",
|
||||
"interest_date": "Data d'inter\u00e8s",
|
||||
"administration_currency": "Native currency",
|
||||
"title": "T\u00edtol",
|
||||
"date": "Data",
|
||||
"book_date": "Data de registre",
|
||||
@ -162,7 +169,9 @@
|
||||
"rate": "Rate"
|
||||
},
|
||||
"list": {
|
||||
"title": "T\u00edtol",
|
||||
"active": "Est\u00e0 actiu?",
|
||||
"native_currency": "Native currency",
|
||||
"trigger": "Activador",
|
||||
"response": "Resposta",
|
||||
"delivery": "Lliurament",
|
||||
|
@ -1,5 +1,11 @@
|
||||
{
|
||||
"firefly": {
|
||||
"administrations_page_title": "Financial administrations",
|
||||
"administrations_index_menu": "Financial administrations",
|
||||
"temp_administrations_introduction": "Firefly III will soon get the ability to manage multiple financial administrations. Right now, you only have the one. You can set the title of this administration and its native currency. This replaces the previous setting where you would set your \"default currency\". This setting is now tied to the financial administration and can be different per administration.",
|
||||
"administration_currency_form_help": "It may take a long time for the page to load if you change the native currency because transaction may need to be converted to your (new) native currency.",
|
||||
"administrations_page_edit_sub_title_js": "Edit financial administration \"{title}\"",
|
||||
"table": "Tabulka",
|
||||
"welcome_back": "Jak to jde?",
|
||||
"flash_error": "Chyba!",
|
||||
"flash_warning": "Varov\u00e1n\u00ed!",
|
||||
@ -145,6 +151,7 @@
|
||||
"url": "URL",
|
||||
"active": "Aktivn\u00ed",
|
||||
"interest_date": "\u00darokov\u00e9 datum",
|
||||
"administration_currency": "Native currency",
|
||||
"title": "N\u00e1zev",
|
||||
"date": "Datum",
|
||||
"book_date": "Datum rezervace",
|
||||
@ -162,7 +169,9 @@
|
||||
"rate": "Rate"
|
||||
},
|
||||
"list": {
|
||||
"title": "N\u00e1zev",
|
||||
"active": "Aktivn\u00ed?",
|
||||
"native_currency": "Native currency",
|
||||
"trigger": "Trigger",
|
||||
"response": "Response",
|
||||
"delivery": "Delivery",
|
||||
|
@ -1,5 +1,11 @@
|
||||
{
|
||||
"firefly": {
|
||||
"administrations_page_title": "Financial administrations",
|
||||
"administrations_index_menu": "Financial administrations",
|
||||
"temp_administrations_introduction": "Firefly III will soon get the ability to manage multiple financial administrations. Right now, you only have the one. You can set the title of this administration and its native currency. This replaces the previous setting where you would set your \"default currency\". This setting is now tied to the financial administration and can be different per administration.",
|
||||
"administration_currency_form_help": "It may take a long time for the page to load if you change the native currency because transaction may need to be converted to your (new) native currency.",
|
||||
"administrations_page_edit_sub_title_js": "Edit financial administration \"{title}\"",
|
||||
"table": "Tabel",
|
||||
"welcome_back": "Hvad spiller?",
|
||||
"flash_error": "Fejl!",
|
||||
"flash_warning": "Advarsel!",
|
||||
@ -145,6 +151,7 @@
|
||||
"url": "URL",
|
||||
"active": "Aktiv",
|
||||
"interest_date": "Rentedato",
|
||||
"administration_currency": "Native currency",
|
||||
"title": "Titel",
|
||||
"date": "Dato",
|
||||
"book_date": "Bogf\u00f8ringsdato",
|
||||
@ -162,7 +169,9 @@
|
||||
"rate": "Rate"
|
||||
},
|
||||
"list": {
|
||||
"title": "Titel",
|
||||
"active": "Aktiv?",
|
||||
"native_currency": "Native currency",
|
||||
"trigger": "Udl\u00f8ser",
|
||||
"response": "Svar",
|
||||
"delivery": "Delivery",
|
||||
|
@ -1,5 +1,11 @@
|
||||
{
|
||||
"firefly": {
|
||||
"administrations_page_title": "Finanzverwaltungen",
|
||||
"administrations_index_menu": "Financial administrations",
|
||||
"temp_administrations_introduction": "Firefly III will soon get the ability to manage multiple financial administrations. Right now, you only have the one. You can set the title of this administration and its native currency. This replaces the previous setting where you would set your \"default currency\". This setting is now tied to the financial administration and can be different per administration.",
|
||||
"administration_currency_form_help": "It may take a long time for the page to load if you change the native currency because transaction may need to be converted to your (new) native currency.",
|
||||
"administrations_page_edit_sub_title_js": "Edit financial administration \"{title}\"",
|
||||
"table": "Tabelle",
|
||||
"welcome_back": "\u00dcberblick",
|
||||
"flash_error": "Fehler!",
|
||||
"flash_warning": "Achtung!",
|
||||
@ -145,6 +151,7 @@
|
||||
"url": "URL",
|
||||
"active": "Aktiv",
|
||||
"interest_date": "Zinstermin",
|
||||
"administration_currency": "Native currency",
|
||||
"title": "Titel",
|
||||
"date": "Datum",
|
||||
"book_date": "Buchungsdatum",
|
||||
@ -162,7 +169,9 @@
|
||||
"rate": "Kurs"
|
||||
},
|
||||
"list": {
|
||||
"title": "Titel",
|
||||
"active": "Aktiv?",
|
||||
"native_currency": "Native currency",
|
||||
"trigger": "Ausl\u00f6ser",
|
||||
"response": "Antwort",
|
||||
"delivery": "Zustellung",
|
||||
|
@ -1,5 +1,11 @@
|
||||
{
|
||||
"firefly": {
|
||||
"administrations_page_title": "Financial administrations",
|
||||
"administrations_index_menu": "Financial administrations",
|
||||
"temp_administrations_introduction": "Firefly III will soon get the ability to manage multiple financial administrations. Right now, you only have the one. You can set the title of this administration and its native currency. This replaces the previous setting where you would set your \"default currency\". This setting is now tied to the financial administration and can be different per administration.",
|
||||
"administration_currency_form_help": "It may take a long time for the page to load if you change the native currency because transaction may need to be converted to your (new) native currency.",
|
||||
"administrations_page_edit_sub_title_js": "Edit financial administration \"{title}\"",
|
||||
"table": "\u03a0\u03af\u03bd\u03b1\u03ba\u03b1\u03c2",
|
||||
"welcome_back": "\u03a4\u03b9 \u03c0\u03b1\u03af\u03b6\u03b5\u03b9;",
|
||||
"flash_error": "\u03a3\u03c6\u03ac\u03bb\u03bc\u03b1!",
|
||||
"flash_warning": "\u03a0\u03c1\u03bf\u03c3\u03bf\u03c7\u03ae!",
|
||||
@ -145,6 +151,7 @@
|
||||
"url": "\u0394\u03b9\u03b5\u03cd\u03b8\u03c5\u03bd\u03c3\u03b7 URL",
|
||||
"active": "\u0395\u03bd\u03b5\u03c1\u03b3\u03cc",
|
||||
"interest_date": "\u0397\u03bc\u03b5\u03c1\u03bf\u03bc\u03b7\u03bd\u03af\u03b1 \u03c4\u03bf\u03ba\u03b9\u03c3\u03bc\u03bf\u03cd",
|
||||
"administration_currency": "Native currency",
|
||||
"title": "\u03a4\u03af\u03c4\u03bb\u03bf\u03c2",
|
||||
"date": "\u0397\u03bc\u03b5\u03c1\u03bf\u03bc\u03b7\u03bd\u03af\u03b1",
|
||||
"book_date": "\u0397\u03bc\u03b5\u03c1\u03bf\u03bc\u03b7\u03bd\u03af\u03b1 \u03b5\u03b3\u03b3\u03c1\u03b1\u03c6\u03ae\u03c2",
|
||||
@ -162,7 +169,9 @@
|
||||
"rate": "Rate"
|
||||
},
|
||||
"list": {
|
||||
"title": "\u03a4\u03af\u03c4\u03bb\u03bf\u03c2",
|
||||
"active": "\u0395\u03af\u03bd\u03b1\u03b9 \u03b5\u03bd\u03b5\u03c1\u03b3\u03cc;",
|
||||
"native_currency": "Native currency",
|
||||
"trigger": "\u0395\u03bd\u03b5\u03c1\u03b3\u03bf\u03c0\u03bf\u03af\u03b7\u03c3\u03b7",
|
||||
"response": "\u0391\u03c0\u03cc\u03ba\u03c1\u03b9\u03c3\u03b7",
|
||||
"delivery": "\u03a0\u03b1\u03c1\u03ac\u03b4\u03bf\u03c3\u03b7",
|
||||
|
@ -1,5 +1,11 @@
|
||||
{
|
||||
"firefly": {
|
||||
"administrations_page_title": "Financial administrations",
|
||||
"administrations_index_menu": "Financial administrations",
|
||||
"temp_administrations_introduction": "Firefly III will soon get the ability to manage multiple financial administrations. Right now, you only have the one. You can set the title of this administration and its native currency. This replaces the previous setting where you would set your \"default currency\". This setting is now tied to the financial administration and can be different per administration.",
|
||||
"administration_currency_form_help": "It may take a long time for the page to load if you change the native currency because transaction may need to be converted to your (new) native currency.",
|
||||
"administrations_page_edit_sub_title_js": "Edit financial administration \"{title}\"",
|
||||
"table": "Table",
|
||||
"welcome_back": "What's playing?",
|
||||
"flash_error": "Error!",
|
||||
"flash_warning": "Warning!",
|
||||
@ -145,6 +151,7 @@
|
||||
"url": "URL",
|
||||
"active": "Active",
|
||||
"interest_date": "Interest date",
|
||||
"administration_currency": "Native currency",
|
||||
"title": "Title",
|
||||
"date": "Date",
|
||||
"book_date": "Book date",
|
||||
@ -162,7 +169,9 @@
|
||||
"rate": "Rate"
|
||||
},
|
||||
"list": {
|
||||
"title": "Title",
|
||||
"active": "Is active?",
|
||||
"native_currency": "Native currency",
|
||||
"trigger": "Trigger",
|
||||
"response": "Response",
|
||||
"delivery": "Delivery",
|
||||
|
@ -1,5 +1,11 @@
|
||||
{
|
||||
"firefly": {
|
||||
"administrations_page_title": "Financial administrations",
|
||||
"administrations_index_menu": "Financial administrations",
|
||||
"temp_administrations_introduction": "Firefly III will soon get the ability to manage multiple financial administrations. Right now, you only have the one. You can set the title of this administration and its native currency. This replaces the previous setting where you would set your \"default currency\". This setting is now tied to the financial administration and can be different per administration.",
|
||||
"administration_currency_form_help": "It may take a long time for the page to load if you change the native currency because transaction may need to be converted to your (new) native currency.",
|
||||
"administrations_page_edit_sub_title_js": "Edit financial administration \"{title}\"",
|
||||
"table": "Table",
|
||||
"welcome_back": "What's playing?",
|
||||
"flash_error": "Error!",
|
||||
"flash_warning": "Warning!",
|
||||
@ -145,6 +151,7 @@
|
||||
"url": "URL",
|
||||
"active": "Active",
|
||||
"interest_date": "Interest date",
|
||||
"administration_currency": "Native currency",
|
||||
"title": "Title",
|
||||
"date": "Date",
|
||||
"book_date": "Book date",
|
||||
@ -162,7 +169,9 @@
|
||||
"rate": "Rate"
|
||||
},
|
||||
"list": {
|
||||
"title": "Title",
|
||||
"active": "Is active?",
|
||||
"native_currency": "Native currency",
|
||||
"trigger": "Trigger",
|
||||
"response": "Response",
|
||||
"delivery": "Delivery",
|
||||
|
@ -1,5 +1,11 @@
|
||||
{
|
||||
"firefly": {
|
||||
"administrations_page_title": "Financial administrations",
|
||||
"administrations_index_menu": "Financial administrations",
|
||||
"temp_administrations_introduction": "Firefly III will soon get the ability to manage multiple financial administrations. Right now, you only have the one. You can set the title of this administration and its native currency. This replaces the previous setting where you would set your \"default currency\". This setting is now tied to the financial administration and can be different per administration.",
|
||||
"administration_currency_form_help": "It may take a long time for the page to load if you change the native currency because transaction may need to be converted to your (new) native currency.",
|
||||
"administrations_page_edit_sub_title_js": "Edit financial administration \"{title}\"",
|
||||
"table": "Mesa",
|
||||
"welcome_back": "\u00bfQu\u00e9 est\u00e1 pasando?",
|
||||
"flash_error": "\u00a1Error!",
|
||||
"flash_warning": "\u00a1Advertencia!",
|
||||
@ -145,6 +151,7 @@
|
||||
"url": "URL",
|
||||
"active": "Activo",
|
||||
"interest_date": "Fecha de inter\u00e9s",
|
||||
"administration_currency": "Native currency",
|
||||
"title": "T\u00edtulo",
|
||||
"date": "Fecha",
|
||||
"book_date": "Fecha de registro",
|
||||
@ -162,7 +169,9 @@
|
||||
"rate": "Rate"
|
||||
},
|
||||
"list": {
|
||||
"title": "T\u00edtulo",
|
||||
"active": "\u00bfEst\u00e1 Activo?",
|
||||
"native_currency": "Native currency",
|
||||
"trigger": "Disparador",
|
||||
"response": "Respuesta",
|
||||
"delivery": "Entrega",
|
||||
|
@ -1,5 +1,11 @@
|
||||
{
|
||||
"firefly": {
|
||||
"administrations_page_title": "Financial administrations",
|
||||
"administrations_index_menu": "Financial administrations",
|
||||
"temp_administrations_introduction": "Firefly III will soon get the ability to manage multiple financial administrations. Right now, you only have the one. You can set the title of this administration and its native currency. This replaces the previous setting where you would set your \"default currency\". This setting is now tied to the financial administration and can be different per administration.",
|
||||
"administration_currency_form_help": "It may take a long time for the page to load if you change the native currency because transaction may need to be converted to your (new) native currency.",
|
||||
"administrations_page_edit_sub_title_js": "Edit financial administration \"{title}\"",
|
||||
"table": "Taulukko",
|
||||
"welcome_back": "Mit\u00e4 kuuluu?",
|
||||
"flash_error": "Virhe!",
|
||||
"flash_warning": "Varoitus!",
|
||||
@ -145,6 +151,7 @@
|
||||
"url": "URL-osoite",
|
||||
"active": "Aktiivinen",
|
||||
"interest_date": "Korkop\u00e4iv\u00e4",
|
||||
"administration_currency": "Native currency",
|
||||
"title": "Otsikko",
|
||||
"date": "P\u00e4iv\u00e4m\u00e4\u00e4r\u00e4",
|
||||
"book_date": "Kirjausp\u00e4iv\u00e4",
|
||||
@ -162,7 +169,9 @@
|
||||
"rate": "Kurssi"
|
||||
},
|
||||
"list": {
|
||||
"title": "Otsikko",
|
||||
"active": "Aktiivinen?",
|
||||
"native_currency": "Native currency",
|
||||
"trigger": "Ehto",
|
||||
"response": "Vastaus",
|
||||
"delivery": "Toimitus",
|
||||
|
@ -1,5 +1,11 @@
|
||||
{
|
||||
"firefly": {
|
||||
"administrations_page_title": "Administrations financi\u00e8res",
|
||||
"administrations_index_menu": "Financial administrations",
|
||||
"temp_administrations_introduction": "Firefly III will soon get the ability to manage multiple financial administrations. Right now, you only have the one. You can set the title of this administration and its native currency. This replaces the previous setting where you would set your \"default currency\". This setting is now tied to the financial administration and can be different per administration.",
|
||||
"administration_currency_form_help": "It may take a long time for the page to load if you change the native currency because transaction may need to be converted to your (new) native currency.",
|
||||
"administrations_page_edit_sub_title_js": "Edit financial administration \"{title}\"",
|
||||
"table": "Tableau",
|
||||
"welcome_back": "Quoi de neuf ?",
|
||||
"flash_error": "Erreur !",
|
||||
"flash_warning": "Attention !",
|
||||
@ -145,6 +151,7 @@
|
||||
"url": "Liens",
|
||||
"active": "Actif",
|
||||
"interest_date": "Date de valeur (int\u00e9r\u00eats)",
|
||||
"administration_currency": "Native currency",
|
||||
"title": "Titre",
|
||||
"date": "Date",
|
||||
"book_date": "Date d'enregistrement",
|
||||
@ -162,7 +169,9 @@
|
||||
"rate": "Rate"
|
||||
},
|
||||
"list": {
|
||||
"title": "Titre",
|
||||
"active": "Actif ?",
|
||||
"native_currency": "Native currency",
|
||||
"trigger": "D\u00e9clencheur",
|
||||
"response": "R\u00e9ponse",
|
||||
"delivery": "Distribution",
|
||||
|
@ -1,5 +1,11 @@
|
||||
{
|
||||
"firefly": {
|
||||
"administrations_page_title": "Financial administrations",
|
||||
"administrations_index_menu": "Financial administrations",
|
||||
"temp_administrations_introduction": "Firefly III will soon get the ability to manage multiple financial administrations. Right now, you only have the one. You can set the title of this administration and its native currency. This replaces the previous setting where you would set your \"default currency\". This setting is now tied to the financial administration and can be different per administration.",
|
||||
"administration_currency_form_help": "It may take a long time for the page to load if you change the native currency because transaction may need to be converted to your (new) native currency.",
|
||||
"administrations_page_edit_sub_title_js": "Edit financial administration \"{title}\"",
|
||||
"table": "T\u00e1bl\u00e1zat",
|
||||
"welcome_back": "Mi a helyzet?",
|
||||
"flash_error": "Hiba!",
|
||||
"flash_warning": "Figyelmeztet\u00e9s!",
|
||||
@ -145,6 +151,7 @@
|
||||
"url": "URL",
|
||||
"active": "Akt\u00edv",
|
||||
"interest_date": "Kamatfizet\u00e9si id\u0151pont",
|
||||
"administration_currency": "Native currency",
|
||||
"title": "C\u00edm",
|
||||
"date": "D\u00e1tum",
|
||||
"book_date": "K\u00f6nyvel\u00e9s d\u00e1tuma",
|
||||
@ -162,7 +169,9 @@
|
||||
"rate": "Rate"
|
||||
},
|
||||
"list": {
|
||||
"title": "C\u00edm",
|
||||
"active": "Akt\u00edv?",
|
||||
"native_currency": "Native currency",
|
||||
"trigger": "Trigger",
|
||||
"response": "Response",
|
||||
"delivery": "Delivery",
|
||||
|
@ -1,5 +1,11 @@
|
||||
{
|
||||
"firefly": {
|
||||
"administrations_page_title": "Financial administrations",
|
||||
"administrations_index_menu": "Financial administrations",
|
||||
"temp_administrations_introduction": "Firefly III will soon get the ability to manage multiple financial administrations. Right now, you only have the one. You can set the title of this administration and its native currency. This replaces the previous setting where you would set your \"default currency\". This setting is now tied to the financial administration and can be different per administration.",
|
||||
"administration_currency_form_help": "It may take a long time for the page to load if you change the native currency because transaction may need to be converted to your (new) native currency.",
|
||||
"administrations_page_edit_sub_title_js": "Edit financial administration \"{title}\"",
|
||||
"table": "Meja",
|
||||
"welcome_back": "Apa yang sedang dimainkan?",
|
||||
"flash_error": "Kesalahan!",
|
||||
"flash_warning": "PERINGATAN!",
|
||||
@ -145,6 +151,7 @@
|
||||
"url": "URL",
|
||||
"active": "Aktif",
|
||||
"interest_date": "Tanggal bunga",
|
||||
"administration_currency": "Native currency",
|
||||
"title": "Judul",
|
||||
"date": "Tanggal",
|
||||
"book_date": "Tanggal buku",
|
||||
@ -162,7 +169,9 @@
|
||||
"rate": "Rate"
|
||||
},
|
||||
"list": {
|
||||
"title": "Judul",
|
||||
"active": "Aktif?",
|
||||
"native_currency": "Native currency",
|
||||
"trigger": "Trigger",
|
||||
"response": "Response",
|
||||
"delivery": "Delivery",
|
||||
|
@ -1,5 +1,11 @@
|
||||
{
|
||||
"firefly": {
|
||||
"administrations_page_title": "Financial administrations",
|
||||
"administrations_index_menu": "Financial administrations",
|
||||
"temp_administrations_introduction": "Firefly III will soon get the ability to manage multiple financial administrations. Right now, you only have the one. You can set the title of this administration and its native currency. This replaces the previous setting where you would set your \"default currency\". This setting is now tied to the financial administration and can be different per administration.",
|
||||
"administration_currency_form_help": "It may take a long time for the page to load if you change the native currency because transaction may need to be converted to your (new) native currency.",
|
||||
"administrations_page_edit_sub_title_js": "Edit financial administration \"{title}\"",
|
||||
"table": "Tabella",
|
||||
"welcome_back": "La tua situazione finanziaria",
|
||||
"flash_error": "Errore!",
|
||||
"flash_warning": "Avviso!",
|
||||
@ -145,6 +151,7 @@
|
||||
"url": "URL",
|
||||
"active": "Attivo",
|
||||
"interest_date": "Data di valuta",
|
||||
"administration_currency": "Native currency",
|
||||
"title": "Titolo",
|
||||
"date": "Data",
|
||||
"book_date": "Data contabile",
|
||||
@ -162,7 +169,9 @@
|
||||
"rate": "Rate"
|
||||
},
|
||||
"list": {
|
||||
"title": "Titolo",
|
||||
"active": "Attivo",
|
||||
"native_currency": "Native currency",
|
||||
"trigger": "Trigger",
|
||||
"response": "Risposta",
|
||||
"delivery": "Consegna",
|
||||
|
@ -1,5 +1,11 @@
|
||||
{
|
||||
"firefly": {
|
||||
"administrations_page_title": "Financial administrations",
|
||||
"administrations_index_menu": "Financial administrations",
|
||||
"temp_administrations_introduction": "Firefly III will soon get the ability to manage multiple financial administrations. Right now, you only have the one. You can set the title of this administration and its native currency. This replaces the previous setting where you would set your \"default currency\". This setting is now tied to the financial administration and can be different per administration.",
|
||||
"administration_currency_form_help": "It may take a long time for the page to load if you change the native currency because transaction may need to be converted to your (new) native currency.",
|
||||
"administrations_page_edit_sub_title_js": "Edit financial administration \"{title}\"",
|
||||
"table": "\u8868",
|
||||
"welcome_back": "\u6982\u8981",
|
||||
"flash_error": "\u30a8\u30e9\u30fc\uff01",
|
||||
"flash_warning": "\u8b66\u544a\uff01",
|
||||
@ -145,6 +151,7 @@
|
||||
"url": "URL",
|
||||
"active": "\u6709\u52b9",
|
||||
"interest_date": "\u5229\u606f\u65e5",
|
||||
"administration_currency": "Native currency",
|
||||
"title": "\u30bf\u30a4\u30c8\u30eb",
|
||||
"date": "\u65e5\u4ed8",
|
||||
"book_date": "\u8a18\u5e33\u65e5",
|
||||
@ -162,7 +169,9 @@
|
||||
"rate": "Rate"
|
||||
},
|
||||
"list": {
|
||||
"title": "\u30bf\u30a4\u30c8\u30eb",
|
||||
"active": "\u6709\u52b9",
|
||||
"native_currency": "Native currency",
|
||||
"trigger": "\u30c8\u30ea\u30ac\u30fc",
|
||||
"response": "\u30ec\u30b9\u30dd\u30f3\u30b9",
|
||||
"delivery": "\u914d\u4fe1",
|
||||
|
@ -1,5 +1,11 @@
|
||||
{
|
||||
"firefly": {
|
||||
"administrations_page_title": "Financial administrations",
|
||||
"administrations_index_menu": "Financial administrations",
|
||||
"temp_administrations_introduction": "Firefly III will soon get the ability to manage multiple financial administrations. Right now, you only have the one. You can set the title of this administration and its native currency. This replaces the previous setting where you would set your \"default currency\". This setting is now tied to the financial administration and can be different per administration.",
|
||||
"administration_currency_form_help": "It may take a long time for the page to load if you change the native currency because transaction may need to be converted to your (new) native currency.",
|
||||
"administrations_page_edit_sub_title_js": "Edit financial administration \"{title}\"",
|
||||
"table": "\ud45c",
|
||||
"welcome_back": "\ubb34\uc2a8 \uc77c\uc774\uc8e0?",
|
||||
"flash_error": "\uc624\ub958!",
|
||||
"flash_warning": "\uacbd\uace0!",
|
||||
@ -145,6 +151,7 @@
|
||||
"url": "URL",
|
||||
"active": "\ud65c\uc131",
|
||||
"interest_date": "\uc774\uc790 \ub0a0\uc9dc",
|
||||
"administration_currency": "Native currency",
|
||||
"title": "\uc81c\ubaa9",
|
||||
"date": "\ub0a0\uc9dc",
|
||||
"book_date": "\uc608\uc57d\uc77c",
|
||||
@ -162,7 +169,9 @@
|
||||
"rate": "Rate"
|
||||
},
|
||||
"list": {
|
||||
"title": "\uc81c\ubaa9",
|
||||
"active": "\ud65c\uc131 \uc0c1\ud0dc\uc785\ub2c8\uae4c?",
|
||||
"native_currency": "Native currency",
|
||||
"trigger": "\ud2b8\ub9ac\uac70",
|
||||
"response": "\uc751\ub2f5",
|
||||
"delivery": "\uc804\ub2ec",
|
||||
|
@ -1,5 +1,11 @@
|
||||
{
|
||||
"firefly": {
|
||||
"administrations_page_title": "Financial administrations",
|
||||
"administrations_index_menu": "Financial administrations",
|
||||
"temp_administrations_introduction": "Firefly III will soon get the ability to manage multiple financial administrations. Right now, you only have the one. You can set the title of this administration and its native currency. This replaces the previous setting where you would set your \"default currency\". This setting is now tied to the financial administration and can be different per administration.",
|
||||
"administration_currency_form_help": "It may take a long time for the page to load if you change the native currency because transaction may need to be converted to your (new) native currency.",
|
||||
"administrations_page_edit_sub_title_js": "Edit financial administration \"{title}\"",
|
||||
"table": "Tabell",
|
||||
"welcome_back": "Hvordan g\u00e5r det?",
|
||||
"flash_error": "Feil!",
|
||||
"flash_warning": "Advarsel!",
|
||||
@ -145,6 +151,7 @@
|
||||
"url": "Nettadresse",
|
||||
"active": "Aktiv",
|
||||
"interest_date": "Rentedato",
|
||||
"administration_currency": "Native currency",
|
||||
"title": "Tittel",
|
||||
"date": "Dato",
|
||||
"book_date": "Bokf\u00f8ringsdato",
|
||||
@ -162,7 +169,9 @@
|
||||
"rate": "Rate"
|
||||
},
|
||||
"list": {
|
||||
"title": "Tittel",
|
||||
"active": "Er aktiv?",
|
||||
"native_currency": "Native currency",
|
||||
"trigger": "Utl\u00f8ser",
|
||||
"response": "Respons",
|
||||
"delivery": "Levering",
|
||||
|
@ -1,5 +1,11 @@
|
||||
{
|
||||
"firefly": {
|
||||
"administrations_page_title": "Grootboeken",
|
||||
"administrations_index_menu": "Financial administrations",
|
||||
"temp_administrations_introduction": "Firefly III will soon get the ability to manage multiple financial administrations. Right now, you only have the one. You can set the title of this administration and its native currency. This replaces the previous setting where you would set your \"default currency\". This setting is now tied to the financial administration and can be different per administration.",
|
||||
"administration_currency_form_help": "It may take a long time for the page to load if you change the native currency because transaction may need to be converted to your (new) native currency.",
|
||||
"administrations_page_edit_sub_title_js": "Edit financial administration \"{title}\"",
|
||||
"table": "Tabel",
|
||||
"welcome_back": "Hoe staat het er voor?",
|
||||
"flash_error": "Fout!",
|
||||
"flash_warning": "Waarschuwing!",
|
||||
@ -145,6 +151,7 @@
|
||||
"url": "URL",
|
||||
"active": "Actief",
|
||||
"interest_date": "Rentedatum",
|
||||
"administration_currency": "Native currency",
|
||||
"title": "Titel",
|
||||
"date": "Datum",
|
||||
"book_date": "Boekdatum",
|
||||
@ -162,7 +169,9 @@
|
||||
"rate": "Wisselkoers"
|
||||
},
|
||||
"list": {
|
||||
"title": "Titel",
|
||||
"active": "Actief?",
|
||||
"native_currency": "Native currency",
|
||||
"trigger": "Trigger",
|
||||
"response": "Reactie",
|
||||
"delivery": "Bericht",
|
||||
|
@ -1,5 +1,11 @@
|
||||
{
|
||||
"firefly": {
|
||||
"administrations_page_title": "Financial administrations",
|
||||
"administrations_index_menu": "Financial administrations",
|
||||
"temp_administrations_introduction": "Firefly III will soon get the ability to manage multiple financial administrations. Right now, you only have the one. You can set the title of this administration and its native currency. This replaces the previous setting where you would set your \"default currency\". This setting is now tied to the financial administration and can be different per administration.",
|
||||
"administration_currency_form_help": "It may take a long time for the page to load if you change the native currency because transaction may need to be converted to your (new) native currency.",
|
||||
"administrations_page_edit_sub_title_js": "Edit financial administration \"{title}\"",
|
||||
"table": "Tabell",
|
||||
"welcome_back": "Korleis g\u00e5r det?",
|
||||
"flash_error": "Feil!",
|
||||
"flash_warning": "Advarsel!",
|
||||
@ -145,6 +151,7 @@
|
||||
"url": "Nettadresse",
|
||||
"active": "Aktiv",
|
||||
"interest_date": "Rentedato",
|
||||
"administration_currency": "Native currency",
|
||||
"title": "Tittel",
|
||||
"date": "Dato",
|
||||
"book_date": "Bokf\u00f8ringsdato",
|
||||
@ -162,7 +169,9 @@
|
||||
"rate": "Rate"
|
||||
},
|
||||
"list": {
|
||||
"title": "Tittel",
|
||||
"active": "Er aktiv?",
|
||||
"native_currency": "Native currency",
|
||||
"trigger": "Utl\u00f8ser",
|
||||
"response": "Respons",
|
||||
"delivery": "Levering",
|
||||
|
@ -1,5 +1,11 @@
|
||||
{
|
||||
"firefly": {
|
||||
"administrations_page_title": "Financial administrations",
|
||||
"administrations_index_menu": "Financial administrations",
|
||||
"temp_administrations_introduction": "Firefly III will soon get the ability to manage multiple financial administrations. Right now, you only have the one. You can set the title of this administration and its native currency. This replaces the previous setting where you would set your \"default currency\". This setting is now tied to the financial administration and can be different per administration.",
|
||||
"administration_currency_form_help": "It may take a long time for the page to load if you change the native currency because transaction may need to be converted to your (new) native currency.",
|
||||
"administrations_page_edit_sub_title_js": "Edit financial administration \"{title}\"",
|
||||
"table": "Tabela",
|
||||
"welcome_back": "Co jest grane?",
|
||||
"flash_error": "B\u0142\u0105d!",
|
||||
"flash_warning": "Ostrze\u017cenie!",
|
||||
@ -145,6 +151,7 @@
|
||||
"url": "URL",
|
||||
"active": "Aktywny",
|
||||
"interest_date": "Data odsetek",
|
||||
"administration_currency": "Native currency",
|
||||
"title": "Tytu\u0142",
|
||||
"date": "Data",
|
||||
"book_date": "Data ksi\u0119gowania",
|
||||
@ -162,7 +169,9 @@
|
||||
"rate": "Rate"
|
||||
},
|
||||
"list": {
|
||||
"title": "Tytu\u0142",
|
||||
"active": "Jest aktywny?",
|
||||
"native_currency": "Native currency",
|
||||
"trigger": "Wyzwalacz",
|
||||
"response": "Odpowied\u017a",
|
||||
"delivery": "Dor\u0119czenie",
|
||||
|
@ -1,5 +1,11 @@
|
||||
{
|
||||
"firefly": {
|
||||
"administrations_page_title": "Financial administrations",
|
||||
"administrations_index_menu": "Financial administrations",
|
||||
"temp_administrations_introduction": "Firefly III will soon get the ability to manage multiple financial administrations. Right now, you only have the one. You can set the title of this administration and its native currency. This replaces the previous setting where you would set your \"default currency\". This setting is now tied to the financial administration and can be different per administration.",
|
||||
"administration_currency_form_help": "It may take a long time for the page to load if you change the native currency because transaction may need to be converted to your (new) native currency.",
|
||||
"administrations_page_edit_sub_title_js": "Edit financial administration \"{title}\"",
|
||||
"table": "Tabela",
|
||||
"welcome_back": "O que est\u00e1 acontecendo?",
|
||||
"flash_error": "Erro!",
|
||||
"flash_warning": "Aten\u00e7\u00e3o!",
|
||||
@ -145,6 +151,7 @@
|
||||
"url": "URL",
|
||||
"active": "Ativo",
|
||||
"interest_date": "Data do juros",
|
||||
"administration_currency": "Native currency",
|
||||
"title": "T\u00edtulo",
|
||||
"date": "Data",
|
||||
"book_date": "Data de lan\u00e7amento",
|
||||
@ -162,7 +169,9 @@
|
||||
"rate": "Rate"
|
||||
},
|
||||
"list": {
|
||||
"title": "T\u00edtulo",
|
||||
"active": "Est\u00e1 ativo?",
|
||||
"native_currency": "Native currency",
|
||||
"trigger": "Gatilho",
|
||||
"response": "Resposta",
|
||||
"delivery": "Entrega",
|
||||
|
@ -1,5 +1,11 @@
|
||||
{
|
||||
"firefly": {
|
||||
"administrations_page_title": "Financial administrations",
|
||||
"administrations_index_menu": "Financial administrations",
|
||||
"temp_administrations_introduction": "Firefly III will soon get the ability to manage multiple financial administrations. Right now, you only have the one. You can set the title of this administration and its native currency. This replaces the previous setting where you would set your \"default currency\". This setting is now tied to the financial administration and can be different per administration.",
|
||||
"administration_currency_form_help": "It may take a long time for the page to load if you change the native currency because transaction may need to be converted to your (new) native currency.",
|
||||
"administrations_page_edit_sub_title_js": "Edit financial administration \"{title}\"",
|
||||
"table": "Tabela",
|
||||
"welcome_back": "Painel de controlo",
|
||||
"flash_error": "Erro!",
|
||||
"flash_warning": "Aviso!",
|
||||
@ -145,6 +151,7 @@
|
||||
"url": "URL",
|
||||
"active": "Ativo",
|
||||
"interest_date": "Data de juros",
|
||||
"administration_currency": "Native currency",
|
||||
"title": "T\u00edtulo",
|
||||
"date": "Data",
|
||||
"book_date": "Data de registo",
|
||||
@ -162,7 +169,9 @@
|
||||
"rate": "Rate"
|
||||
},
|
||||
"list": {
|
||||
"title": "T\u00edtulo",
|
||||
"active": "Esta ativo?",
|
||||
"native_currency": "Native currency",
|
||||
"trigger": "Gatilho",
|
||||
"response": "Resposta",
|
||||
"delivery": "Entrega",
|
||||
|
@ -1,5 +1,11 @@
|
||||
{
|
||||
"firefly": {
|
||||
"administrations_page_title": "Financial administrations",
|
||||
"administrations_index_menu": "Financial administrations",
|
||||
"temp_administrations_introduction": "Firefly III will soon get the ability to manage multiple financial administrations. Right now, you only have the one. You can set the title of this administration and its native currency. This replaces the previous setting where you would set your \"default currency\". This setting is now tied to the financial administration and can be different per administration.",
|
||||
"administration_currency_form_help": "It may take a long time for the page to load if you change the native currency because transaction may need to be converted to your (new) native currency.",
|
||||
"administrations_page_edit_sub_title_js": "Edit financial administration \"{title}\"",
|
||||
"table": "Tabel",
|
||||
"welcome_back": "Ce se red\u0103?",
|
||||
"flash_error": "Eroare!",
|
||||
"flash_warning": "Avertizare!",
|
||||
@ -145,6 +151,7 @@
|
||||
"url": "URL",
|
||||
"active": "Activ",
|
||||
"interest_date": "Data de interes",
|
||||
"administration_currency": "Native currency",
|
||||
"title": "Titlu",
|
||||
"date": "Dat\u0103",
|
||||
"book_date": "Rezerv\u0103 dat\u0103",
|
||||
@ -162,7 +169,9 @@
|
||||
"rate": "Rate"
|
||||
},
|
||||
"list": {
|
||||
"title": "Titlu",
|
||||
"active": "Este activ?",
|
||||
"native_currency": "Native currency",
|
||||
"trigger": "Declan\u0219ator",
|
||||
"response": "R\u0103spuns",
|
||||
"delivery": "Livrare",
|
||||
|
@ -1,5 +1,11 @@
|
||||
{
|
||||
"firefly": {
|
||||
"administrations_page_title": "\u0424\u0438\u043d\u0430\u043d\u0441\u043e\u0432\u044b\u0435 \u0430\u0434\u043c\u0438\u043d\u0438\u0441\u0442\u0440\u0430\u0442\u043e\u0440\u044b",
|
||||
"administrations_index_menu": "Financial administrations",
|
||||
"temp_administrations_introduction": "Firefly III will soon get the ability to manage multiple financial administrations. Right now, you only have the one. You can set the title of this administration and its native currency. This replaces the previous setting where you would set your \"default currency\". This setting is now tied to the financial administration and can be different per administration.",
|
||||
"administration_currency_form_help": "It may take a long time for the page to load if you change the native currency because transaction may need to be converted to your (new) native currency.",
|
||||
"administrations_page_edit_sub_title_js": "Edit financial administration \"{title}\"",
|
||||
"table": "\u0422\u0430\u0431\u043b\u0438\u0446\u0430",
|
||||
"welcome_back": "\u0427\u0442\u043e \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442 \u0441 \u043c\u043e\u0438\u043c\u0438 \u0444\u0438\u043d\u0430\u043d\u0441\u0430\u043c\u0438?",
|
||||
"flash_error": "\u041e\u0448\u0438\u0431\u043a\u0430!",
|
||||
"flash_warning": "\u041f\u0440\u0435\u0434\u0443\u043f\u0440\u0435\u0436\u0434\u0435\u043d\u0438\u0435!",
|
||||
@ -145,6 +151,7 @@
|
||||
"url": "\u0421\u0441\u044b\u043b\u043a\u0430",
|
||||
"active": "\u0410\u043a\u0442\u0438\u0432\u043d\u044b\u0439",
|
||||
"interest_date": "\u0414\u0430\u0442\u0430 \u043d\u0430\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u044f \u043f\u0440\u043e\u0446\u0435\u043d\u0442\u043e\u0432",
|
||||
"administration_currency": "Native currency",
|
||||
"title": "\u0417\u0430\u0433\u043e\u043b\u043e\u0432\u043e\u043a",
|
||||
"date": "\u0414\u0430\u0442\u0430",
|
||||
"book_date": "\u0414\u0430\u0442\u0430 \u0431\u0440\u043e\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f",
|
||||
@ -162,7 +169,9 @@
|
||||
"rate": "\u041e\u0446\u0435\u043d\u0438\u0442\u044c"
|
||||
},
|
||||
"list": {
|
||||
"title": "\u041d\u0430\u0437\u0432\u0430\u043d\u0438\u0435",
|
||||
"active": "\u0410\u043a\u0442\u0438\u0432\u0435\u043d?",
|
||||
"native_currency": "Native currency",
|
||||
"trigger": "\u0421\u043e\u0431\u044b\u0442\u0438\u0435",
|
||||
"response": "\u041e\u0442\u0432\u0435\u0442",
|
||||
"delivery": "\u0414\u043e\u0441\u0442\u0430\u0432\u043a\u0430",
|
||||
|
@ -1,5 +1,11 @@
|
||||
{
|
||||
"firefly": {
|
||||
"administrations_page_title": "Financial administrations",
|
||||
"administrations_index_menu": "Financial administrations",
|
||||
"temp_administrations_introduction": "Firefly III will soon get the ability to manage multiple financial administrations. Right now, you only have the one. You can set the title of this administration and its native currency. This replaces the previous setting where you would set your \"default currency\". This setting is now tied to the financial administration and can be different per administration.",
|
||||
"administration_currency_form_help": "It may take a long time for the page to load if you change the native currency because transaction may need to be converted to your (new) native currency.",
|
||||
"administrations_page_edit_sub_title_js": "Edit financial administration \"{title}\"",
|
||||
"table": "Tabu\u013eka",
|
||||
"welcome_back": "Ako to ide?",
|
||||
"flash_error": "Chyba!",
|
||||
"flash_warning": "Varovanie!",
|
||||
@ -145,6 +151,7 @@
|
||||
"url": "URL",
|
||||
"active": "Akt\u00edvne",
|
||||
"interest_date": "\u00darokov\u00fd d\u00e1tum",
|
||||
"administration_currency": "Native currency",
|
||||
"title": "N\u00e1zov",
|
||||
"date": "D\u00e1tum",
|
||||
"book_date": "D\u00e1tum rezerv\u00e1cie",
|
||||
@ -162,7 +169,9 @@
|
||||
"rate": "Rate"
|
||||
},
|
||||
"list": {
|
||||
"title": "N\u00e1zov",
|
||||
"active": "Akt\u00edvne?",
|
||||
"native_currency": "Native currency",
|
||||
"trigger": "Trigger",
|
||||
"response": "Response",
|
||||
"delivery": "Delivery",
|
||||
|
@ -1,5 +1,11 @@
|
||||
{
|
||||
"firefly": {
|
||||
"administrations_page_title": "Finan\u010dne administracije",
|
||||
"administrations_index_menu": "Financial administrations",
|
||||
"temp_administrations_introduction": "Firefly III will soon get the ability to manage multiple financial administrations. Right now, you only have the one. You can set the title of this administration and its native currency. This replaces the previous setting where you would set your \"default currency\". This setting is now tied to the financial administration and can be different per administration.",
|
||||
"administration_currency_form_help": "It may take a long time for the page to load if you change the native currency because transaction may need to be converted to your (new) native currency.",
|
||||
"administrations_page_edit_sub_title_js": "Edit financial administration \"{title}\"",
|
||||
"table": "Tabela",
|
||||
"welcome_back": "Kaj vse se dogaja?",
|
||||
"flash_error": "Napaka!",
|
||||
"flash_warning": "Opozorilo!",
|
||||
@ -9,7 +15,7 @@
|
||||
"select_source_account": "Izberite ali vnesite veljavno ime izvornega ra\u010duna",
|
||||
"split_transaction_title": "Opis razdeljene transakcije",
|
||||
"errors_submission": "Nekaj je bilo narobe z va\u0161o oddajo. Preverite spodnje napake.",
|
||||
"is_reconciled": "Is reconciled",
|
||||
"is_reconciled": "Je usklajena",
|
||||
"split": "Razdeli",
|
||||
"single_split": "Razdeli",
|
||||
"transaction_stored_link": "<a href=\"transactions\/show\/{ID}\">Transakcija \u0161t. #{ID} (\"{title}\")<\/a> je bila shranjena.",
|
||||
@ -34,7 +40,7 @@
|
||||
"submit": "Potrdite",
|
||||
"amount": "Znesek",
|
||||
"date": "Datum",
|
||||
"is_reconciled_fields_dropped": "Because this transaction is reconciled, you will not be able to update the accounts, nor the amount(s) unless you remove the reconciliation flag.",
|
||||
"is_reconciled_fields_dropped": "Ker je ta transakcija usklajena, ne boste mogli posodobiti ra\u010dunov niti zneskov.",
|
||||
"tags": "Oznake",
|
||||
"no_budget": "(brez prora\u010duna)",
|
||||
"no_bill": "(brez naro\u010dnin)",
|
||||
@ -145,6 +151,7 @@
|
||||
"url": "URL",
|
||||
"active": "Aktivno",
|
||||
"interest_date": "Datum obresti",
|
||||
"administration_currency": "Native currency",
|
||||
"title": "Naslov",
|
||||
"date": "Datum",
|
||||
"book_date": "Datum knji\u017eenja",
|
||||
@ -162,7 +169,9 @@
|
||||
"rate": "Te\u010daj"
|
||||
},
|
||||
"list": {
|
||||
"title": "Naslov",
|
||||
"active": "Aktiviran?",
|
||||
"native_currency": "Native currency",
|
||||
"trigger": "Spro\u017eilec",
|
||||
"response": "Odziv",
|
||||
"delivery": "Dostava",
|
||||
|
@ -1,5 +1,11 @@
|
||||
{
|
||||
"firefly": {
|
||||
"administrations_page_title": "Financial administrations",
|
||||
"administrations_index_menu": "Financial administrations",
|
||||
"temp_administrations_introduction": "Firefly III will soon get the ability to manage multiple financial administrations. Right now, you only have the one. You can set the title of this administration and its native currency. This replaces the previous setting where you would set your \"default currency\". This setting is now tied to the financial administration and can be different per administration.",
|
||||
"administration_currency_form_help": "It may take a long time for the page to load if you change the native currency because transaction may need to be converted to your (new) native currency.",
|
||||
"administrations_page_edit_sub_title_js": "Edit financial administration \"{title}\"",
|
||||
"table": "Tabell",
|
||||
"welcome_back": "Vad spelas?",
|
||||
"flash_error": "Fel!",
|
||||
"flash_warning": "Varning!",
|
||||
@ -145,6 +151,7 @@
|
||||
"url": "L\u00e4nk",
|
||||
"active": "Aktiv",
|
||||
"interest_date": "R\u00e4ntedatum",
|
||||
"administration_currency": "Native currency",
|
||||
"title": "Titel",
|
||||
"date": "Datum",
|
||||
"book_date": "Bokf\u00f6ringsdatum",
|
||||
@ -162,7 +169,9 @@
|
||||
"rate": "Rate"
|
||||
},
|
||||
"list": {
|
||||
"title": "Titel",
|
||||
"active": "\u00c4r aktiv?",
|
||||
"native_currency": "Native currency",
|
||||
"trigger": "Utl\u00f6sare",
|
||||
"response": "Svar",
|
||||
"delivery": "Leverans",
|
||||
|
@ -1,5 +1,11 @@
|
||||
{
|
||||
"firefly": {
|
||||
"administrations_page_title": "Financial administrations",
|
||||
"administrations_index_menu": "Financial administrations",
|
||||
"temp_administrations_introduction": "Firefly III will soon get the ability to manage multiple financial administrations. Right now, you only have the one. You can set the title of this administration and its native currency. This replaces the previous setting where you would set your \"default currency\". This setting is now tied to the financial administration and can be different per administration.",
|
||||
"administration_currency_form_help": "It may take a long time for the page to load if you change the native currency because transaction may need to be converted to your (new) native currency.",
|
||||
"administrations_page_edit_sub_title_js": "Edit financial administration \"{title}\"",
|
||||
"table": "Tablo",
|
||||
"welcome_back": "Neler oluyor?",
|
||||
"flash_error": "Hata!",
|
||||
"flash_warning": "Uyar\u0131!",
|
||||
@ -145,6 +151,7 @@
|
||||
"url": "URL",
|
||||
"active": "Aktif",
|
||||
"interest_date": "Faiz tarihi",
|
||||
"administration_currency": "Native currency",
|
||||
"title": "Ba\u015fl\u0131k",
|
||||
"date": "Tarih",
|
||||
"book_date": "Kitap Tarihi",
|
||||
@ -162,7 +169,9 @@
|
||||
"rate": "Rate"
|
||||
},
|
||||
"list": {
|
||||
"title": "Ba\u015fl\u0131k",
|
||||
"active": "Aktif mi?",
|
||||
"native_currency": "Native currency",
|
||||
"trigger": "Trigger",
|
||||
"response": "Response",
|
||||
"delivery": "Delivery",
|
||||
|
@ -1,5 +1,11 @@
|
||||
{
|
||||
"firefly": {
|
||||
"administrations_page_title": "Financial administrations",
|
||||
"administrations_index_menu": "Financial administrations",
|
||||
"temp_administrations_introduction": "Firefly III will soon get the ability to manage multiple financial administrations. Right now, you only have the one. You can set the title of this administration and its native currency. This replaces the previous setting where you would set your \"default currency\". This setting is now tied to the financial administration and can be different per administration.",
|
||||
"administration_currency_form_help": "It may take a long time for the page to load if you change the native currency because transaction may need to be converted to your (new) native currency.",
|
||||
"administrations_page_edit_sub_title_js": "Edit financial administration \"{title}\"",
|
||||
"table": "\u0422\u0430\u0431\u043b\u0438\u0446\u044f",
|
||||
"welcome_back": "\u0429\u043e \u0432 \u0433\u0430\u043c\u0430\u043d\u0446\u0456?",
|
||||
"flash_error": "\u041f\u043e\u043c\u0438\u043b\u043a\u0430!",
|
||||
"flash_warning": "\u0423\u0432\u0430\u0433\u0430!",
|
||||
@ -145,6 +151,7 @@
|
||||
"url": "URL-\u0430\u0434\u0440\u0435\u0441\u0430",
|
||||
"active": "\u0410\u043a\u0442\u0438\u0432\u043d\u043e",
|
||||
"interest_date": "\u0414\u0430\u0442\u0430 \u043d\u0430\u0440\u0430\u0445\u0443\u0432\u0430\u043d\u043d\u044f \u0432\u0456\u0434\u0441\u043e\u0442\u043a\u0456\u0432",
|
||||
"administration_currency": "Native currency",
|
||||
"title": "\u041d\u0430\u0437\u0432\u0430",
|
||||
"date": "\u0414\u0430\u0442\u0430",
|
||||
"book_date": "\u0414\u0430\u0442\u0430 \u0431\u0440\u043e\u043d\u044e\u0432\u0430\u043d\u043d\u044f",
|
||||
@ -162,7 +169,9 @@
|
||||
"rate": "Rate"
|
||||
},
|
||||
"list": {
|
||||
"title": "\u041d\u0430\u0437\u0432\u0430",
|
||||
"active": "\u0427\u0438 \u0430\u043a\u0442\u0438\u0432\u043d\u0438\u0439?",
|
||||
"native_currency": "Native currency",
|
||||
"trigger": "\u0422\u0440\u0438\u0433\u0435\u0440",
|
||||
"response": "\u0412\u0456\u0434\u043f\u043e\u0432\u0456\u0434\u044c",
|
||||
"delivery": "\u0414\u043e\u0441\u0442\u0430\u0432\u043a\u0430",
|
||||
|
@ -1,5 +1,11 @@
|
||||
{
|
||||
"firefly": {
|
||||
"administrations_page_title": "Financial administrations",
|
||||
"administrations_index_menu": "Financial administrations",
|
||||
"temp_administrations_introduction": "Firefly III will soon get the ability to manage multiple financial administrations. Right now, you only have the one. You can set the title of this administration and its native currency. This replaces the previous setting where you would set your \"default currency\". This setting is now tied to the financial administration and can be different per administration.",
|
||||
"administration_currency_form_help": "It may take a long time for the page to load if you change the native currency because transaction may need to be converted to your (new) native currency.",
|
||||
"administrations_page_edit_sub_title_js": "Edit financial administration \"{title}\"",
|
||||
"table": "B\u00e0n",
|
||||
"welcome_back": "Ch\u00e0o m\u1eebng tr\u1edf l\u1ea1i?",
|
||||
"flash_error": "L\u1ed7i!",
|
||||
"flash_warning": "C\u1ea3nh b\u00e1o!",
|
||||
@ -145,6 +151,7 @@
|
||||
"url": "URL",
|
||||
"active": "H\u00e0nh \u0111\u1ed9ng",
|
||||
"interest_date": "Ng\u00e0y l\u00e3i",
|
||||
"administration_currency": "Native currency",
|
||||
"title": "Ti\u00eau \u0111\u1ec1",
|
||||
"date": "Ng\u00e0y",
|
||||
"book_date": "Ng\u00e0y \u0111\u1eb7t s\u00e1ch",
|
||||
@ -162,7 +169,9 @@
|
||||
"rate": "Rate"
|
||||
},
|
||||
"list": {
|
||||
"title": "Ti\u00eau \u0111\u1ec1",
|
||||
"active": "\u0110ang ho\u1ea1t \u0111\u1ed9ng?",
|
||||
"native_currency": "Native currency",
|
||||
"trigger": "K\u00edch ho\u1ea1t",
|
||||
"response": "\u0110\u00e1p l\u1ea1i",
|
||||
"delivery": "Ph\u00e2n ph\u1ed1i",
|
||||
|
@ -1,5 +1,11 @@
|
||||
{
|
||||
"firefly": {
|
||||
"administrations_page_title": "Financial administrations",
|
||||
"administrations_index_menu": "Financial administrations",
|
||||
"temp_administrations_introduction": "Firefly III will soon get the ability to manage multiple financial administrations. Right now, you only have the one. You can set the title of this administration and its native currency. This replaces the previous setting where you would set your \"default currency\". This setting is now tied to the financial administration and can be different per administration.",
|
||||
"administration_currency_form_help": "It may take a long time for the page to load if you change the native currency because transaction may need to be converted to your (new) native currency.",
|
||||
"administrations_page_edit_sub_title_js": "Edit financial administration \"{title}\"",
|
||||
"table": "\u8868\u683c",
|
||||
"welcome_back": "\u4eca\u5929\u7406\u8d22\u4e86\u5417\uff1f",
|
||||
"flash_error": "\u9519\u8bef\uff01",
|
||||
"flash_warning": "\u8b66\u544a\uff01",
|
||||
@ -9,7 +15,7 @@
|
||||
"select_source_account": "\u8bf7\u9009\u62e9\u6216\u8f93\u5165\u4e00\u4e2a\u6709\u6548\u7684\u6e90\u5e10\u6237\u540d\u79f0",
|
||||
"split_transaction_title": "\u62c6\u5206\u4ea4\u6613\u7684\u63cf\u8ff0",
|
||||
"errors_submission": "\u60a8\u7684\u63d0\u4ea4\u6709\u8bef\uff0c\u8bf7\u67e5\u770b\u4e0b\u9762\u8f93\u51fa\u7684\u9519\u8bef\u4fe1\u606f\u3002",
|
||||
"is_reconciled": "Is reconciled",
|
||||
"is_reconciled": "\u5df2\u6838\u9500",
|
||||
"split": "\u62c6\u5206",
|
||||
"single_split": "\u62c6\u5206",
|
||||
"transaction_stored_link": "<a href=\"transactions\/show\/{ID}\">\u4ea4\u6613 #{ID} (\u201c{title}\u201d)<\/a> \u5df2\u4fdd\u5b58\u3002",
|
||||
@ -131,11 +137,11 @@
|
||||
"response": "\u54cd\u5e94",
|
||||
"visit_webhook_url": "\u8bbf\u95ee webhook URL",
|
||||
"reset_webhook_secret": "\u91cd\u7f6e webhook \u5bc6\u94a5",
|
||||
"header_exchange_rates": "Exchange rates",
|
||||
"header_exchange_rates": "\u6c47\u7387",
|
||||
"exchange_rates_intro": "Firefly III supports downloading and using exchange rates. Read more about this in <a href=\"https:\/\/docs.firefly-iii.org\/LOL_NOT_FINISHED_YET_TODO\">the documentation<\/a>.",
|
||||
"exchange_rates_from_to": "Between {from} and {to} (and the other way around)",
|
||||
"exchange_rates_intro_rates": "Firefly III uses the following exchange rates. The inverse is automatically calculated when it is not provided. If no exchange rate exists for the date of the transaction, Firefly III will go back in time to find one. If none are present, the rate \"1\" will be used.",
|
||||
"header_exchange_rates_rates": "Exchange rates",
|
||||
"header_exchange_rates_rates": "\u6c47\u7387",
|
||||
"header_exchange_rates_table": "Table with exchange rates",
|
||||
"help_rate_form": "On this day, how many {to} will you get for one {from}?",
|
||||
"add_new_rate": "Add a new exchange rate",
|
||||
@ -145,6 +151,7 @@
|
||||
"url": "\u7f51\u5740",
|
||||
"active": "\u542f\u7528",
|
||||
"interest_date": "\u5229\u606f\u65e5\u671f",
|
||||
"administration_currency": "Native currency",
|
||||
"title": "\u6807\u9898",
|
||||
"date": "\u65e5\u671f",
|
||||
"book_date": "\u767b\u8bb0\u65e5\u671f",
|
||||
@ -162,7 +169,9 @@
|
||||
"rate": "Rate"
|
||||
},
|
||||
"list": {
|
||||
"title": "\u6807\u9898",
|
||||
"active": "\u662f\u5426\u542f\u7528\uff1f",
|
||||
"native_currency": "Native currency",
|
||||
"trigger": "\u89e6\u53d1\u6761\u4ef6",
|
||||
"response": "\u7b54\u590d",
|
||||
"delivery": "\u4ea4\u4ed8",
|
||||
|
@ -1,5 +1,11 @@
|
||||
{
|
||||
"firefly": {
|
||||
"administrations_page_title": "Financial administrations",
|
||||
"administrations_index_menu": "Financial administrations",
|
||||
"temp_administrations_introduction": "Firefly III will soon get the ability to manage multiple financial administrations. Right now, you only have the one. You can set the title of this administration and its native currency. This replaces the previous setting where you would set your \"default currency\". This setting is now tied to the financial administration and can be different per administration.",
|
||||
"administration_currency_form_help": "It may take a long time for the page to load if you change the native currency because transaction may need to be converted to your (new) native currency.",
|
||||
"administrations_page_edit_sub_title_js": "Edit financial administration \"{title}\"",
|
||||
"table": "\u8868\u683c",
|
||||
"welcome_back": "What's playing?",
|
||||
"flash_error": "\u932f\u8aa4\uff01",
|
||||
"flash_warning": "\u8b66\u544a\uff01",
|
||||
@ -145,6 +151,7 @@
|
||||
"url": "URL",
|
||||
"active": "\u555f\u7528",
|
||||
"interest_date": "\u5229\u7387\u65e5\u671f",
|
||||
"administration_currency": "Native currency",
|
||||
"title": "\u6a19\u984c",
|
||||
"date": "\u65e5\u671f",
|
||||
"book_date": "\u767b\u8a18\u65e5\u671f",
|
||||
@ -162,7 +169,9 @@
|
||||
"rate": "Rate"
|
||||
},
|
||||
"list": {
|
||||
"title": "\u6a19\u984c",
|
||||
"active": "\u662f\u5426\u555f\u7528\uff1f",
|
||||
"native_currency": "Native currency",
|
||||
"trigger": "\u89f8\u767c\u5668",
|
||||
"response": "\u56de\u61c9",
|
||||
"delivery": "Delivery",
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -49,7 +49,7 @@ return [
|
||||
'date_or_time' => 'The value must be a valid date or time value (ISO 8601).',
|
||||
'source_equals_destination' => 'The source account equals the destination account.',
|
||||
'unique_account_number_for_user' => 'It looks like this account number is already in use.',
|
||||
'unique_user_group_for_user' => 'It looks like this administration title is already in use.',
|
||||
'unique_user_group_for_user' => 'It looks like this administration title is already in use.',
|
||||
'unique_iban_for_user' => 'It looks like this IBAN is already in use.',
|
||||
'reconciled_forbidden_field' => 'This transaction is already reconciled, you cannot change the ":field"',
|
||||
'deleted_user' => 'Due to security constraints, you cannot register using this email address.',
|
||||
|
@ -538,7 +538,7 @@ Route::group(
|
||||
Route::get('', ['uses' => 'IndexController@index', 'as' => 'index']);
|
||||
Route::get('{userGroup}', ['uses' => 'ShowController@show', 'as' => 'show']);
|
||||
Route::put('{userGroup}', ['uses' => 'UpdateController@update', 'as' => 'update']);
|
||||
//Route::post('', ['uses' => 'StoreController@store', 'as' => 'store']);
|
||||
// Route::post('', ['uses' => 'StoreController@store', 'as' => 'store']);
|
||||
// Route::put('{userGroup}', ['uses' => 'UpdateController@update', 'as' => 'update']);
|
||||
// Route::post('{userGroup}/use', ['uses' => 'UpdateController@useUserGroup', 'as' => 'use']);
|
||||
// Route::put('{userGroup}/update-membership', ['uses' => 'UpdateController@updateMembership', 'as' => 'updateMembership']);
|
||||
|
@ -1350,21 +1350,21 @@ Breadcrumbs::for(
|
||||
}
|
||||
);
|
||||
|
||||
//Breadcrumbs::for(
|
||||
// Breadcrumbs::for(
|
||||
// 'administrations.show',
|
||||
// static function (Generator $breadcrumbs, UserGroup $userGroup): void {
|
||||
// $breadcrumbs->parent('administrations.index');
|
||||
// $breadcrumbs->push(limitStringLength($userGroup->title), route('administrations.show', [$userGroup->id]));
|
||||
// }
|
||||
//);
|
||||
// );
|
||||
|
||||
//Breadcrumbs::for(
|
||||
// Breadcrumbs::for(
|
||||
// 'administrations.create',
|
||||
// static function (Generator $breadcrumbs): void {
|
||||
// $breadcrumbs->parent('administrations.index');
|
||||
// $breadcrumbs->push(trans('firefly.administrations_create_breadcrumb'), route('administrations.create'));
|
||||
// }
|
||||
//);
|
||||
// );
|
||||
Breadcrumbs::for(
|
||||
'administrations.edit',
|
||||
static function (Generator $breadcrumbs, UserGroup $userGroup): void {
|
||||
|
Loading…
Reference in New Issue
Block a user