mirror of
https://github.com/firefly-iii/firefly-iii.git
synced 2025-12-29 14:41:22 +00:00
Compare commits
11 Commits
develop-20
...
develop-20
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
0c824e21c8 | ||
|
|
fab1c68569 | ||
|
|
c1534657f2 | ||
|
|
39841de680 | ||
|
|
5ec54de29e | ||
|
|
397e37f344 | ||
|
|
b6f84c2b99 | ||
|
|
843f86fc66 | ||
|
|
0e8e364074 | ||
|
|
bbccbef578 | ||
|
|
ee11a8e3a0 |
19
.github/workflows/release.yml
vendored
19
.github/workflows/release.yml
vendored
@@ -147,16 +147,33 @@ jobs:
|
||||
composer dump-autoload
|
||||
|
||||
releaseName=$version
|
||||
zipName=FireflyIII-$version.zip
|
||||
originalName=$version
|
||||
tarName=FireflyIII-$version.tar.gz
|
||||
|
||||
if [[ "develop" == "$version" ]]; then
|
||||
[[ -z $(git status --untracked-files=normal --porcelain) ]] && echo "this branch is clean, no need to push..." && exit 0;
|
||||
releaseName=$version-$(date +'%Y%m%d')
|
||||
originalName=$releaseName
|
||||
zipName=FireflyIII-develop.zip
|
||||
tarName=FireflyIII-develop.tar.gz
|
||||
fi
|
||||
|
||||
# in both cases, if the release or tag already exists, add ".1" until it no longer exists.
|
||||
tagFound=true
|
||||
tagCount=1
|
||||
while [ "$tagFound" = true ]
|
||||
do
|
||||
if [ $(git tag -l "$releaseName") ]; then
|
||||
echo "Tag $releaseName exists already."
|
||||
releaseName="$originalName"."$tagCount"
|
||||
echo "Tag for release is now $releaseName"
|
||||
else
|
||||
echo "Tag $releaseName does not exist, can continue"
|
||||
tagFound=false
|
||||
fi
|
||||
done
|
||||
echo "Will use tag and release name $releaseName."
|
||||
|
||||
git add -A
|
||||
if test -f "output.txt"; then
|
||||
git reset output.txt
|
||||
|
||||
73
app/Api/V2/Controllers/UserGroup/IndexController.php
Normal file
73
app/Api/V2/Controllers/UserGroup/IndexController.php
Normal file
@@ -0,0 +1,73 @@
|
||||
<?php
|
||||
/*
|
||||
* IndexController.php
|
||||
* Copyright (c) 2024 james@firefly-iii.org.
|
||||
*
|
||||
* This file is part of Firefly III (https://github.com/firefly-iii).
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Affero General Public License as
|
||||
* published by the Free Software Foundation, either version 3 of the
|
||||
* License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Affero General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Affero General Public License
|
||||
* along with this program. If not, see https://www.gnu.org/licenses/.
|
||||
*/
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace FireflyIII\Api\V2\Controllers\UserGroup;
|
||||
|
||||
use FireflyIII\Api\V2\Controllers\Controller;
|
||||
use FireflyIII\Api\V2\Request\Model\Account\IndexRequest;
|
||||
use FireflyIII\Repositories\UserGroup\UserGroupRepositoryInterface;
|
||||
use FireflyIII\Transformers\V2\UserGroupTransformer;
|
||||
use Illuminate\Http\JsonResponse;
|
||||
use Illuminate\Pagination\LengthAwarePaginator;
|
||||
|
||||
class IndexController extends Controller
|
||||
{
|
||||
public const string RESOURCE_KEY = 'user_groups';
|
||||
|
||||
private UserGroupRepositoryInterface $repository;
|
||||
|
||||
/**
|
||||
* AccountController constructor.
|
||||
*/
|
||||
public function __construct()
|
||||
{
|
||||
parent::__construct();
|
||||
$this->middleware(
|
||||
function ($request, $next) {
|
||||
$this->repository = app(UserGroupRepositoryInterface::class);
|
||||
|
||||
return $next($request);
|
||||
}
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* TODO see autocomplete/accountcontroller for list.
|
||||
*/
|
||||
public function index(IndexRequest $request): JsonResponse
|
||||
{
|
||||
$administrations = $this->repository->get();
|
||||
$pageSize = $this->parameters->get('limit');
|
||||
$count = $administrations->count();
|
||||
$administrations = $administrations->slice(($this->parameters->get('page') - 1) * $pageSize, $pageSize);
|
||||
$paginator = new LengthAwarePaginator($administrations, $count, $pageSize, $this->parameters->get('page'));
|
||||
$transformer = new UserGroupTransformer();
|
||||
|
||||
$transformer->setParameters($this->parameters); // give params to transformer
|
||||
|
||||
return response()
|
||||
->json($this->jsonApiList(self::RESOURCE_KEY, $paginator, $transformer))
|
||||
->header('Content-Type', self::CONTENT_TYPE)
|
||||
;
|
||||
}
|
||||
}
|
||||
@@ -41,7 +41,6 @@ enum UserRoleEnum: string
|
||||
// manage other financial objects:
|
||||
case MANAGE_BUDGETS = 'mng_budgets';
|
||||
case MANAGE_PIGGY_BANKS = 'mng_piggies';
|
||||
case MANAGE_REPETITIONS = 'mng_reps';
|
||||
case MANAGE_SUBSCRIPTIONS = 'mng_subscriptions';
|
||||
case MANAGE_RULES = 'mng_rules';
|
||||
case MANAGE_RECURRING = 'mng_recurring';
|
||||
@@ -51,7 +50,7 @@ enum UserRoleEnum: string
|
||||
// view and generate reports
|
||||
case VIEW_REPORTS = 'view_reports';
|
||||
|
||||
// view memberships. needs FULL to manage them.
|
||||
// view memberships AND roles. needs FULL to manage them.
|
||||
case VIEW_MEMBERSHIPS = 'view_memberships';
|
||||
|
||||
// everything the creator can, except remove/change original creator and delete group
|
||||
|
||||
@@ -235,12 +235,12 @@ class BudgetLimitController extends Controller
|
||||
new Collection([$budgetLimit->budget]),
|
||||
$budgetLimit->transactionCurrency
|
||||
);
|
||||
$daysLeft = $this->activeDaysLeft($limit->start_date, $limit->end_date);
|
||||
$array['spent'] = $spentArr[$budgetLimit->transactionCurrency->id]['sum'] ?? '0';
|
||||
$array['left_formatted'] = app('amount')->formatAnything($limit->transactionCurrency, bcadd($array['spent'], $array['amount']));
|
||||
$array['amount_formatted'] = app('amount')->formatAnything($limit->transactionCurrency, $limit['amount']);
|
||||
$array['days_left'] = (string)$this->activeDaysLeft($limit->start_date, $limit->end_date);
|
||||
// left per day:
|
||||
$array['left_per_day'] = bcdiv(bcadd($array['spent'], $array['amount']), $array['days_left']);
|
||||
$array['days_left'] = (string)$daysLeft;
|
||||
$array['left_per_day'] = 0 === $daysLeft ? bcadd($array['spent'], $array['amount']) : bcdiv(bcadd($array['spent'], $array['amount']), $array['days_left']);
|
||||
|
||||
// left per day formatted.
|
||||
$array['amount'] = app('steam')->bcround($limit['amount'], $limit->transactionCurrency->decimal_places);
|
||||
|
||||
45
app/Http/Controllers/UserGroup/CreateController.php
Normal file
45
app/Http/Controllers/UserGroup/CreateController.php
Normal file
@@ -0,0 +1,45 @@
|
||||
<?php
|
||||
/*
|
||||
* CreateController.php
|
||||
* Copyright (c) 2024 james@firefly-iii.org.
|
||||
*
|
||||
* This file is part of Firefly III (https://github.com/firefly-iii).
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Affero General Public License as
|
||||
* published by the Free Software Foundation, either version 3 of the
|
||||
* License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Affero General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Affero General Public License
|
||||
* along with this program. If not, see https://www.gnu.org/licenses/.
|
||||
*/
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace FireflyIII\Http\Controllers\UserGroup;
|
||||
|
||||
use FireflyIII\Http\Controllers\Controller;
|
||||
use Illuminate\Contracts\View\Factory;
|
||||
use Illuminate\Contracts\View\View;
|
||||
use Illuminate\Foundation\Application;
|
||||
|
||||
class CreateController extends Controller
|
||||
{
|
||||
/**
|
||||
* @return Application|Factory|\Illuminate\Contracts\Foundation\Application|View
|
||||
*/
|
||||
public function create()
|
||||
{
|
||||
$title = (string)trans('firefly.administrations_page_title');
|
||||
$subTitle = (string)trans('firefly.administrations_page_sub_title');
|
||||
$mainTitleIcon = 'fa-book';
|
||||
app('log')->debug(sprintf('Now at %s', __METHOD__));
|
||||
|
||||
return view('administrations.create')->with(compact('title', 'subTitle', 'mainTitleIcon'));
|
||||
}
|
||||
}
|
||||
47
app/Http/Controllers/UserGroup/IndexController.php
Normal file
47
app/Http/Controllers/UserGroup/IndexController.php
Normal file
@@ -0,0 +1,47 @@
|
||||
<?php
|
||||
/*
|
||||
* IndexController.php
|
||||
* Copyright (c) 2024 james@firefly-iii.org.
|
||||
*
|
||||
* This file is part of Firefly III (https://github.com/firefly-iii).
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Affero General Public License as
|
||||
* published by the Free Software Foundation, either version 3 of the
|
||||
* License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Affero General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Affero General Public License
|
||||
* along with this program. If not, see https://www.gnu.org/licenses/.
|
||||
*/
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace FireflyIII\Http\Controllers\UserGroup;
|
||||
|
||||
use FireflyIII\Http\Controllers\Controller;
|
||||
use Illuminate\Contracts\View\Factory;
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\View\View;
|
||||
|
||||
class IndexController extends Controller
|
||||
{
|
||||
/**
|
||||
* Show all administrations.
|
||||
*
|
||||
* @return Factory|View
|
||||
*/
|
||||
public function index(Request $request)
|
||||
{
|
||||
$title = (string)trans('firefly.administrations_page_title');
|
||||
$subTitle = (string)trans('firefly.administrations_page_sub_title');
|
||||
$mainTitleIcon = 'fa-book';
|
||||
app('log')->debug(sprintf('Now at %s', __METHOD__));
|
||||
|
||||
return view('administrations.index')->with(compact('title', 'subTitle', 'mainTitleIcon'));
|
||||
}
|
||||
}
|
||||
@@ -98,6 +98,7 @@ class UserGroupRepository implements UserGroupRepositoryInterface
|
||||
public function get(): Collection
|
||||
{
|
||||
$collection = new Collection();
|
||||
$set = [];
|
||||
$memberships = $this->user->groupMemberships()->get();
|
||||
|
||||
/** @var GroupMembership $membership */
|
||||
@@ -105,9 +106,14 @@ class UserGroupRepository implements UserGroupRepositoryInterface
|
||||
/** @var null|UserGroup $group */
|
||||
$group = $membership->userGroup()->first();
|
||||
if (null !== $group) {
|
||||
$collection->push($group);
|
||||
$groupId = (int)$group->id;
|
||||
if (in_array($groupId, $set, true)) {
|
||||
continue;
|
||||
}
|
||||
$set[$groupId] = $group;
|
||||
}
|
||||
}
|
||||
$collection->push(...$set);
|
||||
|
||||
return $collection;
|
||||
}
|
||||
|
||||
@@ -248,9 +248,9 @@ class Navigation
|
||||
'1M' => 'addMonth',
|
||||
'month' => 'addMonth',
|
||||
'monthly' => 'addMonth',
|
||||
'3M' => 'addMonths',
|
||||
'quarter' => 'addMonths',
|
||||
'quarterly' => 'addMonths',
|
||||
'3M' => 'addQuarter',
|
||||
'quarter' => 'addQuarter',
|
||||
'quarterly' => 'addQuarter',
|
||||
'6M' => 'addMonths',
|
||||
'half-year' => 'addMonths',
|
||||
'half_year' => 'addMonths',
|
||||
@@ -258,7 +258,7 @@ class Navigation
|
||||
'yearly' => 'addYear',
|
||||
'1Y' => 'addYear',
|
||||
];
|
||||
$modifierMap = ['quarter' => 3, '3M' => 3, 'quarterly' => 3, 'half-year' => 6, 'half_year' => 6, '6M' => 6];
|
||||
$modifierMap = ['half-year' => 6, 'half_year' => 6, '6M' => 6];
|
||||
$subDay = ['week', 'weekly', '1W', 'month', 'monthly', '1M', '3M', 'quarter', 'quarterly', '6M', 'half-year', 'half_year', '1Y', 'year', 'yearly'];
|
||||
|
||||
if ('custom' === $repeatFreq) {
|
||||
|
||||
@@ -36,10 +36,14 @@ use Illuminate\Support\Collection;
|
||||
class UserGroupTransformer extends AbstractTransformer
|
||||
{
|
||||
private array $memberships;
|
||||
private array $membershipsVisible;
|
||||
private array $inUse;
|
||||
|
||||
public function __construct()
|
||||
{
|
||||
$this->memberships = [];
|
||||
$this->memberships = [];
|
||||
$this->membershipsVisible = [];
|
||||
$this->inUse = [];
|
||||
}
|
||||
|
||||
public function collectMetaData(Collection $objects): Collection
|
||||
@@ -51,8 +55,10 @@ class UserGroupTransformer extends AbstractTransformer
|
||||
|
||||
/** @var UserGroup $userGroup */
|
||||
foreach ($objects as $userGroup) {
|
||||
$userGroupId = $userGroup->id;
|
||||
$access = $user->hasRoleInGroupOrOwner($userGroup, UserRoleEnum::VIEW_MEMBERSHIPS) || $user->hasRole('owner');
|
||||
$userGroupId = $userGroup->id;
|
||||
$this->inUse[$userGroupId] = $user->user_group_id === $userGroupId;
|
||||
$access = $user->hasRoleInGroupOrOwner($userGroup, UserRoleEnum::VIEW_MEMBERSHIPS) || $user->hasRole('owner');
|
||||
$this->membershipsVisible[$userGroupId] = $access;
|
||||
if ($access) {
|
||||
$groupMemberships = $userGroup->groupMemberships()->get();
|
||||
|
||||
@@ -62,6 +68,7 @@ class UserGroupTransformer extends AbstractTransformer
|
||||
'user_id' => (string)$groupMembership->user_id,
|
||||
'user_email' => $groupMembership->user->email,
|
||||
'role' => $groupMembership->userRole->title,
|
||||
'you' => $groupMembership->user_id === $user->id,
|
||||
];
|
||||
}
|
||||
}
|
||||
@@ -77,11 +84,13 @@ class UserGroupTransformer extends AbstractTransformer
|
||||
public function transform(UserGroup $userGroup): array
|
||||
{
|
||||
return [
|
||||
'id' => $userGroup->id,
|
||||
'created_at' => $userGroup->created_at->toAtomString(),
|
||||
'updated_at' => $userGroup->updated_at->toAtomString(),
|
||||
'title' => $userGroup->title,
|
||||
'members' => $this->memberships[$userGroup->id] ?? [],
|
||||
'id' => $userGroup->id,
|
||||
'created_at' => $userGroup->created_at->toAtomString(),
|
||||
'updated_at' => $userGroup->updated_at->toAtomString(),
|
||||
'in_use' => $this->inUse[$userGroup->id] ?? false,
|
||||
'title' => $userGroup->title,
|
||||
'can_see_members' => $this->membershipsVisible[$userGroup->id] ?? false,
|
||||
'members' => $this->memberships[$userGroup->id] ?? [],
|
||||
];
|
||||
// if the user has a specific role in this group, then collect the memberships.
|
||||
}
|
||||
|
||||
12
composer.lock
generated
12
composer.lock
generated
@@ -8897,16 +8897,16 @@
|
||||
"packages-dev": [
|
||||
{
|
||||
"name": "barryvdh/laravel-debugbar",
|
||||
"version": "v3.12.2",
|
||||
"version": "v3.12.3",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/barryvdh/laravel-debugbar.git",
|
||||
"reference": "43555503052443964ce2c1c1f3b0378e58219eb8"
|
||||
"reference": "aac8f08b73af8c5d2ab6595c8823ddb26d1453f1"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/barryvdh/laravel-debugbar/zipball/43555503052443964ce2c1c1f3b0378e58219eb8",
|
||||
"reference": "43555503052443964ce2c1c1f3b0378e58219eb8",
|
||||
"url": "https://api.github.com/repos/barryvdh/laravel-debugbar/zipball/aac8f08b73af8c5d2ab6595c8823ddb26d1453f1",
|
||||
"reference": "aac8f08b73af8c5d2ab6595c8823ddb26d1453f1",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -8965,7 +8965,7 @@
|
||||
],
|
||||
"support": {
|
||||
"issues": "https://github.com/barryvdh/laravel-debugbar/issues",
|
||||
"source": "https://github.com/barryvdh/laravel-debugbar/tree/v3.12.2"
|
||||
"source": "https://github.com/barryvdh/laravel-debugbar/tree/v3.12.3"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
@@ -8977,7 +8977,7 @@
|
||||
"type": "github"
|
||||
}
|
||||
],
|
||||
"time": "2024-03-13T09:50:34+00:00"
|
||||
"time": "2024-03-31T18:35:30+00:00"
|
||||
},
|
||||
{
|
||||
"name": "barryvdh/laravel-ide-helper",
|
||||
|
||||
@@ -117,7 +117,7 @@ return [
|
||||
'expression_engine' => false,
|
||||
// see cer.php for exchange rates feature flag.
|
||||
],
|
||||
'version' => 'develop/2024-03-31',
|
||||
'version' => 'develop/2024-04-01',
|
||||
'api_version' => '2.0.13',
|
||||
'db_version' => 23,
|
||||
|
||||
|
||||
@@ -19,10 +19,7 @@
|
||||
*/
|
||||
|
||||
|
||||
$(function () {
|
||||
"use strict";
|
||||
//var status = $('#status-box');
|
||||
// set HTML to "migrating...":
|
||||
document.addEventListener("DOMContentLoaded", (event) => {
|
||||
console.log('Starting...');
|
||||
startRunningCommands(0);
|
||||
});
|
||||
@@ -30,57 +27,81 @@ $(function () {
|
||||
function startRunningCommands(index) {
|
||||
console.log('Now in startRunningCommands with index' + index);
|
||||
if (0 === index) {
|
||||
$('#status-box').html('<span class="fa fa-spin fa-spinner"></span> Running first command...');
|
||||
document.querySelector('#status-box').innerHTML = '<span class="fa fa-spin fa-spinner"></span> Running first command...';
|
||||
}
|
||||
runCommand(index);
|
||||
}
|
||||
|
||||
function runCommand(index) {
|
||||
console.log('Now in runCommand(' + index + '): ' + runCommandUrl);
|
||||
$.post(runCommandUrl, {_token: token, index: parseInt(index)}).done(function (data) {
|
||||
if (data.error === false) {
|
||||
// increase index
|
||||
index++;
|
||||
|
||||
if(data.hasNextCommand) {
|
||||
// inform user
|
||||
$('#status-box').html('<span class="fa fa-spin fa-spinner"></span> Just executed ' + data.previous + '...');
|
||||
console.log('Will call next command.');
|
||||
runCommand(index);
|
||||
fetch(runCommandUrl, {
|
||||
method: 'POST',
|
||||
headers: {
|
||||
'Accept': 'application/json',
|
||||
'Content-Type': 'application/json'
|
||||
},
|
||||
body: JSON.stringify({_token: token, index: parseInt(index)}),
|
||||
})
|
||||
.then(response => response.json())
|
||||
.then(response => {
|
||||
if (response.error === false) {
|
||||
index++;
|
||||
if (response.hasNextCommand) {
|
||||
// inform user
|
||||
document.querySelector('#status-box').innerHTML = '<span class="fa fa-spin fa-spinner"></span> Just executed ' + response.previous + '...';
|
||||
console.log('Will call next command.');
|
||||
runCommand(index);
|
||||
} else {
|
||||
completeDone();
|
||||
console.log('Finished!');
|
||||
}
|
||||
} else {
|
||||
completeDone();
|
||||
console.log('Finished!');
|
||||
displaySoftFail(response.errorMessage);
|
||||
console.error(response);
|
||||
}
|
||||
} else {
|
||||
displaySoftFail(data.errorMessage);
|
||||
console.error(data);
|
||||
}
|
||||
|
||||
}).fail(function () {
|
||||
$('#status-box').html('<span class="fa fa-warning"></span> Command failed! See log files :(');
|
||||
});
|
||||
})
|
||||
}
|
||||
|
||||
function startMigration() {
|
||||
console.log('Now in startMigration');
|
||||
$.post(migrateUrl, {_token: token}).done(function (data) {
|
||||
if (data.error === false) {
|
||||
|
||||
fetch(migrateUrl, {
|
||||
method: 'POST',
|
||||
headers: {
|
||||
'Accept': 'application/json',
|
||||
'Content-Type': 'application/json'
|
||||
},
|
||||
body: JSON.stringify({_token: token}),
|
||||
})
|
||||
.then(response => response.json())
|
||||
.then(response => {
|
||||
if (response.error === false) {
|
||||
// move to decrypt routine.
|
||||
startDecryption();
|
||||
} else {
|
||||
displaySoftFail(data.message);
|
||||
displaySoftFail(response.message);
|
||||
}
|
||||
|
||||
}).fail(function () {
|
||||
$('#status-box').html('<span class="fa fa-warning"></span> Migration failed! See log files :(');
|
||||
document.querySelector('#status-box').innerHTML = '<span class="fa fa-warning"></span> Migration failed! See log files :(';
|
||||
});
|
||||
}
|
||||
|
||||
function startDecryption() {
|
||||
console.log('Now in startDecryption');
|
||||
$('#status-box').html('<span class="fa fa-spin fa-spinner"></span> Setting up DB #2...');
|
||||
$.post(decryptUrl, {_token: token}).done(function (data) {
|
||||
if (data.error === false) {
|
||||
document.querySelector('#status-box').innerHTML = '<span class="fa fa-spin fa-spinner"></span> Setting up DB #2...';
|
||||
fetch(decryptUrl, {
|
||||
method: 'POST',
|
||||
headers: {
|
||||
'Accept': 'application/json',
|
||||
'Content-Type': 'application/json'
|
||||
},
|
||||
body: JSON.stringify({_token: token}),
|
||||
})
|
||||
.then(response => response.json())
|
||||
.then(response => {
|
||||
if (response.error === false) {
|
||||
// move to decrypt routine.
|
||||
startPassport();
|
||||
} else {
|
||||
@@ -88,7 +109,7 @@ function startDecryption() {
|
||||
}
|
||||
|
||||
}).fail(function () {
|
||||
$('#status-box').html('<span class="fa fa-warning"></span> Migration failed! See log files :(');
|
||||
document.querySelector('#status-box').innerHTML = '<span class="fa fa-warning"></span> Migration failed! See log files :(';
|
||||
});
|
||||
}
|
||||
|
||||
@@ -96,16 +117,25 @@ function startDecryption() {
|
||||
*
|
||||
*/
|
||||
function startPassport() {
|
||||
$('#status-box').html('<span class="fa fa-spin fa-spinner"></span> Setting up OAuth2...');
|
||||
$.post(keysUrl, {_token: token}).done(function (data) {
|
||||
if (data.error === false) {
|
||||
document.querySelector('#status-box').innerHTML = '<span class="fa fa-spin fa-spinner"></span> Setting up OAuth2...';
|
||||
fetch(keysUrl, {
|
||||
method: 'POST',
|
||||
headers: {
|
||||
'Accept': 'application/json',
|
||||
'Content-Type': 'application/json'
|
||||
},
|
||||
body: JSON.stringify({_token: token}),
|
||||
})
|
||||
.then(response => response.json())
|
||||
.then(response => {
|
||||
if (response.error === false) {
|
||||
startUpgrade();
|
||||
} else {
|
||||
displaySoftFail(data.message);
|
||||
}
|
||||
|
||||
}).fail(function () {
|
||||
$('#status-box').html('<span class="fa fa-warning"></span> OAuth2 failed! See log files :(');
|
||||
document.querySelector('#status-box').innerHTML = '<span class="fa fa-warning"></span> OAuth2 failed! See log files :(';
|
||||
});
|
||||
}
|
||||
|
||||
@@ -113,15 +143,24 @@ function startPassport() {
|
||||
*
|
||||
*/
|
||||
function startUpgrade() {
|
||||
$('#status-box').html('<span class="fa fa-spin fa-spinner"></span> Upgrading database...');
|
||||
$.post(upgradeUrl, {_token: token}).done(function (data) {
|
||||
if (data.error === false) {
|
||||
document.querySelector('#status-box').innerHTML = '<span class="fa fa-spin fa-spinner"></span> Upgrading database...';
|
||||
fetch(upgradeUrl, {
|
||||
method: 'POST',
|
||||
headers: {
|
||||
'Accept': 'application/json',
|
||||
'Content-Type': 'application/json'
|
||||
},
|
||||
body: JSON.stringify({_token: token}),
|
||||
})
|
||||
.then(response => response.json())
|
||||
.then(response => {
|
||||
if (response.error === false) {
|
||||
startVerify();
|
||||
} else {
|
||||
displaySoftFail(data.message);
|
||||
}
|
||||
}).fail(function () {
|
||||
$('#status-box').html('<span class="fa fa-warning"></span> Upgrade failed! See log files :(');
|
||||
document.querySelector('#status-box').innerHTML = '<span class="fa fa-warning"></span> Upgrade failed! See log files :(';
|
||||
});
|
||||
}
|
||||
|
||||
@@ -129,15 +168,24 @@ function startUpgrade() {
|
||||
*
|
||||
*/
|
||||
function startVerify() {
|
||||
$('#status-box').html('<span class="fa fa-spin fa-spinner"></span> Verify database integrity...');
|
||||
$.post(verifyUrl, {_token: token}).done(function (data) {
|
||||
if (data.error === false) {
|
||||
document.querySelector('#status-box').innerHTML = '<span class="fa fa-spin fa-spinner"></span> Verify database integrity...';
|
||||
fetch(veifyUrl, {
|
||||
method: 'POST',
|
||||
headers: {
|
||||
'Accept': 'application/json',
|
||||
'Content-Type': 'application/json'
|
||||
},
|
||||
body: JSON.stringify({_token: token}),
|
||||
})
|
||||
.then(response => response.json())
|
||||
.then(response => {
|
||||
if (response.error === false) {
|
||||
completeDone();
|
||||
} else {
|
||||
displaySoftFail(data.message);
|
||||
}
|
||||
}).fail(function () {
|
||||
$('#status-box').html('<span class="fa fa-warning"></span> Verification failed! See log files :(');
|
||||
document.querySelector('#status-box').innerHTML = '<span class="fa fa-warning"></span> Verification failed! See log files :(';
|
||||
});
|
||||
}
|
||||
|
||||
@@ -145,14 +193,14 @@ function startVerify() {
|
||||
*
|
||||
*/
|
||||
function completeDone() {
|
||||
$('#status-box').html('<span class="fa fa-thumbs-up"></span> Installation + upgrade complete! Wait to be redirected...');
|
||||
document.querySelector('#status-box').innerHTML = '<span class="fa fa-thumbs-up"></span> Installation + upgrade complete! Wait to be redirected...';
|
||||
setTimeout(function () {
|
||||
window.location = homeUrl;
|
||||
}, 3000);
|
||||
}
|
||||
|
||||
function displaySoftFail(message) {
|
||||
$('#status-box').html('<span class="fa fa-warning"></span> ' + message + '<br /><br />Please read the ' +
|
||||
'<a href="https://docs.firefly-iii.org/">' +
|
||||
'documentation</a> about this, and upgrade by hand.');
|
||||
document.querySelector('#status-box').innerHTML = '<span class="fa fa-warning"></span> ' + message + '<br /><br />Please read the ' +
|
||||
'<a href="https://docs.firefly-iii.org/">' +
|
||||
'documentation</a> about this, and upgrade by hand.';
|
||||
}
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
"config": {
|
||||
"html_language": "hu",
|
||||
"date_time_fns": "MMMM do, yyyy @ HH:mm:ss",
|
||||
"month_and_day_fns": "MMMM d, y",
|
||||
"month_and_day_fns": "HHHH n, \u00e9",
|
||||
"date_time_fns_short": "MMMM do, yyyy @ HH:mm"
|
||||
},
|
||||
"validation": {
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
"config": {
|
||||
"html_language": "hu",
|
||||
"date_time_fns": "MMMM do, yyyy @ HH:mm:ss",
|
||||
"month_and_day_fns": "MMMM d, y",
|
||||
"month_and_day_fns": "HHHH n, \u00e9",
|
||||
"date_time_fns_short": "MMMM do, yyyy @ HH:mm"
|
||||
},
|
||||
"validation": {
|
||||
|
||||
45
resources/assets/v2/api/v2/model/user-group/get.js
Normal file
45
resources/assets/v2/api/v2/model/user-group/get.js
Normal file
@@ -0,0 +1,45 @@
|
||||
/*
|
||||
* list.js
|
||||
* Copyright (c) 2022 james@firefly-iii.org
|
||||
*
|
||||
* This file is part of Firefly III (https://github.com/firefly-iii).
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Affero General Public License as
|
||||
* published by the Free Software Foundation, either version 3 of the
|
||||
* License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Affero General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Affero General Public License
|
||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
import {api} from "../../../../boot/axios";
|
||||
import format from "date-fns/format";
|
||||
|
||||
export default class Get {
|
||||
|
||||
// /**
|
||||
// *
|
||||
// * @param identifier
|
||||
// * @param params
|
||||
// * @returns {Promise<AxiosResponse<any>>}
|
||||
// */
|
||||
// show(identifier, params) {
|
||||
// return api.get('/api/v2/accounts/' + identifier, {params: params});
|
||||
// }
|
||||
|
||||
/**
|
||||
*
|
||||
* @param params
|
||||
* @returns {Promise<AxiosResponse<any>>}
|
||||
*/
|
||||
index(params) {
|
||||
return api.get('/api/v2/user-groups', {params: params});
|
||||
}
|
||||
|
||||
}
|
||||
136
resources/assets/v2/pages/administrations/index.js
Normal file
136
resources/assets/v2/pages/administrations/index.js
Normal file
@@ -0,0 +1,136 @@
|
||||
/*
|
||||
* show.js
|
||||
* Copyright (c) 2024 james@firefly-iii.org.
|
||||
*
|
||||
* This file is part of Firefly III (https://github.com/firefly-iii).
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Affero General Public License as
|
||||
* published by the Free Software Foundation, either version 3 of the
|
||||
* License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Affero General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Affero General Public License
|
||||
* along with this program. If not, see https://www.gnu.org/licenses/.
|
||||
*/
|
||||
|
||||
import '../../boot/bootstrap.js';
|
||||
import dates from "../shared/dates.js";
|
||||
import i18next from "i18next";
|
||||
import {format} from "date-fns";
|
||||
|
||||
import '@ag-grid-community/styles/ag-grid.css';
|
||||
import '@ag-grid-community/styles/ag-theme-alpine.css';
|
||||
import '../../css/grid-ff3-theme.css';
|
||||
import Get from "../../api/v2/model/user-group/get.js";
|
||||
|
||||
let index = function () {
|
||||
return {
|
||||
// notifications
|
||||
notifications: {
|
||||
error: {
|
||||
show: false, text: '', url: '',
|
||||
}, success: {
|
||||
show: false, text: '', url: '',
|
||||
}, wait: {
|
||||
show: false, text: '',
|
||||
|
||||
}
|
||||
},
|
||||
editors: {},
|
||||
userGroups: [],
|
||||
|
||||
format(date) {
|
||||
return format(date, i18next.t('config.date_time_fns'));
|
||||
},
|
||||
|
||||
init() {
|
||||
this.notifications.wait.show = true;
|
||||
this.notifications.wait.text = i18next.t('firefly.wait_loading_data')
|
||||
this.loadAdministrations();
|
||||
},
|
||||
|
||||
loadAdministrations() {
|
||||
this.notifications.wait.show = true;
|
||||
this.notifications.wait.text = i18next.t('firefly.wait_loading_data')
|
||||
this.accounts = [];
|
||||
(new Get()).index({page: this.page}).then(response => {
|
||||
for (let i = 0; i < response.data.data.length; i++) {
|
||||
if (response.data.data.hasOwnProperty(i)) {
|
||||
let current = response.data.data[i];
|
||||
let group = {
|
||||
id: parseInt(current.id),
|
||||
title: current.attributes.title,
|
||||
in_use: current.attributes.in_use,
|
||||
owner: '',
|
||||
you: '',
|
||||
memberCountExceptYou: 0,
|
||||
isOwner: false,
|
||||
membersVisible: current.attributes.can_see_members,
|
||||
members: [],
|
||||
};
|
||||
console.log('Processing group #' + group.id + ' (' + group.title + ')' );
|
||||
let memberships = {};
|
||||
for (let j = 0; j < current.attributes.members.length; j++) {
|
||||
let member = current.attributes.members[j];
|
||||
console.log('Found member ' + member.user_email, member.you, member.role);
|
||||
if ('owner' === member.role) {
|
||||
group.owner = i18next.t('firefly.administration_owner', {email: member.user_email});
|
||||
}
|
||||
if (true === member.you && 'owner' === member.role) {
|
||||
console.log('You are owner of group ' + group.title );
|
||||
group.isOwner = true;
|
||||
}
|
||||
if (true === member.you) {
|
||||
group.you = i18next.t('firefly.administration_you', {role: i18next.t('firefly.administration_role_' + member.role)});
|
||||
continue;
|
||||
}
|
||||
if (false === member.you) {
|
||||
group.memberCountExceptYou++;
|
||||
const userEmail = member.user_email;
|
||||
if (!memberships.hasOwnProperty(userEmail)) {
|
||||
memberships[userEmail] = {
|
||||
email: userEmail,
|
||||
roles: []
|
||||
};
|
||||
}
|
||||
memberships[userEmail].roles.push(i18next.t('firefly.administration_role_' + member.role));
|
||||
}
|
||||
}
|
||||
group.members = Object.values(memberships);
|
||||
|
||||
this.userGroups.push(group);
|
||||
}
|
||||
}
|
||||
this.notifications.wait.show = false;
|
||||
// add click trigger thing.
|
||||
});
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
let comps = {index, dates};
|
||||
|
||||
function loadPage() {
|
||||
Object.keys(comps).forEach(comp => {
|
||||
console.log(`Loading page component "${comp}"`);
|
||||
let data = comps[comp]();
|
||||
Alpine.data(comp, () => data);
|
||||
});
|
||||
Alpine.start();
|
||||
}
|
||||
|
||||
// wait for load until bootstrapped event is received.
|
||||
document.addEventListener('firefly-iii-bootstrapped', () => {
|
||||
console.log('Loaded through event listener.');
|
||||
loadPage();
|
||||
});
|
||||
// or is bootstrapped before event is triggered.
|
||||
if (window.bootstrapped) {
|
||||
console.log('Loaded through window variable.');
|
||||
loadPage();
|
||||
}
|
||||
@@ -1419,6 +1419,28 @@ return [
|
||||
// Financial administrations
|
||||
'administration_index' => 'Financial administration',
|
||||
'administrations_index_menu' => 'Financial administration(s)',
|
||||
'administrations_breadcrumb' => 'Financial administrations',
|
||||
'administrations_page_title' => 'Financial administrations',
|
||||
'administrations_page_sub_title' => 'Overview',
|
||||
'create_administration' => 'Create new administration',
|
||||
'administration_owner' => 'Administration owner: {{email}}',
|
||||
'administration_you' => 'Your role: {{role}}',
|
||||
'other_users_in_admin' => 'Other users in this administration',
|
||||
|
||||
// roles
|
||||
'administration_role_owner' => 'Owner',
|
||||
'administration_role_ro' => 'Read-only',
|
||||
'administration_role_mng_trx' => 'Manage transactions',
|
||||
'administration_role_mng_meta' => 'Manage classification and meta-data',
|
||||
'administration_role_mng_budgets' => 'Manage budgets',
|
||||
'administration_role_mng_piggies' => 'Manage piggy banks',
|
||||
'administration_role_mng_subscriptions' => 'Manage subscriptions',
|
||||
'administration_role_mng_rules' => 'Manage rules',
|
||||
'administration_role_mng_recurring' => 'Manage recurring transactions ',
|
||||
'administration_role_mng_webhooks' => 'Manage webhooks',
|
||||
'administration_role_mng_currencies' => 'Manage currencies',
|
||||
'administration_role_view_reports' => 'View reports',
|
||||
'administration_role_full' => 'Full access',
|
||||
|
||||
// profile:
|
||||
'purge_data_title' => 'Purge data from Firefly III',
|
||||
|
||||
@@ -1419,6 +1419,28 @@ return [
|
||||
// Financial administrations
|
||||
'administration_index' => 'Administració financera',
|
||||
'administrations_index_menu' => 'Administració financera',
|
||||
'administrations_breadcrumb' => 'Financial administrations',
|
||||
'administrations_page_title' => 'Financial administrations',
|
||||
'administrations_page_sub_title' => 'Overview',
|
||||
'create_administration' => 'Create new administration',
|
||||
'administration_owner' => 'Administration owner: {{email}}',
|
||||
'administration_you' => 'Your role: {{role}}',
|
||||
'other_users_in_admin' => 'Other users in this administration',
|
||||
|
||||
// roles
|
||||
'administration_role_owner' => 'Owner',
|
||||
'administration_role_ro' => 'Read-only',
|
||||
'administration_role_mng_trx' => 'Manage transactions',
|
||||
'administration_role_mng_meta' => 'Manage classification and meta-data',
|
||||
'administration_role_mng_budgets' => 'Manage budgets',
|
||||
'administration_role_mng_piggies' => 'Manage piggy banks',
|
||||
'administration_role_mng_subscriptions' => 'Manage subscriptions',
|
||||
'administration_role_mng_rules' => 'Manage rules',
|
||||
'administration_role_mng_recurring' => 'Manage recurring transactions ',
|
||||
'administration_role_mng_webhooks' => 'Manage webhooks',
|
||||
'administration_role_mng_currencies' => 'Manage currencies',
|
||||
'administration_role_view_reports' => 'View reports',
|
||||
'administration_role_full' => 'Full access',
|
||||
|
||||
// profile:
|
||||
'purge_data_title' => 'Purgar dades de Firefly III',
|
||||
|
||||
@@ -1419,6 +1419,28 @@ return [
|
||||
// Financial administrations
|
||||
'administration_index' => 'Financial administration',
|
||||
'administrations_index_menu' => 'Financial administration(s)',
|
||||
'administrations_breadcrumb' => 'Financial administrations',
|
||||
'administrations_page_title' => 'Financial administrations',
|
||||
'administrations_page_sub_title' => 'Overview',
|
||||
'create_administration' => 'Create new administration',
|
||||
'administration_owner' => 'Administration owner: {{email}}',
|
||||
'administration_you' => 'Your role: {{role}}',
|
||||
'other_users_in_admin' => 'Other users in this administration',
|
||||
|
||||
// roles
|
||||
'administration_role_owner' => 'Owner',
|
||||
'administration_role_ro' => 'Read-only',
|
||||
'administration_role_mng_trx' => 'Manage transactions',
|
||||
'administration_role_mng_meta' => 'Manage classification and meta-data',
|
||||
'administration_role_mng_budgets' => 'Manage budgets',
|
||||
'administration_role_mng_piggies' => 'Manage piggy banks',
|
||||
'administration_role_mng_subscriptions' => 'Manage subscriptions',
|
||||
'administration_role_mng_rules' => 'Manage rules',
|
||||
'administration_role_mng_recurring' => 'Manage recurring transactions ',
|
||||
'administration_role_mng_webhooks' => 'Manage webhooks',
|
||||
'administration_role_mng_currencies' => 'Manage currencies',
|
||||
'administration_role_view_reports' => 'View reports',
|
||||
'administration_role_full' => 'Full access',
|
||||
|
||||
// profile:
|
||||
'purge_data_title' => 'Purge data from Firefly III',
|
||||
|
||||
@@ -1419,6 +1419,28 @@ return [
|
||||
// Financial administrations
|
||||
'administration_index' => 'Financial administration',
|
||||
'administrations_index_menu' => 'Financial administration(s)',
|
||||
'administrations_breadcrumb' => 'Financial administrations',
|
||||
'administrations_page_title' => 'Financial administrations',
|
||||
'administrations_page_sub_title' => 'Overview',
|
||||
'create_administration' => 'Create new administration',
|
||||
'administration_owner' => 'Administration owner: {{email}}',
|
||||
'administration_you' => 'Your role: {{role}}',
|
||||
'other_users_in_admin' => 'Other users in this administration',
|
||||
|
||||
// roles
|
||||
'administration_role_owner' => 'Owner',
|
||||
'administration_role_ro' => 'Read-only',
|
||||
'administration_role_mng_trx' => 'Manage transactions',
|
||||
'administration_role_mng_meta' => 'Manage classification and meta-data',
|
||||
'administration_role_mng_budgets' => 'Manage budgets',
|
||||
'administration_role_mng_piggies' => 'Manage piggy banks',
|
||||
'administration_role_mng_subscriptions' => 'Manage subscriptions',
|
||||
'administration_role_mng_rules' => 'Manage rules',
|
||||
'administration_role_mng_recurring' => 'Manage recurring transactions ',
|
||||
'administration_role_mng_webhooks' => 'Manage webhooks',
|
||||
'administration_role_mng_currencies' => 'Manage currencies',
|
||||
'administration_role_view_reports' => 'View reports',
|
||||
'administration_role_full' => 'Full access',
|
||||
|
||||
// profile:
|
||||
'purge_data_title' => 'Purge data from Firefly III',
|
||||
|
||||
@@ -1419,6 +1419,28 @@ return [
|
||||
// Financial administrations
|
||||
'administration_index' => 'Finanzverwaltung',
|
||||
'administrations_index_menu' => 'Finanzverwaltung(en)',
|
||||
'administrations_breadcrumb' => 'Finanzverwaltungen',
|
||||
'administrations_page_title' => 'Finanzverwaltungen',
|
||||
'administrations_page_sub_title' => 'Übersicht',
|
||||
'create_administration' => 'Create new administration',
|
||||
'administration_owner' => 'Administration owner: {{email}}',
|
||||
'administration_you' => 'Your role: {{role}}',
|
||||
'other_users_in_admin' => 'Other users in this administration',
|
||||
|
||||
// roles
|
||||
'administration_role_owner' => 'Owner',
|
||||
'administration_role_ro' => 'Read-only',
|
||||
'administration_role_mng_trx' => 'Manage transactions',
|
||||
'administration_role_mng_meta' => 'Manage classification and meta-data',
|
||||
'administration_role_mng_budgets' => 'Manage budgets',
|
||||
'administration_role_mng_piggies' => 'Manage piggy banks',
|
||||
'administration_role_mng_subscriptions' => 'Manage subscriptions',
|
||||
'administration_role_mng_rules' => 'Manage rules',
|
||||
'administration_role_mng_recurring' => 'Manage recurring transactions ',
|
||||
'administration_role_mng_webhooks' => 'Manage webhooks',
|
||||
'administration_role_mng_currencies' => 'Manage currencies',
|
||||
'administration_role_view_reports' => 'View reports',
|
||||
'administration_role_full' => 'Full access',
|
||||
|
||||
// profile:
|
||||
'purge_data_title' => 'Daten aus Firefly III vernichten',
|
||||
|
||||
@@ -1419,6 +1419,28 @@ return [
|
||||
// Financial administrations
|
||||
'administration_index' => 'Οικονομική διαχείριση',
|
||||
'administrations_index_menu' => 'Financial administration(s)',
|
||||
'administrations_breadcrumb' => 'Financial administrations',
|
||||
'administrations_page_title' => 'Financial administrations',
|
||||
'administrations_page_sub_title' => 'Overview',
|
||||
'create_administration' => 'Create new administration',
|
||||
'administration_owner' => 'Administration owner: {{email}}',
|
||||
'administration_you' => 'Your role: {{role}}',
|
||||
'other_users_in_admin' => 'Other users in this administration',
|
||||
|
||||
// roles
|
||||
'administration_role_owner' => 'Owner',
|
||||
'administration_role_ro' => 'Read-only',
|
||||
'administration_role_mng_trx' => 'Manage transactions',
|
||||
'administration_role_mng_meta' => 'Manage classification and meta-data',
|
||||
'administration_role_mng_budgets' => 'Manage budgets',
|
||||
'administration_role_mng_piggies' => 'Manage piggy banks',
|
||||
'administration_role_mng_subscriptions' => 'Manage subscriptions',
|
||||
'administration_role_mng_rules' => 'Manage rules',
|
||||
'administration_role_mng_recurring' => 'Manage recurring transactions ',
|
||||
'administration_role_mng_webhooks' => 'Manage webhooks',
|
||||
'administration_role_mng_currencies' => 'Manage currencies',
|
||||
'administration_role_view_reports' => 'View reports',
|
||||
'administration_role_full' => 'Full access',
|
||||
|
||||
// profile:
|
||||
'purge_data_title' => 'Εκκαθάριση δεδομένων από το Firefly III',
|
||||
|
||||
@@ -1419,6 +1419,28 @@ return [
|
||||
// Financial administrations
|
||||
'administration_index' => 'Financial administration',
|
||||
'administrations_index_menu' => 'Financial administration(s)',
|
||||
'administrations_breadcrumb' => 'Financial administrations',
|
||||
'administrations_page_title' => 'Financial administrations',
|
||||
'administrations_page_sub_title' => 'Overview',
|
||||
'create_administration' => 'Create new administration',
|
||||
'administration_owner' => 'Administration owner: {{email}}',
|
||||
'administration_you' => 'Your role: {{role}}',
|
||||
'other_users_in_admin' => 'Other users in this administration',
|
||||
|
||||
// roles
|
||||
'administration_role_owner' => 'Owner',
|
||||
'administration_role_ro' => 'Read-only',
|
||||
'administration_role_mng_trx' => 'Manage transactions',
|
||||
'administration_role_mng_meta' => 'Manage classification and meta-data',
|
||||
'administration_role_mng_budgets' => 'Manage budgets',
|
||||
'administration_role_mng_piggies' => 'Manage piggy banks',
|
||||
'administration_role_mng_subscriptions' => 'Manage subscriptions',
|
||||
'administration_role_mng_rules' => 'Manage rules',
|
||||
'administration_role_mng_recurring' => 'Manage recurring transactions ',
|
||||
'administration_role_mng_webhooks' => 'Manage webhooks',
|
||||
'administration_role_mng_currencies' => 'Manage currencies',
|
||||
'administration_role_view_reports' => 'View reports',
|
||||
'administration_role_full' => 'Full access',
|
||||
|
||||
// profile:
|
||||
'purge_data_title' => 'Purge data from Firefly III',
|
||||
|
||||
@@ -1383,6 +1383,28 @@ return [
|
||||
// Financial administrations
|
||||
'administration_index' => 'Financial administration',
|
||||
'administrations_index_menu' => 'Financial administration(s)',
|
||||
'administrations_breadcrumb' => 'Financial administrations',
|
||||
'administrations_page_title' => 'Financial administrations',
|
||||
'administrations_page_sub_title' => 'Overview',
|
||||
'create_administration' => 'Create new administration',
|
||||
'administration_owner' => 'Administration owner: {{email}}',
|
||||
'administration_you' => 'Your role: {{role}}',
|
||||
'other_users_in_admin' => 'Other users in this administration',
|
||||
|
||||
// roles
|
||||
'administration_role_owner' => 'Owner',
|
||||
'administration_role_ro' => 'Read-only',
|
||||
'administration_role_mng_trx' => 'Manage transactions',
|
||||
'administration_role_mng_meta' => 'Manage classification and meta-data',
|
||||
'administration_role_mng_budgets' => 'Manage budgets',
|
||||
'administration_role_mng_piggies' => 'Manage piggy banks',
|
||||
'administration_role_mng_subscriptions' => 'Manage subscriptions',
|
||||
'administration_role_mng_rules' => 'Manage rules',
|
||||
'administration_role_mng_recurring' => 'Manage recurring transactions ',
|
||||
'administration_role_mng_webhooks' => 'Manage webhooks',
|
||||
'administration_role_mng_currencies' => 'Manage currencies',
|
||||
'administration_role_view_reports' => 'View reports',
|
||||
'administration_role_full' => 'Full access',
|
||||
|
||||
// profile:
|
||||
'purge_data_title' => 'Purge data from Firefly III',
|
||||
|
||||
@@ -1419,6 +1419,28 @@ return [
|
||||
// Financial administrations
|
||||
'administration_index' => 'Administración financiera',
|
||||
'administrations_index_menu' => 'Administración(es) financiera(s)',
|
||||
'administrations_breadcrumb' => 'Financial administrations',
|
||||
'administrations_page_title' => 'Financial administrations',
|
||||
'administrations_page_sub_title' => 'Overview',
|
||||
'create_administration' => 'Create new administration',
|
||||
'administration_owner' => 'Administration owner: {{email}}',
|
||||
'administration_you' => 'Your role: {{role}}',
|
||||
'other_users_in_admin' => 'Other users in this administration',
|
||||
|
||||
// roles
|
||||
'administration_role_owner' => 'Owner',
|
||||
'administration_role_ro' => 'Read-only',
|
||||
'administration_role_mng_trx' => 'Manage transactions',
|
||||
'administration_role_mng_meta' => 'Manage classification and meta-data',
|
||||
'administration_role_mng_budgets' => 'Manage budgets',
|
||||
'administration_role_mng_piggies' => 'Manage piggy banks',
|
||||
'administration_role_mng_subscriptions' => 'Manage subscriptions',
|
||||
'administration_role_mng_rules' => 'Manage rules',
|
||||
'administration_role_mng_recurring' => 'Manage recurring transactions ',
|
||||
'administration_role_mng_webhooks' => 'Manage webhooks',
|
||||
'administration_role_mng_currencies' => 'Manage currencies',
|
||||
'administration_role_view_reports' => 'View reports',
|
||||
'administration_role_full' => 'Full access',
|
||||
|
||||
// profile:
|
||||
'purge_data_title' => 'Purgar datos de Firefly III',
|
||||
|
||||
@@ -1419,6 +1419,28 @@ return [
|
||||
// Financial administrations
|
||||
'administration_index' => 'Financial administration',
|
||||
'administrations_index_menu' => 'Financial administration(s)',
|
||||
'administrations_breadcrumb' => 'Financial administrations',
|
||||
'administrations_page_title' => 'Financial administrations',
|
||||
'administrations_page_sub_title' => 'Overview',
|
||||
'create_administration' => 'Create new administration',
|
||||
'administration_owner' => 'Administration owner: {{email}}',
|
||||
'administration_you' => 'Your role: {{role}}',
|
||||
'other_users_in_admin' => 'Other users in this administration',
|
||||
|
||||
// roles
|
||||
'administration_role_owner' => 'Owner',
|
||||
'administration_role_ro' => 'Read-only',
|
||||
'administration_role_mng_trx' => 'Manage transactions',
|
||||
'administration_role_mng_meta' => 'Manage classification and meta-data',
|
||||
'administration_role_mng_budgets' => 'Manage budgets',
|
||||
'administration_role_mng_piggies' => 'Manage piggy banks',
|
||||
'administration_role_mng_subscriptions' => 'Manage subscriptions',
|
||||
'administration_role_mng_rules' => 'Manage rules',
|
||||
'administration_role_mng_recurring' => 'Manage recurring transactions ',
|
||||
'administration_role_mng_webhooks' => 'Manage webhooks',
|
||||
'administration_role_mng_currencies' => 'Manage currencies',
|
||||
'administration_role_view_reports' => 'View reports',
|
||||
'administration_role_full' => 'Full access',
|
||||
|
||||
// profile:
|
||||
'purge_data_title' => 'Purge data from Firefly III',
|
||||
|
||||
@@ -1419,6 +1419,28 @@ return [
|
||||
// Financial administrations
|
||||
'administration_index' => 'Administration financière',
|
||||
'administrations_index_menu' => 'Administration(s) financière(s)',
|
||||
'administrations_breadcrumb' => 'Financial administrations',
|
||||
'administrations_page_title' => 'Financial administrations',
|
||||
'administrations_page_sub_title' => 'Overview',
|
||||
'create_administration' => 'Create new administration',
|
||||
'administration_owner' => 'Administration owner: {{email}}',
|
||||
'administration_you' => 'Your role: {{role}}',
|
||||
'other_users_in_admin' => 'Other users in this administration',
|
||||
|
||||
// roles
|
||||
'administration_role_owner' => 'Owner',
|
||||
'administration_role_ro' => 'Read-only',
|
||||
'administration_role_mng_trx' => 'Manage transactions',
|
||||
'administration_role_mng_meta' => 'Manage classification and meta-data',
|
||||
'administration_role_mng_budgets' => 'Manage budgets',
|
||||
'administration_role_mng_piggies' => 'Manage piggy banks',
|
||||
'administration_role_mng_subscriptions' => 'Manage subscriptions',
|
||||
'administration_role_mng_rules' => 'Manage rules',
|
||||
'administration_role_mng_recurring' => 'Manage recurring transactions ',
|
||||
'administration_role_mng_webhooks' => 'Manage webhooks',
|
||||
'administration_role_mng_currencies' => 'Manage currencies',
|
||||
'administration_role_view_reports' => 'View reports',
|
||||
'administration_role_full' => 'Full access',
|
||||
|
||||
// profile:
|
||||
'purge_data_title' => 'Purger des données de Firefly III',
|
||||
|
||||
@@ -41,7 +41,7 @@ return [
|
||||
|
||||
// 'month_and_day' => '%B %e, %Y',
|
||||
'month_and_day_moment_js' => 'YYYY. MMM. D.',
|
||||
'month_and_day_fns' => 'MMMM d, y',
|
||||
'month_and_day_fns' => 'HHHH n, é',
|
||||
'month_and_day_js' => 'YYYY. MMMM DD.',
|
||||
|
||||
// 'month_and_date_day' => '%A %B %e, %Y',
|
||||
|
||||
@@ -1419,6 +1419,28 @@ return [
|
||||
// Financial administrations
|
||||
'administration_index' => 'Financial administration',
|
||||
'administrations_index_menu' => 'Financial administration(s)',
|
||||
'administrations_breadcrumb' => 'Financial administrations',
|
||||
'administrations_page_title' => 'Financial administrations',
|
||||
'administrations_page_sub_title' => 'Overview',
|
||||
'create_administration' => 'Create new administration',
|
||||
'administration_owner' => 'Administration owner: {{email}}',
|
||||
'administration_you' => 'Your role: {{role}}',
|
||||
'other_users_in_admin' => 'Other users in this administration',
|
||||
|
||||
// roles
|
||||
'administration_role_owner' => 'Owner',
|
||||
'administration_role_ro' => 'Read-only',
|
||||
'administration_role_mng_trx' => 'Manage transactions',
|
||||
'administration_role_mng_meta' => 'Manage classification and meta-data',
|
||||
'administration_role_mng_budgets' => 'Manage budgets',
|
||||
'administration_role_mng_piggies' => 'Manage piggy banks',
|
||||
'administration_role_mng_subscriptions' => 'Manage subscriptions',
|
||||
'administration_role_mng_rules' => 'Manage rules',
|
||||
'administration_role_mng_recurring' => 'Manage recurring transactions ',
|
||||
'administration_role_mng_webhooks' => 'Manage webhooks',
|
||||
'administration_role_mng_currencies' => 'Manage currencies',
|
||||
'administration_role_view_reports' => 'View reports',
|
||||
'administration_role_full' => 'Full access',
|
||||
|
||||
// profile:
|
||||
'purge_data_title' => 'Purge data from Firefly III',
|
||||
|
||||
@@ -1419,6 +1419,28 @@ return [
|
||||
// Financial administrations
|
||||
'administration_index' => 'Financial administration',
|
||||
'administrations_index_menu' => 'Financial administration(s)',
|
||||
'administrations_breadcrumb' => 'Financial administrations',
|
||||
'administrations_page_title' => 'Financial administrations',
|
||||
'administrations_page_sub_title' => 'Overview',
|
||||
'create_administration' => 'Create new administration',
|
||||
'administration_owner' => 'Administration owner: {{email}}',
|
||||
'administration_you' => 'Your role: {{role}}',
|
||||
'other_users_in_admin' => 'Other users in this administration',
|
||||
|
||||
// roles
|
||||
'administration_role_owner' => 'Owner',
|
||||
'administration_role_ro' => 'Read-only',
|
||||
'administration_role_mng_trx' => 'Manage transactions',
|
||||
'administration_role_mng_meta' => 'Manage classification and meta-data',
|
||||
'administration_role_mng_budgets' => 'Manage budgets',
|
||||
'administration_role_mng_piggies' => 'Manage piggy banks',
|
||||
'administration_role_mng_subscriptions' => 'Manage subscriptions',
|
||||
'administration_role_mng_rules' => 'Manage rules',
|
||||
'administration_role_mng_recurring' => 'Manage recurring transactions ',
|
||||
'administration_role_mng_webhooks' => 'Manage webhooks',
|
||||
'administration_role_mng_currencies' => 'Manage currencies',
|
||||
'administration_role_view_reports' => 'View reports',
|
||||
'administration_role_full' => 'Full access',
|
||||
|
||||
// profile:
|
||||
'purge_data_title' => 'Purge data from Firefly III',
|
||||
|
||||
@@ -1419,6 +1419,28 @@ return [
|
||||
// Financial administrations
|
||||
'administration_index' => 'Amministrazione finanziaria',
|
||||
'administrations_index_menu' => 'Amministratori finanziari',
|
||||
'administrations_breadcrumb' => 'Financial administrations',
|
||||
'administrations_page_title' => 'Financial administrations',
|
||||
'administrations_page_sub_title' => 'Overview',
|
||||
'create_administration' => 'Create new administration',
|
||||
'administration_owner' => 'Administration owner: {{email}}',
|
||||
'administration_you' => 'Your role: {{role}}',
|
||||
'other_users_in_admin' => 'Other users in this administration',
|
||||
|
||||
// roles
|
||||
'administration_role_owner' => 'Owner',
|
||||
'administration_role_ro' => 'Read-only',
|
||||
'administration_role_mng_trx' => 'Manage transactions',
|
||||
'administration_role_mng_meta' => 'Manage classification and meta-data',
|
||||
'administration_role_mng_budgets' => 'Manage budgets',
|
||||
'administration_role_mng_piggies' => 'Manage piggy banks',
|
||||
'administration_role_mng_subscriptions' => 'Manage subscriptions',
|
||||
'administration_role_mng_rules' => 'Manage rules',
|
||||
'administration_role_mng_recurring' => 'Manage recurring transactions ',
|
||||
'administration_role_mng_webhooks' => 'Manage webhooks',
|
||||
'administration_role_mng_currencies' => 'Manage currencies',
|
||||
'administration_role_view_reports' => 'View reports',
|
||||
'administration_role_full' => 'Full access',
|
||||
|
||||
// profile:
|
||||
'purge_data_title' => 'Elimina i dati da Firefly III',
|
||||
|
||||
@@ -1419,6 +1419,28 @@ return [
|
||||
// Financial administrations
|
||||
'administration_index' => '財務管理',
|
||||
'administrations_index_menu' => '財務管理',
|
||||
'administrations_breadcrumb' => 'Financial administrations',
|
||||
'administrations_page_title' => 'Financial administrations',
|
||||
'administrations_page_sub_title' => 'Overview',
|
||||
'create_administration' => 'Create new administration',
|
||||
'administration_owner' => 'Administration owner: {{email}}',
|
||||
'administration_you' => 'Your role: {{role}}',
|
||||
'other_users_in_admin' => 'Other users in this administration',
|
||||
|
||||
// roles
|
||||
'administration_role_owner' => 'Owner',
|
||||
'administration_role_ro' => 'Read-only',
|
||||
'administration_role_mng_trx' => 'Manage transactions',
|
||||
'administration_role_mng_meta' => 'Manage classification and meta-data',
|
||||
'administration_role_mng_budgets' => 'Manage budgets',
|
||||
'administration_role_mng_piggies' => 'Manage piggy banks',
|
||||
'administration_role_mng_subscriptions' => 'Manage subscriptions',
|
||||
'administration_role_mng_rules' => 'Manage rules',
|
||||
'administration_role_mng_recurring' => 'Manage recurring transactions ',
|
||||
'administration_role_mng_webhooks' => 'Manage webhooks',
|
||||
'administration_role_mng_currencies' => 'Manage currencies',
|
||||
'administration_role_view_reports' => 'View reports',
|
||||
'administration_role_full' => 'Full access',
|
||||
|
||||
// profile:
|
||||
'purge_data_title' => 'Firefly III からデータを消去',
|
||||
|
||||
@@ -1419,6 +1419,28 @@ return [
|
||||
// Financial administrations
|
||||
'administration_index' => '재정 관리',
|
||||
'administrations_index_menu' => '재정 관리자(들)',
|
||||
'administrations_breadcrumb' => 'Financial administrations',
|
||||
'administrations_page_title' => 'Financial administrations',
|
||||
'administrations_page_sub_title' => 'Overview',
|
||||
'create_administration' => 'Create new administration',
|
||||
'administration_owner' => 'Administration owner: {{email}}',
|
||||
'administration_you' => 'Your role: {{role}}',
|
||||
'other_users_in_admin' => 'Other users in this administration',
|
||||
|
||||
// roles
|
||||
'administration_role_owner' => 'Owner',
|
||||
'administration_role_ro' => 'Read-only',
|
||||
'administration_role_mng_trx' => 'Manage transactions',
|
||||
'administration_role_mng_meta' => 'Manage classification and meta-data',
|
||||
'administration_role_mng_budgets' => 'Manage budgets',
|
||||
'administration_role_mng_piggies' => 'Manage piggy banks',
|
||||
'administration_role_mng_subscriptions' => 'Manage subscriptions',
|
||||
'administration_role_mng_rules' => 'Manage rules',
|
||||
'administration_role_mng_recurring' => 'Manage recurring transactions ',
|
||||
'administration_role_mng_webhooks' => 'Manage webhooks',
|
||||
'administration_role_mng_currencies' => 'Manage currencies',
|
||||
'administration_role_view_reports' => 'View reports',
|
||||
'administration_role_full' => 'Full access',
|
||||
|
||||
// profile:
|
||||
'purge_data_title' => 'Firefly III에서 데이터 제거',
|
||||
|
||||
@@ -1419,6 +1419,28 @@ return [
|
||||
// Financial administrations
|
||||
'administration_index' => 'Økonomisk administrasjon',
|
||||
'administrations_index_menu' => 'Økonomisk administrasjon',
|
||||
'administrations_breadcrumb' => 'Financial administrations',
|
||||
'administrations_page_title' => 'Financial administrations',
|
||||
'administrations_page_sub_title' => 'Overview',
|
||||
'create_administration' => 'Create new administration',
|
||||
'administration_owner' => 'Administration owner: {{email}}',
|
||||
'administration_you' => 'Your role: {{role}}',
|
||||
'other_users_in_admin' => 'Other users in this administration',
|
||||
|
||||
// roles
|
||||
'administration_role_owner' => 'Owner',
|
||||
'administration_role_ro' => 'Read-only',
|
||||
'administration_role_mng_trx' => 'Manage transactions',
|
||||
'administration_role_mng_meta' => 'Manage classification and meta-data',
|
||||
'administration_role_mng_budgets' => 'Manage budgets',
|
||||
'administration_role_mng_piggies' => 'Manage piggy banks',
|
||||
'administration_role_mng_subscriptions' => 'Manage subscriptions',
|
||||
'administration_role_mng_rules' => 'Manage rules',
|
||||
'administration_role_mng_recurring' => 'Manage recurring transactions ',
|
||||
'administration_role_mng_webhooks' => 'Manage webhooks',
|
||||
'administration_role_mng_currencies' => 'Manage currencies',
|
||||
'administration_role_view_reports' => 'View reports',
|
||||
'administration_role_full' => 'Full access',
|
||||
|
||||
// profile:
|
||||
'purge_data_title' => 'Fjern data fra Firefly III',
|
||||
|
||||
@@ -1419,6 +1419,28 @@ return [
|
||||
// Financial administrations
|
||||
'administration_index' => 'Financiële administratie',
|
||||
'administrations_index_menu' => 'Financiële administratie(s)',
|
||||
'administrations_breadcrumb' => 'Financial administrations',
|
||||
'administrations_page_title' => 'Financial administrations',
|
||||
'administrations_page_sub_title' => 'Overview',
|
||||
'create_administration' => 'Create new administration',
|
||||
'administration_owner' => 'Administration owner: {{email}}',
|
||||
'administration_you' => 'Your role: {{role}}',
|
||||
'other_users_in_admin' => 'Other users in this administration',
|
||||
|
||||
// roles
|
||||
'administration_role_owner' => 'Owner',
|
||||
'administration_role_ro' => 'Read-only',
|
||||
'administration_role_mng_trx' => 'Manage transactions',
|
||||
'administration_role_mng_meta' => 'Manage classification and meta-data',
|
||||
'administration_role_mng_budgets' => 'Manage budgets',
|
||||
'administration_role_mng_piggies' => 'Manage piggy banks',
|
||||
'administration_role_mng_subscriptions' => 'Manage subscriptions',
|
||||
'administration_role_mng_rules' => 'Manage rules',
|
||||
'administration_role_mng_recurring' => 'Manage recurring transactions ',
|
||||
'administration_role_mng_webhooks' => 'Manage webhooks',
|
||||
'administration_role_mng_currencies' => 'Manage currencies',
|
||||
'administration_role_view_reports' => 'View reports',
|
||||
'administration_role_full' => 'Full access',
|
||||
|
||||
// profile:
|
||||
'purge_data_title' => 'Gegevens wissen uit Firefly III',
|
||||
|
||||
@@ -1419,6 +1419,28 @@ return [
|
||||
// Financial administrations
|
||||
'administration_index' => 'Økonomisk administrasjon',
|
||||
'administrations_index_menu' => 'Financial administration(s)',
|
||||
'administrations_breadcrumb' => 'Financial administrations',
|
||||
'administrations_page_title' => 'Financial administrations',
|
||||
'administrations_page_sub_title' => 'Overview',
|
||||
'create_administration' => 'Create new administration',
|
||||
'administration_owner' => 'Administration owner: {{email}}',
|
||||
'administration_you' => 'Your role: {{role}}',
|
||||
'other_users_in_admin' => 'Other users in this administration',
|
||||
|
||||
// roles
|
||||
'administration_role_owner' => 'Owner',
|
||||
'administration_role_ro' => 'Read-only',
|
||||
'administration_role_mng_trx' => 'Manage transactions',
|
||||
'administration_role_mng_meta' => 'Manage classification and meta-data',
|
||||
'administration_role_mng_budgets' => 'Manage budgets',
|
||||
'administration_role_mng_piggies' => 'Manage piggy banks',
|
||||
'administration_role_mng_subscriptions' => 'Manage subscriptions',
|
||||
'administration_role_mng_rules' => 'Manage rules',
|
||||
'administration_role_mng_recurring' => 'Manage recurring transactions ',
|
||||
'administration_role_mng_webhooks' => 'Manage webhooks',
|
||||
'administration_role_mng_currencies' => 'Manage currencies',
|
||||
'administration_role_view_reports' => 'View reports',
|
||||
'administration_role_full' => 'Full access',
|
||||
|
||||
// profile:
|
||||
'purge_data_title' => 'Rens data frå Firefly III',
|
||||
|
||||
@@ -1419,6 +1419,28 @@ return [
|
||||
// Financial administrations
|
||||
'administration_index' => 'Zarządzanie finansami',
|
||||
'administrations_index_menu' => 'Zarządzanie finansami',
|
||||
'administrations_breadcrumb' => 'Financial administrations',
|
||||
'administrations_page_title' => 'Financial administrations',
|
||||
'administrations_page_sub_title' => 'Overview',
|
||||
'create_administration' => 'Create new administration',
|
||||
'administration_owner' => 'Administration owner: {{email}}',
|
||||
'administration_you' => 'Your role: {{role}}',
|
||||
'other_users_in_admin' => 'Other users in this administration',
|
||||
|
||||
// roles
|
||||
'administration_role_owner' => 'Owner',
|
||||
'administration_role_ro' => 'Read-only',
|
||||
'administration_role_mng_trx' => 'Manage transactions',
|
||||
'administration_role_mng_meta' => 'Manage classification and meta-data',
|
||||
'administration_role_mng_budgets' => 'Manage budgets',
|
||||
'administration_role_mng_piggies' => 'Manage piggy banks',
|
||||
'administration_role_mng_subscriptions' => 'Manage subscriptions',
|
||||
'administration_role_mng_rules' => 'Manage rules',
|
||||
'administration_role_mng_recurring' => 'Manage recurring transactions ',
|
||||
'administration_role_mng_webhooks' => 'Manage webhooks',
|
||||
'administration_role_mng_currencies' => 'Manage currencies',
|
||||
'administration_role_view_reports' => 'View reports',
|
||||
'administration_role_full' => 'Full access',
|
||||
|
||||
// profile:
|
||||
'purge_data_title' => 'Wyczyść dane z Firefly III',
|
||||
|
||||
@@ -1419,6 +1419,28 @@ return [
|
||||
// Financial administrations
|
||||
'administration_index' => 'Administração financeira',
|
||||
'administrations_index_menu' => 'Administração(ões) financeira(s)',
|
||||
'administrations_breadcrumb' => 'Financial administrations',
|
||||
'administrations_page_title' => 'Financial administrations',
|
||||
'administrations_page_sub_title' => 'Overview',
|
||||
'create_administration' => 'Create new administration',
|
||||
'administration_owner' => 'Administration owner: {{email}}',
|
||||
'administration_you' => 'Your role: {{role}}',
|
||||
'other_users_in_admin' => 'Other users in this administration',
|
||||
|
||||
// roles
|
||||
'administration_role_owner' => 'Owner',
|
||||
'administration_role_ro' => 'Read-only',
|
||||
'administration_role_mng_trx' => 'Manage transactions',
|
||||
'administration_role_mng_meta' => 'Manage classification and meta-data',
|
||||
'administration_role_mng_budgets' => 'Manage budgets',
|
||||
'administration_role_mng_piggies' => 'Manage piggy banks',
|
||||
'administration_role_mng_subscriptions' => 'Manage subscriptions',
|
||||
'administration_role_mng_rules' => 'Manage rules',
|
||||
'administration_role_mng_recurring' => 'Manage recurring transactions ',
|
||||
'administration_role_mng_webhooks' => 'Manage webhooks',
|
||||
'administration_role_mng_currencies' => 'Manage currencies',
|
||||
'administration_role_view_reports' => 'View reports',
|
||||
'administration_role_full' => 'Full access',
|
||||
|
||||
// profile:
|
||||
'purge_data_title' => 'Expurgar dados do Firefly III',
|
||||
|
||||
@@ -1419,6 +1419,28 @@ return [
|
||||
// Financial administrations
|
||||
'administration_index' => 'Administração financeira',
|
||||
'administrations_index_menu' => 'Administração financeira',
|
||||
'administrations_breadcrumb' => 'Financial administrations',
|
||||
'administrations_page_title' => 'Financial administrations',
|
||||
'administrations_page_sub_title' => 'Overview',
|
||||
'create_administration' => 'Create new administration',
|
||||
'administration_owner' => 'Administration owner: {{email}}',
|
||||
'administration_you' => 'Your role: {{role}}',
|
||||
'other_users_in_admin' => 'Other users in this administration',
|
||||
|
||||
// roles
|
||||
'administration_role_owner' => 'Owner',
|
||||
'administration_role_ro' => 'Read-only',
|
||||
'administration_role_mng_trx' => 'Manage transactions',
|
||||
'administration_role_mng_meta' => 'Manage classification and meta-data',
|
||||
'administration_role_mng_budgets' => 'Manage budgets',
|
||||
'administration_role_mng_piggies' => 'Manage piggy banks',
|
||||
'administration_role_mng_subscriptions' => 'Manage subscriptions',
|
||||
'administration_role_mng_rules' => 'Manage rules',
|
||||
'administration_role_mng_recurring' => 'Manage recurring transactions ',
|
||||
'administration_role_mng_webhooks' => 'Manage webhooks',
|
||||
'administration_role_mng_currencies' => 'Manage currencies',
|
||||
'administration_role_view_reports' => 'View reports',
|
||||
'administration_role_full' => 'Full access',
|
||||
|
||||
// profile:
|
||||
'purge_data_title' => 'Purgue dados do Firefly III',
|
||||
|
||||
@@ -1419,6 +1419,28 @@ return [
|
||||
// Financial administrations
|
||||
'administration_index' => 'Administrația financiară',
|
||||
'administrations_index_menu' => 'Administrația financiară',
|
||||
'administrations_breadcrumb' => 'Financial administrations',
|
||||
'administrations_page_title' => 'Financial administrations',
|
||||
'administrations_page_sub_title' => 'Overview',
|
||||
'create_administration' => 'Create new administration',
|
||||
'administration_owner' => 'Administration owner: {{email}}',
|
||||
'administration_you' => 'Your role: {{role}}',
|
||||
'other_users_in_admin' => 'Other users in this administration',
|
||||
|
||||
// roles
|
||||
'administration_role_owner' => 'Owner',
|
||||
'administration_role_ro' => 'Read-only',
|
||||
'administration_role_mng_trx' => 'Manage transactions',
|
||||
'administration_role_mng_meta' => 'Manage classification and meta-data',
|
||||
'administration_role_mng_budgets' => 'Manage budgets',
|
||||
'administration_role_mng_piggies' => 'Manage piggy banks',
|
||||
'administration_role_mng_subscriptions' => 'Manage subscriptions',
|
||||
'administration_role_mng_rules' => 'Manage rules',
|
||||
'administration_role_mng_recurring' => 'Manage recurring transactions ',
|
||||
'administration_role_mng_webhooks' => 'Manage webhooks',
|
||||
'administration_role_mng_currencies' => 'Manage currencies',
|
||||
'administration_role_view_reports' => 'View reports',
|
||||
'administration_role_full' => 'Full access',
|
||||
|
||||
// profile:
|
||||
'purge_data_title' => 'Curăță datele din Firefly III',
|
||||
|
||||
@@ -1419,6 +1419,28 @@ return [
|
||||
// Financial administrations
|
||||
'administration_index' => 'Управление финансами',
|
||||
'administrations_index_menu' => 'Управление финансами',
|
||||
'administrations_breadcrumb' => 'Financial administrations',
|
||||
'administrations_page_title' => 'Financial administrations',
|
||||
'administrations_page_sub_title' => 'Overview',
|
||||
'create_administration' => 'Create new administration',
|
||||
'administration_owner' => 'Administration owner: {{email}}',
|
||||
'administration_you' => 'Your role: {{role}}',
|
||||
'other_users_in_admin' => 'Other users in this administration',
|
||||
|
||||
// roles
|
||||
'administration_role_owner' => 'Owner',
|
||||
'administration_role_ro' => 'Read-only',
|
||||
'administration_role_mng_trx' => 'Manage transactions',
|
||||
'administration_role_mng_meta' => 'Manage classification and meta-data',
|
||||
'administration_role_mng_budgets' => 'Manage budgets',
|
||||
'administration_role_mng_piggies' => 'Manage piggy banks',
|
||||
'administration_role_mng_subscriptions' => 'Manage subscriptions',
|
||||
'administration_role_mng_rules' => 'Manage rules',
|
||||
'administration_role_mng_recurring' => 'Manage recurring transactions ',
|
||||
'administration_role_mng_webhooks' => 'Manage webhooks',
|
||||
'administration_role_mng_currencies' => 'Manage currencies',
|
||||
'administration_role_view_reports' => 'View reports',
|
||||
'administration_role_full' => 'Full access',
|
||||
|
||||
// profile:
|
||||
'purge_data_title' => 'Уничтожить данные из Firefly III',
|
||||
|
||||
@@ -1419,6 +1419,28 @@ return [
|
||||
// Financial administrations
|
||||
'administration_index' => 'Financial administration',
|
||||
'administrations_index_menu' => 'Financial administration(s)',
|
||||
'administrations_breadcrumb' => 'Financial administrations',
|
||||
'administrations_page_title' => 'Financial administrations',
|
||||
'administrations_page_sub_title' => 'Overview',
|
||||
'create_administration' => 'Create new administration',
|
||||
'administration_owner' => 'Administration owner: {{email}}',
|
||||
'administration_you' => 'Your role: {{role}}',
|
||||
'other_users_in_admin' => 'Other users in this administration',
|
||||
|
||||
// roles
|
||||
'administration_role_owner' => 'Owner',
|
||||
'administration_role_ro' => 'Read-only',
|
||||
'administration_role_mng_trx' => 'Manage transactions',
|
||||
'administration_role_mng_meta' => 'Manage classification and meta-data',
|
||||
'administration_role_mng_budgets' => 'Manage budgets',
|
||||
'administration_role_mng_piggies' => 'Manage piggy banks',
|
||||
'administration_role_mng_subscriptions' => 'Manage subscriptions',
|
||||
'administration_role_mng_rules' => 'Manage rules',
|
||||
'administration_role_mng_recurring' => 'Manage recurring transactions ',
|
||||
'administration_role_mng_webhooks' => 'Manage webhooks',
|
||||
'administration_role_mng_currencies' => 'Manage currencies',
|
||||
'administration_role_view_reports' => 'View reports',
|
||||
'administration_role_full' => 'Full access',
|
||||
|
||||
// profile:
|
||||
'purge_data_title' => 'Purge data from Firefly III',
|
||||
|
||||
@@ -1419,6 +1419,28 @@ return [
|
||||
// Financial administrations
|
||||
'administration_index' => 'Finančna administracija',
|
||||
'administrations_index_menu' => 'Finančna administracija',
|
||||
'administrations_breadcrumb' => 'Finančna administracija',
|
||||
'administrations_page_title' => 'Finančna administracija',
|
||||
'administrations_page_sub_title' => 'Pregled',
|
||||
'create_administration' => 'Create new administration',
|
||||
'administration_owner' => 'Administration owner: {{email}}',
|
||||
'administration_you' => 'Vaša vloga: {{role}}',
|
||||
'other_users_in_admin' => 'Other users in this administration',
|
||||
|
||||
// roles
|
||||
'administration_role_owner' => 'Lastnik',
|
||||
'administration_role_ro' => 'Samo za branje',
|
||||
'administration_role_mng_trx' => 'Manage transactions',
|
||||
'administration_role_mng_meta' => 'Manage classification and meta-data',
|
||||
'administration_role_mng_budgets' => 'Manage budgets',
|
||||
'administration_role_mng_piggies' => 'Manage piggy banks',
|
||||
'administration_role_mng_subscriptions' => 'Upravljanje naročnin',
|
||||
'administration_role_mng_rules' => 'Upravljaj pravila',
|
||||
'administration_role_mng_recurring' => 'Upravljaj ponavljajoče transakcije',
|
||||
'administration_role_mng_webhooks' => 'Manage webhooks',
|
||||
'administration_role_mng_currencies' => 'Upravljanje valut',
|
||||
'administration_role_view_reports' => 'Prikaz poročil',
|
||||
'administration_role_full' => 'Neomejen dostop',
|
||||
|
||||
// profile:
|
||||
'purge_data_title' => 'Čiščenje podatkov iz Firefly III',
|
||||
|
||||
@@ -1015,7 +1015,7 @@ return [
|
||||
'rule_trigger_external_url_ends' => 'External URL ends with ":trigger_value"',
|
||||
'rule_trigger_external_url_starts_choice' => 'External URL starts with..',
|
||||
'rule_trigger_external_url_starts' => 'External URL starts with ":trigger_value"',
|
||||
'rule_trigger_has_no_attachments_choice' => 'Has no attachments',
|
||||
'rule_trigger_has_no_attachments_choice' => 'Har inga bilagor',
|
||||
'rule_trigger_has_no_attachments' => 'Transaction has no attachments',
|
||||
'rule_trigger_recurrence_id_choice' => 'Recurring transaction ID is..',
|
||||
'rule_trigger_recurrence_id' => 'Recurring transaction ID is ":trigger_value"',
|
||||
@@ -1419,6 +1419,28 @@ return [
|
||||
// Financial administrations
|
||||
'administration_index' => 'Financial administration',
|
||||
'administrations_index_menu' => 'Financial administration(s)',
|
||||
'administrations_breadcrumb' => 'Financial administrations',
|
||||
'administrations_page_title' => 'Financial administrations',
|
||||
'administrations_page_sub_title' => 'Overview',
|
||||
'create_administration' => 'Create new administration',
|
||||
'administration_owner' => 'Administration owner: {{email}}',
|
||||
'administration_you' => 'Din roll: {{role}}',
|
||||
'other_users_in_admin' => 'Other users in this administration',
|
||||
|
||||
// roles
|
||||
'administration_role_owner' => 'Owner',
|
||||
'administration_role_ro' => 'Read-only',
|
||||
'administration_role_mng_trx' => 'Hantera transaktioner',
|
||||
'administration_role_mng_meta' => 'Manage classification and meta-data',
|
||||
'administration_role_mng_budgets' => 'Manage budgets',
|
||||
'administration_role_mng_piggies' => 'Hantera spargrisar',
|
||||
'administration_role_mng_subscriptions' => 'Hantera prenumerationer',
|
||||
'administration_role_mng_rules' => 'Hantera regler',
|
||||
'administration_role_mng_recurring' => 'Hantera återkommande transaktioner ',
|
||||
'administration_role_mng_webhooks' => 'Manage webhooks',
|
||||
'administration_role_mng_currencies' => 'Hantera valutor',
|
||||
'administration_role_view_reports' => 'Visa rapporter',
|
||||
'administration_role_full' => 'Full access',
|
||||
|
||||
// profile:
|
||||
'purge_data_title' => 'Purge data from Firefly III',
|
||||
@@ -1431,7 +1453,7 @@ return [
|
||||
'permanent_delete_stuff' => 'You can delete stuff from Firefly III. Using the buttons below means that your items will be removed from view and hidden. There is no undo-button for this, but the items may remain in the database where you can salvage them if necessary.',
|
||||
'other_sessions_logged_out' => 'Alla dina andra sessioner har loggats ut.',
|
||||
'delete_unused_accounts' => 'Deleting unused accounts will clean your auto-complete lists.',
|
||||
'delete_all_unused_accounts' => 'Delete unused accounts',
|
||||
'delete_all_unused_accounts' => 'Radera oanvända konton',
|
||||
'deleted_all_unused_accounts' => 'All unused accounts are deleted',
|
||||
'delete_all_budgets' => 'Ta bort ALLA dina budgetar',
|
||||
'delete_all_categories' => 'Ta bort ALLA dina kategorier',
|
||||
@@ -1641,8 +1663,8 @@ return [
|
||||
'create_new_revenue' => 'Skapa ett nytt intäktskonto',
|
||||
'create_new_piggy_bank' => 'Skapa en ny spargris',
|
||||
'create_new_bill' => 'Skapa en ny nota',
|
||||
'create_new_subscription' => 'Create new subscription',
|
||||
'create_new_rule' => 'Create new rule',
|
||||
'create_new_subscription' => 'Skapa ny prenumeration',
|
||||
'create_new_rule' => 'Skapa ny regel',
|
||||
|
||||
// currencies:
|
||||
'create_currency' => 'Skapa en ny valuta',
|
||||
@@ -1751,7 +1773,7 @@ return [
|
||||
'remove_budgeted_amount' => 'Ta bort budgeterat belopp i :currency',
|
||||
|
||||
// bills:
|
||||
'subscription' => 'Subscription',
|
||||
'subscription' => 'Prenumeration',
|
||||
'not_expected_period' => 'Inte väntat denna period',
|
||||
'subscriptions_in_group' => 'Subscriptions in group "%{title}"',
|
||||
'subscr_expected_x_times' => 'Expect to pay %{amount} %{times} times this period',
|
||||
@@ -1809,7 +1831,7 @@ return [
|
||||
'bill_repeats_half-year_skip' => 'Upprepas varje {skip} halvår',
|
||||
'bill_repeats_yearly_skip' => 'Upprepas varje {skip} år',
|
||||
'subscriptions' => 'Prenumerationer',
|
||||
'go_to_subscriptions' => 'Go to your subscriptions',
|
||||
'go_to_subscriptions' => 'Gå till dina prenumerationer',
|
||||
'forever' => 'För alltid',
|
||||
'extension_date_is' => 'Tillägg datum är {date}',
|
||||
|
||||
@@ -2433,7 +2455,7 @@ return [
|
||||
'invite_is_deleted' => 'Inbjudan till ":address" har tagits bort.',
|
||||
'invite_new_user_title' => 'Invite new user',
|
||||
'invite_new_user_text' => 'As an administrator, you can invite users to register on your Firefly III administration. Using the direct link you can share with them, they will be able to register an account. The invited user and their invite link will appear in the table below. You are free to share the invitation link with them.',
|
||||
'invited_user_mail' => 'Email address',
|
||||
'invited_user_mail' => 'E-postadress',
|
||||
'invite_user' => 'Invite user',
|
||||
'user_is_invited' => 'Email address ":address" was invited to Firefly III',
|
||||
'administration' => 'Administration',
|
||||
@@ -2486,7 +2508,7 @@ return [
|
||||
'admin_notification_check_invite_created' => 'A user is invited to Firefly III',
|
||||
'admin_notification_check_invite_redeemed' => 'A user invitation is redeemed',
|
||||
'all_invited_users' => 'All invited users',
|
||||
'save_notification_settings' => 'Save settings',
|
||||
'save_notification_settings' => 'Spara inställningar',
|
||||
'notification_settings_saved' => 'The notification settings have been saved',
|
||||
|
||||
'split_transaction_title' => 'Beskrivning av delad transaktion',
|
||||
@@ -2770,8 +2792,8 @@ return [
|
||||
'ale_action_update_transaction_type' => 'Changed transaction type',
|
||||
'ale_action_update_notes' => 'Changed notes',
|
||||
'ale_action_update_description' => 'Changed description',
|
||||
'ale_action_add_to_piggy' => 'Piggy bank',
|
||||
'ale_action_remove_from_piggy' => 'Piggy bank',
|
||||
'ale_action_add_to_piggy' => 'Spargris',
|
||||
'ale_action_remove_from_piggy' => 'Spargris',
|
||||
'ale_action_add_tag' => 'Added tag',
|
||||
'ale_action_update_amount' => 'Updated amount',
|
||||
|
||||
|
||||
@@ -219,7 +219,7 @@ return [
|
||||
'login_name' => 'Logga in',
|
||||
'is_owner' => 'Admin?',
|
||||
'url' => 'Länk',
|
||||
'bill_end_date' => 'End date',
|
||||
'bill_end_date' => 'Slutdatum',
|
||||
|
||||
// import
|
||||
'apply_rules' => 'Tillämpa regler',
|
||||
|
||||
@@ -1419,6 +1419,28 @@ return [
|
||||
// Financial administrations
|
||||
'administration_index' => 'Financial administration',
|
||||
'administrations_index_menu' => 'Financial administration(s)',
|
||||
'administrations_breadcrumb' => 'Financial administrations',
|
||||
'administrations_page_title' => 'Financial administrations',
|
||||
'administrations_page_sub_title' => 'Overview',
|
||||
'create_administration' => 'Create new administration',
|
||||
'administration_owner' => 'Administration owner: {{email}}',
|
||||
'administration_you' => 'Your role: {{role}}',
|
||||
'other_users_in_admin' => 'Other users in this administration',
|
||||
|
||||
// roles
|
||||
'administration_role_owner' => 'Owner',
|
||||
'administration_role_ro' => 'Read-only',
|
||||
'administration_role_mng_trx' => 'Manage transactions',
|
||||
'administration_role_mng_meta' => 'Manage classification and meta-data',
|
||||
'administration_role_mng_budgets' => 'Manage budgets',
|
||||
'administration_role_mng_piggies' => 'Manage piggy banks',
|
||||
'administration_role_mng_subscriptions' => 'Manage subscriptions',
|
||||
'administration_role_mng_rules' => 'Manage rules',
|
||||
'administration_role_mng_recurring' => 'Manage recurring transactions ',
|
||||
'administration_role_mng_webhooks' => 'Manage webhooks',
|
||||
'administration_role_mng_currencies' => 'Manage currencies',
|
||||
'administration_role_view_reports' => 'View reports',
|
||||
'administration_role_full' => 'Full access',
|
||||
|
||||
// profile:
|
||||
'purge_data_title' => 'Purge data from Firefly III',
|
||||
|
||||
@@ -1420,6 +1420,28 @@ return [
|
||||
// Financial administrations
|
||||
'administration_index' => 'Financial administration',
|
||||
'administrations_index_menu' => 'Financial administration(s)',
|
||||
'administrations_breadcrumb' => 'Financial administrations',
|
||||
'administrations_page_title' => 'Financial administrations',
|
||||
'administrations_page_sub_title' => 'Overview',
|
||||
'create_administration' => 'Create new administration',
|
||||
'administration_owner' => 'Administration owner: {{email}}',
|
||||
'administration_you' => 'Your role: {{role}}',
|
||||
'other_users_in_admin' => 'Other users in this administration',
|
||||
|
||||
// roles
|
||||
'administration_role_owner' => 'Owner',
|
||||
'administration_role_ro' => 'Read-only',
|
||||
'administration_role_mng_trx' => 'Manage transactions',
|
||||
'administration_role_mng_meta' => 'Manage classification and meta-data',
|
||||
'administration_role_mng_budgets' => 'Manage budgets',
|
||||
'administration_role_mng_piggies' => 'Manage piggy banks',
|
||||
'administration_role_mng_subscriptions' => 'Manage subscriptions',
|
||||
'administration_role_mng_rules' => 'Manage rules',
|
||||
'administration_role_mng_recurring' => 'Manage recurring transactions ',
|
||||
'administration_role_mng_webhooks' => 'Manage webhooks',
|
||||
'administration_role_mng_currencies' => 'Manage currencies',
|
||||
'administration_role_view_reports' => 'View reports',
|
||||
'administration_role_full' => 'Full access',
|
||||
|
||||
// profile:
|
||||
'purge_data_title' => 'Purge data from Firefly III',
|
||||
|
||||
@@ -1419,6 +1419,28 @@ return [
|
||||
// Financial administrations
|
||||
'administration_index' => 'Фінансове управління',
|
||||
'administrations_index_menu' => 'Управління фінансами',
|
||||
'administrations_breadcrumb' => 'Financial administrations',
|
||||
'administrations_page_title' => 'Financial administrations',
|
||||
'administrations_page_sub_title' => 'Overview',
|
||||
'create_administration' => 'Create new administration',
|
||||
'administration_owner' => 'Administration owner: {{email}}',
|
||||
'administration_you' => 'Your role: {{role}}',
|
||||
'other_users_in_admin' => 'Other users in this administration',
|
||||
|
||||
// roles
|
||||
'administration_role_owner' => 'Owner',
|
||||
'administration_role_ro' => 'Read-only',
|
||||
'administration_role_mng_trx' => 'Manage transactions',
|
||||
'administration_role_mng_meta' => 'Manage classification and meta-data',
|
||||
'administration_role_mng_budgets' => 'Manage budgets',
|
||||
'administration_role_mng_piggies' => 'Manage piggy banks',
|
||||
'administration_role_mng_subscriptions' => 'Manage subscriptions',
|
||||
'administration_role_mng_rules' => 'Manage rules',
|
||||
'administration_role_mng_recurring' => 'Manage recurring transactions ',
|
||||
'administration_role_mng_webhooks' => 'Manage webhooks',
|
||||
'administration_role_mng_currencies' => 'Manage currencies',
|
||||
'administration_role_view_reports' => 'View reports',
|
||||
'administration_role_full' => 'Full access',
|
||||
|
||||
// profile:
|
||||
'purge_data_title' => 'Очистити дані з Firefly III',
|
||||
|
||||
@@ -1419,6 +1419,28 @@ return [
|
||||
// Financial administrations
|
||||
'administration_index' => 'Financial administration',
|
||||
'administrations_index_menu' => 'Financial administration(s)',
|
||||
'administrations_breadcrumb' => 'Financial administrations',
|
||||
'administrations_page_title' => 'Financial administrations',
|
||||
'administrations_page_sub_title' => 'Overview',
|
||||
'create_administration' => 'Create new administration',
|
||||
'administration_owner' => 'Administration owner: {{email}}',
|
||||
'administration_you' => 'Your role: {{role}}',
|
||||
'other_users_in_admin' => 'Other users in this administration',
|
||||
|
||||
// roles
|
||||
'administration_role_owner' => 'Owner',
|
||||
'administration_role_ro' => 'Read-only',
|
||||
'administration_role_mng_trx' => 'Manage transactions',
|
||||
'administration_role_mng_meta' => 'Manage classification and meta-data',
|
||||
'administration_role_mng_budgets' => 'Manage budgets',
|
||||
'administration_role_mng_piggies' => 'Manage piggy banks',
|
||||
'administration_role_mng_subscriptions' => 'Manage subscriptions',
|
||||
'administration_role_mng_rules' => 'Manage rules',
|
||||
'administration_role_mng_recurring' => 'Manage recurring transactions ',
|
||||
'administration_role_mng_webhooks' => 'Manage webhooks',
|
||||
'administration_role_mng_currencies' => 'Manage currencies',
|
||||
'administration_role_view_reports' => 'View reports',
|
||||
'administration_role_full' => 'Full access',
|
||||
|
||||
// profile:
|
||||
'purge_data_title' => 'Purge data from Firefly III',
|
||||
|
||||
@@ -1420,6 +1420,28 @@ return [
|
||||
// Financial administrations
|
||||
'administration_index' => '财务管理',
|
||||
'administrations_index_menu' => '财务管理',
|
||||
'administrations_breadcrumb' => 'Financial administrations',
|
||||
'administrations_page_title' => 'Financial administrations',
|
||||
'administrations_page_sub_title' => 'Overview',
|
||||
'create_administration' => 'Create new administration',
|
||||
'administration_owner' => 'Administration owner: {{email}}',
|
||||
'administration_you' => 'Your role: {{role}}',
|
||||
'other_users_in_admin' => 'Other users in this administration',
|
||||
|
||||
// roles
|
||||
'administration_role_owner' => 'Owner',
|
||||
'administration_role_ro' => 'Read-only',
|
||||
'administration_role_mng_trx' => 'Manage transactions',
|
||||
'administration_role_mng_meta' => 'Manage classification and meta-data',
|
||||
'administration_role_mng_budgets' => 'Manage budgets',
|
||||
'administration_role_mng_piggies' => 'Manage piggy banks',
|
||||
'administration_role_mng_subscriptions' => 'Manage subscriptions',
|
||||
'administration_role_mng_rules' => 'Manage rules',
|
||||
'administration_role_mng_recurring' => 'Manage recurring transactions ',
|
||||
'administration_role_mng_webhooks' => 'Manage webhooks',
|
||||
'administration_role_mng_currencies' => 'Manage currencies',
|
||||
'administration_role_view_reports' => 'View reports',
|
||||
'administration_role_full' => 'Full access',
|
||||
|
||||
// profile:
|
||||
'purge_data_title' => '从 Frefly III 清除数据',
|
||||
|
||||
@@ -1419,6 +1419,28 @@ return [
|
||||
// Financial administrations
|
||||
'administration_index' => 'Financial administration',
|
||||
'administrations_index_menu' => 'Financial administration(s)',
|
||||
'administrations_breadcrumb' => 'Financial administrations',
|
||||
'administrations_page_title' => 'Financial administrations',
|
||||
'administrations_page_sub_title' => 'Overview',
|
||||
'create_administration' => 'Create new administration',
|
||||
'administration_owner' => 'Administration owner: {{email}}',
|
||||
'administration_you' => 'Your role: {{role}}',
|
||||
'other_users_in_admin' => 'Other users in this administration',
|
||||
|
||||
// roles
|
||||
'administration_role_owner' => 'Owner',
|
||||
'administration_role_ro' => 'Read-only',
|
||||
'administration_role_mng_trx' => 'Manage transactions',
|
||||
'administration_role_mng_meta' => 'Manage classification and meta-data',
|
||||
'administration_role_mng_budgets' => 'Manage budgets',
|
||||
'administration_role_mng_piggies' => 'Manage piggy banks',
|
||||
'administration_role_mng_subscriptions' => 'Manage subscriptions',
|
||||
'administration_role_mng_rules' => 'Manage rules',
|
||||
'administration_role_mng_recurring' => 'Manage recurring transactions ',
|
||||
'administration_role_mng_webhooks' => 'Manage webhooks',
|
||||
'administration_role_mng_currencies' => 'Manage currencies',
|
||||
'administration_role_view_reports' => 'View reports',
|
||||
'administration_role_full' => 'Full access',
|
||||
|
||||
// profile:
|
||||
'purge_data_title' => 'Purge data from Firefly III',
|
||||
|
||||
@@ -21,6 +21,6 @@
|
||||
var runCommandUrl = '{{ route('installer.runCommand') }}';
|
||||
var homeUrl = '{{ route('flush') }}';
|
||||
</script>
|
||||
<script type="text/javascript" src="v1/js/ff/install/index.js" nonce="{{ JS_NONCE }}"></script>
|
||||
<script type="text/javascript" src="v1/js/ff/install/Xindex.js" nonce="{{ JS_NONCE }}"></script>
|
||||
{% endblock %}
|
||||
|
||||
104
resources/views/install/index.blade.php
Normal file
104
resources/views/install/index.blade.php
Normal file
@@ -0,0 +1,104 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<base href="{{ route('index') }}/"/>
|
||||
<meta charset="utf-8">
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
||||
<title>Firefly III - Installation and update</title>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta name="title" content="Firefly III - Installation and update">
|
||||
|
||||
<!-- copy of head.blade.php -->
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<meta name="csrf-token" content="{{ csrf_token() }}">
|
||||
<meta name="robots" content="noindex, nofollow, noarchive, noodp, NoImageIndex, noydir">
|
||||
<meta name="apple-mobile-web-app-capable" content="yes">
|
||||
<meta name="color-scheme" content="light dark">
|
||||
|
||||
<script type="text/javascript" nonce="{{ $JS_NONCE }}">
|
||||
/*!
|
||||
* Color mode toggler for Bootstrap's docs (https://getbootstrap.com/)
|
||||
* Copyright 2011-2023 The Bootstrap Authors
|
||||
* Licensed under the Creative Commons Attribution 3.0 Unported License.
|
||||
*/
|
||||
|
||||
(() => {
|
||||
'use strict'
|
||||
// todo store just happens to store in localStorage but if not, this would break.
|
||||
const getStoredTheme = () => JSON.parse(localStorage.getItem('darkMode'))
|
||||
|
||||
const getPreferredTheme = () => {
|
||||
const storedTheme = getStoredTheme()
|
||||
if (storedTheme) {
|
||||
return storedTheme
|
||||
}
|
||||
|
||||
return window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light'
|
||||
}
|
||||
|
||||
const setTheme = theme => {
|
||||
if (theme === 'browser' && window.matchMedia('(prefers-color-scheme: dark)').matches) {
|
||||
document.documentElement.setAttribute('data-bs-theme', 'dark')
|
||||
window.theme = 'dark';
|
||||
return;
|
||||
}
|
||||
if (theme === 'browser' && window.matchMedia('(prefers-color-scheme: light)').matches) {
|
||||
window.theme = 'light';
|
||||
document.documentElement.setAttribute('data-bs-theme', 'light')
|
||||
return;
|
||||
}
|
||||
document.documentElement.setAttribute('data-bs-theme', theme)
|
||||
window.theme = theme;
|
||||
}
|
||||
|
||||
setTheme(getPreferredTheme())
|
||||
|
||||
window.matchMedia('(prefers-color-scheme: dark)').addEventListener('change', () => {
|
||||
const storedTheme = getStoredTheme()
|
||||
if (storedTheme !== 'light' && storedTheme !== 'dark') {
|
||||
setTheme(getPreferredTheme())
|
||||
}
|
||||
})
|
||||
})()
|
||||
</script>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
@vite(['resources/assets/v2/sass/app.scss'])
|
||||
|
||||
</head>
|
||||
<body class="container bg-body-secondary">
|
||||
<div class="row">
|
||||
<div class="col mt-3">
|
||||
<img src="images/logo-session.png" width="68" height="100" alt="Firefly III Logo" title="Firefly III"/><br>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col">
|
||||
<h1><strong>Firefly</strong> III - <code>Installation and update</code></h1>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-xl-4 col-lg-4 col-md-6 col-sm-12">
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
<p>The upgrade and installation is ongoing. Please track its progress through the box below.</p>
|
||||
<div class="row">
|
||||
<div class="col-lg-12">
|
||||
<div id="status-box" style="border:1px #ddd solid;padding:5px;">
|
||||
<span class="fa fa-spin fa-spinner"></span> Waiting to start...
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@yield('scripts')
|
||||
<script type="text/javascript" nonce="{{ $JS_NONCE }}">
|
||||
var token = '{{ csrf_token() }}';
|
||||
var index = 0;
|
||||
var runCommandUrl = '{{ route('installer.runCommand') }}';
|
||||
var homeUrl = '{{ route('flush') }}';
|
||||
</script>
|
||||
<script type="text/javascript" src="v1/js/ff/install/index.js" nonce="{{ $JS_NONCE }}"></script>
|
||||
</body>
|
||||
</html>
|
||||
97
resources/views/v2/administrations/index.blade.php
Normal file
97
resources/views/v2/administrations/index.blade.php
Normal file
@@ -0,0 +1,97 @@
|
||||
@extends('layout.v2')
|
||||
@section('scripts')
|
||||
@vite(['resources/assets/v2/pages/administrations/index.js'])
|
||||
@endsection
|
||||
@section('content')
|
||||
<div class="app-content">
|
||||
<div class="container-fluid" x-data="index">
|
||||
<x-messages></x-messages>
|
||||
<div class="row mb-3">
|
||||
<div class="col">
|
||||
<p>
|
||||
<a href="{{route('administrations.create')}}"
|
||||
class="btn btn-primary">{{ __('firefly.create_administration') }}</a>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row mb-3">
|
||||
<template x-for="(group, index) in userGroups" :key="index">
|
||||
<div class="col-xl-4 col-lg-4 col-sm-6 col-xs-12">
|
||||
<div class="card">
|
||||
<div class="card-header">
|
||||
<h3 class="card-title">Administration "<span x-text="group.title"></span>"</h3>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<ul>
|
||||
<template x-if="'' !== group.owner">
|
||||
<li x-text="group.owner"></li>
|
||||
</template>
|
||||
<template x-if="'' !== group.you">
|
||||
<li x-text="group.you"></li>
|
||||
</template>
|
||||
</ul>
|
||||
<template x-if="group.memberCountExceptYou > 0">
|
||||
<div>
|
||||
<h5>{{ __('firefly.other_users_in_admin') }}</h5>
|
||||
<ul>
|
||||
<template x-for="(member, jndex) in group.members" :key="jndex">
|
||||
<li>
|
||||
<span x-text="member.email"></span>
|
||||
<ul>
|
||||
<template x-for="(role, kndex) in member.roles" :key="kndex">
|
||||
<li x-text="role"></li>
|
||||
</template>
|
||||
</ul>
|
||||
</li>
|
||||
</template>
|
||||
</ul>
|
||||
</div>
|
||||
</template>
|
||||
TODO Last changes: date<br>
|
||||
TODO features in use (icons)
|
||||
</div>
|
||||
<div class="card-footer">
|
||||
<div class="btn-group">
|
||||
<template x-if="false === group.in_use">
|
||||
<a href="#" class="btn btn-primary">
|
||||
<em class="fa-solid fa-coins"></em> Use
|
||||
</a>
|
||||
</template>
|
||||
<template x-if="true === group.isOwner">
|
||||
<a href="#" class="btn btn-primary">
|
||||
<em class="fa-solid fa-pencil"></em> Edit
|
||||
</a>
|
||||
</template>
|
||||
<template x-if="true === group.isOwner">
|
||||
<a href="#" class="btn btn-primary">
|
||||
<em class="fa-solid fa-users"></em> Access rights
|
||||
</a>
|
||||
</template>
|
||||
<template x-if="true === group.isOwner">
|
||||
<a href="#" class="btn btn-danger text-white">
|
||||
<em class="fa-solid fa-trash"></em> Delete
|
||||
</a>
|
||||
</template>
|
||||
<template x-if="true !== group.isOwner">
|
||||
<a href="#" class="btn btn-warning">
|
||||
<em class="fa-solid fa-person-walking-dashed-line-arrow-right"></em> Leave
|
||||
</a>
|
||||
</template>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
</div>
|
||||
<div class="row mb-3">
|
||||
<div class="col">
|
||||
<p>
|
||||
<a href="{{route('administrations.create')}}"
|
||||
class="btn btn-primary">{{ __('firefly.create_administration') }}</a>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@endsection
|
||||
@@ -37,9 +37,9 @@
|
||||
{{ __('firefly.preferences') }}
|
||||
</a>
|
||||
<div class="dropdown-divider"></div>
|
||||
<a href="#" class="dropdown-item">
|
||||
<a href="{{ route('administrations.index') }}" class="dropdown-item">
|
||||
<em class="fa-solid fa-money-bill-transfer me-2"></em>
|
||||
TODO {{ __('firefly.administrations_index_menu') }}
|
||||
{{ __('firefly.administrations_index_menu') }}
|
||||
</a>
|
||||
</div>
|
||||
</li>
|
||||
|
||||
@@ -1280,3 +1280,11 @@ Breadcrumbs::for(
|
||||
$breadcrumbs->push(trans('firefly.edit_webhook', ['title' => limitStringLength($webhook->title)]), route('webhooks.edit', [$webhook->id]));
|
||||
}
|
||||
);
|
||||
|
||||
Breadcrumbs::for(
|
||||
'administrations.index',
|
||||
static function (Generator $breadcrumbs): void {
|
||||
$breadcrumbs->parent('index');
|
||||
$breadcrumbs->push(trans('firefly.administrations_breadcrumb'), route('administrations.index'));
|
||||
}
|
||||
);
|
||||
|
||||
@@ -1347,3 +1347,22 @@ Route::group(
|
||||
Route::post('configuration', ['uses' => 'ConfigurationController@postIndex', 'as' => 'configuration.index.post']);
|
||||
}
|
||||
);
|
||||
|
||||
// User Group / Administrations Controller.
|
||||
Route::group(
|
||||
['middleware' => 'user-full-auth', 'namespace' => 'FireflyIII\Http\Controllers', 'prefix' => 'administrations', 'as' => 'administrations.'],
|
||||
static function (): void {
|
||||
Route::get('', ['uses' => 'UserGroup\IndexController@index', 'as' => 'index']);
|
||||
Route::get('create', ['uses' => 'UserGroup\CreateController@create', 'as' => 'create']);
|
||||
// Route::post('rescan/{bill}', ['uses' => 'Bill\ShowController@rescan', 'as' => 'rescan']);
|
||||
// Route::get('edit/{bill}', ['uses' => 'Bill\EditController@edit', 'as' => 'edit']);
|
||||
// Route::get('delete/{bill}', ['uses' => 'Bill\DeleteController@delete', 'as' => 'delete']);
|
||||
// Route::get('show/{bill}', ['uses' => 'Bill\ShowController@show', 'as' => 'show']);
|
||||
//
|
||||
// Route::post('store', ['uses' => 'Bill\CreateController@store', 'as' => 'store']);
|
||||
// Route::post('update/{bill}', ['uses' => 'Bill\EditController@update', 'as' => 'update']);
|
||||
// Route::post('destroy/{bill}', ['uses' => 'Bill\DeleteController@destroy', 'as' => 'destroy']);
|
||||
//
|
||||
// Route::post('set-order/{bill}', ['uses' => 'Bill\IndexController@setOrder', 'as' => 'set-order']);
|
||||
}
|
||||
);
|
||||
|
||||
@@ -58,9 +58,9 @@ final class NavigationEndOfPeriodTest extends TestCase
|
||||
'month' => ['frequency' => 'month', 'from' => Carbon::now(), 'expected' => Carbon::now()->addMonth()->subDay()->endOfDay()],
|
||||
'1M' => ['frequency' => '1M', 'from' => Carbon::now(), 'expected' => Carbon::now()->addMonth()->subDay()->endOfDay()],
|
||||
'monthly' => ['frequency' => 'monthly', 'from' => Carbon::now(), 'expected' => Carbon::now()->addMonth()->subDay()->endOfDay()],
|
||||
'3M' => ['frequency' => '3M', 'from' => Carbon::now(), 'expected' => Carbon::now()->addQuarterNoOverflow()->subDay()->endOfDay()],
|
||||
'quarter' => ['frequency' => 'quarter', 'from' => Carbon::now(), 'expected' => Carbon::now()->addQuarterNoOverflow()->subDay()->endOfDay()],
|
||||
'quarterly' => ['frequency' => 'quarterly', 'from' => Carbon::now(), 'expected' => Carbon::now()->addQuarterNoOverflow()->subDay()->endOfDay()],
|
||||
'3M' => ['frequency' => '3M', 'from' => Carbon::now(), 'expected' => Carbon::now()->addQuarterNoOverflow()->endOfDay()],
|
||||
'quarter' => ['frequency' => 'quarter', 'from' => Carbon::now(), 'expected' => Carbon::now()->addQuarterNoOverflow()->endOfDay()],
|
||||
'quarterly' => ['frequency' => 'quarterly', 'from' => Carbon::now(), 'expected' => Carbon::now()->addQuarterNoOverflow()->endOfDay()],
|
||||
'year' => ['frequency' => 'year', 'from' => Carbon::now(), 'expected' => Carbon::now()->addYearNoOverflow()->subDay()->endOfDay()],
|
||||
'yearly' => ['frequency' => 'yearly', 'from' => Carbon::now(), 'expected' => Carbon::now()->addYearNoOverflow()->subDay()->endOfDay()],
|
||||
'1Y' => ['frequency' => '1Y', 'from' => Carbon::now(), 'expected' => Carbon::now()->addYearNoOverflow()->subDay()->endOfDay()],
|
||||
|
||||
@@ -51,6 +51,9 @@ export default defineConfig({
|
||||
// accounts
|
||||
'resources/assets/v2/pages/accounts/index.js',
|
||||
|
||||
// administrations
|
||||
'resources/assets/v2/pages/administrations/index.js',
|
||||
|
||||
// transactions
|
||||
'resources/assets/v2/pages/transactions/create.js',
|
||||
'resources/assets/v2/pages/transactions/edit.js',
|
||||
|
||||
Reference in New Issue
Block a user