mirror of
https://github.com/firefly-iii/firefly-iii.git
synced 2025-12-26 21:21:22 +00:00
Compare commits
70 Commits
develop-20
...
develop-20
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
0c824e21c8 | ||
|
|
fab1c68569 | ||
|
|
c1534657f2 | ||
|
|
39841de680 | ||
|
|
5ec54de29e | ||
|
|
397e37f344 | ||
|
|
b6f84c2b99 | ||
|
|
843f86fc66 | ||
|
|
0e8e364074 | ||
|
|
bbccbef578 | ||
|
|
ee11a8e3a0 | ||
|
|
e8618047bd | ||
|
|
f104b76f73 | ||
|
|
cb701d8506 | ||
|
|
70a334c56e | ||
|
|
e6b2db1e29 | ||
|
|
e8dffa0052 | ||
|
|
c4f0512f39 | ||
|
|
3268019d0c | ||
|
|
a0ef6a1fc8 | ||
|
|
99d0098b20 | ||
|
|
a7a54c042c | ||
|
|
c44e48a793 | ||
|
|
53b501ca73 | ||
|
|
322f70bcca | ||
|
|
35559c077b | ||
|
|
590ffe7c76 | ||
|
|
8a2d8f148e | ||
|
|
4f0e15e07d | ||
|
|
7463861e0c | ||
|
|
1e70fa28be | ||
|
|
26c6ca470b | ||
|
|
5e54034e0e | ||
|
|
25873ef734 | ||
|
|
1092b04b22 | ||
|
|
01ce74dd72 | ||
|
|
41430d8386 | ||
|
|
01eb19169c | ||
|
|
cfaa7d7c68 | ||
|
|
14d3312a10 | ||
|
|
87be478dd8 | ||
|
|
0b6877a20e | ||
|
|
7186f0ef60 | ||
|
|
538933691e | ||
|
|
46c49ddbd8 | ||
|
|
bcfb134b6e | ||
|
|
57981f1cf9 | ||
|
|
0310186fb7 | ||
|
|
4dcb38290e | ||
|
|
2f5c37048b | ||
|
|
370c8b16ae | ||
|
|
af0555592a | ||
|
|
9c07ddaed6 | ||
|
|
bb7355a566 | ||
|
|
1d48347f8c | ||
|
|
060b76ca9c | ||
|
|
2b2b9b6f7a | ||
|
|
f3dd05a0c0 | ||
|
|
47a91aa273 | ||
|
|
41bc236603 | ||
|
|
65349451ea | ||
|
|
e77b6a55a4 | ||
|
|
2379bcff11 | ||
|
|
7133156fa1 | ||
|
|
a59176689d | ||
|
|
bc2d8f3dfb | ||
|
|
ddf89a9d5a | ||
|
|
7daaba17f6 | ||
|
|
9cb5b1384f | ||
|
|
d892257e8b |
40
.ci/php-cs-fixer/composer.lock
generated
40
.ci/php-cs-fixer/composer.lock
generated
@@ -8,16 +8,16 @@
|
||||
"packages": [
|
||||
{
|
||||
"name": "composer/pcre",
|
||||
"version": "3.1.2",
|
||||
"version": "3.1.3",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/composer/pcre.git",
|
||||
"reference": "4775f35b2d70865807c89d32c8e7385b86eb0ace"
|
||||
"reference": "5b16e25a5355f1f3afdfc2f954a0a80aec4826a8"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/composer/pcre/zipball/4775f35b2d70865807c89d32c8e7385b86eb0ace",
|
||||
"reference": "4775f35b2d70865807c89d32c8e7385b86eb0ace",
|
||||
"url": "https://api.github.com/repos/composer/pcre/zipball/5b16e25a5355f1f3afdfc2f954a0a80aec4826a8",
|
||||
"reference": "5b16e25a5355f1f3afdfc2f954a0a80aec4826a8",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -59,7 +59,7 @@
|
||||
],
|
||||
"support": {
|
||||
"issues": "https://github.com/composer/pcre/issues",
|
||||
"source": "https://github.com/composer/pcre/tree/3.1.2"
|
||||
"source": "https://github.com/composer/pcre/tree/3.1.3"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
@@ -75,7 +75,7 @@
|
||||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2024-03-07T15:38:35+00:00"
|
||||
"time": "2024-03-19T10:26:25+00:00"
|
||||
},
|
||||
{
|
||||
"name": "composer/semver",
|
||||
@@ -160,16 +160,16 @@
|
||||
},
|
||||
{
|
||||
"name": "composer/xdebug-handler",
|
||||
"version": "3.0.3",
|
||||
"version": "3.0.4",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/composer/xdebug-handler.git",
|
||||
"reference": "ced299686f41dce890debac69273b47ffe98a40c"
|
||||
"reference": "4f988f8fdf580d53bdb2d1278fe93d1ed5462255"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/composer/xdebug-handler/zipball/ced299686f41dce890debac69273b47ffe98a40c",
|
||||
"reference": "ced299686f41dce890debac69273b47ffe98a40c",
|
||||
"url": "https://api.github.com/repos/composer/xdebug-handler/zipball/4f988f8fdf580d53bdb2d1278fe93d1ed5462255",
|
||||
"reference": "4f988f8fdf580d53bdb2d1278fe93d1ed5462255",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -180,7 +180,7 @@
|
||||
"require-dev": {
|
||||
"phpstan/phpstan": "^1.0",
|
||||
"phpstan/phpstan-strict-rules": "^1.1",
|
||||
"symfony/phpunit-bridge": "^6.0"
|
||||
"phpunit/phpunit": "^8.5 || ^9.6 || ^10.5"
|
||||
},
|
||||
"type": "library",
|
||||
"autoload": {
|
||||
@@ -204,9 +204,9 @@
|
||||
"performance"
|
||||
],
|
||||
"support": {
|
||||
"irc": "irc://irc.freenode.org/composer",
|
||||
"irc": "ircs://irc.libera.chat:6697/composer",
|
||||
"issues": "https://github.com/composer/xdebug-handler/issues",
|
||||
"source": "https://github.com/composer/xdebug-handler/tree/3.0.3"
|
||||
"source": "https://github.com/composer/xdebug-handler/tree/3.0.4"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
@@ -222,20 +222,20 @@
|
||||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2022-02-25T21:32:43+00:00"
|
||||
"time": "2024-03-26T18:29:49+00:00"
|
||||
},
|
||||
{
|
||||
"name": "friendsofphp/php-cs-fixer",
|
||||
"version": "v3.52.0",
|
||||
"version": "v3.52.1",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/PHP-CS-Fixer/PHP-CS-Fixer.git",
|
||||
"reference": "a3564bd66f4bce9bc871ef18b690e2dc67a7f969"
|
||||
"reference": "6e77207f0d851862ceeb6da63e6e22c01b1587bc"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/PHP-CS-Fixer/PHP-CS-Fixer/zipball/a3564bd66f4bce9bc871ef18b690e2dc67a7f969",
|
||||
"reference": "a3564bd66f4bce9bc871ef18b690e2dc67a7f969",
|
||||
"url": "https://api.github.com/repos/PHP-CS-Fixer/PHP-CS-Fixer/zipball/6e77207f0d851862ceeb6da63e6e22c01b1587bc",
|
||||
"reference": "6e77207f0d851862ceeb6da63e6e22c01b1587bc",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -306,7 +306,7 @@
|
||||
],
|
||||
"support": {
|
||||
"issues": "https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues",
|
||||
"source": "https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/tree/v3.52.0"
|
||||
"source": "https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/tree/v3.52.1"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
@@ -314,7 +314,7 @@
|
||||
"type": "github"
|
||||
}
|
||||
],
|
||||
"time": "2024-03-18T18:40:11+00:00"
|
||||
"time": "2024-03-19T21:02:43+00:00"
|
||||
},
|
||||
{
|
||||
"name": "psr/container",
|
||||
|
||||
@@ -111,7 +111,10 @@ PGSQL_SSL_CERT=null
|
||||
PGSQL_SSL_KEY=null
|
||||
PGSQL_SSL_CRL_FILE=null
|
||||
|
||||
# more PostgreSQL settings
|
||||
# For postgresql 15 and up, setting this to public will no longer work as expected, becasuse the
|
||||
# 'public' schema is without grants. This can be worked around by having a super user grant those
|
||||
# necessary privileges, but in security conscious setups that's not viable.
|
||||
# You will need to set this to the schema you want to use.
|
||||
PGSQL_SCHEMA=public
|
||||
|
||||
# If you're looking for performance improvements, you could install memcached or redis
|
||||
|
||||
2
.github/workflows/cleanup.yml
vendored
2
.github/workflows/cleanup.yml
vendored
@@ -7,7 +7,7 @@ permissions:
|
||||
|
||||
on:
|
||||
schedule:
|
||||
- cron: '0 0 * * *'
|
||||
- cron: '0 1 * * *'
|
||||
workflow_dispatch:
|
||||
jobs:
|
||||
prune:
|
||||
|
||||
2
.github/workflows/lock.yml
vendored
2
.github/workflows/lock.yml
vendored
@@ -3,7 +3,7 @@ name: 'Issues - Lock old issues'
|
||||
on:
|
||||
workflow_dispatch:
|
||||
schedule:
|
||||
- cron: '0 0 * * *'
|
||||
- cron: '0 2 * * *'
|
||||
|
||||
concurrency:
|
||||
group: lock-threads
|
||||
|
||||
116
.github/workflows/release.yml
vendored
116
.github/workflows/release.yml
vendored
@@ -8,7 +8,7 @@ on:
|
||||
required: true
|
||||
default: 'develop'
|
||||
schedule:
|
||||
- cron: '15 0 * * MON,THU'
|
||||
- cron: '0 3 * * MON,THU'
|
||||
|
||||
jobs:
|
||||
build:
|
||||
@@ -51,7 +51,7 @@ jobs:
|
||||
CROWDIN_TOKEN: ${{ secrets.CROWDIN_TOKEN }}
|
||||
- name: Cleanup translations
|
||||
id: cleanup-transactions
|
||||
uses: JC5/firefly-iii-dev@v34
|
||||
uses: JC5/firefly-iii-dev@v36
|
||||
with:
|
||||
action: 'ff3:crowdin-warning'
|
||||
output: ''
|
||||
@@ -60,7 +60,7 @@ jobs:
|
||||
GH_TOKEN: ''
|
||||
- name: Cleanup changelog
|
||||
id: cleanup-changelog
|
||||
uses: JC5/firefly-iii-dev@v34
|
||||
uses: JC5/firefly-iii-dev@v36
|
||||
with:
|
||||
action: 'ff3:changelog'
|
||||
output: ''
|
||||
@@ -69,7 +69,7 @@ jobs:
|
||||
GH_TOKEN: ${{ secrets.CHANGELOG_TOKEN }}
|
||||
- name: Extract changelog
|
||||
id: extract-changelog
|
||||
uses: JC5/firefly-iii-dev@v34
|
||||
uses: JC5/firefly-iii-dev@v36
|
||||
with:
|
||||
action: 'ff3:extract-changelog'
|
||||
output: 'output'
|
||||
@@ -78,7 +78,7 @@ jobs:
|
||||
GH_TOKEN: ""
|
||||
- name: Replace version
|
||||
id: replace-version
|
||||
uses: JC5/firefly-iii-dev@v34
|
||||
uses: JC5/firefly-iii-dev@v36
|
||||
with:
|
||||
action: 'ff3:version'
|
||||
output: ''
|
||||
@@ -88,7 +88,7 @@ jobs:
|
||||
FF_III_VERSION: ${{ github.event_name == 'schedule' && 'develop' || github.event.inputs.version }}
|
||||
- name: Generate JSON v1
|
||||
id: json-v1
|
||||
uses: JC5/firefly-iii-dev@v34
|
||||
uses: JC5/firefly-iii-dev@v36
|
||||
with:
|
||||
action: 'ff3:json-translations v1'
|
||||
output: ''
|
||||
@@ -97,7 +97,7 @@ jobs:
|
||||
GH_TOKEN: ''
|
||||
- name: Generate JSON v2
|
||||
id: json-v2
|
||||
uses: JC5/firefly-iii-dev@v34
|
||||
uses: JC5/firefly-iii-dev@v36
|
||||
with:
|
||||
action: 'ff3:json-translations v2'
|
||||
output: ''
|
||||
@@ -106,7 +106,7 @@ jobs:
|
||||
GH_TOKEN: ''
|
||||
- name: Code cleanup
|
||||
id: code-cleanup
|
||||
uses: JC5/firefly-iii-dev@v34
|
||||
uses: JC5/firefly-iii-dev@v36
|
||||
with:
|
||||
action: 'ff3:code'
|
||||
output: ''
|
||||
@@ -115,12 +115,12 @@ jobs:
|
||||
GH_TOKEN: ''
|
||||
- name: Build new JS
|
||||
run: |
|
||||
pwd
|
||||
npm install
|
||||
npm update
|
||||
npm run build
|
||||
- name: Build old JS
|
||||
id: old-js
|
||||
uses: JC5/firefly-iii-dev@v34
|
||||
uses: JC5/firefly-iii-dev@v36
|
||||
with:
|
||||
action: 'ff3:old-js'
|
||||
output: ''
|
||||
@@ -141,10 +141,39 @@ jobs:
|
||||
git config user.email 41898282+github-actions[bot]@users.noreply.github.com
|
||||
git config advice.addIgnoredFile false
|
||||
|
||||
# update composer (again)
|
||||
composer validate --strict
|
||||
composer update --no-dev --no-scripts --no-plugins
|
||||
composer dump-autoload
|
||||
|
||||
releaseName=$version
|
||||
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
|
||||
@@ -152,19 +181,64 @@ jobs:
|
||||
git commit -m "Auto commit for release '$version' on $(date +'%Y-%m-%d')" || true
|
||||
git push
|
||||
|
||||
# zip and tar everything
|
||||
zip -rq $zipName . -x "*.git*" "*.ci*" "*.github*" "*node_modules*" "*output.txt*"
|
||||
touch $tarName
|
||||
tar --exclude=$tarName --exclude='./.git' --exclude='./.ci' --exclude='./.github' --exclude='./node_modules' --exclude='./output.txt' -czf $tarName .
|
||||
|
||||
# add sha256 sum
|
||||
sha256sum -b $zipName > $zipName.sha256
|
||||
sha256sum -b $tarName > $tarName.sha256
|
||||
|
||||
if [[ "develop" == "$version" ]]; then
|
||||
echo "Create nightly release."
|
||||
git tag -a $version-$(date +'%Y%m%d') -m "Nightly development release '$version' on $(date +'%Y-%m-%d')"
|
||||
git push origin $version-$(date +'%Y%m%d')
|
||||
gh release create $version-$(date +'%Y%m%d') -p --verify-tag \
|
||||
-t "Development release for $(date +'%Y-%m-%d')" \
|
||||
-n "Bi-weekly development release of Firefly III with the latest fixes, translations and features. This release was created on **$(date +'%Y-%m-%d')** and may contain bugs. Use at your own risk. Docker users can find this release under the \`develop\` tag."
|
||||
else
|
||||
echo "Create default release."
|
||||
git tag -a $version -m "Here be changelog"
|
||||
git push origin $version
|
||||
gh release create $version -F output.txt -t "$version" --verify-tag
|
||||
# add text to output.txt (instructions)
|
||||
rm output.txt
|
||||
echo "Bi-weekly development release of Firefly III with the latest fixes, translations and features. Docker users can find this release under the \`develop\` tag." >> output.txt
|
||||
echo "" >> output.txt
|
||||
echo "This release was created on **$(date +'%Y-%m-%d')** and may contain unexpected bugs. Data loss is rare but is not impossible." >> output.txt
|
||||
echo "" >> output.txt
|
||||
echo "* Please read the installation instructions for [Docker](https://docs.firefly-iii.org/how-to/firefly-iii/installation/docker/), [Portainer](https://docs.firefly-iii.org/how-to/firefly-iii/installation/portainer/), [Kubernetes](https://docs.firefly-iii.org/how-to/firefly-iii/installation/kubernetes/) or [self-managed servers](https://docs.firefly-iii.org/how-to/firefly-iii/installation/self-managed/)" >> output.txt
|
||||
echo "* Or read the upgrade instructions for [Docker](https://docs.firefly-iii.org/how-to/firefly-iii/upgrade/docker/), [Kubernetes](https://docs.firefly-iii.org/how-to/firefly-iii/upgrade/kubernetes/) or [self-managed servers](https://docs.firefly-iii.org/how-to/firefly-iii/upgrade/self-managed/)" >> output.txt
|
||||
echo "" >> output.txt
|
||||
echo ":warning: Please be careful with this pre-release, as is may not work as expected." >> output.txt
|
||||
|
||||
# create the release:
|
||||
echo "Create nightly release."
|
||||
git tag -a $releaseName -m "Nightly development release '$version' on $(date +'%Y-%m-%d')"
|
||||
git push origin $releaseName
|
||||
gh release create $releaseName -p --verify-tag \
|
||||
-t "Development release for $(date +'%Y-%m-%d')" \
|
||||
-F output.txt
|
||||
|
||||
# add zip file to release.
|
||||
gh release upload $releaseName $zipName
|
||||
gh release upload $releaseName $tarName
|
||||
|
||||
# add sha256 sum to release
|
||||
gh release upload $releaseName $zipName.sha256
|
||||
gh release upload $releaseName $tarName.sha256
|
||||
|
||||
# rm output.txt again
|
||||
rm output.txt
|
||||
else
|
||||
# add text to output.txt (more instructions)
|
||||
echo '' >> output.txt
|
||||
echo '### Instructions' >> output.txt
|
||||
echo '' >> output.txt
|
||||
echo "* Installation instructions for [Docker](https://docs.firefly-iii.org/how-to/firefly-iii/installation/docker/), [Portainer](https://docs.firefly-iii.org/how-to/firefly-iii/installation/portainer/), [Kubernetes](https://docs.firefly-iii.org/how-to/firefly-iii/installation/kubernetes/) or [self-managed servers](https://docs.firefly-iii.org/how-to/firefly-iii/installation/self-managed/)" >> output.txt
|
||||
echo "* Or read the upgrade instructions for [Docker](https://docs.firefly-iii.org/how-to/firefly-iii/upgrade/docker/), [Kubernetes](https://docs.firefly-iii.org/how-to/firefly-iii/upgrade/kubernetes/) or [self-managed servers](https://docs.firefly-iii.org/how-to/firefly-iii/upgrade/self-managed/)" >> output.txt
|
||||
|
||||
echo "Create default release."
|
||||
git tag -a $releaseName -m "Here be changelog"
|
||||
git push origin $releaseName
|
||||
gh release create $releaseName -F output.txt -t "$releaseName" --verify-tag
|
||||
# add zip file to release.
|
||||
gh release upload $releaseName $zipName
|
||||
# add sha256 sum to release
|
||||
gh release upload $releaseName $zipName.sha256
|
||||
rm output.txt
|
||||
rm $zipName
|
||||
rm $zipName.sha256
|
||||
git checkout develop
|
||||
git merge main
|
||||
git push
|
||||
|
||||
10
.github/workflows/stale.yml
vendored
10
.github/workflows/stale.yml
vendored
@@ -1,7 +1,7 @@
|
||||
name: "Issues - Mark and close stale issues"
|
||||
on:
|
||||
schedule:
|
||||
- cron: "30 1 * * *"
|
||||
- cron: "0 4 * * *"
|
||||
workflow_dispatch:
|
||||
|
||||
permissions:
|
||||
@@ -18,16 +18,16 @@ jobs:
|
||||
with:
|
||||
repo-token: ${{ secrets.GITHUB_TOKEN }}
|
||||
stale-issue-message: >
|
||||
Hi there!
|
||||
|
||||
Hi there!
|
||||
|
||||
This is an automatic reply. `Share and enjoy`
|
||||
|
||||
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs.
|
||||
|
||||
Thank you for your contributions.
|
||||
stale-pr-message: >
|
||||
Hi there!
|
||||
|
||||
Hi there!
|
||||
|
||||
This is an automatic reply. `Share and enjoy`
|
||||
|
||||
This PR has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs.
|
||||
|
||||
2
.gitignore
vendored
2
.gitignore
vendored
@@ -9,4 +9,4 @@ yarn-error.log
|
||||
coverage.xml
|
||||
|
||||
# ignore generated files.
|
||||
#public/build
|
||||
public/build
|
||||
|
||||
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)
|
||||
;
|
||||
}
|
||||
}
|
||||
65
app/Console/Commands/System/LaravelPassportKeys.php
Normal file
65
app/Console/Commands/System/LaravelPassportKeys.php
Normal file
@@ -0,0 +1,65 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
/*
|
||||
* LaravelPassportKeys.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/.
|
||||
*/
|
||||
|
||||
namespace FireflyIII\Console\Commands\System;
|
||||
|
||||
use FireflyIII\Console\Commands\ShowsFriendlyMessages;
|
||||
use Illuminate\Console\Command;
|
||||
use Illuminate\Support\Facades\Artisan;
|
||||
use Symfony\Component\Console\Command\Command as CommandAlias;
|
||||
|
||||
class LaravelPassportKeys extends Command
|
||||
{
|
||||
use ShowsFriendlyMessages;
|
||||
|
||||
/**
|
||||
* The name and signature of the console command.
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
protected $signature = 'firefly-iii:laravel-passport-keys';
|
||||
|
||||
/**
|
||||
* The console command description.
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
protected $description = 'Calls the Laravel "passport:keys" but doesn\'t exit 1.';
|
||||
|
||||
/**
|
||||
* Execute the console command.
|
||||
*/
|
||||
public function handle()
|
||||
{
|
||||
Artisan::call('passport:keys --no-interaction', []);
|
||||
$result = Artisan::output();
|
||||
if (str_contains($result, 'Encryption keys already exist')) {
|
||||
$this->friendlyInfo('Encryption keys exist already.');
|
||||
|
||||
return CommandAlias::SUCCESS;
|
||||
}
|
||||
$this->friendlyPositive('Encryption keys have been created, nice!');
|
||||
|
||||
return CommandAlias::SUCCESS;
|
||||
}
|
||||
}
|
||||
@@ -1,7 +1,7 @@
|
||||
<?php
|
||||
/**
|
||||
/*
|
||||
* ApplyRules.php
|
||||
* Copyright (c) 2020 james@firefly-iii.org
|
||||
* Copyright (c) 2024 james@firefly-iii.org.
|
||||
*
|
||||
* This file is part of Firefly III (https://github.com/firefly-iii).
|
||||
*
|
||||
@@ -16,7 +16,7 @@
|
||||
* 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/>.
|
||||
* along with this program. If not, see https://www.gnu.org/licenses/.
|
||||
*/
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
/*
|
||||
* Cron.php
|
||||
* Copyright (c) 2020 james@firefly-iii.org
|
||||
* Copyright (c) 2024 james@firefly-iii.org.
|
||||
*
|
||||
* This file is part of Firefly III (https://github.com/firefly-iii).
|
||||
*
|
||||
@@ -17,7 +17,7 @@
|
||||
* 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/>.
|
||||
* along with this program. If not, see https://www.gnu.org/licenses/.
|
||||
*/
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -89,7 +89,7 @@ class HomeController extends Controller
|
||||
$label = $request->get('label');
|
||||
$isCustomRange = false;
|
||||
|
||||
app('log')->debug('Received dateRange', ['start' => $stringStart, 'end' => $stringEnd, 'label' => $request->get('label')]);
|
||||
app('log')->debug('dateRange: Received dateRange', ['start' => $stringStart, 'end' => $stringEnd, 'label' => $request->get('label')]);
|
||||
// check if the label is "everything" or "Custom range" which will betray
|
||||
// a possible problem with the budgets.
|
||||
if ($label === (string)trans('firefly.everything') || $label === (string)trans('firefly.customRange')) {
|
||||
@@ -99,7 +99,7 @@ class HomeController extends Controller
|
||||
|
||||
$diff = $start->diffInDays($end, true) + 1;
|
||||
|
||||
if ($diff > 50) {
|
||||
if ($diff > 366) {
|
||||
$request->session()->flash('warning', (string)trans('firefly.warning_much_data', ['days' => (int)$diff]));
|
||||
}
|
||||
|
||||
|
||||
@@ -130,7 +130,7 @@ class BoxController extends Controller
|
||||
$boxTitle = (string)trans('firefly.left_to_spend');
|
||||
$activeDaysLeft = $this->activeDaysLeft($start, $end); // see method description.
|
||||
$display = 1; // not overspent
|
||||
$leftPerDayAmount = bcdiv($leftToSpendAmount, (string)$activeDaysLeft);
|
||||
$leftPerDayAmount = 0 === (int) $activeDaysLeft ? $leftToSpendAmount : bcdiv($leftToSpendAmount, (string)$activeDaysLeft);
|
||||
app('log')->debug(sprintf('Left to spend per day is %s', $leftPerDayAmount));
|
||||
}
|
||||
}
|
||||
|
||||
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'));
|
||||
}
|
||||
}
|
||||
@@ -25,10 +25,9 @@ namespace FireflyIII\Providers;
|
||||
|
||||
use Illuminate\Support\Facades\Blade;
|
||||
use Illuminate\Support\Facades\Response;
|
||||
use Illuminate\Support\Facades\Route;
|
||||
use Illuminate\Support\Facades\Schema;
|
||||
use Illuminate\Support\ServiceProvider;
|
||||
use Laravel\Passport\Passport;
|
||||
use Laravel\Sanctum\Sanctum;
|
||||
|
||||
/**
|
||||
* Class AppServiceProvider
|
||||
@@ -65,9 +64,14 @@ class AppServiceProvider extends ServiceProvider
|
||||
|
||||
return '';
|
||||
});
|
||||
Blade::if('partialroute', function (string $route) {
|
||||
$name = \Route::getCurrentRoute()->getName() ?? '';
|
||||
if (str_contains($name, $route)) {
|
||||
Blade::if('partialroute', function (string $route, string $firstParam = '') {
|
||||
$name = Route::getCurrentRoute()->getName() ?? '';
|
||||
if ('' === $firstParam && str_contains($name, $route)) {
|
||||
return true;
|
||||
}
|
||||
$params = Route::getCurrentRoute()->parameters() ?? [];
|
||||
$objectType = $params['objectType'] ?? '';
|
||||
if ($objectType === $firstParam && str_contains($name, $route)) {
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
@@ -240,15 +240,19 @@ class AccountRepository implements AccountRepositoryInterface
|
||||
|
||||
public function getAccountsByType(array $types, ?array $sort = []): Collection
|
||||
{
|
||||
$sortable = ['name', 'active']; // TODO yes this is a duplicate array.
|
||||
$res = array_intersect([AccountType::ASSET, AccountType::MORTGAGE, AccountType::LOAN, AccountType::DEBT], $types);
|
||||
$query = $this->userGroup->accounts();
|
||||
$sortable = ['name', 'active']; // TODO yes this is a duplicate array.
|
||||
$res = array_intersect([AccountType::ASSET, AccountType::MORTGAGE, AccountType::LOAN, AccountType::DEBT], $types);
|
||||
$query = $this->userGroup->accounts();
|
||||
if (0 !== count($types)) {
|
||||
$query->accountTypeIn($types);
|
||||
}
|
||||
|
||||
// add sort parameters. At this point they're filtered to allowed fields to sort by:
|
||||
$hasActiveColumn = array_key_exists('active', $sort);
|
||||
if (count($sort) > 0) {
|
||||
if (false === $hasActiveColumn) {
|
||||
$query->orderBy('accounts.active', 'DESC');
|
||||
}
|
||||
foreach ($sort as $column => $direction) {
|
||||
if (in_array($column, $sortable, true)) {
|
||||
$query->orderBy(sprintf('accounts.%s', $column), $direction);
|
||||
@@ -258,9 +262,9 @@ class AccountRepository implements AccountRepositoryInterface
|
||||
|
||||
if (0 === count($sort)) {
|
||||
if (0 !== count($res)) {
|
||||
$query->orderBy('accounts.order', 'ASC');
|
||||
$query->orderBy('accounts.active', 'DESC');
|
||||
}
|
||||
$query->orderBy('accounts.active', 'DESC');
|
||||
$query->orderBy('accounts.order', 'ASC');
|
||||
$query->orderBy('accounts.name', 'ASC');
|
||||
}
|
||||
|
||||
|
||||
@@ -34,6 +34,10 @@ class EitherConfigKey
|
||||
{
|
||||
public static array $static
|
||||
= [
|
||||
// currency conversion
|
||||
'cer.enabled',
|
||||
|
||||
// firefly iii settings
|
||||
'firefly.version',
|
||||
'firefly.api_version',
|
||||
'firefly.default_location',
|
||||
|
||||
@@ -25,6 +25,7 @@ namespace FireflyIII\Support\Http\Controllers;
|
||||
|
||||
use Carbon\Carbon;
|
||||
use FireflyIII\Exceptions\FireflyException;
|
||||
use Illuminate\Support\Facades\Log;
|
||||
|
||||
/**
|
||||
* Trait GetConfigurationData
|
||||
@@ -82,6 +83,8 @@ trait GetConfigurationData
|
||||
{
|
||||
$viewRange = app('navigation')->getViewRange(false);
|
||||
|
||||
Log::debug(sprintf('dateRange: the view range is "%s"', $viewRange));
|
||||
|
||||
/** @var Carbon $start */
|
||||
$start = session('start');
|
||||
|
||||
@@ -97,6 +100,7 @@ trait GetConfigurationData
|
||||
// first range is the current range:
|
||||
$title => [$start, $end],
|
||||
];
|
||||
Log::debug(sprintf('dateRange: the date range in the session is"%s" - "%s"', $start->format('Y-m-d'), $end->format('Y-m-d')));
|
||||
|
||||
// when current range is a custom range, add the current period as the next range.
|
||||
if ($isCustom) {
|
||||
|
||||
@@ -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) {
|
||||
|
||||
@@ -31,6 +31,6 @@ class UrlValidator
|
||||
{
|
||||
public static function isValidWebhookURL(string $url): bool
|
||||
{
|
||||
return str_starts_with($url, 'https://hooks.slack.com/services/') || str_starts_with($url, 'https://discord.com/api/webhooks/');
|
||||
return str_starts_with($url, 'https://hooks.slack.com/services/') || str_starts_with($url, 'https://discord.com/api/webhooks/') || str_ends_with($url, '/slack');
|
||||
}
|
||||
}
|
||||
|
||||
@@ -177,7 +177,7 @@ class OperatorQuerySearch implements SearchInterface
|
||||
default:
|
||||
app('log')->error(sprintf('Cannot handle node %s', $class));
|
||||
|
||||
throw new FireflyException(sprintf('Firefly III search cant handle "%s"-nodes', $class));
|
||||
throw new FireflyException(sprintf('Firefly III search can\'t handle "%s"-nodes', $class));
|
||||
|
||||
case Subquery::class:
|
||||
// loop all notes in subquery:
|
||||
|
||||
@@ -88,7 +88,7 @@ class OAuthKeys
|
||||
public static function generateKeys(): void
|
||||
{
|
||||
\Artisan::registerCommand(new KeysCommand());
|
||||
\Artisan::call('passport:keys');
|
||||
\Artisan::call('firefly-iii:laravel-passport-keys');
|
||||
}
|
||||
|
||||
public static function storeKeysInDB(): void
|
||||
|
||||
@@ -110,7 +110,10 @@ class BillTransformer extends AbstractTransformer
|
||||
$nem = $nemDate->toAtomString();
|
||||
|
||||
// nullify again when it's outside the current view range.
|
||||
if ($nemDate->lt($this->parameters->get('start')) || $nemDate->gt($this->parameters->get('end'))) {
|
||||
if (
|
||||
(null !== $this->parameters->get('start') && $nemDate->lt($this->parameters->get('start')))
|
||||
|| (null !== $this->parameters->get('end') && $nemDate->gt($this->parameters->get('end')))
|
||||
) {
|
||||
$nem = null;
|
||||
$nemDate = null;
|
||||
$firstPayDate = null;
|
||||
|
||||
@@ -137,6 +137,18 @@ class AccountTransformer extends AbstractTransformer
|
||||
return $rightBalance <=> $leftBalance;
|
||||
});
|
||||
}
|
||||
if ('last_activity' === $column) {
|
||||
$dates = $this->lastActivity;
|
||||
$objects = $objects->sort(function (Account $left, Account $right) use ($dates, $direction) {
|
||||
$leftDate = $dates[$left->id] ?? Carbon::create(1900, 1, 1, 0, 0, 0);
|
||||
$rightDate = $dates[$right->id] ?? Carbon::create(1900, 1, 1, 0, 0, 0);
|
||||
if ('asc' === $direction) {
|
||||
return $leftDate->gt($rightDate) ? 1 : -1;
|
||||
}
|
||||
|
||||
return $rightDate->gt($leftDate) ? 1 : -1;
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -168,7 +180,7 @@ class AccountTransformer extends AbstractTransformer
|
||||
|
||||
// no currency? use default
|
||||
$currency = $this->default;
|
||||
if (array_key_exists($id, $this->accountMeta) && 0 !== (int)$this->accountMeta[$id]['currency_id']) {
|
||||
if (array_key_exists($id, $this->accountMeta) && 0 !== (int)($this->accountMeta[$id]['currency_id'] ?? 0)) {
|
||||
$currency = $this->currencies[(int)$this->accountMeta[$id]['currency_id']];
|
||||
}
|
||||
// amounts and calculation.
|
||||
|
||||
@@ -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.
|
||||
}
|
||||
|
||||
42
changelog.md
42
changelog.md
@@ -3,14 +3,50 @@
|
||||
All notable changes to this project will be documented in this file.
|
||||
This project adheres to [Semantic Versioning](http://semver.org/).
|
||||
|
||||
## 6.1.11 - 2024-03-25
|
||||
## 6.1.12 - 2024-03-21
|
||||
|
||||
### Fixed
|
||||
|
||||
- Exclude debug files from release zip file
|
||||
- Drop a duplicate index
|
||||
- Replace broken Laravel Passport commands
|
||||
- [Issue 8692](https://github.com/firefly-iii/firefly-iii/issues/8692) (passport:install step issue when upgrading to 6.1.11) reported by @captainark
|
||||
- [Discussion 8694](https://github.com/orgs/firefly-iii/discussions/8694) (Getting error on accessing admin panel of Firefly 6.1.11) started by @jameswill
|
||||
|
||||
## 6.1.11 - 2024-03-20
|
||||
|
||||
### Added
|
||||
|
||||
- New expression engine by @michaelhthomas, still disabled though.
|
||||
- Missing database indexes to speed up performance.
|
||||
- A button to the experimental `v2`-layout to go back to `v1`.
|
||||
|
||||
### Changed
|
||||
|
||||
- New login/register screens
|
||||
- New CSP headers
|
||||
|
||||
### Deprecated
|
||||
|
||||
- Dropped all old v3 code.
|
||||
- Dropped all generated JS and CSS, thanks @paulius-valiunas!
|
||||
|
||||
### Fixed
|
||||
|
||||
- [Discussion 8569](https://github.com/orgs/firefly-iii/discussions/8569) (What is classed as an "automatic transaction" when it comes to notifications?) started by @digitlength
|
||||
- [Issue 8608](https://github.com/firefly-iii/firefly-iii/issues/8608) (404 error when deleting a category) reported by @Jademalo
|
||||
- [Issue 8616](https://github.com/firefly-iii/firefly-iii/issues/8616) (Create right now option for recurring transaction missing during weekend) reported by @Transportman
|
||||
- [PR 8634](https://github.com/firefly-iii/firefly-iii/pull/8634) ([trivial] fix broken link in readme) reported by @WardenJakx
|
||||
- [Issue 8632](https://github.com/firefly-iii/firefly-iii/issues/8632) (No search results returned when using `tag_contains` and `tag_starts`) reported by @Call-Me-G-Now
|
||||
- [Issue 8663](https://github.com/firefly-iii/firefly-iii/issues/8663) (Graph error on Reports) reported by @nicolopozzato
|
||||
- [Issue 8671](https://github.com/firefly-iii/firefly-iii/issues/8671) (Rule with -has_any_category:true trigger not triggering) reported by @pvieira84
|
||||
- [Issue 8672](https://github.com/firefly-iii/firefly-iii/issues/8672) (Can't remove foreign amount using the trash icon) reported by @danielnetop
|
||||
- [Issue 8668](https://github.com/firefly-iii/firefly-iii/issues/8668) (Not possible to upload CSV file as an attachment) reported by @dbtdsilva
|
||||
|
||||
### Removed
|
||||
|
||||
- Support for Mandrill because the necessary packages aren't maintained anymore.
|
||||
|
||||
|
||||
|
||||
## 6.1.10 - 2024-03-03
|
||||
|
||||
### Added
|
||||
|
||||
@@ -167,7 +167,7 @@
|
||||
"@php artisan firefly-iii:upgrade-database",
|
||||
"@php artisan firefly-iii:correct-database",
|
||||
"@php artisan firefly-iii:report-integrity",
|
||||
"@php artisan passport:install",
|
||||
"@php artisan firefly-iii:laravel-passport-keys",
|
||||
"@php artisan firefly:instructions update"
|
||||
],
|
||||
"post-install-cmd": [
|
||||
|
||||
245
composer.lock
generated
245
composer.lock
generated
@@ -1670,16 +1670,16 @@
|
||||
},
|
||||
{
|
||||
"name": "laravel/framework",
|
||||
"version": "v11.0.7",
|
||||
"version": "v11.1.1",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/laravel/framework.git",
|
||||
"reference": "28eabe9dcdcb017a21ce226eda4538c5c8c93b1c"
|
||||
"reference": "1437cea6d2b04cbc83743fbb208e1a01efccd9ec"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/laravel/framework/zipball/28eabe9dcdcb017a21ce226eda4538c5c8c93b1c",
|
||||
"reference": "28eabe9dcdcb017a21ce226eda4538c5c8c93b1c",
|
||||
"url": "https://api.github.com/repos/laravel/framework/zipball/1437cea6d2b04cbc83743fbb208e1a01efccd9ec",
|
||||
"reference": "1437cea6d2b04cbc83743fbb208e1a01efccd9ec",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -1782,7 +1782,7 @@
|
||||
"league/flysystem-sftp-v3": "^3.0",
|
||||
"mockery/mockery": "^1.6",
|
||||
"nyholm/psr7": "^1.2",
|
||||
"orchestra/testbench-core": "^9.0",
|
||||
"orchestra/testbench-core": "^9.0.6",
|
||||
"pda/pheanstalk": "^5.0",
|
||||
"phpstan/phpstan": "^1.4.7",
|
||||
"phpunit/phpunit": "^10.5|^11.0",
|
||||
@@ -1871,20 +1871,20 @@
|
||||
"issues": "https://github.com/laravel/framework/issues",
|
||||
"source": "https://github.com/laravel/framework"
|
||||
},
|
||||
"time": "2024-03-15T23:17:58+00:00"
|
||||
"time": "2024-03-28T15:07:18+00:00"
|
||||
},
|
||||
{
|
||||
"name": "laravel/passport",
|
||||
"version": "v12.0.1",
|
||||
"version": "v12.0.2",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/laravel/passport.git",
|
||||
"reference": "37a5b5fbcae25dbb7c6a973957c2ce490e76946e"
|
||||
"reference": "21099f1aff81706781578a19335d8a4c7c96422a"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/laravel/passport/zipball/37a5b5fbcae25dbb7c6a973957c2ce490e76946e",
|
||||
"reference": "37a5b5fbcae25dbb7c6a973957c2ce490e76946e",
|
||||
"url": "https://api.github.com/repos/laravel/passport/zipball/21099f1aff81706781578a19335d8a4c7c96422a",
|
||||
"reference": "21099f1aff81706781578a19335d8a4c7c96422a",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -1904,6 +1904,7 @@
|
||||
"nyholm/psr7": "^1.5",
|
||||
"php": "^8.0",
|
||||
"phpseclib/phpseclib": "^2.0|^3.0",
|
||||
"symfony/console": "^6.0|^7.0",
|
||||
"symfony/psr-http-message-bridge": "^2.1|^6.0|^7.0"
|
||||
},
|
||||
"require-dev": {
|
||||
@@ -1946,20 +1947,20 @@
|
||||
"issues": "https://github.com/laravel/passport/issues",
|
||||
"source": "https://github.com/laravel/passport"
|
||||
},
|
||||
"time": "2024-03-14T16:27:37+00:00"
|
||||
"time": "2024-03-21T18:44:57+00:00"
|
||||
},
|
||||
{
|
||||
"name": "laravel/prompts",
|
||||
"version": "v0.1.16",
|
||||
"version": "v0.1.17",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/laravel/prompts.git",
|
||||
"reference": "ca6872ab6aec3ab61db3a61f83a6caf764ec7781"
|
||||
"reference": "8ee9f87f7f9eadcbe21e9e72cd4176b2f06cd5b5"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/laravel/prompts/zipball/ca6872ab6aec3ab61db3a61f83a6caf764ec7781",
|
||||
"reference": "ca6872ab6aec3ab61db3a61f83a6caf764ec7781",
|
||||
"url": "https://api.github.com/repos/laravel/prompts/zipball/8ee9f87f7f9eadcbe21e9e72cd4176b2f06cd5b5",
|
||||
"reference": "8ee9f87f7f9eadcbe21e9e72cd4176b2f06cd5b5",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -2001,22 +2002,22 @@
|
||||
],
|
||||
"support": {
|
||||
"issues": "https://github.com/laravel/prompts/issues",
|
||||
"source": "https://github.com/laravel/prompts/tree/v0.1.16"
|
||||
"source": "https://github.com/laravel/prompts/tree/v0.1.17"
|
||||
},
|
||||
"time": "2024-02-21T19:25:27+00:00"
|
||||
"time": "2024-03-13T16:05:43+00:00"
|
||||
},
|
||||
{
|
||||
"name": "laravel/sanctum",
|
||||
"version": "v4.0.0",
|
||||
"version": "v4.0.1",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/laravel/sanctum.git",
|
||||
"reference": "9e6e561308cace166de9ceae4ced820309fa8e13"
|
||||
"reference": "d1de99bf8d31199aaf93881561622489ab91ba58"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/laravel/sanctum/zipball/9e6e561308cace166de9ceae4ced820309fa8e13",
|
||||
"reference": "9e6e561308cace166de9ceae4ced820309fa8e13",
|
||||
"url": "https://api.github.com/repos/laravel/sanctum/zipball/d1de99bf8d31199aaf93881561622489ab91ba58",
|
||||
"reference": "d1de99bf8d31199aaf93881561622489ab91ba58",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -2025,7 +2026,8 @@
|
||||
"illuminate/contracts": "^11.0",
|
||||
"illuminate/database": "^11.0",
|
||||
"illuminate/support": "^11.0",
|
||||
"php": "^8.2"
|
||||
"php": "^8.2",
|
||||
"symfony/console": "^7.0"
|
||||
},
|
||||
"require-dev": {
|
||||
"mockery/mockery": "^1.6",
|
||||
@@ -2066,7 +2068,7 @@
|
||||
"issues": "https://github.com/laravel/sanctum/issues",
|
||||
"source": "https://github.com/laravel/sanctum"
|
||||
},
|
||||
"time": "2024-03-12T14:07:05+00:00"
|
||||
"time": "2024-03-19T20:09:38+00:00"
|
||||
},
|
||||
{
|
||||
"name": "laravel/serializable-closure",
|
||||
@@ -2195,16 +2197,16 @@
|
||||
},
|
||||
{
|
||||
"name": "laravel/ui",
|
||||
"version": "v4.5.0",
|
||||
"version": "v4.5.1",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/laravel/ui.git",
|
||||
"reference": "da3811f409297d13feccd5858ce748e7474b3d11"
|
||||
"reference": "a3562953123946996a503159199d6742d5534e61"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/laravel/ui/zipball/da3811f409297d13feccd5858ce748e7474b3d11",
|
||||
"reference": "da3811f409297d13feccd5858ce748e7474b3d11",
|
||||
"url": "https://api.github.com/repos/laravel/ui/zipball/a3562953123946996a503159199d6742d5534e61",
|
||||
"reference": "a3562953123946996a503159199d6742d5534e61",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -2212,7 +2214,8 @@
|
||||
"illuminate/filesystem": "^9.21|^10.0|^11.0",
|
||||
"illuminate/support": "^9.21|^10.0|^11.0",
|
||||
"illuminate/validation": "^9.21|^10.0|^11.0",
|
||||
"php": "^8.0"
|
||||
"php": "^8.0",
|
||||
"symfony/console": "^6.0|^7.0"
|
||||
},
|
||||
"require-dev": {
|
||||
"orchestra/testbench": "^7.35|^8.15|^9.0",
|
||||
@@ -2251,9 +2254,9 @@
|
||||
"ui"
|
||||
],
|
||||
"support": {
|
||||
"source": "https://github.com/laravel/ui/tree/v4.5.0"
|
||||
"source": "https://github.com/laravel/ui/tree/v4.5.1"
|
||||
},
|
||||
"time": "2024-03-04T13:58:27+00:00"
|
||||
"time": "2024-03-21T18:12:29+00:00"
|
||||
},
|
||||
{
|
||||
"name": "lcobucci/clock",
|
||||
@@ -2725,16 +2728,16 @@
|
||||
},
|
||||
{
|
||||
"name": "league/flysystem",
|
||||
"version": "3.25.1",
|
||||
"version": "3.26.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/thephpleague/flysystem.git",
|
||||
"reference": "abbd664eb4381102c559d358420989f835208f18"
|
||||
"reference": "072735c56cc0da00e10716dd90d5a7f7b40b36be"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/thephpleague/flysystem/zipball/abbd664eb4381102c559d358420989f835208f18",
|
||||
"reference": "abbd664eb4381102c559d358420989f835208f18",
|
||||
"url": "https://api.github.com/repos/thephpleague/flysystem/zipball/072735c56cc0da00e10716dd90d5a7f7b40b36be",
|
||||
"reference": "072735c56cc0da00e10716dd90d5a7f7b40b36be",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -2799,7 +2802,7 @@
|
||||
],
|
||||
"support": {
|
||||
"issues": "https://github.com/thephpleague/flysystem/issues",
|
||||
"source": "https://github.com/thephpleague/flysystem/tree/3.25.1"
|
||||
"source": "https://github.com/thephpleague/flysystem/tree/3.26.0"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
@@ -2811,7 +2814,7 @@
|
||||
"type": "github"
|
||||
}
|
||||
],
|
||||
"time": "2024-03-16T12:53:19+00:00"
|
||||
"time": "2024-03-25T11:49:53+00:00"
|
||||
},
|
||||
{
|
||||
"name": "league/flysystem-local",
|
||||
@@ -3088,16 +3091,16 @@
|
||||
},
|
||||
{
|
||||
"name": "league/uri",
|
||||
"version": "7.4.0",
|
||||
"version": "7.4.1",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/thephpleague/uri.git",
|
||||
"reference": "bf414ba956d902f5d98bf9385fcf63954f09dce5"
|
||||
"reference": "bedb6e55eff0c933668addaa7efa1e1f2c417cc4"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/thephpleague/uri/zipball/bf414ba956d902f5d98bf9385fcf63954f09dce5",
|
||||
"reference": "bf414ba956d902f5d98bf9385fcf63954f09dce5",
|
||||
"url": "https://api.github.com/repos/thephpleague/uri/zipball/bedb6e55eff0c933668addaa7efa1e1f2c417cc4",
|
||||
"reference": "bedb6e55eff0c933668addaa7efa1e1f2c417cc4",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -3166,7 +3169,7 @@
|
||||
"docs": "https://uri.thephpleague.com",
|
||||
"forum": "https://thephpleague.slack.com",
|
||||
"issues": "https://github.com/thephpleague/uri-src/issues",
|
||||
"source": "https://github.com/thephpleague/uri/tree/7.4.0"
|
||||
"source": "https://github.com/thephpleague/uri/tree/7.4.1"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
@@ -3174,20 +3177,20 @@
|
||||
"type": "github"
|
||||
}
|
||||
],
|
||||
"time": "2023-12-01T06:24:25+00:00"
|
||||
"time": "2024-03-23T07:42:40+00:00"
|
||||
},
|
||||
{
|
||||
"name": "league/uri-interfaces",
|
||||
"version": "7.4.0",
|
||||
"version": "7.4.1",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/thephpleague/uri-interfaces.git",
|
||||
"reference": "bd8c487ec236930f7bbc42b8d374fa882fbba0f3"
|
||||
"reference": "8d43ef5c841032c87e2de015972c06f3865ef718"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/thephpleague/uri-interfaces/zipball/bd8c487ec236930f7bbc42b8d374fa882fbba0f3",
|
||||
"reference": "bd8c487ec236930f7bbc42b8d374fa882fbba0f3",
|
||||
"url": "https://api.github.com/repos/thephpleague/uri-interfaces/zipball/8d43ef5c841032c87e2de015972c06f3865ef718",
|
||||
"reference": "8d43ef5c841032c87e2de015972c06f3865ef718",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -3250,7 +3253,7 @@
|
||||
"docs": "https://uri.thephpleague.com",
|
||||
"forum": "https://thephpleague.slack.com",
|
||||
"issues": "https://github.com/thephpleague/uri-src/issues",
|
||||
"source": "https://github.com/thephpleague/uri-interfaces/tree/7.4.0"
|
||||
"source": "https://github.com/thephpleague/uri-interfaces/tree/7.4.1"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
@@ -3258,7 +3261,7 @@
|
||||
"type": "github"
|
||||
}
|
||||
],
|
||||
"time": "2023-11-24T15:40:42+00:00"
|
||||
"time": "2024-03-23T07:42:40+00:00"
|
||||
},
|
||||
{
|
||||
"name": "monolog/monolog",
|
||||
@@ -3363,16 +3366,16 @@
|
||||
},
|
||||
{
|
||||
"name": "nesbot/carbon",
|
||||
"version": "3.1.1",
|
||||
"version": "3.2.3",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/briannesbitt/Carbon.git",
|
||||
"reference": "34ccf6f6b49c915421c7886c88c0cb77f3ebbfd2"
|
||||
"reference": "4d599a6e2351d6b6bf21737accdfe1a4ce3fdbb1"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/briannesbitt/Carbon/zipball/34ccf6f6b49c915421c7886c88c0cb77f3ebbfd2",
|
||||
"reference": "34ccf6f6b49c915421c7886c88c0cb77f3ebbfd2",
|
||||
"url": "https://api.github.com/repos/briannesbitt/Carbon/zipball/4d599a6e2351d6b6bf21737accdfe1a4ce3fdbb1",
|
||||
"reference": "4d599a6e2351d6b6bf21737accdfe1a4ce3fdbb1",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -3390,14 +3393,14 @@
|
||||
"require-dev": {
|
||||
"doctrine/dbal": "^3.6.3 || ^4.0",
|
||||
"doctrine/orm": "^2.15.2 || ^3.0",
|
||||
"friendsofphp/php-cs-fixer": "^3.18.0",
|
||||
"kylekatarnls/multi-tester": "^2.2.0",
|
||||
"ondrejmirtes/better-reflection": "^6.11.0.0",
|
||||
"phpmd/phpmd": "^2.13.0",
|
||||
"phpstan/extension-installer": "^1.3.0",
|
||||
"phpstan/phpstan": "^1.10.20",
|
||||
"phpunit/phpunit": "^10.2.2",
|
||||
"squizlabs/php_codesniffer": "^3.7.2"
|
||||
"friendsofphp/php-cs-fixer": "^3.52.1",
|
||||
"kylekatarnls/multi-tester": "^2.5.3",
|
||||
"ondrejmirtes/better-reflection": "^6.25.0.4",
|
||||
"phpmd/phpmd": "^2.15.0",
|
||||
"phpstan/extension-installer": "^1.3.1",
|
||||
"phpstan/phpstan": "^1.10.65",
|
||||
"phpunit/phpunit": "^10.5.15",
|
||||
"squizlabs/php_codesniffer": "^3.9.0"
|
||||
},
|
||||
"bin": [
|
||||
"bin/carbon"
|
||||
@@ -3465,7 +3468,7 @@
|
||||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2024-03-13T12:42:37+00:00"
|
||||
"time": "2024-03-30T18:22:00+00:00"
|
||||
},
|
||||
{
|
||||
"name": "nette/schema",
|
||||
@@ -5317,16 +5320,16 @@
|
||||
},
|
||||
{
|
||||
"name": "spatie/ignition",
|
||||
"version": "1.12.0",
|
||||
"version": "1.13.1",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/spatie/ignition.git",
|
||||
"reference": "5b6f801c605a593106b623e45ca41496a6e7d56d"
|
||||
"reference": "889bf1dfa59e161590f677728b47bf4a6893983b"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/spatie/ignition/zipball/5b6f801c605a593106b623e45ca41496a6e7d56d",
|
||||
"reference": "5b6f801c605a593106b623e45ca41496a6e7d56d",
|
||||
"url": "https://api.github.com/repos/spatie/ignition/zipball/889bf1dfa59e161590f677728b47bf4a6893983b",
|
||||
"reference": "889bf1dfa59e161590f677728b47bf4a6893983b",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -5396,20 +5399,20 @@
|
||||
"type": "github"
|
||||
}
|
||||
],
|
||||
"time": "2024-01-03T15:49:39+00:00"
|
||||
"time": "2024-03-29T14:03:47+00:00"
|
||||
},
|
||||
{
|
||||
"name": "spatie/laravel-html",
|
||||
"version": "3.6.0",
|
||||
"version": "3.7.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/spatie/laravel-html.git",
|
||||
"reference": "96ee6fc6b6484150c10c23985b3826b066aafc52"
|
||||
"reference": "df15763c190954ee46a74e0bf5b4b5bbf2e1f170"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/spatie/laravel-html/zipball/96ee6fc6b6484150c10c23985b3826b066aafc52",
|
||||
"reference": "96ee6fc6b6484150c10c23985b3826b066aafc52",
|
||||
"url": "https://api.github.com/repos/spatie/laravel-html/zipball/df15763c190954ee46a74e0bf5b4b5bbf2e1f170",
|
||||
"reference": "df15763c190954ee46a74e0bf5b4b5bbf2e1f170",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -5466,7 +5469,7 @@
|
||||
"spatie"
|
||||
],
|
||||
"support": {
|
||||
"source": "https://github.com/spatie/laravel-html/tree/3.6.0"
|
||||
"source": "https://github.com/spatie/laravel-html/tree/3.7.0"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
@@ -5474,20 +5477,20 @@
|
||||
"type": "custom"
|
||||
}
|
||||
],
|
||||
"time": "2024-03-08T11:56:06+00:00"
|
||||
"time": "2024-03-23T11:28:29+00:00"
|
||||
},
|
||||
{
|
||||
"name": "spatie/laravel-ignition",
|
||||
"version": "2.4.2",
|
||||
"version": "2.5.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/spatie/laravel-ignition.git",
|
||||
"reference": "351504f4570e32908839fc5a2dc53bf77d02f85e"
|
||||
"reference": "e23f4e8ce6644dc3d68b9d8a0aed3beaca0d6ada"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/spatie/laravel-ignition/zipball/351504f4570e32908839fc5a2dc53bf77d02f85e",
|
||||
"reference": "351504f4570e32908839fc5a2dc53bf77d02f85e",
|
||||
"url": "https://api.github.com/repos/spatie/laravel-ignition/zipball/e23f4e8ce6644dc3d68b9d8a0aed3beaca0d6ada",
|
||||
"reference": "e23f4e8ce6644dc3d68b9d8a0aed3beaca0d6ada",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -5497,7 +5500,7 @@
|
||||
"illuminate/support": "^10.0|^11.0",
|
||||
"php": "^8.1",
|
||||
"spatie/flare-client-php": "^1.3.5",
|
||||
"spatie/ignition": "^1.9",
|
||||
"spatie/ignition": "^1.13",
|
||||
"symfony/console": "^6.2.3|^7.0",
|
||||
"symfony/var-dumper": "^6.2.3|^7.0"
|
||||
},
|
||||
@@ -5566,7 +5569,7 @@
|
||||
"type": "github"
|
||||
}
|
||||
],
|
||||
"time": "2024-02-09T16:08:40+00:00"
|
||||
"time": "2024-03-29T14:14:55+00:00"
|
||||
},
|
||||
{
|
||||
"name": "spatie/period",
|
||||
@@ -8894,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": {
|
||||
@@ -8962,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": [
|
||||
{
|
||||
@@ -8974,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",
|
||||
@@ -9197,16 +9200,16 @@
|
||||
},
|
||||
{
|
||||
"name": "composer/pcre",
|
||||
"version": "3.1.2",
|
||||
"version": "3.1.3",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/composer/pcre.git",
|
||||
"reference": "4775f35b2d70865807c89d32c8e7385b86eb0ace"
|
||||
"reference": "5b16e25a5355f1f3afdfc2f954a0a80aec4826a8"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/composer/pcre/zipball/4775f35b2d70865807c89d32c8e7385b86eb0ace",
|
||||
"reference": "4775f35b2d70865807c89d32c8e7385b86eb0ace",
|
||||
"url": "https://api.github.com/repos/composer/pcre/zipball/5b16e25a5355f1f3afdfc2f954a0a80aec4826a8",
|
||||
"reference": "5b16e25a5355f1f3afdfc2f954a0a80aec4826a8",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -9248,7 +9251,7 @@
|
||||
],
|
||||
"support": {
|
||||
"issues": "https://github.com/composer/pcre/issues",
|
||||
"source": "https://github.com/composer/pcre/tree/3.1.2"
|
||||
"source": "https://github.com/composer/pcre/tree/3.1.3"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
@@ -9264,7 +9267,7 @@
|
||||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2024-03-07T15:38:35+00:00"
|
||||
"time": "2024-03-19T10:26:25+00:00"
|
||||
},
|
||||
{
|
||||
"name": "doctrine/deprecations",
|
||||
@@ -9669,16 +9672,16 @@
|
||||
},
|
||||
{
|
||||
"name": "mockery/mockery",
|
||||
"version": "1.6.9",
|
||||
"version": "1.6.11",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/mockery/mockery.git",
|
||||
"reference": "0cc058854b3195ba21dc6b1f7b1f60f4ef3a9c06"
|
||||
"reference": "81a161d0b135df89951abd52296adf97deb0723d"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/mockery/mockery/zipball/0cc058854b3195ba21dc6b1f7b1f60f4ef3a9c06",
|
||||
"reference": "0cc058854b3195ba21dc6b1f7b1f60f4ef3a9c06",
|
||||
"url": "https://api.github.com/repos/mockery/mockery/zipball/81a161d0b135df89951abd52296adf97deb0723d",
|
||||
"reference": "81a161d0b135df89951abd52296adf97deb0723d",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -9690,8 +9693,8 @@
|
||||
"phpunit/phpunit": "<8.0"
|
||||
},
|
||||
"require-dev": {
|
||||
"phpunit/phpunit": "^8.5 || ^9.6.10",
|
||||
"symplify/easy-coding-standard": "^12.0.8"
|
||||
"phpunit/phpunit": "^8.5 || ^9.6.17",
|
||||
"symplify/easy-coding-standard": "^12.1.14"
|
||||
},
|
||||
"type": "library",
|
||||
"autoload": {
|
||||
@@ -9748,7 +9751,7 @@
|
||||
"security": "https://github.com/mockery/mockery/security/advisories",
|
||||
"source": "https://github.com/mockery/mockery"
|
||||
},
|
||||
"time": "2023-12-10T02:24:34+00:00"
|
||||
"time": "2024-03-21T18:34:15+00:00"
|
||||
},
|
||||
{
|
||||
"name": "myclabs/deep-copy",
|
||||
@@ -10230,16 +10233,16 @@
|
||||
},
|
||||
{
|
||||
"name": "phpstan/phpdoc-parser",
|
||||
"version": "1.26.0",
|
||||
"version": "1.27.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/phpstan/phpdoc-parser.git",
|
||||
"reference": "231e3186624c03d7e7c890ec662b81e6b0405227"
|
||||
"reference": "86e4d5a4b036f8f0be1464522f4c6b584c452757"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/phpstan/phpdoc-parser/zipball/231e3186624c03d7e7c890ec662b81e6b0405227",
|
||||
"reference": "231e3186624c03d7e7c890ec662b81e6b0405227",
|
||||
"url": "https://api.github.com/repos/phpstan/phpdoc-parser/zipball/86e4d5a4b036f8f0be1464522f4c6b584c452757",
|
||||
"reference": "86e4d5a4b036f8f0be1464522f4c6b584c452757",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -10271,22 +10274,22 @@
|
||||
"description": "PHPDoc parser with support for nullable, intersection and generic types",
|
||||
"support": {
|
||||
"issues": "https://github.com/phpstan/phpdoc-parser/issues",
|
||||
"source": "https://github.com/phpstan/phpdoc-parser/tree/1.26.0"
|
||||
"source": "https://github.com/phpstan/phpdoc-parser/tree/1.27.0"
|
||||
},
|
||||
"time": "2024-02-23T16:05:55+00:00"
|
||||
"time": "2024-03-21T13:14:53+00:00"
|
||||
},
|
||||
{
|
||||
"name": "phpstan/phpstan",
|
||||
"version": "1.10.63",
|
||||
"version": "1.10.66",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/phpstan/phpstan.git",
|
||||
"reference": "ad12836d9ca227301f5fb9960979574ed8628339"
|
||||
"reference": "94779c987e4ebd620025d9e5fdd23323903950bd"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/phpstan/phpstan/zipball/ad12836d9ca227301f5fb9960979574ed8628339",
|
||||
"reference": "ad12836d9ca227301f5fb9960979574ed8628339",
|
||||
"url": "https://api.github.com/repos/phpstan/phpstan/zipball/94779c987e4ebd620025d9e5fdd23323903950bd",
|
||||
"reference": "94779c987e4ebd620025d9e5fdd23323903950bd",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -10335,7 +10338,7 @@
|
||||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2024-03-18T16:53:53+00:00"
|
||||
"time": "2024-03-28T16:17:31+00:00"
|
||||
},
|
||||
{
|
||||
"name": "phpstan/phpstan-deprecation-rules",
|
||||
@@ -10757,16 +10760,16 @@
|
||||
},
|
||||
{
|
||||
"name": "phpunit/phpunit",
|
||||
"version": "10.5.13",
|
||||
"version": "10.5.16",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/sebastianbergmann/phpunit.git",
|
||||
"reference": "20a63fc1c6db29b15da3bd02d4b6cf59900088a7"
|
||||
"reference": "18f8d4a5f52b61fdd9370aaae3167daa0eeb69cd"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/20a63fc1c6db29b15da3bd02d4b6cf59900088a7",
|
||||
"reference": "20a63fc1c6db29b15da3bd02d4b6cf59900088a7",
|
||||
"url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/18f8d4a5f52b61fdd9370aaae3167daa0eeb69cd",
|
||||
"reference": "18f8d4a5f52b61fdd9370aaae3167daa0eeb69cd",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -10838,7 +10841,7 @@
|
||||
"support": {
|
||||
"issues": "https://github.com/sebastianbergmann/phpunit/issues",
|
||||
"security": "https://github.com/sebastianbergmann/phpunit/security/policy",
|
||||
"source": "https://github.com/sebastianbergmann/phpunit/tree/10.5.13"
|
||||
"source": "https://github.com/sebastianbergmann/phpunit/tree/10.5.16"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
@@ -10854,7 +10857,7 @@
|
||||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2024-03-12T15:37:41+00:00"
|
||||
"time": "2024-03-28T10:08:10+00:00"
|
||||
},
|
||||
{
|
||||
"name": "sebastian/cli-parser",
|
||||
@@ -11228,16 +11231,16 @@
|
||||
},
|
||||
{
|
||||
"name": "sebastian/environment",
|
||||
"version": "6.0.1",
|
||||
"version": "6.1.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/sebastianbergmann/environment.git",
|
||||
"reference": "43c751b41d74f96cbbd4e07b7aec9675651e2951"
|
||||
"reference": "8074dbcd93529b357029f5cc5058fd3e43666984"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/43c751b41d74f96cbbd4e07b7aec9675651e2951",
|
||||
"reference": "43c751b41d74f96cbbd4e07b7aec9675651e2951",
|
||||
"url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/8074dbcd93529b357029f5cc5058fd3e43666984",
|
||||
"reference": "8074dbcd93529b357029f5cc5058fd3e43666984",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -11252,7 +11255,7 @@
|
||||
"type": "library",
|
||||
"extra": {
|
||||
"branch-alias": {
|
||||
"dev-main": "6.0-dev"
|
||||
"dev-main": "6.1-dev"
|
||||
}
|
||||
},
|
||||
"autoload": {
|
||||
@@ -11280,7 +11283,7 @@
|
||||
"support": {
|
||||
"issues": "https://github.com/sebastianbergmann/environment/issues",
|
||||
"security": "https://github.com/sebastianbergmann/environment/security/policy",
|
||||
"source": "https://github.com/sebastianbergmann/environment/tree/6.0.1"
|
||||
"source": "https://github.com/sebastianbergmann/environment/tree/6.1.0"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
@@ -11288,7 +11291,7 @@
|
||||
"type": "github"
|
||||
}
|
||||
],
|
||||
"time": "2023-04-11T05:39:26+00:00"
|
||||
"time": "2024-03-23T08:47:14+00:00"
|
||||
},
|
||||
{
|
||||
"name": "sebastian/exporter",
|
||||
|
||||
@@ -117,8 +117,8 @@ return [
|
||||
'expression_engine' => false,
|
||||
// see cer.php for exchange rates feature flag.
|
||||
],
|
||||
'version' => 'develop/2024-03-18',
|
||||
'api_version' => '2.0.12',
|
||||
'version' => 'develop/2024-04-01',
|
||||
'api_version' => '2.0.13',
|
||||
'db_version' => 23,
|
||||
|
||||
// generic settings
|
||||
@@ -922,7 +922,7 @@ return [
|
||||
'sorting' => [
|
||||
'allowed' => [
|
||||
'transactions' => ['description', 'amount'],
|
||||
'accounts' => ['name', 'active', 'iban', 'balance'],
|
||||
'accounts' => ['name', 'active', 'iban', 'balance', 'last_activity'],
|
||||
],
|
||||
],
|
||||
];
|
||||
|
||||
@@ -24,7 +24,6 @@ return new class () extends Migration {
|
||||
'journal_meta' => ['transaction_journal_id', 'data', 'name'],
|
||||
'category_transaction_journal' => ['transaction_journal_id'],
|
||||
'categories' => ['user_id', 'user_group_id'],
|
||||
'transaction_currencies' => ['code'],
|
||||
'transaction_groups' => ['user_id', 'user_group_id'],
|
||||
'transaction_journals' => ['user_id', 'user_group_id', 'date', 'transaction_group_id', 'transaction_type_id', 'transaction_currency_id', 'bill_id'],
|
||||
'transactions' => ['account_id', 'transaction_journal_id', 'transaction_currency_id', 'foreign_currency_id'],
|
||||
|
||||
93
package-lock.json
generated
93
package-lock.json
generated
@@ -33,40 +33,45 @@
|
||||
"laravel-vite-plugin": "^0.8.1",
|
||||
"patch-package": "^8.0.0",
|
||||
"sass": "^1.72.0",
|
||||
"vite": "^4.5.2",
|
||||
"vite": "^4.5.3",
|
||||
"vite-plugin-manifest-sri": "^0.1.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@ag-grid-community/client-side-row-model": {
|
||||
"version": "31.1.1",
|
||||
"resolved": "https://registry.npmjs.org/@ag-grid-community/client-side-row-model/-/client-side-row-model-31.1.1.tgz",
|
||||
"integrity": "sha512-KBSPaEJ1q97xooJd7U6W8PUfzUDecnsvE+Y05Xg/s6i61fLKyDTxDVJB/kETxdST0+T8FgjFMaPjY0hAZBOhWg==",
|
||||
"version": "31.2.0",
|
||||
"resolved": "https://registry.npmjs.org/@ag-grid-community/client-side-row-model/-/client-side-row-model-31.2.0.tgz",
|
||||
"integrity": "sha512-fiXFGUaOCZdJ5QSJaWIyeA+hzjOe0+KzU1PdxqUdUZiNmDv/MFQQd99Biyk76OS6i8eWDFcC1O/V7owfVTWflw==",
|
||||
"dependencies": {
|
||||
"@ag-grid-community/core": "31.1.1"
|
||||
"@ag-grid-community/core": "31.2.0",
|
||||
"tslib": "^2.3.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@ag-grid-community/core": {
|
||||
"version": "31.1.1",
|
||||
"resolved": "https://registry.npmjs.org/@ag-grid-community/core/-/core-31.1.1.tgz",
|
||||
"integrity": "sha512-WFN3yXpFR0uMJQZak6x4kzLl7nJPrrorUWf/KWH4ToP6PMZcc6cKT3jge3bJ0SBkzs2m7oQGnmi8rfTaHuXI4Q=="
|
||||
"version": "31.2.0",
|
||||
"resolved": "https://registry.npmjs.org/@ag-grid-community/core/-/core-31.2.0.tgz",
|
||||
"integrity": "sha512-297AR2Z0i6zdpo+d1riWE9TpbsQ956Sd3rkgnjDaFzgGClsdy0SwInBs2281CHjaLQAhPzFelZ5XwcDTxHl4Tw==",
|
||||
"dependencies": {
|
||||
"tslib": "^2.3.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@ag-grid-community/infinite-row-model": {
|
||||
"version": "31.1.1",
|
||||
"resolved": "https://registry.npmjs.org/@ag-grid-community/infinite-row-model/-/infinite-row-model-31.1.1.tgz",
|
||||
"integrity": "sha512-cOuqOZD+V0ShwlxZy0Q5UJAD4ixO9GteCsJyvueAybq7BO8MfYCfjAS+Wk/z6hPEsuoGLk6lupIzneNVyDmzfA==",
|
||||
"version": "31.2.0",
|
||||
"resolved": "https://registry.npmjs.org/@ag-grid-community/infinite-row-model/-/infinite-row-model-31.2.0.tgz",
|
||||
"integrity": "sha512-SS+RqziA1koxMruHnL3hwJCv8RALldmueah9NrqDj2HSja83NLf+gKluBGfKsFlQei+wG0+vF50fOrtb2OGu2Q==",
|
||||
"dependencies": {
|
||||
"@ag-grid-community/core": "31.1.1"
|
||||
"@ag-grid-community/core": "31.2.0",
|
||||
"tslib": "^2.3.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@ag-grid-community/styles": {
|
||||
"version": "31.1.1",
|
||||
"resolved": "https://registry.npmjs.org/@ag-grid-community/styles/-/styles-31.1.1.tgz",
|
||||
"integrity": "sha512-Q44beV3vD1jydB0smro9+nJY9g60uSjQ+cM8cHEIS9gDCG/37WiabdtQybJceeIHbne51MJPtOAa89y/TfnbQg=="
|
||||
"version": "31.2.0",
|
||||
"resolved": "https://registry.npmjs.org/@ag-grid-community/styles/-/styles-31.2.0.tgz",
|
||||
"integrity": "sha512-fU6wDpK0//dJLp5pwojuTUQPi4nVZ4iTBF1yaQw+6NXeGi0ma7rz7IOS6Idw0XXE3ELKGTuO7QUJmxxdL7kykw=="
|
||||
},
|
||||
"node_modules/@babel/runtime": {
|
||||
"version": "7.24.0",
|
||||
"resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.24.0.tgz",
|
||||
"integrity": "sha512-Chk32uHMg6TnQdvw2e9IlqPpFX/6NLuK0Ys2PqLb7/gL5uFn9mXvK715FGLlOLQrcO4qIkNHkvPGktzzXexsFw==",
|
||||
"version": "7.24.1",
|
||||
"resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.24.1.tgz",
|
||||
"integrity": "sha512-+BIznRzyqBf+2wCTxcKE3wDjfGeCoVE61KSHGpkzqrLi8qxqFwBeUFyId2cxkTmm55fzDGnm0+yCxaxygrLUnQ==",
|
||||
"dependencies": {
|
||||
"regenerator-runtime": "^0.14.0"
|
||||
},
|
||||
@@ -542,12 +547,15 @@
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/binary-extensions": {
|
||||
"version": "2.2.0",
|
||||
"resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz",
|
||||
"integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==",
|
||||
"version": "2.3.0",
|
||||
"resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz",
|
||||
"integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==",
|
||||
"dev": true,
|
||||
"engines": {
|
||||
"node": ">=8"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/sponsors/sindresorhus"
|
||||
}
|
||||
},
|
||||
"node_modules/bootstrap": {
|
||||
@@ -1067,9 +1075,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/hasown": {
|
||||
"version": "2.0.1",
|
||||
"resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.1.tgz",
|
||||
"integrity": "sha512-1/th4MHjnwncwXsIW6QMzlvYL9kG5e/CpVvLRZe4XPa8TOUNbCELqmvhDmnkNsAjwaG4+I8gJJL0JBvTTLO9qA==",
|
||||
"version": "2.0.2",
|
||||
"resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz",
|
||||
"integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"function-bind": "^1.1.2"
|
||||
@@ -1519,9 +1527,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/postcss": {
|
||||
"version": "8.4.35",
|
||||
"resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.35.tgz",
|
||||
"integrity": "sha512-u5U8qYpBCpN13BsiEB0CbR1Hhh4Gc0zLFuedrHJKMctHCHAGrMdG0PRM/KErzAL3CU6/eckEtmHNB3x6e3c0vA==",
|
||||
"version": "8.4.38",
|
||||
"resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.38.tgz",
|
||||
"integrity": "sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==",
|
||||
"dev": true,
|
||||
"funding": [
|
||||
{
|
||||
@@ -1540,7 +1548,7 @@
|
||||
"dependencies": {
|
||||
"nanoid": "^3.3.7",
|
||||
"picocolors": "^1.0.0",
|
||||
"source-map-js": "^1.0.2"
|
||||
"source-map-js": "^1.2.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": "^10 || ^12 || >=14"
|
||||
@@ -1630,17 +1638,17 @@
|
||||
}
|
||||
},
|
||||
"node_modules/set-function-length": {
|
||||
"version": "1.2.1",
|
||||
"resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.1.tgz",
|
||||
"integrity": "sha512-j4t6ccc+VsKwYHso+kElc5neZpjtq9EnRICFZtWyBsLojhmeF/ZBd/elqm22WJh/BziDe/SBiOeAt0m2mfLD0g==",
|
||||
"version": "1.2.2",
|
||||
"resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz",
|
||||
"integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"define-data-property": "^1.1.2",
|
||||
"define-data-property": "^1.1.4",
|
||||
"es-errors": "^1.3.0",
|
||||
"function-bind": "^1.1.2",
|
||||
"get-intrinsic": "^1.2.3",
|
||||
"get-intrinsic": "^1.2.4",
|
||||
"gopd": "^1.0.1",
|
||||
"has-property-descriptors": "^1.0.1"
|
||||
"has-property-descriptors": "^1.0.2"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">= 0.4"
|
||||
@@ -1677,9 +1685,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/source-map-js": {
|
||||
"version": "1.0.2",
|
||||
"resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz",
|
||||
"integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==",
|
||||
"version": "1.2.0",
|
||||
"resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.0.tgz",
|
||||
"integrity": "sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==",
|
||||
"dev": true,
|
||||
"engines": {
|
||||
"node": ">=0.10.0"
|
||||
@@ -1734,6 +1742,11 @@
|
||||
"resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz",
|
||||
"integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw=="
|
||||
},
|
||||
"node_modules/tslib": {
|
||||
"version": "2.6.2",
|
||||
"resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz",
|
||||
"integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q=="
|
||||
},
|
||||
"node_modules/universalify": {
|
||||
"version": "2.0.1",
|
||||
"resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz",
|
||||
@@ -1744,9 +1757,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/vite": {
|
||||
"version": "4.5.2",
|
||||
"resolved": "https://registry.npmjs.org/vite/-/vite-4.5.2.tgz",
|
||||
"integrity": "sha512-tBCZBNSBbHQkaGyhGCDUGqeo2ph8Fstyp6FMSvTtsXeZSPpSMGlviAOav2hxVTqFcx8Hj/twtWKsMJXNY0xI8w==",
|
||||
"version": "4.5.3",
|
||||
"resolved": "https://registry.npmjs.org/vite/-/vite-4.5.3.tgz",
|
||||
"integrity": "sha512-kQL23kMeX92v3ph7IauVkXkikdDRsYMGTVl5KY2E9OY4ONLvkHf04MDTbnfo6NKxZiDLWzVpP5oTa8hQD8U3dg==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"esbuild": "^0.18.10",
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
"laravel-vite-plugin": "^0.8.1",
|
||||
"patch-package": "^8.0.0",
|
||||
"sass": "^1.72.0",
|
||||
"vite": "^4.5.2",
|
||||
"vite": "^4.5.3",
|
||||
"vite-plugin-manifest-sri": "^0.1.0"
|
||||
},
|
||||
"dependencies": {
|
||||
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -1 +0,0 @@
|
||||
import{f as n}from"./vendor-029c0fc2.js";function e(){return{id:"",name:"",alpine_name:""}}function o(){return{description:[],amount:[],currency_code:[],foreign_amount:[],foreign_currency_code:[],source_account:[],destination_account:[],budget_id:[],category_name:[],piggy_bank_id:[],bill_id:[],tags:[],notes:[],internal_reference:[],external_url:[],latitude:[],longitude:[],zoom_level:[],date:[],interest_date:[],book_date:[],process_date:[],due_date:[],payment_date:[],invoice_date:[]}}function d(){let t=n(new Date,"yyyy-MM-dd HH:mm");return{description:"",amount:"",currency_code:"EUR",foreign_amount:"",foreign_currency_code:"",source_account:e(),destination_account:e(),budget_id:null,category_name:"",piggy_bank_id:null,bill_id:null,tags:[],notes:"",internal_reference:"",external_url:"",hasLocation:!1,latitude:null,longitude:null,zoomLevel:null,date:t,interest_date:"",book_date:"",process_date:"",due_date:"",payment_date:"",invoice_date:"",errors:o()}}export{d as c,o as d};
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
File diff suppressed because one or more lines are too long
@@ -1 +0,0 @@
|
||||
import{a as s}from"./format-money-89cf90df.js";import{f as n}from"./vendor-029c0fc2.js";class c{show(a,t){return s.get("/api/v2/accounts/"+a,{params:t})}index(a){return s.get("/api/v2/accounts",{params:a})}transactions(a,t){const r={page:t.page??1};return t.hasOwnProperty("start")&&(r.start=n(t.start,"y-MM-dd")),t.hasOwnProperty("end")&&(r.end=n(t.end,"y-MM-dd")),s.get("/api/v2/accounts/"+a+"/transactions",{params:r})}}export{c as G};
|
||||
@@ -1 +0,0 @@
|
||||
import{a as s}from"./format-money-89cf90df.js";let t=class{list(a){return s.get("/api/v2/subscriptions",{params:a})}paid(a){return s.get("/api/v2/subscriptions/sum/paid",{params:a})}unpaid(a){return s.get("/api/v2/subscriptions/sum/unpaid",{params:a})}};class e{list(a){return s.get("/api/v2/piggy-banks",{params:a})}}export{t as G,e as a};
|
||||
@@ -1 +0,0 @@
|
||||
import{a as t}from"./format-money-89cf90df.js";class n{list(a){return t.get("/api/v2/transactions",{params:a})}infiniteList(a){return t.get("/api/v2/infinite/transactions",{params:a})}show(a,i){return t.get("/api/v2/transactions/"+a,{params:i})}}export{n as G};
|
||||
@@ -1 +0,0 @@
|
||||
.ag-theme-firefly-iii .ag-root,.ag-theme-firefly-iii .ag-root-wrapper{border:0}
|
||||
@@ -1 +0,0 @@
|
||||
import{a as d,d as h,f as p}from"./format-money-89cf90df.js";import{f as r,i as a}from"./vendor-029c0fc2.js";/* empty css */import{G as m}from"./get-23aadb69.js";class f{setElement(t){console.log("GenericEditor.setElement()",t),this.element=t,this.parent=t.parentElement,this.options={}}init(){this.options.type=this.element.dataset.type,this.options.id=this.element.dataset.id,this.options.value=this.element.dataset.value,this.options.index=this.element.dataset.index,this.options.model=this.element.dataset.model,this.options.field=this.element.dataset.field,console.log("GenericEditor["+this.options.index+"].init()")}replace(){console.log("GenericEditor["+this.options.index+"].replace()"),this.options.original=this.element.parentElement.innerHTML,this.options.type==="text"&&this.replaceText()}replaceText(){console.log("GenericEditor["+this.options.index+"].replaceText()");let t=this.formStart()+this.rowStart();t+=this.columnStart("7")+this.label()+this.textField()+this.closeDiv(),t+=this.columnStart("5")+this.buttonGroup()+this.closeDiv(),t+=this.closeDiv()+this.closeForm(),this.element.parentElement.innerHTML=t}textField(){return'<input data-index="'+this.options.index+'input" autocomplete="off" type="text" class="form-control form-control-sm" id="input" name="name" value="'+this.options.value+'" placeholder="'+this.options.value+'" autofocus>'}closeDiv(){return"</div>"}closeForm(){return"</form>"}formStart(){return'<form class="form-inline">'}rowStart(){return'<div class="row">'}columnStart(t){return t===""?'<div class="col">':'<div class="col-'+t+'">'}label(){return'<label class="sr-only" for="input">Field value</label>'}buttonGroup(){return'<div class="btn-group btn-group-sm" role="group" aria-label="Options"><button data-index="'+this.options.index+'" type="button" @click="cancelInlineEdit" class="btn btn-danger"><em class="fa-solid fa-xmark text-white"></em></button><button data-index="'+this.options.index+'" type="submit" @click="submitInlineEdit" class="btn btn-success"><em class="fa-solid fa-check"></em></button></div>'}cancel(){console.log("GenericEditor["+this.options.index+"].cancel()"),console.log(this.element),console.log(this.parent),this.parent.innerHTML=this.options.original}submitInlineEdit(t){console.log("Submit?")}}class b{put(t,n){return d.put("/api/v2/accounts/"+t,n)}}const l=window.location.href.split("/"),g=l[l.length-1];let w=function(){return{notifications:{error:{show:!1,text:"",url:""},success:{show:!1,text:"",url:""},wait:{show:!1,text:""}},totalPages:1,page:1,tableColumns:{name:{enabled:!0}},editors:{},sortingColumn:"",sortDirection:"",accounts:[],sort(e){return this.sortingColumn=e,this.sortDirection=this.sortDirection==="asc"?"desc":"asc",this.loadAccounts(),!1},formatMoney(e,t){return p(e,t)},format(e){return r(e,a.t("config.date_time_fns"))},init(){this.notifications.wait.show=!0,this.notifications.wait.text=a.t("firefly.wait_loading_data"),this.loadAccounts()},submitInlineEdit(e){e.preventDefault();const n=e.currentTarget.dataset.index,i=document.querySelectorAll('[data-index="'+n+'input"]')[0].value??"";if(i==="")return;const o=this.editors[n].options.field,s={};s[o]=i,console.log(s),console.log("New value is "+i+" for account #"+this.editors[n].options.id),new b().put(this.editors[n].options.id,s)},cancelInlineEdit(e){const n=e.currentTarget.dataset.index;this.editors[n].cancel()},triggerEdit(e){const t=e.currentTarget,n=t.dataset.index;this.editors[n]=new f,this.editors[n].setElement(t),this.editors[n].init(),this.editors[n].replace()},loadAccounts(){this.notifications.wait.show=!0,this.notifications.wait.text=a.t("firefly.wait_loading_data"),this.accounts=[];const e=[{column:this.sortingColumn,direction:this.sortDirection}];new m().index({sorting:e,type:g,page:this.page}).then(t=>{for(let n=0;n<t.data.data.length;n++)if(t.data.data.hasOwnProperty(n)){let i=t.data.data[n],o={id:parseInt(i.id),active:i.attributes.active,name:i.attributes.name,type:i.attributes.type,role:i.attributes.account_role,iban:i.attributes.iban===null?"":i.attributes.iban.match(/.{1,4}/g).join(" "),account_number:i.attributes.account_number===null?"":i.attributes.account_number,current_balance:i.attributes.current_balance,currency_code:i.attributes.currency_code,native_current_balance:i.attributes.native_current_balance,native_currency_code:i.attributes.native_currency_code,last_activity:i.attributes.last_activity===null?"":r(new Date(i.attributes.last_activity),"P")};this.accounts.push(o)}this.notifications.wait.show=!1})}}},c={index:w,dates:h};function u(){Object.keys(c).forEach(e=>{console.log(`Loading page component "${e}"`);let t=c[e]();Alpine.data(e,()=>t)}),Alpine.start()}document.addEventListener("firefly-iii-bootstrapped",()=>{console.log("Loaded through event listener."),u()});window.bootstrapped&&(console.log("Loaded through window variable."),u());
|
||||
File diff suppressed because one or more lines are too long
Binary file not shown.
|
Before Width: | Height: | Size: 696 B |
Binary file not shown.
|
Before Width: | Height: | Size: 1.2 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 1.4 KiB |
@@ -1 +0,0 @@
|
||||
import{c as o}from"./create-empty-split-9549645c.js";import{f as _}from"./vendor-029c0fc2.js";function l(a,r){let n=[];for(let i in a)if(a.hasOwnProperty(i)){let e=a[i],t=o();t.transaction_journal_id=e.transaction_journal_id,t.transaction_group_id=r,t.bill_id=e.bill_id,t.bill_name=e.bill_name,t.budget_id=e.budget_id,t.budget_name=e.budget_name,t.category_name=e.category_name,t.category_id=e.category_id,t.piggy_bank_id=e.piggy_bank_id,t.piggy_bank_name=e.piggy_bank_name,t.book_date=e.book_date,t.due_date=e.due_date,t.interest_date=e.interest_date,t.invoice_date=e.invoice_date,t.payment_date=e.payment_date,t.process_date=e.process_date,t.external_url=e.external_url,t.internal_reference=e.internal_reference,t.notes=e.notes,t.tags=e.tags,t.amount=parseFloat(e.amount).toFixed(e.currency_decimal_places),t.currency_code=e.currency_code,e.foreign_amount!==null&&(t.forein_currency_code=e.foreign_currency_code,t.foreign_amount=parseFloat(e.foreign_amount).toFixed(e.foreign_currency_decimal_places)),t.date=_(new Date(e.date),"yyyy-MM-dd HH:mm"),t.description=e.description,t.destination_account={id:e.destination_id,name:e.destination_name,type:e.destination_type,alpine_name:e.destination_name},t.source_account={id:e.source_id,name:e.source_name,type:e.source_type,alpine_name:e.source_name},e.latitude!==null&&(t.hasLocation=!0,t.latitude=e.latitude,t.longitude=e.longitude,t.zoomLevel=e.zoom_level),n.push(t)}return n}export{l as p};
|
||||
@@ -1 +0,0 @@
|
||||
import{a as p}from"./format-money-89cf90df.js";class u{put(t,a){let r="/api/v2/transactions/"+parseInt(a.id);return p.put(r,t)}}export{u as P};
|
||||
File diff suppressed because one or more lines are too long
@@ -1 +0,0 @@
|
||||
.dark-editable-element{border-bottom:dashed 1px #0088cc;text-decoration:none;cursor:pointer}.dark-editable-element-disabled{border-bottom:none;cursor:default}.dark-editable-element-empty{font-style:italic;color:#d14}.dark-editable{max-width:none}.dark-editable-loader{font-size:5px;left:50%;top:50%;width:1em;height:1em;border-radius:50%;position:relative;text-indent:-9999em;-webkit-animation:load5 1.1s infinite ease;animation:load5 1.1s infinite ease;-webkit-transform:translateZ(0);-ms-transform:translateZ(0);transform:translateZ(0)}@-webkit-keyframes load5{0%,to{box-shadow:0 -2.6em #000,1.8em -1.8em #0003,2.5em 0 #0003,1.75em 1.75em #0003,0 2.5em #0003,-1.8em 1.8em #0003,-2.6em 0 #00000080,-1.8em -1.8em #000000b3}12.5%{box-shadow:0 -2.6em #000000b3,1.8em -1.8em #000,2.5em 0 #0003,1.75em 1.75em #0003,0 2.5em #0003,-1.8em 1.8em #0003,-2.6em 0 #0003,-1.8em -1.8em #00000080}25%{box-shadow:0 -2.6em #00000080,1.8em -1.8em #000000b3,2.5em 0 #000,1.75em 1.75em #0003,0 2.5em #0003,-1.8em 1.8em #0003,-2.6em 0 #0003,-1.8em -1.8em #0003}37.5%{box-shadow:0 -2.6em #0003,1.8em -1.8em #00000080,2.5em 0 #000000b3,1.75em 1.75em #000,0 2.5em #0003,-1.8em 1.8em #0003,-2.6em 0 #0003,-1.8em -1.8em #0003}50%{box-shadow:0 -2.6em #0003,1.8em -1.8em #0003,2.5em 0 #00000080,1.75em 1.75em #000000b3,0 2.5em #000,-1.8em 1.8em #0003,-2.6em 0 #0003,-1.8em -1.8em #0003}62.5%{box-shadow:0 -2.6em #0003,1.8em -1.8em #0003,2.5em 0 #0003,1.75em 1.75em #00000080,0 2.5em #000000b3,-1.8em 1.8em #000,-2.6em 0 #0003,-1.8em -1.8em #0003}75%{box-shadow:0 -2.6em #0003,1.8em -1.8em #0003,2.5em 0 #0003,1.75em 1.75em #0003,0 2.5em #00000080,-1.8em 1.8em #000000b3,-2.6em 0 #000,-1.8em -1.8em #0003}87.5%{box-shadow:0 -2.6em #0003,1.8em -1.8em #0003,2.5em 0 #0003,1.75em 1.75em #0003,0 2.5em #0003,-1.8em 1.8em #00000080,-2.6em 0 #000000b3,-1.8em -1.8em #000}}@keyframes load5{0%,to{box-shadow:0 -2.6em #000,1.8em -1.8em #0003,2.5em 0 #0003,1.75em 1.75em #0003,0 2.5em #0003,-1.8em 1.8em #0003,-2.6em 0 #00000080,-1.8em -1.8em #000000b3}12.5%{box-shadow:0 -2.6em #000000b3,1.8em -1.8em #000,2.5em 0 #0003,1.75em 1.75em #0003,0 2.5em #0003,-1.8em 1.8em #0003,-2.6em 0 #0003,-1.8em -1.8em #00000080}25%{box-shadow:0 -2.6em #00000080,1.8em -1.8em #000000b3,2.5em 0 #000,1.75em 1.75em #0003,0 2.5em #0003,-1.8em 1.8em #0003,-2.6em 0 #0003,-1.8em -1.8em #0003}37.5%{box-shadow:0 -2.6em #0003,1.8em -1.8em #00000080,2.5em 0 #000000b3,1.75em 1.75em #000,0 2.5em #0003,-1.8em 1.8em #0003,-2.6em 0 #0003,-1.8em -1.8em #0003}50%{box-shadow:0 -2.6em #0003,1.8em -1.8em #0003,2.5em 0 #00000080,1.75em 1.75em #000000b3,0 2.5em #000,-1.8em 1.8em #0003,-2.6em 0 #0003,-1.8em -1.8em #0003}62.5%{box-shadow:0 -2.6em #0003,1.8em -1.8em #0003,2.5em 0 #0003,1.75em 1.75em #00000080,0 2.5em #000000b3,-1.8em 1.8em #000,-2.6em 0 #0003,-1.8em -1.8em #0003}75%{box-shadow:0 -2.6em #0003,1.8em -1.8em #0003,2.5em 0 #0003,1.75em 1.75em #0003,0 2.5em #00000080,-1.8em 1.8em #000000b3,-2.6em 0 #000,-1.8em -1.8em #0003}87.5%{box-shadow:0 -2.6em #0003,1.8em -1.8em #0003,2.5em 0 #0003,1.75em 1.75em #0003,0 2.5em #0003,-1.8em 1.8em #00000080,-2.6em 0 #000000b3,-1.8em -1.8em #000}}
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -1,199 +0,0 @@
|
||||
{
|
||||
"_create-empty-split-9549645c.js": {
|
||||
"file": "assets/create-empty-split-9549645c.js",
|
||||
"imports": [
|
||||
"_vendor-029c0fc2.js"
|
||||
]
|
||||
},
|
||||
"_format-money-89cf90df.js": {
|
||||
"file": "assets/format-money-89cf90df.js",
|
||||
"imports": [
|
||||
"_vendor-029c0fc2.js"
|
||||
]
|
||||
},
|
||||
"_get-23aadb69.js": {
|
||||
"file": "assets/get-23aadb69.js",
|
||||
"imports": [
|
||||
"_format-money-89cf90df.js",
|
||||
"_vendor-029c0fc2.js"
|
||||
]
|
||||
},
|
||||
"_get-58830780.js": {
|
||||
"file": "assets/get-58830780.js",
|
||||
"imports": [
|
||||
"_format-money-89cf90df.js"
|
||||
]
|
||||
},
|
||||
"_get-b646f004.js": {
|
||||
"file": "assets/get-b646f004.js",
|
||||
"imports": [
|
||||
"_format-money-89cf90df.js"
|
||||
]
|
||||
},
|
||||
"_parse-downloaded-splits-2d74acfc.js": {
|
||||
"file": "assets/parse-downloaded-splits-2d74acfc.js",
|
||||
"imports": [
|
||||
"_create-empty-split-9549645c.js",
|
||||
"_vendor-029c0fc2.js"
|
||||
]
|
||||
},
|
||||
"_put-c581fff2.js": {
|
||||
"file": "assets/put-c581fff2.js",
|
||||
"imports": [
|
||||
"_format-money-89cf90df.js"
|
||||
]
|
||||
},
|
||||
"_splice-errors-into-transactions-81484c73.js": {
|
||||
"file": "assets/splice-errors-into-transactions-81484c73.js",
|
||||
"imports": [
|
||||
"_format-money-89cf90df.js",
|
||||
"_get-58830780.js",
|
||||
"_vendor-029c0fc2.js"
|
||||
]
|
||||
},
|
||||
"_vendor-029c0fc2.js": {
|
||||
"assets": [
|
||||
"assets/layers-1dbbe9d0.png",
|
||||
"assets/layers-2x-066daca8.png",
|
||||
"assets/marker-icon-574c3a5c.png"
|
||||
],
|
||||
"css": [
|
||||
"assets/vendor-52daf6b6.css"
|
||||
],
|
||||
"file": "assets/vendor-029c0fc2.js"
|
||||
},
|
||||
"grid-ff3-theme.css": {
|
||||
"file": "assets/grid-ff3-theme-badb0a41.css",
|
||||
"src": "grid-ff3-theme.css"
|
||||
},
|
||||
"node_modules/@fortawesome/fontawesome-free/webfonts/fa-brands-400.ttf": {
|
||||
"file": "assets/fa-brands-400-5656d596.ttf",
|
||||
"src": "node_modules/@fortawesome/fontawesome-free/webfonts/fa-brands-400.ttf"
|
||||
},
|
||||
"node_modules/@fortawesome/fontawesome-free/webfonts/fa-brands-400.woff2": {
|
||||
"file": "assets/fa-brands-400-3a8924cd.woff2",
|
||||
"src": "node_modules/@fortawesome/fontawesome-free/webfonts/fa-brands-400.woff2"
|
||||
},
|
||||
"node_modules/@fortawesome/fontawesome-free/webfonts/fa-regular-400.ttf": {
|
||||
"file": "assets/fa-regular-400-5d02dc9b.ttf",
|
||||
"src": "node_modules/@fortawesome/fontawesome-free/webfonts/fa-regular-400.ttf"
|
||||
},
|
||||
"node_modules/@fortawesome/fontawesome-free/webfonts/fa-regular-400.woff2": {
|
||||
"file": "assets/fa-regular-400-2bccecf0.woff2",
|
||||
"src": "node_modules/@fortawesome/fontawesome-free/webfonts/fa-regular-400.woff2"
|
||||
},
|
||||
"node_modules/@fortawesome/fontawesome-free/webfonts/fa-solid-900.ttf": {
|
||||
"file": "assets/fa-solid-900-fbbf06d7.ttf",
|
||||
"src": "node_modules/@fortawesome/fontawesome-free/webfonts/fa-solid-900.ttf"
|
||||
},
|
||||
"node_modules/@fortawesome/fontawesome-free/webfonts/fa-solid-900.woff2": {
|
||||
"file": "assets/fa-solid-900-9fc85f3a.woff2",
|
||||
"src": "node_modules/@fortawesome/fontawesome-free/webfonts/fa-solid-900.woff2"
|
||||
},
|
||||
"node_modules/leaflet/dist/images/layers-2x.png": {
|
||||
"file": "assets/layers-2x-066daca8.png",
|
||||
"src": "node_modules/leaflet/dist/images/layers-2x.png"
|
||||
},
|
||||
"node_modules/leaflet/dist/images/layers.png": {
|
||||
"file": "assets/layers-1dbbe9d0.png",
|
||||
"src": "node_modules/leaflet/dist/images/layers.png"
|
||||
},
|
||||
"node_modules/leaflet/dist/images/marker-icon.png": {
|
||||
"file": "assets/marker-icon-574c3a5c.png",
|
||||
"src": "node_modules/leaflet/dist/images/marker-icon.png"
|
||||
},
|
||||
"resources/assets/v2/pages/accounts/index.js": {
|
||||
"css": [
|
||||
"assets/grid-ff3-theme-badb0a41.css"
|
||||
],
|
||||
"file": "assets/index-56152516.js",
|
||||
"imports": [
|
||||
"_format-money-89cf90df.js",
|
||||
"_vendor-029c0fc2.js",
|
||||
"_get-23aadb69.js"
|
||||
],
|
||||
"isEntry": true,
|
||||
"src": "resources/assets/v2/pages/accounts/index.js"
|
||||
},
|
||||
"resources/assets/v2/pages/dashboard/dashboard.js": {
|
||||
"file": "assets/dashboard-f6f6ae3f.js",
|
||||
"imports": [
|
||||
"_format-money-89cf90df.js",
|
||||
"_vendor-029c0fc2.js",
|
||||
"_get-23aadb69.js",
|
||||
"_get-b646f004.js",
|
||||
"_get-58830780.js"
|
||||
],
|
||||
"isEntry": true,
|
||||
"src": "resources/assets/v2/pages/dashboard/dashboard.js"
|
||||
},
|
||||
"resources/assets/v2/pages/transactions/create.js": {
|
||||
"file": "assets/create-dec509ea.js",
|
||||
"imports": [
|
||||
"_format-money-89cf90df.js",
|
||||
"_create-empty-split-9549645c.js",
|
||||
"_splice-errors-into-transactions-81484c73.js",
|
||||
"_vendor-029c0fc2.js",
|
||||
"_get-58830780.js"
|
||||
],
|
||||
"isEntry": true,
|
||||
"src": "resources/assets/v2/pages/transactions/create.js"
|
||||
},
|
||||
"resources/assets/v2/pages/transactions/edit.js": {
|
||||
"file": "assets/edit-990ac3ab.js",
|
||||
"imports": [
|
||||
"_format-money-89cf90df.js",
|
||||
"_get-b646f004.js",
|
||||
"_parse-downloaded-splits-2d74acfc.js",
|
||||
"_splice-errors-into-transactions-81484c73.js",
|
||||
"_vendor-029c0fc2.js",
|
||||
"_create-empty-split-9549645c.js",
|
||||
"_put-c581fff2.js",
|
||||
"_get-58830780.js"
|
||||
],
|
||||
"isEntry": true,
|
||||
"src": "resources/assets/v2/pages/transactions/edit.js"
|
||||
},
|
||||
"resources/assets/v2/pages/transactions/index.js": {
|
||||
"css": [
|
||||
"assets/grid-ff3-theme-badb0a41.css"
|
||||
],
|
||||
"file": "assets/index-979da1db.js",
|
||||
"imports": [
|
||||
"_format-money-89cf90df.js",
|
||||
"_vendor-029c0fc2.js",
|
||||
"_put-c581fff2.js",
|
||||
"_get-b646f004.js"
|
||||
],
|
||||
"isEntry": true,
|
||||
"src": "resources/assets/v2/pages/transactions/index.js"
|
||||
},
|
||||
"resources/assets/v2/pages/transactions/show.css": {
|
||||
"file": "assets/show-8b1429e5.css",
|
||||
"src": "resources/assets/v2/pages/transactions/show.css"
|
||||
},
|
||||
"resources/assets/v2/pages/transactions/show.js": {
|
||||
"css": [
|
||||
"assets/show-8b1429e5.css"
|
||||
],
|
||||
"file": "assets/show-31120d76.js",
|
||||
"imports": [
|
||||
"_format-money-89cf90df.js",
|
||||
"_vendor-029c0fc2.js",
|
||||
"_get-b646f004.js",
|
||||
"_parse-downloaded-splits-2d74acfc.js",
|
||||
"_create-empty-split-9549645c.js"
|
||||
],
|
||||
"isEntry": true,
|
||||
"src": "resources/assets/v2/pages/transactions/show.js"
|
||||
},
|
||||
"resources/assets/v2/sass/app.scss": {
|
||||
"file": "assets/app-de4f62e0.css",
|
||||
"isEntry": true,
|
||||
"src": "resources/assets/v2/sass/app.scss"
|
||||
},
|
||||
"vendor.css": {
|
||||
"file": "assets/vendor-52daf6b6.css",
|
||||
"src": "vendor.css"
|
||||
}
|
||||
}
|
||||
3
public/v1/js/.gitignore
vendored
Normal file
3
public/v1/js/.gitignore
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
*.LICENSE.txt
|
||||
*.js
|
||||
#webhooks
|
||||
File diff suppressed because one or more lines are too long
@@ -1,16 +0,0 @@
|
||||
/*!
|
||||
* Bootstrap v3.4.1 (https://getbootstrap.com/)
|
||||
* Copyright 2011-2019 Twitter, Inc.
|
||||
* Licensed under the MIT license
|
||||
*/
|
||||
|
||||
/*!
|
||||
* jQuery JavaScript Library v3.7.1
|
||||
* https://jquery.com/
|
||||
*
|
||||
* Copyright OpenJS Foundation and other contributors
|
||||
* Released under the MIT license
|
||||
* https://jquery.org/license
|
||||
*
|
||||
* Date: 2023-08-28T13:37Z
|
||||
*/
|
||||
File diff suppressed because one or more lines are too long
@@ -1,5 +0,0 @@
|
||||
/*!
|
||||
* Vue.js v2.7.16
|
||||
* (c) 2014-2023 Evan You
|
||||
* Released under the MIT License.
|
||||
*/
|
||||
File diff suppressed because one or more lines are too long
@@ -1,8 +0,0 @@
|
||||
/*!
|
||||
* The buffer module from node.js, for the browser.
|
||||
*
|
||||
* @author Feross Aboukhadijeh <http://feross.org>
|
||||
* @license MIT
|
||||
*/
|
||||
|
||||
/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh <https://feross.org/opensource> */
|
||||
File diff suppressed because one or more lines are too long
@@ -1,8 +0,0 @@
|
||||
/*!
|
||||
* The buffer module from node.js, for the browser.
|
||||
*
|
||||
* @author Feross Aboukhadijeh <http://feross.org>
|
||||
* @license MIT
|
||||
*/
|
||||
|
||||
/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh <https://feross.org/opensource> */
|
||||
@@ -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.';
|
||||
}
|
||||
|
||||
File diff suppressed because one or more lines are too long
@@ -1,8 +0,0 @@
|
||||
/*!
|
||||
* The buffer module from node.js, for the browser.
|
||||
*
|
||||
* @author Feross Aboukhadijeh <http://feross.org>
|
||||
* @license MIT
|
||||
*/
|
||||
|
||||
/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh <https://feross.org/opensource> */
|
||||
0
public/v1/js/webhooks/.gitkeep
Normal file
0
public/v1/js/webhooks/.gitkeep
Normal file
File diff suppressed because one or more lines are too long
@@ -1,8 +0,0 @@
|
||||
/*!
|
||||
* The buffer module from node.js, for the browser.
|
||||
*
|
||||
* @author Feross Aboukhadijeh <http://feross.org>
|
||||
* @license MIT
|
||||
*/
|
||||
|
||||
/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh <https://feross.org/opensource> */
|
||||
File diff suppressed because one or more lines are too long
@@ -1,8 +0,0 @@
|
||||
/*!
|
||||
* The buffer module from node.js, for the browser.
|
||||
*
|
||||
* @author Feross Aboukhadijeh <http://feross.org>
|
||||
* @license MIT
|
||||
*/
|
||||
|
||||
/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh <https://feross.org/opensource> */
|
||||
File diff suppressed because one or more lines are too long
@@ -1,8 +0,0 @@
|
||||
/*!
|
||||
* The buffer module from node.js, for the browser.
|
||||
*
|
||||
* @author Feross Aboukhadijeh <http://feross.org>
|
||||
* @license MIT
|
||||
*/
|
||||
|
||||
/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh <https://feross.org/opensource> */
|
||||
File diff suppressed because one or more lines are too long
@@ -1,8 +0,0 @@
|
||||
/*!
|
||||
* The buffer module from node.js, for the browser.
|
||||
*
|
||||
* @author Feross Aboukhadijeh <http://feross.org>
|
||||
* @license MIT
|
||||
*/
|
||||
|
||||
/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh <https://feross.org/opensource> */
|
||||
@@ -2,13 +2,18 @@
|
||||
"config": {
|
||||
"html_language": "bg",
|
||||
"date_time_fns": "MMMM do, yyyy @ HH:mm:ss",
|
||||
"month_and_day_fns": "d MMMM y",
|
||||
"date_time_fns_short": "MMMM do, yyyy @ HH:mm"
|
||||
},
|
||||
"validation": {
|
||||
"bad_type_source": "Firefly III can't determine the transaction type based on this source account.",
|
||||
"bad_type_destination": "Firefly III can't determine the transaction type based on this destination account."
|
||||
},
|
||||
"firefly": {
|
||||
"spent": "\u041f\u043e\u0445\u0430\u0440\u0447\u0435\u043d\u0438",
|
||||
"left": "\u041e\u0441\u0442\u0430\u043d\u0430\u043b\u0438",
|
||||
"paid": "\u041f\u043b\u0430\u0442\u0435\u043d\u0438",
|
||||
"errors_submission_v2": "There was something wrong with your submission. Please check out the errors below: %{errorMessage}",
|
||||
"errors_submission_v2": "There was something wrong with your submission. Please check out the errors below: {{errorMessage}}",
|
||||
"unpaid": "\u041d\u0435\u043f\u043b\u0430\u0442\u0435\u043d\u0438",
|
||||
"default_group_title_name_plain": "ungrouped",
|
||||
"subscriptions_in_group": "Suscripciones en el grupo \"%{title}\"",
|
||||
@@ -23,7 +28,7 @@
|
||||
"unknown_dest_plain": "Unknown destination account",
|
||||
"unknown_any_plain": "Unknown account",
|
||||
"unknown_budget_plain": "No budget",
|
||||
"stored_journal_js": "Successfully created new transaction \"%{description}\"",
|
||||
"stored_journal_js": "Successfully created new transaction \"{{description}}\"",
|
||||
"wait_loading_transaction": "Please wait for the form to load",
|
||||
"nothing_found": "(nothing found)",
|
||||
"wait_loading_data": "Please wait for your information to load...",
|
||||
@@ -38,6 +43,11 @@
|
||||
"account_type_Revenue account": "Revenue account",
|
||||
"account_type_Debt": "\u0414\u044a\u043b\u0433",
|
||||
"account_type_Loan": "\u0417\u0430\u0435\u043c",
|
||||
"account_type_Mortgage": "\u0418\u043f\u043e\u0442\u0435\u043a\u0430"
|
||||
"account_type_Mortgage": "\u0418\u043f\u043e\u0442\u0435\u043a\u0430",
|
||||
"account_role_defaultAsset": "\u0421\u043c\u0435\u0442\u043a\u0430 \u0437\u0430 \u0430\u043a\u0442\u0438\u0432\u0438 \u043f\u043e \u043f\u043e\u0434\u0440\u0430\u0437\u0431\u0438\u0440\u0430\u043d\u0435",
|
||||
"account_role_sharedAsset": "\u0421\u043c\u0435\u0442\u043a\u0430 \u0437\u0430 \u0441\u043f\u043e\u0434\u0435\u043b\u0435\u043d\u0438 \u0430\u043a\u0442\u0438\u0432\u0438",
|
||||
"account_role_savingAsset": "\u0421\u043f\u0435\u0441\u0442\u043e\u0432\u043d\u0430 \u0441\u043c\u0435\u0442\u043a\u0430",
|
||||
"account_role_ccAsset": "\u041a\u0440\u0435\u0434\u0438\u0442\u043d\u0430 \u043a\u0430\u0440\u0442\u0430",
|
||||
"account_role_cashWalletAsset": "\u041f\u0430\u0440\u0438\u0447\u0435\u043d \u043f\u043e\u0440\u0442\u0444\u0435\u0439\u043b"
|
||||
}
|
||||
}
|
||||
@@ -2,13 +2,18 @@
|
||||
"config": {
|
||||
"html_language": "bg",
|
||||
"date_time_fns": "MMMM do, yyyy @ HH:mm:ss",
|
||||
"month_and_day_fns": "d MMMM y",
|
||||
"date_time_fns_short": "MMMM do, yyyy @ HH:mm"
|
||||
},
|
||||
"validation": {
|
||||
"bad_type_source": "Firefly III can't determine the transaction type based on this source account.",
|
||||
"bad_type_destination": "Firefly III can't determine the transaction type based on this destination account."
|
||||
},
|
||||
"firefly": {
|
||||
"spent": "\u041f\u043e\u0445\u0430\u0440\u0447\u0435\u043d\u0438",
|
||||
"left": "\u041e\u0441\u0442\u0430\u043d\u0430\u043b\u0438",
|
||||
"paid": "\u041f\u043b\u0430\u0442\u0435\u043d\u0438",
|
||||
"errors_submission_v2": "There was something wrong with your submission. Please check out the errors below: %{errorMessage}",
|
||||
"errors_submission_v2": "There was something wrong with your submission. Please check out the errors below: {{errorMessage}}",
|
||||
"unpaid": "\u041d\u0435\u043f\u043b\u0430\u0442\u0435\u043d\u0438",
|
||||
"default_group_title_name_plain": "ungrouped",
|
||||
"subscriptions_in_group": "Suscripciones en el grupo \"%{title}\"",
|
||||
@@ -23,7 +28,7 @@
|
||||
"unknown_dest_plain": "Unknown destination account",
|
||||
"unknown_any_plain": "Unknown account",
|
||||
"unknown_budget_plain": "No budget",
|
||||
"stored_journal_js": "Successfully created new transaction \"%{description}\"",
|
||||
"stored_journal_js": "Successfully created new transaction \"{{description}}\"",
|
||||
"wait_loading_transaction": "Please wait for the form to load",
|
||||
"nothing_found": "(nothing found)",
|
||||
"wait_loading_data": "Please wait for your information to load...",
|
||||
@@ -38,6 +43,11 @@
|
||||
"account_type_Revenue account": "Revenue account",
|
||||
"account_type_Debt": "\u0414\u044a\u043b\u0433",
|
||||
"account_type_Loan": "\u0417\u0430\u0435\u043c",
|
||||
"account_type_Mortgage": "\u0418\u043f\u043e\u0442\u0435\u043a\u0430"
|
||||
"account_type_Mortgage": "\u0418\u043f\u043e\u0442\u0435\u043a\u0430",
|
||||
"account_role_defaultAsset": "\u0421\u043c\u0435\u0442\u043a\u0430 \u0437\u0430 \u0430\u043a\u0442\u0438\u0432\u0438 \u043f\u043e \u043f\u043e\u0434\u0440\u0430\u0437\u0431\u0438\u0440\u0430\u043d\u0435",
|
||||
"account_role_sharedAsset": "\u0421\u043c\u0435\u0442\u043a\u0430 \u0437\u0430 \u0441\u043f\u043e\u0434\u0435\u043b\u0435\u043d\u0438 \u0430\u043a\u0442\u0438\u0432\u0438",
|
||||
"account_role_savingAsset": "\u0421\u043f\u0435\u0441\u0442\u043e\u0432\u043d\u0430 \u0441\u043c\u0435\u0442\u043a\u0430",
|
||||
"account_role_ccAsset": "\u041a\u0440\u0435\u0434\u0438\u0442\u043d\u0430 \u043a\u0430\u0440\u0442\u0430",
|
||||
"account_role_cashWalletAsset": "\u041f\u0430\u0440\u0438\u0447\u0435\u043d \u043f\u043e\u0440\u0442\u0444\u0435\u0439\u043b"
|
||||
}
|
||||
}
|
||||
@@ -2,13 +2,18 @@
|
||||
"config": {
|
||||
"html_language": "ca",
|
||||
"date_time_fns": "D [de\/d'] MMMM yyyy [a les] HH:mm:ss",
|
||||
"month_and_day_fns": "d MMMM y",
|
||||
"date_time_fns_short": "MMMM do, yyyy @ HH:mm"
|
||||
},
|
||||
"validation": {
|
||||
"bad_type_source": "Firefly III no pot determinar el tipus de transacci\u00f3 a partir d'aquest compte font.",
|
||||
"bad_type_destination": "Firefly III no pot determinar el tipus de transacci\u00f3 a partir d'aquest compte de dest\u00ed."
|
||||
},
|
||||
"firefly": {
|
||||
"spent": "Gastat",
|
||||
"left": "Queda",
|
||||
"paid": "Pagat",
|
||||
"errors_submission_v2": "Hi ha hagut un error amb el teu enviament. Per favor, comprova els seg\u00fcents errors: %{errorMessage}",
|
||||
"errors_submission_v2": "Hi ha hagut un error amb el teu enviament. Per favor, comprova els seg\u00fcents errors: {{errorMessage}}",
|
||||
"unpaid": "Pendent de pagament",
|
||||
"default_group_title_name_plain": "no agrupades",
|
||||
"subscriptions_in_group": "Subscripcions al grup \"%{title}\"",
|
||||
@@ -23,7 +28,7 @@
|
||||
"unknown_dest_plain": "Compte de dest\u00ed desconegut",
|
||||
"unknown_any_plain": "Compte desconegut",
|
||||
"unknown_budget_plain": "Cap pressupost",
|
||||
"stored_journal_js": "S'ha creat la transacci\u00f3 \"%{description}\" correctament",
|
||||
"stored_journal_js": "S'ha creat la transacci\u00f3 \"{{description}}\" correctament",
|
||||
"wait_loading_transaction": "Per favor, espera que carregui el formulari",
|
||||
"nothing_found": "(no s'ha trobat res)",
|
||||
"wait_loading_data": "Per favor, espera que carregui la teva informaci\u00f3...",
|
||||
@@ -38,6 +43,11 @@
|
||||
"account_type_Revenue account": "Compte d'ingressos",
|
||||
"account_type_Debt": "Deute",
|
||||
"account_type_Loan": "Cr\u00e8dit",
|
||||
"account_type_Mortgage": "Hipoteca"
|
||||
"account_type_Mortgage": "Hipoteca",
|
||||
"account_role_defaultAsset": "Compte d'actius per defecte",
|
||||
"account_role_sharedAsset": "Compte d'actius compartit",
|
||||
"account_role_savingAsset": "Compte d'estalvis",
|
||||
"account_role_ccAsset": "Targeta de cr\u00e8dit",
|
||||
"account_role_cashWalletAsset": "Cartera d'efectiu"
|
||||
}
|
||||
}
|
||||
@@ -2,13 +2,18 @@
|
||||
"config": {
|
||||
"html_language": "ca",
|
||||
"date_time_fns": "D [de\/d'] MMMM yyyy [a les] HH:mm:ss",
|
||||
"month_and_day_fns": "d MMMM y",
|
||||
"date_time_fns_short": "MMMM do, yyyy @ HH:mm"
|
||||
},
|
||||
"validation": {
|
||||
"bad_type_source": "Firefly III no pot determinar el tipus de transacci\u00f3 a partir d'aquest compte font.",
|
||||
"bad_type_destination": "Firefly III no pot determinar el tipus de transacci\u00f3 a partir d'aquest compte de dest\u00ed."
|
||||
},
|
||||
"firefly": {
|
||||
"spent": "Gastat",
|
||||
"left": "Queda",
|
||||
"paid": "Pagat",
|
||||
"errors_submission_v2": "Hi ha hagut un error amb el teu enviament. Per favor, comprova els seg\u00fcents errors: %{errorMessage}",
|
||||
"errors_submission_v2": "Hi ha hagut un error amb el teu enviament. Per favor, comprova els seg\u00fcents errors: {{errorMessage}}",
|
||||
"unpaid": "Pendent de pagament",
|
||||
"default_group_title_name_plain": "no agrupades",
|
||||
"subscriptions_in_group": "Subscripcions al grup \"%{title}\"",
|
||||
@@ -23,7 +28,7 @@
|
||||
"unknown_dest_plain": "Compte de dest\u00ed desconegut",
|
||||
"unknown_any_plain": "Compte desconegut",
|
||||
"unknown_budget_plain": "Cap pressupost",
|
||||
"stored_journal_js": "S'ha creat la transacci\u00f3 \"%{description}\" correctament",
|
||||
"stored_journal_js": "S'ha creat la transacci\u00f3 \"{{description}}\" correctament",
|
||||
"wait_loading_transaction": "Per favor, espera que carregui el formulari",
|
||||
"nothing_found": "(no s'ha trobat res)",
|
||||
"wait_loading_data": "Per favor, espera que carregui la teva informaci\u00f3...",
|
||||
@@ -38,6 +43,11 @@
|
||||
"account_type_Revenue account": "Compte d'ingressos",
|
||||
"account_type_Debt": "Deute",
|
||||
"account_type_Loan": "Cr\u00e8dit",
|
||||
"account_type_Mortgage": "Hipoteca"
|
||||
"account_type_Mortgage": "Hipoteca",
|
||||
"account_role_defaultAsset": "Compte d'actius per defecte",
|
||||
"account_role_sharedAsset": "Compte d'actius compartit",
|
||||
"account_role_savingAsset": "Compte d'estalvis",
|
||||
"account_role_ccAsset": "Targeta de cr\u00e8dit",
|
||||
"account_role_cashWalletAsset": "Cartera d'efectiu"
|
||||
}
|
||||
}
|
||||
@@ -2,13 +2,18 @@
|
||||
"config": {
|
||||
"html_language": "cs",
|
||||
"date_time_fns": "MMMM do, yyyy @ HH:mm:ss",
|
||||
"month_and_day_fns": "d MMMM, y",
|
||||
"date_time_fns_short": "MMMM do, yyyy @ HH:mm"
|
||||
},
|
||||
"validation": {
|
||||
"bad_type_source": "Firefly III can't determine the transaction type based on this source account.",
|
||||
"bad_type_destination": "Firefly III can't determine the transaction type based on this destination account."
|
||||
},
|
||||
"firefly": {
|
||||
"spent": "Utraceno",
|
||||
"left": "Zb\u00fdv\u00e1",
|
||||
"paid": "Zaplaceno",
|
||||
"errors_submission_v2": "There was something wrong with your submission. Please check out the errors below: %{errorMessage}",
|
||||
"errors_submission_v2": "There was something wrong with your submission. Please check out the errors below: {{errorMessage}}",
|
||||
"unpaid": "Nezaplaceno",
|
||||
"default_group_title_name_plain": "ungrouped",
|
||||
"subscriptions_in_group": "Subscriptions in group \"%{title}\"",
|
||||
@@ -23,7 +28,7 @@
|
||||
"unknown_dest_plain": "Unknown destination account",
|
||||
"unknown_any_plain": "Unknown account",
|
||||
"unknown_budget_plain": "No budget",
|
||||
"stored_journal_js": "Successfully created new transaction \"%{description}\"",
|
||||
"stored_journal_js": "Successfully created new transaction \"{{description}}\"",
|
||||
"wait_loading_transaction": "Please wait for the form to load",
|
||||
"nothing_found": "(nothing found)",
|
||||
"wait_loading_data": "Please wait for your information to load...",
|
||||
@@ -38,6 +43,11 @@
|
||||
"account_type_Revenue account": "Revenue account",
|
||||
"account_type_Debt": "Dluh",
|
||||
"account_type_Loan": "P\u016fj\u010dka",
|
||||
"account_type_Mortgage": "Hypot\u00e9ka"
|
||||
"account_type_Mortgage": "Hypot\u00e9ka",
|
||||
"account_role_defaultAsset": "V\u00fdchoz\u00ed \u00fa\u010det aktiv",
|
||||
"account_role_sharedAsset": "Sd\u00edlen\u00fd \u00fa\u010det aktiv",
|
||||
"account_role_savingAsset": "Spo\u0159ic\u00ed \u00fa\u010det",
|
||||
"account_role_ccAsset": "Kreditn\u00ed karta",
|
||||
"account_role_cashWalletAsset": "Pen\u011b\u017eenka"
|
||||
}
|
||||
}
|
||||
@@ -2,13 +2,18 @@
|
||||
"config": {
|
||||
"html_language": "cs",
|
||||
"date_time_fns": "MMMM do, yyyy @ HH:mm:ss",
|
||||
"month_and_day_fns": "d MMMM, y",
|
||||
"date_time_fns_short": "MMMM do, yyyy @ HH:mm"
|
||||
},
|
||||
"validation": {
|
||||
"bad_type_source": "Firefly III can't determine the transaction type based on this source account.",
|
||||
"bad_type_destination": "Firefly III can't determine the transaction type based on this destination account."
|
||||
},
|
||||
"firefly": {
|
||||
"spent": "Utraceno",
|
||||
"left": "Zb\u00fdv\u00e1",
|
||||
"paid": "Zaplaceno",
|
||||
"errors_submission_v2": "There was something wrong with your submission. Please check out the errors below: %{errorMessage}",
|
||||
"errors_submission_v2": "There was something wrong with your submission. Please check out the errors below: {{errorMessage}}",
|
||||
"unpaid": "Nezaplaceno",
|
||||
"default_group_title_name_plain": "ungrouped",
|
||||
"subscriptions_in_group": "Subscriptions in group \"%{title}\"",
|
||||
@@ -23,7 +28,7 @@
|
||||
"unknown_dest_plain": "Unknown destination account",
|
||||
"unknown_any_plain": "Unknown account",
|
||||
"unknown_budget_plain": "No budget",
|
||||
"stored_journal_js": "Successfully created new transaction \"%{description}\"",
|
||||
"stored_journal_js": "Successfully created new transaction \"{{description}}\"",
|
||||
"wait_loading_transaction": "Please wait for the form to load",
|
||||
"nothing_found": "(nothing found)",
|
||||
"wait_loading_data": "Please wait for your information to load...",
|
||||
@@ -38,6 +43,11 @@
|
||||
"account_type_Revenue account": "Revenue account",
|
||||
"account_type_Debt": "Dluh",
|
||||
"account_type_Loan": "P\u016fj\u010dka",
|
||||
"account_type_Mortgage": "Hypot\u00e9ka"
|
||||
"account_type_Mortgage": "Hypot\u00e9ka",
|
||||
"account_role_defaultAsset": "V\u00fdchoz\u00ed \u00fa\u010det aktiv",
|
||||
"account_role_sharedAsset": "Sd\u00edlen\u00fd \u00fa\u010det aktiv",
|
||||
"account_role_savingAsset": "Spo\u0159ic\u00ed \u00fa\u010det",
|
||||
"account_role_ccAsset": "Kreditn\u00ed karta",
|
||||
"account_role_cashWalletAsset": "Pen\u011b\u017eenka"
|
||||
}
|
||||
}
|
||||
@@ -2,13 +2,18 @@
|
||||
"config": {
|
||||
"html_language": "da",
|
||||
"date_time_fns": "MMMM g\u00f8r, yyyy @ HH:mm:ss",
|
||||
"month_and_day_fns": "d MMMM y",
|
||||
"date_time_fns_short": "MMMM do, yyyy @ HH:mm"
|
||||
},
|
||||
"validation": {
|
||||
"bad_type_source": "Firefly III kan ikke bestemme transaktionstypen baseret p\u00e5 denne kildekonto.",
|
||||
"bad_type_destination": "Firefly III kan ikke bestemme transaktionstypen baseret p\u00e5 denne destinationskonto."
|
||||
},
|
||||
"firefly": {
|
||||
"spent": "Spent",
|
||||
"left": "Left",
|
||||
"paid": "Paid",
|
||||
"errors_submission_v2": "There was something wrong with your submission. Please check out the errors below: %{errorMessage}",
|
||||
"errors_submission_v2": "There was something wrong with your submission. Please check out the errors below: {{errorMessage}}",
|
||||
"unpaid": "Ubetalt",
|
||||
"default_group_title_name_plain": "ungrouped",
|
||||
"subscriptions_in_group": "Subscriptions in group \"%{title}\"",
|
||||
@@ -23,7 +28,7 @@
|
||||
"unknown_dest_plain": "Unknown destination account",
|
||||
"unknown_any_plain": "Unknown account",
|
||||
"unknown_budget_plain": "No budget",
|
||||
"stored_journal_js": "Successfully created new transaction \"%{description}\"",
|
||||
"stored_journal_js": "Successfully created new transaction \"{{description}}\"",
|
||||
"wait_loading_transaction": "Please wait for the form to load",
|
||||
"nothing_found": "(nothing found)",
|
||||
"wait_loading_data": "Please wait for your information to load...",
|
||||
@@ -38,6 +43,11 @@
|
||||
"account_type_Revenue account": "Revenue account",
|
||||
"account_type_Debt": "G\u00e6ld",
|
||||
"account_type_Loan": "L\u00e5n",
|
||||
"account_type_Mortgage": "Pant"
|
||||
"account_type_Mortgage": "Pant",
|
||||
"account_role_defaultAsset": "Default asset account",
|
||||
"account_role_sharedAsset": "Shared asset account",
|
||||
"account_role_savingAsset": "Savings account",
|
||||
"account_role_ccAsset": "Credit card",
|
||||
"account_role_cashWalletAsset": "Cash wallet"
|
||||
}
|
||||
}
|
||||
@@ -2,13 +2,18 @@
|
||||
"config": {
|
||||
"html_language": "da",
|
||||
"date_time_fns": "MMMM g\u00f8r, yyyy @ HH:mm:ss",
|
||||
"month_and_day_fns": "d MMMM y",
|
||||
"date_time_fns_short": "MMMM do, yyyy @ HH:mm"
|
||||
},
|
||||
"validation": {
|
||||
"bad_type_source": "Firefly III kan ikke bestemme transaktionstypen baseret p\u00e5 denne kildekonto.",
|
||||
"bad_type_destination": "Firefly III kan ikke bestemme transaktionstypen baseret p\u00e5 denne destinationskonto."
|
||||
},
|
||||
"firefly": {
|
||||
"spent": "Spent",
|
||||
"left": "Left",
|
||||
"paid": "Paid",
|
||||
"errors_submission_v2": "There was something wrong with your submission. Please check out the errors below: %{errorMessage}",
|
||||
"errors_submission_v2": "There was something wrong with your submission. Please check out the errors below: {{errorMessage}}",
|
||||
"unpaid": "Ubetalt",
|
||||
"default_group_title_name_plain": "ungrouped",
|
||||
"subscriptions_in_group": "Subscriptions in group \"%{title}\"",
|
||||
@@ -23,7 +28,7 @@
|
||||
"unknown_dest_plain": "Unknown destination account",
|
||||
"unknown_any_plain": "Unknown account",
|
||||
"unknown_budget_plain": "No budget",
|
||||
"stored_journal_js": "Successfully created new transaction \"%{description}\"",
|
||||
"stored_journal_js": "Successfully created new transaction \"{{description}}\"",
|
||||
"wait_loading_transaction": "Please wait for the form to load",
|
||||
"nothing_found": "(nothing found)",
|
||||
"wait_loading_data": "Please wait for your information to load...",
|
||||
@@ -38,6 +43,11 @@
|
||||
"account_type_Revenue account": "Revenue account",
|
||||
"account_type_Debt": "G\u00e6ld",
|
||||
"account_type_Loan": "L\u00e5n",
|
||||
"account_type_Mortgage": "Pant"
|
||||
"account_type_Mortgage": "Pant",
|
||||
"account_role_defaultAsset": "Default asset account",
|
||||
"account_role_sharedAsset": "Shared asset account",
|
||||
"account_role_savingAsset": "Savings account",
|
||||
"account_role_ccAsset": "Credit card",
|
||||
"account_role_cashWalletAsset": "Cash wallet"
|
||||
}
|
||||
}
|
||||
@@ -2,13 +2,18 @@
|
||||
"config": {
|
||||
"html_language": "de",
|
||||
"date_time_fns": "dd. MMM. yyyy um HH:mm:ss",
|
||||
"month_and_day_fns": "D. MMMM Y",
|
||||
"date_time_fns_short": "dd. MMM. yyyy um HH:mm"
|
||||
},
|
||||
"validation": {
|
||||
"bad_type_source": "Firefly III kann die Buchungsart anhand dieses Quellkontos nicht ermitteln.",
|
||||
"bad_type_destination": "Firefly III kann die Buchungsart anhand dieses Zielkontos nicht ermitteln."
|
||||
},
|
||||
"firefly": {
|
||||
"spent": "Ausgegeben",
|
||||
"left": "\u00dcbrig",
|
||||
"paid": "Bezahlt",
|
||||
"errors_submission_v2": "Bei Ihren Eingaben stimmt etwas nicht. Bitte \u00fcberpr\u00fcfen Sie die nachfolgenden Fehler: %{errorMessage}",
|
||||
"errors_submission_v2": "Bei Ihrer \u00dcbermittlung ist ein Fehler aufgetreten. Bitte \u00fcberpr\u00fcfen Sie die unten stehenden Fehler: {{errorMessage}}",
|
||||
"unpaid": "Unbezahlt",
|
||||
"default_group_title_name_plain": "ungruppiert",
|
||||
"subscriptions_in_group": "Abonnements in Gruppe \"%{title}\"",
|
||||
@@ -23,7 +28,7 @@
|
||||
"unknown_dest_plain": "Unbekanntes Zielkonto",
|
||||
"unknown_any_plain": "Unbekanntes Konto",
|
||||
"unknown_budget_plain": "Kein Budget",
|
||||
"stored_journal_js": "Neue Buchung \u201e%{description}\u201d erfolgreich erstellt",
|
||||
"stored_journal_js": "Neue Buchung \u201e{{description}}\u201d erfolgreich erstellt",
|
||||
"wait_loading_transaction": "Bitte warten Sie, bis das Formular geladen wurde",
|
||||
"nothing_found": "(nichts gefunden)",
|
||||
"wait_loading_data": "Bitte warten Sie, bis Ihre Informationen geladen wurden \u2026",
|
||||
@@ -38,6 +43,11 @@
|
||||
"account_type_Revenue account": "Einnahmenkonto",
|
||||
"account_type_Debt": "Schuld",
|
||||
"account_type_Loan": "Darlehen",
|
||||
"account_type_Mortgage": "Hypothek"
|
||||
"account_type_Mortgage": "Hypothek",
|
||||
"account_role_defaultAsset": "Standard-Bestandskonto",
|
||||
"account_role_sharedAsset": "Gemeinsames Bestandskonto",
|
||||
"account_role_savingAsset": "Sparkonto",
|
||||
"account_role_ccAsset": "Kreditkarte",
|
||||
"account_role_cashWalletAsset": "Geldb\u00f6rse"
|
||||
}
|
||||
}
|
||||
@@ -2,13 +2,18 @@
|
||||
"config": {
|
||||
"html_language": "de",
|
||||
"date_time_fns": "dd. MMM. yyyy um HH:mm:ss",
|
||||
"month_and_day_fns": "D. MMMM Y",
|
||||
"date_time_fns_short": "dd. MMM. yyyy um HH:mm"
|
||||
},
|
||||
"validation": {
|
||||
"bad_type_source": "Firefly III kann die Buchungsart anhand dieses Quellkontos nicht ermitteln.",
|
||||
"bad_type_destination": "Firefly III kann die Buchungsart anhand dieses Zielkontos nicht ermitteln."
|
||||
},
|
||||
"firefly": {
|
||||
"spent": "Ausgegeben",
|
||||
"left": "\u00dcbrig",
|
||||
"paid": "Bezahlt",
|
||||
"errors_submission_v2": "Bei Ihren Eingaben stimmt etwas nicht. Bitte \u00fcberpr\u00fcfen Sie die nachfolgenden Fehler: %{errorMessage}",
|
||||
"errors_submission_v2": "Bei Ihrer \u00dcbermittlung ist ein Fehler aufgetreten. Bitte \u00fcberpr\u00fcfen Sie die unten stehenden Fehler: {{errorMessage}}",
|
||||
"unpaid": "Unbezahlt",
|
||||
"default_group_title_name_plain": "ungruppiert",
|
||||
"subscriptions_in_group": "Abonnements in Gruppe \"%{title}\"",
|
||||
@@ -23,7 +28,7 @@
|
||||
"unknown_dest_plain": "Unbekanntes Zielkonto",
|
||||
"unknown_any_plain": "Unbekanntes Konto",
|
||||
"unknown_budget_plain": "Kein Budget",
|
||||
"stored_journal_js": "Neue Buchung \u201e%{description}\u201d erfolgreich erstellt",
|
||||
"stored_journal_js": "Neue Buchung \u201e{{description}}\u201d erfolgreich erstellt",
|
||||
"wait_loading_transaction": "Bitte warten Sie, bis das Formular geladen wurde",
|
||||
"nothing_found": "(nichts gefunden)",
|
||||
"wait_loading_data": "Bitte warten Sie, bis Ihre Informationen geladen wurden \u2026",
|
||||
@@ -38,6 +43,11 @@
|
||||
"account_type_Revenue account": "Einnahmenkonto",
|
||||
"account_type_Debt": "Schuld",
|
||||
"account_type_Loan": "Darlehen",
|
||||
"account_type_Mortgage": "Hypothek"
|
||||
"account_type_Mortgage": "Hypothek",
|
||||
"account_role_defaultAsset": "Standard-Bestandskonto",
|
||||
"account_role_sharedAsset": "Gemeinsames Bestandskonto",
|
||||
"account_role_savingAsset": "Sparkonto",
|
||||
"account_role_ccAsset": "Kreditkarte",
|
||||
"account_role_cashWalletAsset": "Geldb\u00f6rse"
|
||||
}
|
||||
}
|
||||
@@ -2,13 +2,18 @@
|
||||
"config": {
|
||||
"html_language": "el",
|
||||
"date_time_fns": "do MMMM yyyy @ HH:mm:ss",
|
||||
"month_and_day_fns": "d MMMM y",
|
||||
"date_time_fns_short": "MMMM do, yyyy @ HH:mm"
|
||||
},
|
||||
"validation": {
|
||||
"bad_type_source": "\u03a4\u03bf Firefly III \u03b4\u03b5\u03bd \u03bc\u03c0\u03bf\u03c1\u03b5\u03af \u03bd\u03b1 \u03ba\u03b1\u03b8\u03bf\u03c1\u03af\u03c3\u03b5\u03b9 \u03c4\u03bf\u03bd \u03c4\u03cd\u03c0\u03bf \u03c3\u03c5\u03bd\u03b1\u03bb\u03bb\u03b1\u03b3\u03ae\u03c2 \u03bc\u03b5 \u03b2\u03ac\u03c3\u03b7 \u03b1\u03c5\u03c4\u03cc \u03c4\u03bf \u03bb\u03bf\u03b3\u03b1\u03c1\u03b9\u03b1\u03c3\u03bc\u03cc \u03c0\u03c1\u03bf\u03ad\u03bb\u03b5\u03c5\u03c3\u03b7\u03c2.",
|
||||
"bad_type_destination": "\u03a4\u03bf Firefly III \u03b4\u03b5\u03bd \u03bc\u03c0\u03bf\u03c1\u03b5\u03af \u03bd\u03b1 \u03ba\u03b1\u03b8\u03bf\u03c1\u03af\u03c3\u03b5\u03b9 \u03c4\u03bf\u03bd \u03c4\u03cd\u03c0\u03bf \u03c3\u03c5\u03bd\u03b1\u03bb\u03bb\u03b1\u03b3\u03ae\u03c2 \u03bc\u03b5 \u03b2\u03ac\u03c3\u03b7 \u03b1\u03c5\u03c4\u03cc \u03c4\u03bf \u03bb\u03bf\u03b3\u03b1\u03c1\u03b9\u03b1\u03c3\u03bc\u03cc \u03c0\u03c1\u03bf\u03bf\u03c1\u03b9\u03c3\u03bc\u03bf\u03cd."
|
||||
},
|
||||
"firefly": {
|
||||
"spent": "\u0394\u03b1\u03c0\u03b1\u03bd\u03ae\u03b8\u03b7\u03ba\u03b1\u03bd",
|
||||
"left": "\u0391\u03c0\u03bf\u03bc\u03ad\u03bd\u03bf\u03c5\u03bd",
|
||||
"paid": "\u03a0\u03bb\u03b7\u03c1\u03c9\u03bc\u03ad\u03bd\u03bf",
|
||||
"errors_submission_v2": "There was something wrong with your submission. Please check out the errors below: %{errorMessage}",
|
||||
"errors_submission_v2": "There was something wrong with your submission. Please check out the errors below: {{errorMessage}}",
|
||||
"unpaid": "\u0391\u03c0\u03bb\u03ae\u03c1\u03c9\u03c4\u03bf",
|
||||
"default_group_title_name_plain": "ungrouped",
|
||||
"subscriptions_in_group": "Subscriptions in group \"%{title}\"",
|
||||
@@ -23,7 +28,7 @@
|
||||
"unknown_dest_plain": "Unknown destination account",
|
||||
"unknown_any_plain": "Unknown account",
|
||||
"unknown_budget_plain": "No budget",
|
||||
"stored_journal_js": "\u0394\u03b7\u03bc\u03b9\u03bf\u03c5\u03c1\u03b3\u03ae\u03b8\u03b7\u03ba\u03b5 \u03b5\u03c0\u03b9\u03c4\u03c5\u03c7\u03ce\u03c2 \u03b7 \u03bd\u03ad\u03b1 \u03c3\u03c5\u03bd\u03b1\u03bb\u03bb\u03b1\u03b3\u03ae \"%{description}\"",
|
||||
"stored_journal_js": "Successfully created new transaction \"{{description}}\"",
|
||||
"wait_loading_transaction": "Please wait for the form to load",
|
||||
"nothing_found": "(nothing found)",
|
||||
"wait_loading_data": "Please wait for your information to load...",
|
||||
@@ -38,6 +43,11 @@
|
||||
"account_type_Revenue account": "Revenue account",
|
||||
"account_type_Debt": "\u03a7\u03c1\u03ad\u03bf\u03c2",
|
||||
"account_type_Loan": "\u0394\u03ac\u03bd\u03b5\u03b9\u03bf",
|
||||
"account_type_Mortgage": "\u03a5\u03c0\u03bf\u03b8\u03ae\u03ba\u03b7"
|
||||
"account_type_Mortgage": "\u03a5\u03c0\u03bf\u03b8\u03ae\u03ba\u03b7",
|
||||
"account_role_defaultAsset": "\u0392\u03b1\u03c3\u03b9\u03ba\u03cc\u03c2 \u03bb\u03bf\u03b3\u03b1\u03c1\u03b9\u03b1\u03c3\u03bc\u03cc\u03c2 \u03ba\u03b5\u03c6\u03b1\u03bb\u03b1\u03af\u03bf\u03c5",
|
||||
"account_role_sharedAsset": "\u039a\u03bf\u03b9\u03bd\u03cc\u03c2 \u03bb\u03bf\u03b3\u03b1\u03c1\u03b9\u03b1\u03c3\u03bc\u03cc\u03c2 \u03ba\u03b5\u03c6\u03b1\u03bb\u03b1\u03af\u03bf\u03c5",
|
||||
"account_role_savingAsset": "\u039b\u03bf\u03b3\u03b1\u03c1\u03b9\u03b1\u03c3\u03bc\u03cc\u03c2 \u03b1\u03c0\u03bf\u03c4\u03b1\u03bc\u03af\u03b5\u03c5\u03c3\u03b7\u03c2",
|
||||
"account_role_ccAsset": "\u03a0\u03b9\u03c3\u03c4\u03c9\u03c4\u03b9\u03ba\u03ae \u03ba\u03ac\u03c1\u03c4\u03b1",
|
||||
"account_role_cashWalletAsset": "\u03a0\u03bf\u03c1\u03c4\u03bf\u03c6\u03cc\u03bb\u03b9 \u03bc\u03b5\u03c4\u03c1\u03b7\u03c4\u03ce\u03bd"
|
||||
}
|
||||
}
|
||||
@@ -2,13 +2,18 @@
|
||||
"config": {
|
||||
"html_language": "el",
|
||||
"date_time_fns": "do MMMM yyyy @ HH:mm:ss",
|
||||
"month_and_day_fns": "d MMMM y",
|
||||
"date_time_fns_short": "MMMM do, yyyy @ HH:mm"
|
||||
},
|
||||
"validation": {
|
||||
"bad_type_source": "\u03a4\u03bf Firefly III \u03b4\u03b5\u03bd \u03bc\u03c0\u03bf\u03c1\u03b5\u03af \u03bd\u03b1 \u03ba\u03b1\u03b8\u03bf\u03c1\u03af\u03c3\u03b5\u03b9 \u03c4\u03bf\u03bd \u03c4\u03cd\u03c0\u03bf \u03c3\u03c5\u03bd\u03b1\u03bb\u03bb\u03b1\u03b3\u03ae\u03c2 \u03bc\u03b5 \u03b2\u03ac\u03c3\u03b7 \u03b1\u03c5\u03c4\u03cc \u03c4\u03bf \u03bb\u03bf\u03b3\u03b1\u03c1\u03b9\u03b1\u03c3\u03bc\u03cc \u03c0\u03c1\u03bf\u03ad\u03bb\u03b5\u03c5\u03c3\u03b7\u03c2.",
|
||||
"bad_type_destination": "\u03a4\u03bf Firefly III \u03b4\u03b5\u03bd \u03bc\u03c0\u03bf\u03c1\u03b5\u03af \u03bd\u03b1 \u03ba\u03b1\u03b8\u03bf\u03c1\u03af\u03c3\u03b5\u03b9 \u03c4\u03bf\u03bd \u03c4\u03cd\u03c0\u03bf \u03c3\u03c5\u03bd\u03b1\u03bb\u03bb\u03b1\u03b3\u03ae\u03c2 \u03bc\u03b5 \u03b2\u03ac\u03c3\u03b7 \u03b1\u03c5\u03c4\u03cc \u03c4\u03bf \u03bb\u03bf\u03b3\u03b1\u03c1\u03b9\u03b1\u03c3\u03bc\u03cc \u03c0\u03c1\u03bf\u03bf\u03c1\u03b9\u03c3\u03bc\u03bf\u03cd."
|
||||
},
|
||||
"firefly": {
|
||||
"spent": "\u0394\u03b1\u03c0\u03b1\u03bd\u03ae\u03b8\u03b7\u03ba\u03b1\u03bd",
|
||||
"left": "\u0391\u03c0\u03bf\u03bc\u03ad\u03bd\u03bf\u03c5\u03bd",
|
||||
"paid": "\u03a0\u03bb\u03b7\u03c1\u03c9\u03bc\u03ad\u03bd\u03bf",
|
||||
"errors_submission_v2": "There was something wrong with your submission. Please check out the errors below: %{errorMessage}",
|
||||
"errors_submission_v2": "There was something wrong with your submission. Please check out the errors below: {{errorMessage}}",
|
||||
"unpaid": "\u0391\u03c0\u03bb\u03ae\u03c1\u03c9\u03c4\u03bf",
|
||||
"default_group_title_name_plain": "ungrouped",
|
||||
"subscriptions_in_group": "Subscriptions in group \"%{title}\"",
|
||||
@@ -23,7 +28,7 @@
|
||||
"unknown_dest_plain": "Unknown destination account",
|
||||
"unknown_any_plain": "Unknown account",
|
||||
"unknown_budget_plain": "No budget",
|
||||
"stored_journal_js": "\u0394\u03b7\u03bc\u03b9\u03bf\u03c5\u03c1\u03b3\u03ae\u03b8\u03b7\u03ba\u03b5 \u03b5\u03c0\u03b9\u03c4\u03c5\u03c7\u03ce\u03c2 \u03b7 \u03bd\u03ad\u03b1 \u03c3\u03c5\u03bd\u03b1\u03bb\u03bb\u03b1\u03b3\u03ae \"%{description}\"",
|
||||
"stored_journal_js": "Successfully created new transaction \"{{description}}\"",
|
||||
"wait_loading_transaction": "Please wait for the form to load",
|
||||
"nothing_found": "(nothing found)",
|
||||
"wait_loading_data": "Please wait for your information to load...",
|
||||
@@ -38,6 +43,11 @@
|
||||
"account_type_Revenue account": "Revenue account",
|
||||
"account_type_Debt": "\u03a7\u03c1\u03ad\u03bf\u03c2",
|
||||
"account_type_Loan": "\u0394\u03ac\u03bd\u03b5\u03b9\u03bf",
|
||||
"account_type_Mortgage": "\u03a5\u03c0\u03bf\u03b8\u03ae\u03ba\u03b7"
|
||||
"account_type_Mortgage": "\u03a5\u03c0\u03bf\u03b8\u03ae\u03ba\u03b7",
|
||||
"account_role_defaultAsset": "\u0392\u03b1\u03c3\u03b9\u03ba\u03cc\u03c2 \u03bb\u03bf\u03b3\u03b1\u03c1\u03b9\u03b1\u03c3\u03bc\u03cc\u03c2 \u03ba\u03b5\u03c6\u03b1\u03bb\u03b1\u03af\u03bf\u03c5",
|
||||
"account_role_sharedAsset": "\u039a\u03bf\u03b9\u03bd\u03cc\u03c2 \u03bb\u03bf\u03b3\u03b1\u03c1\u03b9\u03b1\u03c3\u03bc\u03cc\u03c2 \u03ba\u03b5\u03c6\u03b1\u03bb\u03b1\u03af\u03bf\u03c5",
|
||||
"account_role_savingAsset": "\u039b\u03bf\u03b3\u03b1\u03c1\u03b9\u03b1\u03c3\u03bc\u03cc\u03c2 \u03b1\u03c0\u03bf\u03c4\u03b1\u03bc\u03af\u03b5\u03c5\u03c3\u03b7\u03c2",
|
||||
"account_role_ccAsset": "\u03a0\u03b9\u03c3\u03c4\u03c9\u03c4\u03b9\u03ba\u03ae \u03ba\u03ac\u03c1\u03c4\u03b1",
|
||||
"account_role_cashWalletAsset": "\u03a0\u03bf\u03c1\u03c4\u03bf\u03c6\u03cc\u03bb\u03b9 \u03bc\u03b5\u03c4\u03c1\u03b7\u03c4\u03ce\u03bd"
|
||||
}
|
||||
}
|
||||
@@ -2,13 +2,18 @@
|
||||
"config": {
|
||||
"html_language": "en-gb",
|
||||
"date_time_fns": "MMMM do, yyyy @ HH:mm:ss",
|
||||
"month_and_day_fns": "MMMM d, y",
|
||||
"date_time_fns_short": "MMMM do, yyyy @ HH:mm"
|
||||
},
|
||||
"validation": {
|
||||
"bad_type_source": "Firefly III can't determine the transaction type based on this source account.",
|
||||
"bad_type_destination": "Firefly III can't determine the transaction type based on this destination account."
|
||||
},
|
||||
"firefly": {
|
||||
"spent": "Spent",
|
||||
"left": "Left",
|
||||
"paid": "Paid",
|
||||
"errors_submission_v2": "There was something wrong with your submission. Please check out the errors below: %{errorMessage}",
|
||||
"errors_submission_v2": "There was something wrong with your submission. Please check out the errors below: {{errorMessage}}",
|
||||
"unpaid": "Unpaid",
|
||||
"default_group_title_name_plain": "ungrouped",
|
||||
"subscriptions_in_group": "Subscriptions in group \"%{title}\"",
|
||||
@@ -23,7 +28,7 @@
|
||||
"unknown_dest_plain": "Unknown destination account",
|
||||
"unknown_any_plain": "Unknown account",
|
||||
"unknown_budget_plain": "No budget",
|
||||
"stored_journal_js": "Successfully created new transaction \"%{description}\"",
|
||||
"stored_journal_js": "Successfully created new transaction \"{{description}}\"",
|
||||
"wait_loading_transaction": "Please wait for the form to load",
|
||||
"nothing_found": "(nothing found)",
|
||||
"wait_loading_data": "Please wait for your information to load...",
|
||||
@@ -38,6 +43,11 @@
|
||||
"account_type_Revenue account": "Revenue account",
|
||||
"account_type_Debt": "Debt",
|
||||
"account_type_Loan": "Loan",
|
||||
"account_type_Mortgage": "Mortgage"
|
||||
"account_type_Mortgage": "Mortgage",
|
||||
"account_role_defaultAsset": "Default asset account",
|
||||
"account_role_sharedAsset": "Shared asset account",
|
||||
"account_role_savingAsset": "Savings account",
|
||||
"account_role_ccAsset": "Credit card",
|
||||
"account_role_cashWalletAsset": "Cash wallet"
|
||||
}
|
||||
}
|
||||
@@ -2,13 +2,18 @@
|
||||
"config": {
|
||||
"html_language": "en",
|
||||
"date_time_fns": "MMMM do, yyyy @ HH:mm:ss",
|
||||
"month_and_day_fns": "MMMM d, y",
|
||||
"date_time_fns_short": "MMMM do, yyyy @ HH:mm"
|
||||
},
|
||||
"validation": {
|
||||
"bad_type_source": "Firefly III can't determine the transaction type based on this source account.",
|
||||
"bad_type_destination": "Firefly III can't determine the transaction type based on this destination account."
|
||||
},
|
||||
"firefly": {
|
||||
"spent": "Spent",
|
||||
"left": "Left",
|
||||
"paid": "Paid",
|
||||
"errors_submission_v2": "There was something wrong with your submission. Please check out the errors below: %{errorMessage}",
|
||||
"errors_submission_v2": "There was something wrong with your submission. Please check out the errors below: {{errorMessage}}",
|
||||
"unpaid": "Unpaid",
|
||||
"default_group_title_name_plain": "ungrouped",
|
||||
"subscriptions_in_group": "Subscriptions in group \"%{title}\"",
|
||||
@@ -23,7 +28,7 @@
|
||||
"unknown_dest_plain": "Unknown destination account",
|
||||
"unknown_any_plain": "Unknown account",
|
||||
"unknown_budget_plain": "No budget",
|
||||
"stored_journal_js": "Successfully created new transaction \"%{description}\"",
|
||||
"stored_journal_js": "Successfully created new transaction \"{{description}}\"",
|
||||
"wait_loading_transaction": "Please wait for the form to load",
|
||||
"nothing_found": "(nothing found)",
|
||||
"wait_loading_data": "Please wait for your information to load...",
|
||||
@@ -38,6 +43,11 @@
|
||||
"account_type_Revenue account": "Revenue account",
|
||||
"account_type_Debt": "Debt",
|
||||
"account_type_Loan": "Loan",
|
||||
"account_type_Mortgage": "Mortgage"
|
||||
"account_type_Mortgage": "Mortgage",
|
||||
"account_role_defaultAsset": "Default asset account",
|
||||
"account_role_sharedAsset": "Shared asset account",
|
||||
"account_role_savingAsset": "Savings account",
|
||||
"account_role_ccAsset": "Credit card",
|
||||
"account_role_cashWalletAsset": "Cash wallet"
|
||||
}
|
||||
}
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user