Auto commit for release 'branch-v6.2' on 2024-12-22

This commit is contained in:
github-actions
2024-12-22 07:05:15 +01:00
parent 303548a5fe
commit a500de8ab1
67 changed files with 256 additions and 220 deletions

View File

@@ -35,8 +35,8 @@ use Illuminate\Pagination\LengthAwarePaginator;
*/
class IndexController extends Controller
{
public const string RESOURCE_KEY = 'exchange-rates';
use ValidatesUserGroupTrait;
public const string RESOURCE_KEY = 'exchange-rates';
private ExchangeRateRepositoryInterface $repository;
@@ -55,11 +55,11 @@ class IndexController extends Controller
public function index(): JsonResponse
{
$piggies = $this->repository->getAll();
$pageSize = $this->parameters->get('limit');
$count = $piggies->count();
$piggies = $piggies->slice(($this->parameters->get('page') - 1) * $pageSize, $pageSize);
$paginator = new LengthAwarePaginator($piggies, $count, $pageSize, $this->parameters->get('page'));
$piggies = $this->repository->getAll();
$pageSize = $this->parameters->get('limit');
$count = $piggies->count();
$piggies = $piggies->slice(($this->parameters->get('page') - 1) * $pageSize, $pageSize);
$paginator = new LengthAwarePaginator($piggies, $count, $pageSize, $this->parameters->get('page'));
var_dump('here we are');
@@ -68,6 +68,7 @@ class IndexController extends Controller
return response()
->json($this->jsonApiList(self::RESOURCE_KEY, $paginator, $transformer))
->header('Content-Type', self::CONTENT_TYPE);
->header('Content-Type', self::CONTENT_TYPE)
;
}
}

View File

@@ -37,8 +37,8 @@ use Illuminate\Pagination\LengthAwarePaginator;
*/
class ShowController extends Controller
{
public const string RESOURCE_KEY = 'exchange-rates';
use ValidatesUserGroupTrait;
public const string RESOURCE_KEY = 'exchange-rates';
private ExchangeRateRepositoryInterface $repository;
@@ -57,19 +57,20 @@ class ShowController extends Controller
public function show(TransactionCurrency $from, TransactionCurrency $to): JsonResponse
{
// $piggies = $this->repository->getAll();
//
$pageSize = $this->parameters->get('limit');
$rates = $this->repository->getRates($from, $to);
$count = $rates->count();
$rates = $rates->slice(($this->parameters->get('page') - 1) * $pageSize, $pageSize);
$paginator = new LengthAwarePaginator($rates, $count, $pageSize, $this->parameters->get('page'));
// $piggies = $this->repository->getAll();
//
$pageSize = $this->parameters->get('limit');
$rates = $this->repository->getRates($from, $to);
$count = $rates->count();
$rates = $rates->slice(($this->parameters->get('page') - 1) * $pageSize, $pageSize);
$paginator = new LengthAwarePaginator($rates, $count, $pageSize, $this->parameters->get('page'));
$transformer = new ExchangeRateTransformer();
$transformer->setParameters($this->parameters); // give params to transformer
return response()
->json($this->jsonApiList(self::RESOURCE_KEY, $paginator, $transformer))
->header('Content-Type', self::CONTENT_TYPE);
->header('Content-Type', self::CONTENT_TYPE)
;
}
}

View File

@@ -34,7 +34,7 @@ use Illuminate\Pagination\LengthAwarePaginator;
class IndexController extends Controller
{
public const string RESOURCE_KEY = 'transaction-currencies';
public const string RESOURCE_KEY = 'transaction-currencies';
private CurrencyRepositoryInterface $repository;
protected array $acceptedRoles = [UserRoleEnum::READ_ONLY];
@@ -46,7 +46,7 @@ class IndexController extends Controller
function ($request, $next) {
$this->repository = app(CurrencyRepositoryInterface::class);
// new way of user group validation
$userGroup = $this->validateUserGroup($request);
$userGroup = $this->validateUserGroup($request);
$this->repository->setUserGroup($userGroup);
return $next($request);
@@ -56,20 +56,20 @@ class IndexController extends Controller
public function index(IndexRequest $request): JsonResponse
{
$settings = $request->getAll();
if(true === $settings['enabled']) {
$settings = $request->getAll();
if (true === $settings['enabled']) {
$currencies = $this->repository->get();
}
if(true !== $settings['enabled']) {
if (true !== $settings['enabled']) {
$currencies = $this->repository->getAll();
}
$pageSize = $this->parameters->get('limit');
$count = $currencies->count();
$pageSize = $this->parameters->get('limit');
$count = $currencies->count();
// depending on the sort parameters, this list must not be split, because the
// order is calculated in the account transformer and by that time it's too late.
$accounts = $currencies->slice(($this->parameters->get('page') - 1) * $pageSize, $pageSize);
$accounts = $currencies->slice(($this->parameters->get('page') - 1) * $pageSize, $pageSize);
$paginator = new LengthAwarePaginator($accounts, $count, $pageSize, $this->parameters->get('page'));
$transformer = new CurrencyTransformer();
@@ -78,6 +78,7 @@ class IndexController extends Controller
return response()
->json($this->jsonApiList(self::RESOURCE_KEY, $paginator, $transformer))
->header('Content-Type', self::CONTENT_TYPE);
->header('Content-Type', self::CONTENT_TYPE)
;
}
}

View File

@@ -47,7 +47,7 @@ class ShowController extends Controller
function ($request, $next) {
$this->repository = app(CurrencyRepositoryInterface::class);
// new way of user group validation
$userGroup = $this->validateUserGroup($request);
$userGroup = $this->validateUserGroup($request);
$this->repository->setUserGroup($userGroup);
return $next($request);
@@ -57,9 +57,10 @@ class ShowController extends Controller
public function show(TransactionCurrency $currency): JsonResponse
{
$groups = $currency->userGroups()->where('user_groups.id', $this->repository->getUserGroup()->id)->get();
$enabled = $groups->count() > 0;
$default = false;
$groups = $currency->userGroups()->where('user_groups.id', $this->repository->getUserGroup()->id)->get();
$enabled = $groups->count() > 0;
$default = false;
/** @var UserGroup $group */
foreach ($groups as $group) {
$default = 1 === $group->pivot->group_default;
@@ -68,11 +69,12 @@ class ShowController extends Controller
$currency->userGroupDefault = $default;
$transformer = new CurrencyTransformer();
$transformer = new CurrencyTransformer();
$transformer->setParameters($this->parameters);
return response()
->api($this->jsonApiObject(self::RESOURCE_KEY, $currency, $transformer))
->header('Content-Type', self::CONTENT_TYPE);
->header('Content-Type', self::CONTENT_TYPE)
;
}
}

View File

@@ -24,7 +24,6 @@ declare(strict_types=1);
namespace FireflyIII\Api\V2\Request\Model\TransactionCurrency;
use Carbon\Carbon;
use FireflyIII\Support\Http\Api\AccountFilter;
use FireflyIII\Support\Request\ChecksLogin;
use FireflyIII\Support\Request\ConvertsDataTypes;

View File

@@ -151,7 +151,6 @@ class CorrectAmounts extends Command
/**
* Foreach loop is unavoidable here.
* @return void
*/
private function fixRuleTriggers(): void
{
@@ -162,7 +161,7 @@ class CorrectAmounts extends Command
foreach ($set as $item) {
$result = $this->fixRuleTrigger($item);
if (true === $result) {
$fixed++;
++$fixed;
}
}
if (0 === $fixed) {
@@ -182,13 +181,16 @@ class CorrectAmounts extends Command
$item->rule->active = false;
$item->rule->save();
$item->forceDelete();
return false;
}
if (-1 === $check) {
$item->trigger_value = app('steam')->positive($item->trigger_value);
$item->save();
return true;
}
return false;
}
}

View File

@@ -69,7 +69,7 @@ class CorrectDatabase extends Command
'firefly-iii:fix-long-descriptions',
'firefly-iii:fix-recurring-transactions',
'firefly-iii:upgrade-group-information',
//'firefly-iii:fix-transaction-types', // very resource heavy.
// 'firefly-iii:fix-transaction-types', // very resource heavy.
'firefly-iii:fix-frontpage-accounts',
// new!
'firefly-iii:unify-group-accounts',

View File

@@ -52,6 +52,7 @@ class FixTransactionTypes extends Command
$count = 0;
$journals = $this->collectJournals();
Log::debug(sprintf('In FixTransactionTypes, found %d journals.', $journals->count()));
/** @var TransactionJournal $journal */
foreach ($journals as $journal) {
$fixed = $this->fixJournal($journal);

View File

@@ -41,6 +41,6 @@ class DetectedNewIPAddress extends Event
*/
public function __construct(User $user)
{
$this->user = $user;
$this->user = $user;
}
}

View File

@@ -187,13 +187,13 @@ class UserEventHandler
*/
public function notifyNewIPAddress(DetectedNewIPAddress $event): void
{
$user = $event->user;
$user = $event->user;
if ($user->hasRole('demo')) {
return; // do not email demo user.
}
$list = app('preferences')->getForUser($user, 'login_ip_history', [])->data;
$list = app('preferences')->getForUser($user, 'login_ip_history', [])->data;
if (!is_array($list)) {
$list = [];
}

View File

@@ -1,4 +1,5 @@
<?php
/*
* IndexController.php
* Copyright (c) 2024 james@firefly-iii.org.
@@ -25,7 +26,6 @@ namespace FireflyIII\Http\Controllers\ExchangeRates;
use FireflyIII\Http\Controllers\Controller;
use FireflyIII\Models\TransactionCurrency;
use Illuminate\View\Factory;
use Illuminate\View\View;
class IndexController extends Controller
@@ -42,6 +42,7 @@ class IndexController extends Controller
function ($request, $next) {
app('view')->share('mainTitleIcon', 'fa-exchange');
app('view')->share('title', (string) trans('firefly.header_exchange_rates'));
return $next($request);
}
);
@@ -56,5 +57,4 @@ class IndexController extends Controller
{
return view('exchange-rates.rates', compact('from', 'to'));
}
}

View File

@@ -43,7 +43,7 @@ class TransactionCurrency extends Model
public ?bool $userGroupDefault = null;
public ?bool $userGroupEnabled = null;
protected $casts
= [
= [
'created_at' => 'datetime',
'updated_at' => 'datetime',
'deleted_at' => 'datetime',
@@ -51,7 +51,7 @@ class TransactionCurrency extends Model
'enabled' => 'bool',
];
protected $fillable = ['name', 'code', 'symbol', 'decimal_places', 'enabled'];
protected $fillable = ['name', 'code', 'symbol', 'decimal_places', 'enabled'];
/**
* Route binder. Converts the key in the URL to the specified object (or throw 404).

View File

@@ -68,7 +68,8 @@ class UnknownUserLoginAttempt extends Notification
return new MailMessage()
->markdown('emails.owner.unknown-user', ['address' => $this->address, 'ip' => $ip, 'host' => $host, 'userAgent' => $userAgent, 'time' => $time])
->subject((string) trans('email.unknown_user_subject'));
->subject((string) trans('email.unknown_user_subject'))
;
}
/**
@@ -91,7 +92,8 @@ class UnknownUserLoginAttempt extends Notification
public function toPushover(OwnerNotifiable $notifiable): PushoverMessage
{
return PushoverMessage::create((string) trans('email.unknown_user_message', ['address' => $this->address]))
->title((string) trans('email.unknown_user_subject'));
->title((string) trans('email.unknown_user_subject'))
;
}
/**

View File

@@ -61,7 +61,7 @@ class DisabledMFANotification extends Notification
*/
public function toMail(User $notifiable)
{
$subject = (string) trans('email.disabled_mfa_subject');
$subject = (string) trans('email.disabled_mfa_subject');
$ip = Request::ip();
$host = Steam::getHostName($ip);
$userAgent = Request::userAgent();

View File

@@ -61,7 +61,7 @@ class EnabledMFANotification extends Notification
*/
public function toMail(User $notifiable)
{
$subject = (string) trans('email.enabled_mfa_subject');
$subject = (string) trans('email.enabled_mfa_subject');
$ip = Request::ip();
$host = Steam::getHostName($ip);
$userAgent = Request::userAgent();

View File

@@ -63,7 +63,7 @@ class MFABackupFewLeftNotification extends Notification
*/
public function toMail(User $notifiable)
{
$subject = (string) trans('email.mfa_few_backups_left_subject', ['count' => $this->count]);
$subject = (string) trans('email.mfa_few_backups_left_subject', ['count' => $this->count]);
$ip = Request::ip();
$host = Steam::getHostName($ip);
$userAgent = Request::userAgent();

View File

@@ -61,7 +61,7 @@ class MFABackupNoLeftNotification extends Notification
*/
public function toMail(User $notifiable)
{
$subject = (string) trans('email.mfa_no_backups_left_subject');
$subject = (string) trans('email.mfa_no_backups_left_subject');
$ip = Request::ip();
$host = Steam::getHostName($ip);
$userAgent = Request::userAgent();

View File

@@ -60,7 +60,7 @@ class MFAManyFailedAttemptsNotification extends Notification
*/
public function toMail(User $notifiable)
{
$subject = (string) trans('email.mfa_many_failed_subject', ['count' => $this->count]);
$subject = (string) trans('email.mfa_many_failed_subject', ['count' => $this->count]);
$ip = Request::ip();
$host = Steam::getHostName($ip);
$userAgent = Request::userAgent();

View File

@@ -61,7 +61,7 @@ class MFAUsedBackupCodeNotification extends Notification
*/
public function toMail(User $notifiable)
{
$subject = (string) trans('email.used_backup_code_subject');
$subject = (string) trans('email.used_backup_code_subject');
$ip = Request::ip();
$host = Steam::getHostName($ip);
$userAgent = Request::userAgent();

View File

@@ -61,7 +61,7 @@ class NewBackupCodesNotification extends Notification
*/
public function toMail(User $notifiable)
{
$subject = (string) trans('email.new_backup_codes_subject');
$subject = (string) trans('email.new_backup_codes_subject');
$ip = Request::ip();
$host = Steam::getHostName($ip);
$userAgent = Request::userAgent();

View File

@@ -58,7 +58,7 @@ class UserFailedLoginAttempt extends Notification
*/
public function toMail(User $notifiable)
{
$subject = (string) trans('email.failed_login_subject');
$subject = (string) trans('email.failed_login_subject');
$ip = Request::ip();
$host = Steam::getHostName($ip);
$userAgent = Request::userAgent();

View File

@@ -24,7 +24,6 @@ declare(strict_types=1);
namespace FireflyIII\Notifications\User;
use FireflyIII\Exceptions\FireflyException;
use FireflyIII\Notifications\ReturnsAvailableChannels;
use FireflyIII\Notifications\ReturnsSettings;
use FireflyIII\Support\Facades\Steam;
@@ -68,13 +67,13 @@ class UserLogin extends Notification
public function toNtfy(User $notifiable): Message
{
$ip = Request::ip();
$host = Steam::getHostName($ip);
$ip = Request::ip();
$host = Steam::getHostName($ip);
$settings = ReturnsSettings::getSettings('ntfy', 'user', $notifiable);
$message = new Message();
$message->topic($settings['ntfy_topic']);
$message->title((string) trans('email.login_from_new_ip'));
$message->body((string) trans('email.slack_login_from_new_ip', ['ip' => $ip, 'host' => $host, ]));
$message->body((string) trans('email.slack_login_from_new_ip', ['ip' => $ip, 'host' => $host]));
return $message;
}
@@ -84,9 +83,10 @@ class UserLogin extends Notification
*/
public function toPushover(User $notifiable): PushoverMessage
{
$ip = Request::ip();
$host = Steam::getHostName($ip);
return PushoverMessage::create((string) trans('email.slack_login_from_new_ip', ['ip' => $ip, 'host' => $host, ]))
$ip = Request::ip();
$host = Steam::getHostName($ip);
return PushoverMessage::create((string) trans('email.slack_login_from_new_ip', ['ip' => $ip, 'host' => $host]))
->title((string) trans('email.login_from_new_ip'))
;
}
@@ -96,9 +96,10 @@ class UserLogin extends Notification
*/
public function toSlack(User $notifiable)
{
$ip = Request::ip();
$host = Steam::getHostName($ip);
return new SlackMessage()->content((string) trans('email.slack_login_from_new_ip', ['ip' => $ip, 'host' => $host, ]));
$ip = Request::ip();
$host = Steam::getHostName($ip);
return new SlackMessage()->content((string) trans('email.slack_login_from_new_ip', ['ip' => $ip, 'host' => $host]));
}
/**
@@ -108,6 +109,4 @@ class UserLogin extends Notification
{
return ReturnsAvailableChannels::returnChannels('user', $notifiable);
}
}

View File

@@ -77,7 +77,7 @@ class CurrencyServiceProvider extends ServiceProvider
$this->app->bind(
ExchangeRateRepositoryInterface::class,
static function (Application $app) {
/** @var ExchangeRateRepository $repository */
// @var ExchangeRateRepository $repository
return app(ExchangeRateRepository::class);
}
);

View File

@@ -1,4 +1,5 @@
<?php
/*
* ExchangeRateRepository.php
* Copyright (c) 2024 james@firefly-iii.org.
@@ -32,20 +33,23 @@ class ExchangeRateRepository implements ExchangeRateRepositoryInterface
{
use UserGroupTrait;
#[\Override] public function getRates(TransactionCurrency $from, TransactionCurrency $to): Collection
#[\Override]
public function getRates(TransactionCurrency $from, TransactionCurrency $to): Collection
{
return
$this->userGroup->currencyExchangeRates()
->where(function (Builder $q) use ($from, $to) {
$q->where('from_currency_id', $from->id)
->orWhere('to_currency_id', $to->id);
})
->orWhere(function (Builder $q) use ($from, $to) {
$q->where('from_currency_id', $to->id)
->orWhere('to_currency_id', $from->id);
})
->orderBy('date', 'DESC')->get();
->where(function (Builder $q) use ($from, $to): void {
$q->where('from_currency_id', $from->id)
->orWhere('to_currency_id', $to->id)
;
})
->orWhere(function (Builder $q) use ($from, $to): void {
$q->where('from_currency_id', $to->id)
->orWhere('to_currency_id', $from->id)
;
})
->orderBy('date', 'DESC')->get()
;
}
}

View File

@@ -1,4 +1,5 @@
<?php
/*
* ExchangeRateRepositoryInterface.php
* Copyright (c) 2024 james@firefly-iii.org.
@@ -28,7 +29,5 @@ use Illuminate\Support\Collection;
interface ExchangeRateRepositoryInterface
{
public function getRates(TransactionCurrency $from, TransactionCurrency $to): Collection;
}

View File

@@ -32,8 +32,6 @@ use Illuminate\Support\Collection;
*/
class ExchangeRateTransformer extends AbstractTransformer
{
/**
* This method collects meta-data for one or all accounts in the transformer's collection.
*/
@@ -48,23 +46,23 @@ class ExchangeRateTransformer extends AbstractTransformer
public function transform(CurrencyExchangeRate $rate): array
{
return [
'id' => (string) $rate->id,
'created_at' => $rate->created_at->toAtomString(),
'updated_at' => $rate->updated_at->toAtomString(),
'id' => (string) $rate->id,
'created_at' => $rate->created_at->toAtomString(),
'updated_at' => $rate->updated_at->toAtomString(),
'from_currency_id' => (string) $rate->fromCurrency->id,
'from_currency_code' => $rate->fromCurrency->code,
'from_currency_symbol' => $rate->fromCurrency->symbol,
'from_currency_decimal_places' => $rate->fromCurrency->decimal_places,
'to_currency_id' => (string) $rate->toCurrency->id,
'to_currency_code' => $rate->toCurrency->code,
'to_currency_symbol' => $rate->toCurrency->symbol,
'to_currency_decimal_places' => $rate->toCurrency->decimal_places,
'to_currency_id' => (string) $rate->toCurrency->id,
'to_currency_code' => $rate->toCurrency->code,
'to_currency_symbol' => $rate->toCurrency->symbol,
'to_currency_decimal_places' => $rate->toCurrency->decimal_places,
'rate' => $rate->rate,
'date' => $rate->date->toAtomString(),
'links' => [
'rate' => $rate->rate,
'date' => $rate->date->toAtomString(),
'links' => [
[
'rel' => 'self',
'uri' => sprintf('/exchange-rates/%s', $rate->id),

32
composer.lock generated
View File

@@ -4439,16 +4439,16 @@
},
{
"name": "nesbot/carbon",
"version": "3.8.2",
"version": "3.8.3",
"source": {
"type": "git",
"url": "https://github.com/briannesbitt/Carbon.git",
"reference": "e1268cdbc486d97ce23fef2c666dc3c6b6de9947"
"reference": "f01cfa96468f4c38325f507ab81a4f1d2cd93cfe"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/briannesbitt/Carbon/zipball/e1268cdbc486d97ce23fef2c666dc3c6b6de9947",
"reference": "e1268cdbc486d97ce23fef2c666dc3c6b6de9947",
"url": "https://api.github.com/repos/briannesbitt/Carbon/zipball/f01cfa96468f4c38325f507ab81a4f1d2cd93cfe",
"reference": "f01cfa96468f4c38325f507ab81a4f1d2cd93cfe",
"shasum": ""
},
"require": {
@@ -4541,7 +4541,7 @@
"type": "tidelift"
}
],
"time": "2024-11-07T17:46:48+00:00"
"time": "2024-12-21T18:03:19+00:00"
},
{
"name": "nette/schema",
@@ -10363,31 +10363,33 @@
},
{
"name": "tijsverkoyen/css-to-inline-styles",
"version": "v2.2.7",
"version": "v2.3.0",
"source": {
"type": "git",
"url": "https://github.com/tijsverkoyen/CssToInlineStyles.git",
"reference": "83ee6f38df0a63106a9e4536e3060458b74ccedb"
"reference": "0d72ac1c00084279c1816675284073c5a337c20d"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/tijsverkoyen/CssToInlineStyles/zipball/83ee6f38df0a63106a9e4536e3060458b74ccedb",
"reference": "83ee6f38df0a63106a9e4536e3060458b74ccedb",
"url": "https://api.github.com/repos/tijsverkoyen/CssToInlineStyles/zipball/0d72ac1c00084279c1816675284073c5a337c20d",
"reference": "0d72ac1c00084279c1816675284073c5a337c20d",
"shasum": ""
},
"require": {
"ext-dom": "*",
"ext-libxml": "*",
"php": "^5.5 || ^7.0 || ^8.0",
"symfony/css-selector": "^2.7 || ^3.0 || ^4.0 || ^5.0 || ^6.0 || ^7.0"
"php": "^7.4 || ^8.0",
"symfony/css-selector": "^5.4 || ^6.0 || ^7.0"
},
"require-dev": {
"phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.0 || ^7.5 || ^8.5.21 || ^9.5.10"
"phpstan/phpstan": "^2.0",
"phpstan/phpstan-phpunit": "^2.0",
"phpunit/phpunit": "^8.5.21 || ^9.5.10"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "2.2.x-dev"
"dev-master": "2.x-dev"
}
},
"autoload": {
@@ -10410,9 +10412,9 @@
"homepage": "https://github.com/tijsverkoyen/CssToInlineStyles",
"support": {
"issues": "https://github.com/tijsverkoyen/CssToInlineStyles/issues",
"source": "https://github.com/tijsverkoyen/CssToInlineStyles/tree/v2.2.7"
"source": "https://github.com/tijsverkoyen/CssToInlineStyles/tree/v2.3.0"
},
"time": "2023-12-08T13:03:43+00:00"
"time": "2024-12-21T16:25:41+00:00"
},
{
"name": "twig/twig",

View File

@@ -273,7 +273,7 @@ return [
'header_exchange_rates',
'exchange_rates_intro',
'exchange_rates_from_to',
'exchange_rates_intro_rates'
'exchange_rates_intro_rates',
],
'form' => [
'url',
@@ -291,7 +291,7 @@ return [
'webhook_trigger',
'webhook_delivery',
'from_currency_to_currency',
'to_currency_from_currency'
'to_currency_from_currency',
],
'list' => [
'active',

12
package-lock.json generated
View File

@@ -7219,9 +7219,9 @@
"license": "MIT"
},
"node_modules/is-core-module": {
"version": "2.16.0",
"resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.16.0.tgz",
"integrity": "sha512-urTSINYfAYgcbLb0yDQ6egFm6h3Mo1DcF9EkyXSRjjzdHbsulg01qhwWuXdOoUBuTkbQ80KDboXa0vFJ+BDH+g==",
"version": "2.16.1",
"resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.16.1.tgz",
"integrity": "sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -7442,9 +7442,9 @@
"license": "MIT"
},
"node_modules/json-stable-stringify": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.2.0.tgz",
"integrity": "sha512-ex8jk9BZHBolvbd5cRnAgwyaYcYB0qZldy1e+LCOdcF6+AUmVZ6LcGUMzsRTW83QMeu+GxZGrcLqxqrgfXGvIw==",
"version": "1.2.1",
"resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.2.1.tgz",
"integrity": "sha512-Lp6HbbBgosLmJbjx0pBLbgvx68FaFU1sdkmBuckmhhJ88kL13OA51CDtR2yJB50eCNMH9wRqtQNNiAqQH4YXnA==",
"dev": true,
"license": "MIT",
"dependencies": {

View File

@@ -14,17 +14,14 @@
"/public/v1/js/app.js.LICENSE.txt": "/public/v1/js/app.js.LICENSE.txt",
"/public/v1/js/app_vue.js": "/public/v1/js/app_vue.js",
"/public/v1/js/app_vue.js.LICENSE.txt": "/public/v1/js/app_vue.js.LICENSE.txt",
"/public/v1/js/create.js": "/public/v1/js/create.js",
"/public/v1/js/create.js.LICENSE.txt": "/public/v1/js/create.js.LICENSE.txt",
"/public/v1/js/create_transaction.js": "/public/v1/js/create_transaction.js",
"/public/v1/js/create_transaction.js.LICENSE.txt": "/public/v1/js/create_transaction.js.LICENSE.txt",
"/public/v1/js/edit.js": "/public/v1/js/edit.js",
"/public/v1/js/edit.js.LICENSE.txt": "/public/v1/js/edit.js.LICENSE.txt",
"/public/v1/js/edit_transaction.js": "/public/v1/js/edit_transaction.js",
"/public/v1/js/edit_transaction.js.LICENSE.txt": "/public/v1/js/edit_transaction.js.LICENSE.txt",
"/public/v1/js/exchange-rates/index.js": "/public/v1/js/exchange-rates/index.js",
"/public/v1/js/exchange-rates/index.js.LICENSE.txt": "/public/v1/js/exchange-rates/index.js.LICENSE.txt",
"/public/v1/js/exchange-rates/rates.js": "/public/v1/js/exchange-rates/rates.js",
"/public/v1/js/exchange-rates/rates.js.LICENSE.txt": "/public/v1/js/exchange-rates/rates.js.LICENSE.txt",
"/public/v1/js/ff/accounts/create.js": "/public/v1/js/ff/accounts/create.js",
"/public/v1/js/ff/accounts/edit-reconciliation.js": "/public/v1/js/ff/accounts/edit-reconciliation.js",
"/public/v1/js/ff/accounts/edit.js": "/public/v1/js/ff/accounts/edit.js",
@@ -93,8 +90,6 @@
"/public/v1/js/ff/transactions/mass/edit-bulk.js": "/public/v1/js/ff/transactions/mass/edit-bulk.js",
"/public/v1/js/ff/transactions/mass/edit.js": "/public/v1/js/ff/transactions/mass/edit.js",
"/public/v1/js/ff/transactions/show.js": "/public/v1/js/ff/transactions/show.js",
"/public/v1/js/index.js": "/public/v1/js/index.js",
"/public/v1/js/index.js.LICENSE.txt": "/public/v1/js/index.js.LICENSE.txt",
"/public/v1/js/lib/Chart.bundle.min.js": "/public/v1/js/lib/Chart.bundle.min.js",
"/public/v1/js/lib/accounting.min.js": "/public/v1/js/lib/accounting.min.js",
"/public/v1/js/lib/bootstrap-multiselect.js": "/public/v1/js/lib/bootstrap-multiselect.js",
@@ -153,8 +148,6 @@
"/public/v1/js/lib/vue.js": "/public/v1/js/lib/vue.js",
"/public/v1/js/profile.js": "/public/v1/js/profile.js",
"/public/v1/js/profile.js.LICENSE.txt": "/public/v1/js/profile.js.LICENSE.txt",
"/public/v1/js/show.js": "/public/v1/js/show.js",
"/public/v1/js/show.js.LICENSE.txt": "/public/v1/js/show.js.LICENSE.txt",
"/public/v1/js/webhooks/create.js": "/public/v1/js/webhooks/create.js",
"/public/v1/js/webhooks/create.js.LICENSE.txt": "/public/v1/js/webhooks/create.js.LICENSE.txt",
"/public/v1/js/webhooks/edit.js": "/public/v1/js/webhooks/edit.js",

View File

@@ -132,7 +132,8 @@
"reset_webhook_secret": "Reset webhook secret",
"header_exchange_rates": "Exchange rates",
"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"
"exchange_rates_from_to": "Between {from} and {to} (and the other way around)",
"exchange_rates_intro_rates": "Firefly III bla bla bla exchange rates."
},
"form": {
"url": "URL",

View File

@@ -132,7 +132,8 @@
"reset_webhook_secret": "Reiniciar el secret del webhook",
"header_exchange_rates": "Exchange rates",
"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"
"exchange_rates_from_to": "Between {from} and {to} (and the other way around)",
"exchange_rates_intro_rates": "Firefly III bla bla bla exchange rates."
},
"form": {
"url": "URL",

View File

@@ -132,7 +132,8 @@
"reset_webhook_secret": "Restartovat tajn\u00fd kl\u00ed\u010d webhooku",
"header_exchange_rates": "Exchange rates",
"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"
"exchange_rates_from_to": "Between {from} and {to} (and the other way around)",
"exchange_rates_intro_rates": "Firefly III bla bla bla exchange rates."
},
"form": {
"url": "URL",

View File

@@ -132,7 +132,8 @@
"reset_webhook_secret": "Nulstil webhook-hemmelighed",
"header_exchange_rates": "Exchange rates",
"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"
"exchange_rates_from_to": "Between {from} and {to} (and the other way around)",
"exchange_rates_intro_rates": "Firefly III bla bla bla exchange rates."
},
"form": {
"url": "URL",

View File

@@ -130,9 +130,10 @@
"response": "Antwort",
"visit_webhook_url": "Webhook-URL besuchen",
"reset_webhook_secret": "Webhook Secret zur\u00fccksetzen",
"header_exchange_rates": "Exchange rates",
"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"
"header_exchange_rates": "Wechselkurse",
"exchange_rates_intro": "Firefly III unterst\u00fctzt das Herunterladen und Verwenden von Wechselkursen. Lesen Sie mehr dar\u00fcber in <a href=\u201ehttps:\/\/docs.firefly-iii.org\/LOL_NOT_FINISHED_YET_TODO\u201c>der Dokumentation<\/a>.",
"exchange_rates_from_to": "Between {from} and {to} (and the other way around)",
"exchange_rates_intro_rates": "Firefly III bla bla bla exchange rates."
},
"form": {
"url": "URL",

View File

@@ -132,7 +132,8 @@
"reset_webhook_secret": "\u0395\u03c0\u03b1\u03bd\u03b1\u03c6\u03bf\u03c1\u03ac \u03bc\u03c5\u03c3\u03c4\u03b9\u03ba\u03bf\u03cd webhook",
"header_exchange_rates": "Exchange rates",
"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"
"exchange_rates_from_to": "Between {from} and {to} (and the other way around)",
"exchange_rates_intro_rates": "Firefly III bla bla bla exchange rates."
},
"form": {
"url": "\u0394\u03b9\u03b5\u03cd\u03b8\u03c5\u03bd\u03c3\u03b7 URL",

View File

@@ -132,7 +132,8 @@
"reset_webhook_secret": "Reset webhook secret",
"header_exchange_rates": "Exchange rates",
"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"
"exchange_rates_from_to": "Between {from} and {to} (and the other way around)",
"exchange_rates_intro_rates": "Firefly III bla bla bla exchange rates."
},
"form": {
"url": "URL",

View File

@@ -132,7 +132,8 @@
"reset_webhook_secret": "Reset webhook secret",
"header_exchange_rates": "Exchange rates",
"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_from_to": "Between {from} and {to} (and the other way around)",
"exchange_rates_intro_rates": "Firefly III bla bla bla exchange rates."
},
"form": {
"url": "URL",

View File

@@ -132,7 +132,8 @@
"reset_webhook_secret": "Restablecer secreto del webhook",
"header_exchange_rates": "Exchange rates",
"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"
"exchange_rates_from_to": "Between {from} and {to} (and the other way around)",
"exchange_rates_intro_rates": "Firefly III bla bla bla exchange rates."
},
"form": {
"url": "URL",

View File

@@ -132,7 +132,8 @@
"reset_webhook_secret": "Reset webhook secret",
"header_exchange_rates": "Exchange rates",
"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"
"exchange_rates_from_to": "Between {from} and {to} (and the other way around)",
"exchange_rates_intro_rates": "Firefly III bla bla bla exchange rates."
},
"form": {
"url": "URL-osoite",

View File

@@ -132,7 +132,8 @@
"reset_webhook_secret": "R\u00e9initialiser le secret du webhook",
"header_exchange_rates": "Exchange rates",
"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"
"exchange_rates_from_to": "Between {from} and {to} (and the other way around)",
"exchange_rates_intro_rates": "Firefly III bla bla bla exchange rates."
},
"form": {
"url": "Liens",

View File

@@ -132,7 +132,8 @@
"reset_webhook_secret": "Webhook titok vissza\u00e1ll\u00edt\u00e1sa",
"header_exchange_rates": "Exchange rates",
"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"
"exchange_rates_from_to": "Between {from} and {to} (and the other way around)",
"exchange_rates_intro_rates": "Firefly III bla bla bla exchange rates."
},
"form": {
"url": "URL",

View File

@@ -132,7 +132,8 @@
"reset_webhook_secret": "Reset webhook secret",
"header_exchange_rates": "Exchange rates",
"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"
"exchange_rates_from_to": "Between {from} and {to} (and the other way around)",
"exchange_rates_intro_rates": "Firefly III bla bla bla exchange rates."
},
"form": {
"url": "URL",

View File

@@ -132,7 +132,8 @@
"reset_webhook_secret": "Reimposta il segreto del webhook",
"header_exchange_rates": "Exchange rates",
"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"
"exchange_rates_from_to": "Between {from} and {to} (and the other way around)",
"exchange_rates_intro_rates": "Firefly III bla bla bla exchange rates."
},
"form": {
"url": "URL",

View File

@@ -132,7 +132,8 @@
"reset_webhook_secret": "Webhook\u306e\u30b7\u30fc\u30af\u30ec\u30c3\u30c8\u3092\u30ea\u30bb\u30c3\u30c8",
"header_exchange_rates": "Exchange rates",
"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"
"exchange_rates_from_to": "Between {from} and {to} (and the other way around)",
"exchange_rates_intro_rates": "Firefly III bla bla bla exchange rates."
},
"form": {
"url": "URL",

View File

@@ -132,7 +132,8 @@
"reset_webhook_secret": "\uc6f9\ud6c5 \uc2dc\ud06c\ub9bf \uc7ac\uc124\uc815",
"header_exchange_rates": "Exchange rates",
"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"
"exchange_rates_from_to": "Between {from} and {to} (and the other way around)",
"exchange_rates_intro_rates": "Firefly III bla bla bla exchange rates."
},
"form": {
"url": "URL",

View File

@@ -132,7 +132,8 @@
"reset_webhook_secret": "Tilbakestill Webhook n\u00f8kkel",
"header_exchange_rates": "Exchange rates",
"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"
"exchange_rates_from_to": "Between {from} and {to} (and the other way around)",
"exchange_rates_intro_rates": "Firefly III bla bla bla exchange rates."
},
"form": {
"url": "Nettadresse",

View File

@@ -132,7 +132,8 @@
"reset_webhook_secret": "Reset webhook-geheim",
"header_exchange_rates": "Exchange rates",
"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"
"exchange_rates_from_to": "Between {from} and {to} (and the other way around)",
"exchange_rates_intro_rates": "Firefly III bla bla bla exchange rates."
},
"form": {
"url": "URL",

View File

@@ -132,7 +132,8 @@
"reset_webhook_secret": "Tilbakestill Webhook hemmelegheit",
"header_exchange_rates": "Exchange rates",
"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"
"exchange_rates_from_to": "Between {from} and {to} (and the other way around)",
"exchange_rates_intro_rates": "Firefly III bla bla bla exchange rates."
},
"form": {
"url": "Nettadresse",

View File

@@ -132,7 +132,8 @@
"reset_webhook_secret": "Resetuj sekret webhooka",
"header_exchange_rates": "Exchange rates",
"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"
"exchange_rates_from_to": "Between {from} and {to} (and the other way around)",
"exchange_rates_intro_rates": "Firefly III bla bla bla exchange rates."
},
"form": {
"url": "URL",

View File

@@ -132,7 +132,8 @@
"reset_webhook_secret": "Redefinir chave do webhook",
"header_exchange_rates": "Exchange rates",
"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"
"exchange_rates_from_to": "Between {from} and {to} (and the other way around)",
"exchange_rates_intro_rates": "Firefly III bla bla bla exchange rates."
},
"form": {
"url": "URL",

View File

@@ -132,7 +132,8 @@
"reset_webhook_secret": "Redefinir segredo webhook",
"header_exchange_rates": "Exchange rates",
"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"
"exchange_rates_from_to": "Between {from} and {to} (and the other way around)",
"exchange_rates_intro_rates": "Firefly III bla bla bla exchange rates."
},
"form": {
"url": "URL",

View File

@@ -132,7 +132,8 @@
"reset_webhook_secret": "Resetare secret webhook",
"header_exchange_rates": "Exchange rates",
"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"
"exchange_rates_from_to": "Between {from} and {to} (and the other way around)",
"exchange_rates_intro_rates": "Firefly III bla bla bla exchange rates."
},
"form": {
"url": "URL",

View File

@@ -132,7 +132,8 @@
"reset_webhook_secret": "",
"header_exchange_rates": "Exchange rates",
"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"
"exchange_rates_from_to": "Between {from} and {to} (and the other way around)",
"exchange_rates_intro_rates": "Firefly III bla bla bla exchange rates."
},
"form": {
"url": "\u0421\u0441\u044b\u043b\u043a\u0430",

View File

@@ -132,7 +132,8 @@
"reset_webhook_secret": "Reset webhook secret",
"header_exchange_rates": "Exchange rates",
"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"
"exchange_rates_from_to": "Between {from} and {to} (and the other way around)",
"exchange_rates_intro_rates": "Firefly III bla bla bla exchange rates."
},
"form": {
"url": "URL",

View File

@@ -132,7 +132,8 @@
"reset_webhook_secret": "Ponastavi skrivno kodo webhooka",
"header_exchange_rates": "Exchange rates",
"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"
"exchange_rates_from_to": "Between {from} and {to} (and the other way around)",
"exchange_rates_intro_rates": "Firefly III bla bla bla exchange rates."
},
"form": {
"url": "URL",

View File

@@ -132,7 +132,8 @@
"reset_webhook_secret": "Reset webhook secret",
"header_exchange_rates": "Exchange rates",
"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"
"exchange_rates_from_to": "Between {from} and {to} (and the other way around)",
"exchange_rates_intro_rates": "Firefly III bla bla bla exchange rates."
},
"form": {
"url": "L\u00e4nk",

View File

@@ -132,7 +132,8 @@
"reset_webhook_secret": "Reset webhook secret",
"header_exchange_rates": "Exchange rates",
"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"
"exchange_rates_from_to": "Between {from} and {to} (and the other way around)",
"exchange_rates_intro_rates": "Firefly III bla bla bla exchange rates."
},
"form": {
"url": "URL",

View File

@@ -132,7 +132,8 @@
"reset_webhook_secret": "\u0412\u0456\u0434\u043d\u043e\u0432\u0438\u0442\u0438 \u0441\u0456\u043a\u0440\u0435\u0442 \u0432\u0435\u0431-\u0445\u0443\u043a\u0430",
"header_exchange_rates": "Exchange rates",
"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"
"exchange_rates_from_to": "Between {from} and {to} (and the other way around)",
"exchange_rates_intro_rates": "Firefly III bla bla bla exchange rates."
},
"form": {
"url": "URL-\u0430\u0434\u0440\u0435\u0441\u0430",

View File

@@ -132,7 +132,8 @@
"reset_webhook_secret": "C\u00e0i l\u1ea1i kh\u00f3a webhook",
"header_exchange_rates": "Exchange rates",
"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"
"exchange_rates_from_to": "Between {from} and {to} (and the other way around)",
"exchange_rates_intro_rates": "Firefly III bla bla bla exchange rates."
},
"form": {
"url": "URL",

View File

@@ -132,7 +132,8 @@
"reset_webhook_secret": "\u91cd\u7f6e webhook \u5bc6\u94a5",
"header_exchange_rates": "Exchange rates",
"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"
"exchange_rates_from_to": "Between {from} and {to} (and the other way around)",
"exchange_rates_intro_rates": "Firefly III bla bla bla exchange rates."
},
"form": {
"url": "\u7f51\u5740",

View File

@@ -132,7 +132,8 @@
"reset_webhook_secret": "Reset webhook secret",
"header_exchange_rates": "Exchange rates",
"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"
"exchange_rates_from_to": "Between {from} and {to} (and the other way around)",
"exchange_rates_intro_rates": "Firefly III bla bla bla exchange rates."
},
"form": {
"url": "URL",

View File

@@ -91,7 +91,7 @@ return [
'notification_index' => 'Owner notifications',
// exchange rates
'exchange_rates_index' => 'Exchange rates',
'exchange_rates_rates' => 'Exchange rates between :from and :to (and the other way around)',
'exchange_rates_index' => 'Exchange rates',
'exchange_rates_rates' => 'Exchange rates between :from and :to (and the other way around)',
];

View File

@@ -1395,13 +1395,13 @@ return [
'discord_url_label' => 'Discord webhook URL',
// exchange rates
'menu_exchange_rates_index' => 'Exchange rates',
'header_exchange_rates' => 'Exchange rates',
'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)',
'header_exchange_rates_rates' => 'Exchange rates',
'exchange_rates_intro_rates' => 'Firefly III bla bla bla exchange rates.',
'header_exchange_rates_table' => 'Table with exchange rates',
'menu_exchange_rates_index' => 'Exchange rates',
'header_exchange_rates' => 'Exchange rates',
'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)',
'header_exchange_rates_rates' => 'Exchange rates',
'exchange_rates_intro_rates' => 'Firefly III bla bla bla exchange rates.',
'header_exchange_rates_table' => 'Table with exchange rates',
// Financial administrations
'administration_index' => 'Financial administration',

View File

@@ -113,8 +113,8 @@ return [
'tag' => 'Tag',
// exchange rates
'from_currency_to_currency' => '{from} &rarr; {to}',
'to_currency_from_currency' => '{to} &rarr; {from}',
'from_currency_to_currency' => '{from} &rarr; {to}',
'to_currency_from_currency' => '{to} &rarr; {from}',
'under' => 'Under',
'symbol' => 'Symbol',

View File

@@ -96,8 +96,8 @@ Route::group(
static function (): void {
Route::get('', ['uses' => 'IndexController@index', 'as' => 'index']);
Route::get('{currency_code}', ['uses' => 'ShowController@show', 'as' => 'show']);
// 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']);
@@ -115,8 +115,8 @@ Route::group(
static function (): void {
Route::get('', ['uses' => 'IndexController@index', 'as' => 'index']);
Route::get('{fromCurrencyCode}/{toCurrencyCode}', ['uses' => 'ShowController@show', 'as' => 'show']);
// 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']);
@@ -127,7 +127,7 @@ Route::group(
// V2 API route for Summary boxes
// BASIC
//Route::group(
// Route::group(
// [
// 'namespace' => 'FireflyIII\Api\V2\Controllers\Summary',
// 'prefix' => 'v2/summary',
@@ -136,11 +136,11 @@ Route::group(
// static function (): void {
// // Route::get('basic', ['uses' => 'BasicController@basic', 'as' => 'basic']);
// }
//);
//// V2 API route for all kinds of Transaction lists.
//// A lot of endpoints involve transactions. So any time Firefly III needs to list transactions
//// it's coming from these endpoints.
//Route::group(
// );
// // V2 API route for all kinds of Transaction lists.
// // A lot of endpoints involve transactions. So any time Firefly III needs to list transactions
// // it's coming from these endpoints.
// Route::group(
// [
// 'namespace' => 'FireflyIII\Api\V2\Controllers\Transaction\List',
// 'prefix' => 'v2',
@@ -154,12 +154,12 @@ Route::group(
// // note how the check is done on the user group, not the user itself.
// // Route::get('accounts/{userGroupAccount}/transactions', ['uses' => 'AccountController@list', 'as' => 'accounts.transactions']);
// }
//);
// );
// V2 API routes for auto complete
//
//// V2 API route for net worth endpoint(s);
//Route::group(
// // V2 API route for net worth endpoint(s);
// Route::group(
// [
// 'namespace' => 'FireflyIII\Api\V2\Controllers\Summary',
// 'prefix' => 'v2/net-worth',
@@ -168,24 +168,24 @@ Route::group(
// static function (): void {
// // Route::get('', ['uses' => 'NetWorthController@get', 'as' => 'index']);
// }
//);
// );
//
//// // V2 API route for accounts.
//// Route::group(
//// [
//// 'namespace' => 'FireflyIII\Api\V2\Controllers\Model\Account',
//// 'prefix' => 'v2/accounts',
//// 'as' => 'api.v2.accounts.',
//// ],
//// static function (): void {
//// Route::get('', ['uses' => 'IndexController@index', 'as' => 'index']);
//// Route::get('{account}', ['uses' => 'ShowController@show', 'as' => 'show']);
//// Route::put('{account}', ['uses' => 'UpdateController@update', 'as' => 'update']);
//// }
//// );
// // // V2 API route for accounts.
// // Route::group(
// // [
// // 'namespace' => 'FireflyIII\Api\V2\Controllers\Model\Account',
// // 'prefix' => 'v2/accounts',
// // 'as' => 'api.v2.accounts.',
// // ],
// // static function (): void {
// // Route::get('', ['uses' => 'IndexController@index', 'as' => 'index']);
// // Route::get('{account}', ['uses' => 'ShowController@show', 'as' => 'show']);
// // Route::put('{account}', ['uses' => 'UpdateController@update', 'as' => 'update']);
// // }
// // );
//
//// V2 API route for subscriptions.
//Route::group(
// // V2 API route for subscriptions.
// Route::group(
// [
// 'namespace' => 'FireflyIII\Api\V2\Controllers\Model\Bill',
// 'prefix' => 'v2/subscriptions',
@@ -197,10 +197,10 @@ Route::group(
// // Route::get('sum/paid', ['uses' => 'SumController@paid', 'as' => 'sum.paid']);
// // Route::get('sum/unpaid', ['uses' => 'SumController@unpaid', 'as' => 'sum.unpaid']);
// }
//);
// );
//
//// V2 API route for piggy banks.
//Route::group(
// // V2 API route for piggy banks.
// Route::group(
// [
// 'namespace' => 'FireflyIII\Api\V2\Controllers\Model\PiggyBank',
// 'prefix' => 'v2/piggy-banks',
@@ -209,10 +209,10 @@ Route::group(
// static function (): void {
// // Route::get('', ['uses' => 'IndexController@index', 'as' => 'index']);
// }
//);
// );
//
//// V2 API route for transaction currencies
//Route::group(
// // V2 API route for transaction currencies
// Route::group(
// [
// 'namespace' => 'FireflyIII\Api\V2\Controllers\Model\Currency',
// 'prefix' => 'v2/currencies',
@@ -221,10 +221,10 @@ Route::group(
// static function (): void {
// // Route::get('', ['uses' => 'IndexController@index', 'as' => 'index']);
// }
//);
// );
//
//// V2 API route for transactions
//Route::group(
// // V2 API route for transactions
// Route::group(
// [
// 'namespace' => 'FireflyIII\Api\V2\Controllers\Model\Transaction',
// 'prefix' => 'v2/transactions',
@@ -235,9 +235,9 @@ Route::group(
// // Route::get('{userGroupTransaction}', ['uses' => 'ShowController@show', 'as' => 'show']);
// // Route::put('{userGroupTransaction}', ['uses' => 'UpdateController@update', 'as' => 'update']);
// }
//);
//// infinite (transactions) list:
//Route::group(
// );
// // infinite (transactions) list:
// Route::group(
// [
// 'namespace' => 'FireflyIII\Api\V2\Controllers\Transaction\List',
// 'prefix' => 'v2/infinite/transactions',
@@ -246,10 +246,10 @@ Route::group(
// static function (): void {
// // Route::get('', ['uses' => 'TransactionController@infiniteList', 'as' => 'list']);
// }
//);
// );
//
//// V2 API route for budgets and budget limits:
//Route::group(
// // V2 API route for budgets and budget limits:
// Route::group(
// [
// 'namespace' => 'FireflyIII\Api\V2\Controllers\Model',
// 'prefix' => 'v2/budgets',
@@ -264,10 +264,10 @@ Route::group(
// // Route::get('{budget}/budgeted', ['uses' => 'Budget\ShowController@budgeted', 'as' => 'budget.budgeted']);
// // Route::get('{budget}/spent', ['uses' => 'Budget\ShowController@spent', 'as' => 'budget.spent']);
// }
//);
// );
//
//// V2 API route for system
//Route::group(
// // V2 API route for system
// Route::group(
// [
// 'namespace' => 'FireflyIII\Api\V2\Controllers\System',
// 'prefix' => 'v2',
@@ -276,7 +276,7 @@ Route::group(
// static function (): void {
// // Route::get('preferences/{preference}', ['uses' => 'PreferencesController@get', 'as' => 'preferences.get']);
// }
//);
// );
//

View File

@@ -366,12 +366,12 @@ Route::group(
static function (): void {
Route::get('', ['uses' => 'IndexController@index', 'as' => 'index']);
Route::get('{fromCurrencyCode}/{toCurrencyCode}', ['uses' => 'IndexController@rates', 'as' => 'rates']);
// Route::get('create', ['uses' => 'CreateController@create', 'as' => 'create']);
// Route::get('edit/{currency}', ['uses' => 'EditController@edit', 'as' => 'edit']);
// Route::get('delete/{currency}', ['uses' => 'DeleteController@delete', 'as' => 'delete']);
// Route::post('store', ['uses' => 'CreateController@store', 'as' => 'store']);
// Route::post('update/{currency}', ['uses' => 'EditController@update', 'as' => 'update']);
// Route::post('destroy/{currency}', ['uses' => 'DeleteController@destroy', 'as' => 'destroy']);
// Route::get('create', ['uses' => 'CreateController@create', 'as' => 'create']);
// Route::get('edit/{currency}', ['uses' => 'EditController@edit', 'as' => 'edit']);
// Route::get('delete/{currency}', ['uses' => 'DeleteController@delete', 'as' => 'delete']);
// Route::post('store', ['uses' => 'CreateController@store', 'as' => 'store']);
// Route::post('update/{currency}', ['uses' => 'EditController@update', 'as' => 'update']);
// Route::post('destroy/{currency}', ['uses' => 'DeleteController@destroy', 'as' => 'destroy']);
}
);