mirror of
https://github.com/firefly-iii/firefly-iii.git
synced 2025-12-24 12:11:22 +00:00
Compare commits
24 Commits
develop-20
...
develop-20
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
a28b990cd1 | ||
|
|
452e9cb953 | ||
|
|
a64f137b39 | ||
|
|
c067d6aab0 | ||
|
|
119b9920a6 | ||
|
|
2ea57cdd38 | ||
|
|
bb94bdfdaf | ||
|
|
4de8398cc2 | ||
|
|
e6e8cd5d8a | ||
|
|
0b200309ba | ||
|
|
a184548912 | ||
|
|
c987191212 | ||
|
|
7009b444d9 | ||
|
|
06551d5367 | ||
|
|
a20622ac0c | ||
|
|
ca38117fca | ||
|
|
9478f78d4f | ||
|
|
5c2397bbae | ||
|
|
92fefef816 | ||
|
|
d3ced65524 | ||
|
|
29eb748831 | ||
|
|
252076ec1f | ||
|
|
bbec28591f | ||
|
|
075a360ba6 |
137
.ci/php-cs-fixer/composer.lock
generated
137
.ci/php-cs-fixer/composer.lock
generated
@@ -72,16 +72,16 @@
|
||||
},
|
||||
{
|
||||
"name": "composer/pcre",
|
||||
"version": "3.1.3",
|
||||
"version": "3.1.4",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/composer/pcre.git",
|
||||
"reference": "5b16e25a5355f1f3afdfc2f954a0a80aec4826a8"
|
||||
"reference": "04229f163664973f68f38f6f73d917799168ef24"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/composer/pcre/zipball/5b16e25a5355f1f3afdfc2f954a0a80aec4826a8",
|
||||
"reference": "5b16e25a5355f1f3afdfc2f954a0a80aec4826a8",
|
||||
"url": "https://api.github.com/repos/composer/pcre/zipball/04229f163664973f68f38f6f73d917799168ef24",
|
||||
"reference": "04229f163664973f68f38f6f73d917799168ef24",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -123,7 +123,7 @@
|
||||
],
|
||||
"support": {
|
||||
"issues": "https://github.com/composer/pcre/issues",
|
||||
"source": "https://github.com/composer/pcre/tree/3.1.3"
|
||||
"source": "https://github.com/composer/pcre/tree/3.1.4"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
@@ -139,7 +139,7 @@
|
||||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2024-03-19T10:26:25+00:00"
|
||||
"time": "2024-05-27T13:40:54+00:00"
|
||||
},
|
||||
{
|
||||
"name": "composer/semver",
|
||||
@@ -398,16 +398,16 @@
|
||||
},
|
||||
{
|
||||
"name": "friendsofphp/php-cs-fixer",
|
||||
"version": "v3.57.2",
|
||||
"version": "v3.58.1",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/PHP-CS-Fixer/PHP-CS-Fixer.git",
|
||||
"reference": "22f7f3145606df92b02fb1bd22c30abfce956d3c"
|
||||
"reference": "04e9424025677a86914b9a4944dbbf4060bb0aff"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/PHP-CS-Fixer/PHP-CS-Fixer/zipball/22f7f3145606df92b02fb1bd22c30abfce956d3c",
|
||||
"reference": "22f7f3145606df92b02fb1bd22c30abfce956d3c",
|
||||
"url": "https://api.github.com/repos/PHP-CS-Fixer/PHP-CS-Fixer/zipball/04e9424025677a86914b9a4944dbbf4060bb0aff",
|
||||
"reference": "04e9424025677a86914b9a4944dbbf4060bb0aff",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -486,7 +486,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.57.2"
|
||||
"source": "https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/tree/v3.58.1"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
@@ -494,7 +494,7 @@
|
||||
"type": "github"
|
||||
}
|
||||
],
|
||||
"time": "2024-05-20T20:41:57+00:00"
|
||||
"time": "2024-05-29T16:39:07+00:00"
|
||||
},
|
||||
{
|
||||
"name": "psr/container",
|
||||
@@ -950,16 +950,16 @@
|
||||
},
|
||||
{
|
||||
"name": "react/promise",
|
||||
"version": "v3.1.0",
|
||||
"version": "v3.2.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/reactphp/promise.git",
|
||||
"reference": "e563d55d1641de1dea9f5e84f3cccc66d2bfe02c"
|
||||
"reference": "8a164643313c71354582dc850b42b33fa12a4b63"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/reactphp/promise/zipball/e563d55d1641de1dea9f5e84f3cccc66d2bfe02c",
|
||||
"reference": "e563d55d1641de1dea9f5e84f3cccc66d2bfe02c",
|
||||
"url": "https://api.github.com/repos/reactphp/promise/zipball/8a164643313c71354582dc850b42b33fa12a4b63",
|
||||
"reference": "8a164643313c71354582dc850b42b33fa12a4b63",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -1011,7 +1011,7 @@
|
||||
],
|
||||
"support": {
|
||||
"issues": "https://github.com/reactphp/promise/issues",
|
||||
"source": "https://github.com/reactphp/promise/tree/v3.1.0"
|
||||
"source": "https://github.com/reactphp/promise/tree/v3.2.0"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
@@ -1019,7 +1019,7 @@
|
||||
"type": "open_collective"
|
||||
}
|
||||
],
|
||||
"time": "2023-11-16T16:21:57+00:00"
|
||||
"time": "2024-05-24T10:39:05+00:00"
|
||||
},
|
||||
{
|
||||
"name": "react/socket",
|
||||
@@ -1248,16 +1248,16 @@
|
||||
},
|
||||
{
|
||||
"name": "symfony/console",
|
||||
"version": "v7.0.7",
|
||||
"version": "v7.1.1",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/console.git",
|
||||
"reference": "c981e0e9380ce9f146416bde3150c79197ce9986"
|
||||
"reference": "9b008f2d7b21c74ef4d0c3de6077a642bc55ece3"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/console/zipball/c981e0e9380ce9f146416bde3150c79197ce9986",
|
||||
"reference": "c981e0e9380ce9f146416bde3150c79197ce9986",
|
||||
"url": "https://api.github.com/repos/symfony/console/zipball/9b008f2d7b21c74ef4d0c3de6077a642bc55ece3",
|
||||
"reference": "9b008f2d7b21c74ef4d0c3de6077a642bc55ece3",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -1321,7 +1321,7 @@
|
||||
"terminal"
|
||||
],
|
||||
"support": {
|
||||
"source": "https://github.com/symfony/console/tree/v7.0.7"
|
||||
"source": "https://github.com/symfony/console/tree/v7.1.1"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
@@ -1337,7 +1337,7 @@
|
||||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2024-04-18T09:29:19+00:00"
|
||||
"time": "2024-05-31T14:57:53+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/deprecation-contracts",
|
||||
@@ -1408,16 +1408,16 @@
|
||||
},
|
||||
{
|
||||
"name": "symfony/event-dispatcher",
|
||||
"version": "v7.0.7",
|
||||
"version": "v7.1.1",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/event-dispatcher.git",
|
||||
"reference": "db2a7fab994d67d92356bb39c367db115d9d30f9"
|
||||
"reference": "9fa7f7a21beb22a39a8f3f28618b29e50d7a55a7"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/db2a7fab994d67d92356bb39c367db115d9d30f9",
|
||||
"reference": "db2a7fab994d67d92356bb39c367db115d9d30f9",
|
||||
"url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/9fa7f7a21beb22a39a8f3f28618b29e50d7a55a7",
|
||||
"reference": "9fa7f7a21beb22a39a8f3f28618b29e50d7a55a7",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -1468,7 +1468,7 @@
|
||||
"description": "Provides tools that allow your application components to communicate with each other by dispatching events and listening to them",
|
||||
"homepage": "https://symfony.com",
|
||||
"support": {
|
||||
"source": "https://github.com/symfony/event-dispatcher/tree/v7.0.7"
|
||||
"source": "https://github.com/symfony/event-dispatcher/tree/v7.1.1"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
@@ -1484,7 +1484,7 @@
|
||||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2024-04-18T09:29:19+00:00"
|
||||
"time": "2024-05-31T14:57:53+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/event-dispatcher-contracts",
|
||||
@@ -1564,22 +1564,24 @@
|
||||
},
|
||||
{
|
||||
"name": "symfony/filesystem",
|
||||
"version": "v7.0.7",
|
||||
"version": "v7.1.1",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/filesystem.git",
|
||||
"reference": "cc168be6fbdcdf3401f50ae863ee3818ed4338f5"
|
||||
"reference": "802e87002f919296c9f606457d9fa327a0b3d6b2"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/filesystem/zipball/cc168be6fbdcdf3401f50ae863ee3818ed4338f5",
|
||||
"reference": "cc168be6fbdcdf3401f50ae863ee3818ed4338f5",
|
||||
"url": "https://api.github.com/repos/symfony/filesystem/zipball/802e87002f919296c9f606457d9fa327a0b3d6b2",
|
||||
"reference": "802e87002f919296c9f606457d9fa327a0b3d6b2",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"php": ">=8.2",
|
||||
"symfony/polyfill-ctype": "~1.8",
|
||||
"symfony/polyfill-mbstring": "~1.8",
|
||||
"symfony/polyfill-mbstring": "~1.8"
|
||||
},
|
||||
"require-dev": {
|
||||
"symfony/process": "^6.4|^7.0"
|
||||
},
|
||||
"type": "library",
|
||||
@@ -1608,7 +1610,7 @@
|
||||
"description": "Provides basic utilities for the filesystem",
|
||||
"homepage": "https://symfony.com",
|
||||
"support": {
|
||||
"source": "https://github.com/symfony/filesystem/tree/v7.0.7"
|
||||
"source": "https://github.com/symfony/filesystem/tree/v7.1.1"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
@@ -1624,20 +1626,20 @@
|
||||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2024-04-18T09:29:19+00:00"
|
||||
"time": "2024-05-31T14:57:53+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/finder",
|
||||
"version": "v7.0.7",
|
||||
"version": "v7.1.1",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/finder.git",
|
||||
"reference": "4d58f0f4fe95a30d7b538d71197135483560b97c"
|
||||
"reference": "fbb0ba67688b780efbc886c1a0a0948dcf7205d6"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/finder/zipball/4d58f0f4fe95a30d7b538d71197135483560b97c",
|
||||
"reference": "4d58f0f4fe95a30d7b538d71197135483560b97c",
|
||||
"url": "https://api.github.com/repos/symfony/finder/zipball/fbb0ba67688b780efbc886c1a0a0948dcf7205d6",
|
||||
"reference": "fbb0ba67688b780efbc886c1a0a0948dcf7205d6",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -1672,7 +1674,7 @@
|
||||
"description": "Finds files and directories via an intuitive fluent interface",
|
||||
"homepage": "https://symfony.com",
|
||||
"support": {
|
||||
"source": "https://github.com/symfony/finder/tree/v7.0.7"
|
||||
"source": "https://github.com/symfony/finder/tree/v7.1.1"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
@@ -1688,20 +1690,20 @@
|
||||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2024-04-28T11:44:19+00:00"
|
||||
"time": "2024-05-31T14:57:53+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/options-resolver",
|
||||
"version": "v7.0.7",
|
||||
"version": "v7.1.1",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/options-resolver.git",
|
||||
"reference": "23cc173858776ad451e31f053b1c9f47840b2cfa"
|
||||
"reference": "47aa818121ed3950acd2b58d1d37d08a94f9bf55"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/options-resolver/zipball/23cc173858776ad451e31f053b1c9f47840b2cfa",
|
||||
"reference": "23cc173858776ad451e31f053b1c9f47840b2cfa",
|
||||
"url": "https://api.github.com/repos/symfony/options-resolver/zipball/47aa818121ed3950acd2b58d1d37d08a94f9bf55",
|
||||
"reference": "47aa818121ed3950acd2b58d1d37d08a94f9bf55",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -1739,7 +1741,7 @@
|
||||
"options"
|
||||
],
|
||||
"support": {
|
||||
"source": "https://github.com/symfony/options-resolver/tree/v7.0.7"
|
||||
"source": "https://github.com/symfony/options-resolver/tree/v7.1.1"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
@@ -1755,7 +1757,7 @@
|
||||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2024-04-18T09:29:19+00:00"
|
||||
"time": "2024-05-31T14:57:53+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/polyfill-ctype",
|
||||
@@ -2233,16 +2235,16 @@
|
||||
},
|
||||
{
|
||||
"name": "symfony/process",
|
||||
"version": "v7.0.7",
|
||||
"version": "v7.1.1",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/process.git",
|
||||
"reference": "3839e56b94dd1dbd13235d27504e66baf23faba0"
|
||||
"reference": "febf90124323a093c7ee06fdb30e765ca3c20028"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/process/zipball/3839e56b94dd1dbd13235d27504e66baf23faba0",
|
||||
"reference": "3839e56b94dd1dbd13235d27504e66baf23faba0",
|
||||
"url": "https://api.github.com/repos/symfony/process/zipball/febf90124323a093c7ee06fdb30e765ca3c20028",
|
||||
"reference": "febf90124323a093c7ee06fdb30e765ca3c20028",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -2274,7 +2276,7 @@
|
||||
"description": "Executes commands in sub-processes",
|
||||
"homepage": "https://symfony.com",
|
||||
"support": {
|
||||
"source": "https://github.com/symfony/process/tree/v7.0.7"
|
||||
"source": "https://github.com/symfony/process/tree/v7.1.1"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
@@ -2290,7 +2292,7 @@
|
||||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2024-04-18T09:29:19+00:00"
|
||||
"time": "2024-05-31T14:57:53+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/service-contracts",
|
||||
@@ -2377,16 +2379,16 @@
|
||||
},
|
||||
{
|
||||
"name": "symfony/stopwatch",
|
||||
"version": "v7.0.7",
|
||||
"version": "v7.1.1",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/stopwatch.git",
|
||||
"reference": "41a7a24aa1dc82adf46a06bc292d1923acfe6b84"
|
||||
"reference": "5b75bb1ac2ba1b9d05c47fc4b3046a625377d23d"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/stopwatch/zipball/41a7a24aa1dc82adf46a06bc292d1923acfe6b84",
|
||||
"reference": "41a7a24aa1dc82adf46a06bc292d1923acfe6b84",
|
||||
"url": "https://api.github.com/repos/symfony/stopwatch/zipball/5b75bb1ac2ba1b9d05c47fc4b3046a625377d23d",
|
||||
"reference": "5b75bb1ac2ba1b9d05c47fc4b3046a625377d23d",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -2419,7 +2421,7 @@
|
||||
"description": "Provides a way to profile code",
|
||||
"homepage": "https://symfony.com",
|
||||
"support": {
|
||||
"source": "https://github.com/symfony/stopwatch/tree/v7.0.7"
|
||||
"source": "https://github.com/symfony/stopwatch/tree/v7.1.1"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
@@ -2435,20 +2437,20 @@
|
||||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2024-04-18T09:29:19+00:00"
|
||||
"time": "2024-05-31T14:57:53+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/string",
|
||||
"version": "v7.0.7",
|
||||
"version": "v7.1.1",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/string.git",
|
||||
"reference": "e405b5424dc2528e02e31ba26b83a79fd4eb8f63"
|
||||
"reference": "60bc311c74e0af215101235aa6f471bcbc032df2"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/string/zipball/e405b5424dc2528e02e31ba26b83a79fd4eb8f63",
|
||||
"reference": "e405b5424dc2528e02e31ba26b83a79fd4eb8f63",
|
||||
"url": "https://api.github.com/repos/symfony/string/zipball/60bc311c74e0af215101235aa6f471bcbc032df2",
|
||||
"reference": "60bc311c74e0af215101235aa6f471bcbc032df2",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -2462,6 +2464,7 @@
|
||||
"symfony/translation-contracts": "<2.5"
|
||||
},
|
||||
"require-dev": {
|
||||
"symfony/emoji": "^7.1",
|
||||
"symfony/error-handler": "^6.4|^7.0",
|
||||
"symfony/http-client": "^6.4|^7.0",
|
||||
"symfony/intl": "^6.4|^7.0",
|
||||
@@ -2505,7 +2508,7 @@
|
||||
"utf8"
|
||||
],
|
||||
"support": {
|
||||
"source": "https://github.com/symfony/string/tree/v7.0.7"
|
||||
"source": "https://github.com/symfony/string/tree/v7.1.1"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
@@ -2521,7 +2524,7 @@
|
||||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2024-04-18T09:29:19+00:00"
|
||||
"time": "2024-06-04T06:40:14+00:00"
|
||||
}
|
||||
],
|
||||
"packages-dev": [],
|
||||
|
||||
@@ -4,6 +4,7 @@ Over time, many people have contributed to Firefly III. Their efforts are not al
|
||||
Please find below all the people who contributed to the Firefly III code. Their names are mentioned in the year of their first contribution.
|
||||
|
||||
## 2024
|
||||
- Steve Wasiura
|
||||
- imlonghao
|
||||
- Rahman Yusuf
|
||||
- Michael Thomas
|
||||
|
||||
@@ -1,32 +0,0 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace FireflyIII\Console\Commands\Correction;
|
||||
|
||||
use FireflyIII\Console\Commands\ShowsFriendlyMessages;
|
||||
use FireflyIII\Support\Models\AccountBalanceCalculator;
|
||||
use Illuminate\Console\Command;
|
||||
|
||||
/**
|
||||
* Class CorrectionSkeleton
|
||||
*/
|
||||
class CorrectAccountBalance extends Command
|
||||
{
|
||||
use ShowsFriendlyMessages;
|
||||
protected $description = 'Recalculate all account balance amounts';
|
||||
|
||||
protected $signature = 'firefly-iii:correct-account-balance';
|
||||
|
||||
public function handle(): int
|
||||
{
|
||||
$this->correctBalanceAmounts();
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
private function correctBalanceAmounts(): void
|
||||
{
|
||||
AccountBalanceCalculator::recalculateAll();
|
||||
}
|
||||
}
|
||||
@@ -74,7 +74,6 @@ class CorrectDatabase extends Command
|
||||
'firefly-iii:unify-group-accounts',
|
||||
'firefly-iii:trigger-credit-recalculation',
|
||||
'firefly-iii:migrate-preferences',
|
||||
'firefly-iii:correct-account-balance',
|
||||
];
|
||||
foreach ($commands as $command) {
|
||||
$this->friendlyLine(sprintf('Now executing command "%s"', $command));
|
||||
|
||||
@@ -307,7 +307,7 @@ class ForceDecimalSize extends Command
|
||||
/** @var string $field */
|
||||
foreach ($fields as $field) {
|
||||
$value = $item->{$field};
|
||||
if (null === $value) {
|
||||
if (null === $value || '' === $value) {
|
||||
continue;
|
||||
}
|
||||
// fix $field by rounding it down correctly.
|
||||
|
||||
69
app/Console/Commands/Upgrade/CorrectAccountBalance.php
Normal file
69
app/Console/Commands/Upgrade/CorrectAccountBalance.php
Normal file
@@ -0,0 +1,69 @@
|
||||
<?php
|
||||
/*
|
||||
* CorrectAccountBalance.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\Console\Commands\Upgrade;
|
||||
|
||||
use FireflyIII\Console\Commands\ShowsFriendlyMessages;
|
||||
use FireflyIII\Support\Models\AccountBalanceCalculator;
|
||||
use Illuminate\Console\Command;
|
||||
|
||||
/**
|
||||
* Class CorrectionSkeleton
|
||||
*/
|
||||
class CorrectAccountBalance extends Command
|
||||
{
|
||||
use ShowsFriendlyMessages;
|
||||
public const string CONFIG_NAME = '610_correct_balances';
|
||||
protected $description = 'Recalculate all account balance amounts';
|
||||
protected $signature = 'firefly-iii:correct-account-balance {--F|force : Force the execution of this command.}';
|
||||
|
||||
public function handle(): int
|
||||
{
|
||||
if ($this->isExecuted() && true !== $this->option('force')) {
|
||||
$this->friendlyInfo('This command has already been executed.');
|
||||
|
||||
return 0;
|
||||
}
|
||||
$this->correctBalanceAmounts();
|
||||
$this->markAsExecuted();
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
private function correctBalanceAmounts(): void
|
||||
{
|
||||
AccountBalanceCalculator::recalculateAll();
|
||||
}
|
||||
|
||||
private function isExecuted(): bool
|
||||
{
|
||||
$configVar = app('fireflyconfig')->get(self::CONFIG_NAME, false);
|
||||
|
||||
return (bool)$configVar?->data;
|
||||
}
|
||||
|
||||
private function markAsExecuted(): void
|
||||
{
|
||||
app('fireflyconfig')->set(self::CONFIG_NAME, true);
|
||||
}
|
||||
}
|
||||
@@ -65,6 +65,7 @@ class UpgradeDatabase extends Command
|
||||
'firefly-iii:budget-limit-periods',
|
||||
'firefly-iii:migrate-rule-actions',
|
||||
'firefly-iii:restore-oauth-keys',
|
||||
'firefly-iii:correct-account-balance',
|
||||
// also just in case, some integrity commands:
|
||||
'firefly-iii:create-group-memberships',
|
||||
'firefly-iii:upgrade-group-information',
|
||||
|
||||
@@ -185,7 +185,7 @@ class BudgetLimitController extends Controller
|
||||
$array['amount_formatted'] = app('amount')->formatAnything($limit->transactionCurrency, $limit['amount']);
|
||||
$array['days_left'] = (string)$this->activeDaysLeft($start, $end);
|
||||
// left per day:
|
||||
$array['left_per_day'] = bcdiv(bcadd($array['spent'], $array['amount']), $array['days_left']);
|
||||
$array['left_per_day'] = 0 === bccomp('0', $array['days_left']) ? bcadd($array['spent'], $array['amount']) : bcdiv(bcadd($array['spent'], $array['amount']), $array['days_left']);
|
||||
|
||||
// left per day formatted.
|
||||
$array['left_per_day_formatted'] = app('amount')->formatAnything($limit->transactionCurrency, $array['left_per_day']);
|
||||
|
||||
@@ -93,7 +93,6 @@ class DebugController extends Controller
|
||||
Artisan::call('view:clear');
|
||||
|
||||
// also do some recalculations.
|
||||
Artisan::call('firefly-iii:correct-account-balance');
|
||||
Artisan::call('firefly-iii:trigger-credit-recalculation');
|
||||
|
||||
try {
|
||||
|
||||
@@ -120,7 +120,7 @@ class PreferencesController extends Controller
|
||||
// list of locales also has "equal" which makes it equal to whatever the language is.
|
||||
|
||||
try {
|
||||
$locales = json_decode((string)file_get_contents(resource_path(sprintf('lang/%s/locales.json', $language))), true, 512, JSON_THROW_ON_ERROR);
|
||||
$locales = json_decode((string)file_get_contents(resource_path(sprintf('locales/%s/locales.json', $language))), true, 512, JSON_THROW_ON_ERROR);
|
||||
} catch (\JsonException $e) {
|
||||
app('log')->error($e->getMessage());
|
||||
$locales = [];
|
||||
|
||||
@@ -120,13 +120,13 @@ class AccountBalanceCalculator
|
||||
|
||||
// first create for normal currency:
|
||||
$entry = $this->getAccountBalanceByAccount($account, $transactionCurrency);
|
||||
$entry->balance = bcadd($entry->balance, $sumAmount);
|
||||
$entry->balance = bcadd((string) $entry->balance, $sumAmount);
|
||||
$entry->save();
|
||||
|
||||
// then do foreign amount, if present:
|
||||
if ($foreignCurrency > 0) {
|
||||
$entry = $this->getAccountBalanceByAccount($account, $foreignCurrency);
|
||||
$entry->balance = bcadd($entry->balance, $sumForeignAmount);
|
||||
$entry->balance = bcadd((string) $entry->balance, $sumForeignAmount);
|
||||
$entry->save();
|
||||
}
|
||||
}
|
||||
|
||||
417
composer.lock
generated
417
composer.lock
generated
File diff suppressed because it is too large
Load Diff
@@ -117,7 +117,7 @@ return [
|
||||
'expression_engine' => false,
|
||||
// see cer.php for exchange rates feature flag.
|
||||
],
|
||||
'version' => 'develop/2024-05-23',
|
||||
'version' => 'develop/2024-06-06',
|
||||
'api_version' => '2.1.0',
|
||||
'db_version' => 24,
|
||||
|
||||
|
||||
@@ -49,10 +49,12 @@ class AccountTypeSeeder extends Seeder
|
||||
AccountType::LIABILITY_CREDIT,
|
||||
];
|
||||
foreach ($types as $type) {
|
||||
try {
|
||||
AccountType::create(['type' => $type]);
|
||||
} catch (\PDOException $e) {
|
||||
// @ignoreException
|
||||
if (null === AccountType::where('type', $type)->first()) {
|
||||
try {
|
||||
AccountType::create(['type' => $type]);
|
||||
} catch (\PDOException $e) {
|
||||
// @ignoreException
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -36,7 +36,7 @@ class ConfigSeeder extends Seeder
|
||||
*/
|
||||
public function run(): void
|
||||
{
|
||||
$entry = Configuration::where('name', 'db_version')->first();
|
||||
$entry = Configuration::where('name', 'db_version')->first();
|
||||
if (null === $entry) {
|
||||
Configuration::create(
|
||||
[
|
||||
@@ -44,11 +44,11 @@ class ConfigSeeder extends Seeder
|
||||
'data' => 1,
|
||||
]
|
||||
);
|
||||
|
||||
return;
|
||||
}
|
||||
if (null !== $entry) {
|
||||
$version = (int)config('firefly.db_version');
|
||||
$entry->data = $version;
|
||||
$entry->save();
|
||||
}
|
||||
$version = (int) config('firefly.db_version');
|
||||
$entry->data = $version;
|
||||
$entry->save();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -60,10 +60,12 @@ class LinkTypeSeeder extends Seeder
|
||||
],
|
||||
];
|
||||
foreach ($types as $type) {
|
||||
try {
|
||||
LinkType::create($type);
|
||||
} catch (\PDOException $e) {
|
||||
// @ignoreException
|
||||
if (null === LinkType::where('name', $type['name'])->first()) {
|
||||
try {
|
||||
LinkType::create($type);
|
||||
} catch (\PDOException $e) {
|
||||
// @ignoreException
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -46,10 +46,12 @@ class PermissionSeeder extends Seeder
|
||||
],
|
||||
];
|
||||
foreach ($roles as $role) {
|
||||
try {
|
||||
Role::create($role);
|
||||
} catch (\PDOException $e) {
|
||||
// @ignoreException
|
||||
if (null === Role::where('name', $role['name'])->first()) {
|
||||
try {
|
||||
Role::create($role);
|
||||
} catch (\PDOException $e) {
|
||||
// @ignoreException
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -71,10 +71,12 @@ class TransactionCurrencySeeder extends Seeder
|
||||
$currencies[] = ['code' => 'HRK', 'name' => 'Croatian kuna', 'symbol' => 'kn', 'decimal_places' => 2];
|
||||
|
||||
foreach ($currencies as $currency) {
|
||||
try {
|
||||
TransactionCurrency::create($currency);
|
||||
} catch (\PDOException $e) {
|
||||
// @ignoreException
|
||||
if (null === TransactionCurrency::where('code', $currency['code'])->first()) {
|
||||
try {
|
||||
TransactionCurrency::create($currency);
|
||||
} catch (\PDOException $e) {
|
||||
// @ignoreException
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -44,10 +44,12 @@ class TransactionTypeSeeder extends Seeder
|
||||
];
|
||||
|
||||
foreach ($types as $type) {
|
||||
try {
|
||||
TransactionType::create(['type' => $type]);
|
||||
} catch (\PDOException $e) {
|
||||
// @ignoreException
|
||||
if (null === TransactionType::where('type', $type)->first()) {
|
||||
try {
|
||||
TransactionType::create(['type' => $type]);
|
||||
} catch (\PDOException $e) {
|
||||
// @ignoreException
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -45,10 +45,12 @@ class UserRoleSeeder extends Seeder
|
||||
|
||||
/** @var string $role */
|
||||
foreach ($roles as $role) {
|
||||
try {
|
||||
UserRole::create(['title' => $role]);
|
||||
} catch (\PDOException $e) {
|
||||
// @ignoreException
|
||||
if (null === UserRole::where('title', $role)->first()) {
|
||||
try {
|
||||
UserRole::create(['title' => $role]);
|
||||
} catch (\PDOException $e) {
|
||||
// @ignoreException
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
1086
package-lock.json
generated
1086
package-lock.json
generated
File diff suppressed because it is too large
Load Diff
1
resources/locales/bg_BG/locales.json
Normal file
1
resources/locales/bg_BG/locales.json
Normal file
File diff suppressed because one or more lines are too long
1
resources/locales/ca_ES/locales.json
Normal file
1
resources/locales/ca_ES/locales.json
Normal file
File diff suppressed because one or more lines are too long
1
resources/locales/cs_CZ/locales.json
Normal file
1
resources/locales/cs_CZ/locales.json
Normal file
File diff suppressed because one or more lines are too long
1
resources/locales/da_DK/locales.json
Normal file
1
resources/locales/da_DK/locales.json
Normal file
File diff suppressed because one or more lines are too long
1
resources/locales/de_DE/locales.json
Normal file
1
resources/locales/de_DE/locales.json
Normal file
File diff suppressed because one or more lines are too long
1
resources/locales/el_GR/locales.json
Normal file
1
resources/locales/el_GR/locales.json
Normal file
File diff suppressed because one or more lines are too long
1
resources/locales/en_GB/locales.json
Normal file
1
resources/locales/en_GB/locales.json
Normal file
File diff suppressed because one or more lines are too long
444
resources/locales/en_US/locales.json
Normal file
444
resources/locales/en_US/locales.json
Normal file
@@ -0,0 +1,444 @@
|
||||
{
|
||||
"af_NA": "Afrikaans (Namibia)",
|
||||
"af_ZA": "Afrikaans (South Africa)",
|
||||
"ak_GH": "Akan (Ghana)",
|
||||
"sq_AL": "Albanian (Albania)",
|
||||
"sq_XK": "Albanian (Kosovo)",
|
||||
"sq_MK": "Albanian (Macedonia)",
|
||||
"am_ET": "Amharic (Ethiopia)",
|
||||
"ar_DZ": "Arabic (Algeria)",
|
||||
"ar_BH": "Arabic (Bahrain)",
|
||||
"ar_TD": "Arabic (Chad)",
|
||||
"ar_KM": "Arabic (Comoros)",
|
||||
"ar_DJ": "Arabic (Djibouti)",
|
||||
"ar_EG": "Arabic (Egypt)",
|
||||
"ar_ER": "Arabic (Eritrea)",
|
||||
"ar_IQ": "Arabic (Iraq)",
|
||||
"ar_IL": "Arabic (Israel)",
|
||||
"ar_JO": "Arabic (Jordan)",
|
||||
"ar_KW": "Arabic (Kuwait)",
|
||||
"ar_LB": "Arabic (Lebanon)",
|
||||
"ar_LY": "Arabic (Libya)",
|
||||
"ar_MR": "Arabic (Mauritania)",
|
||||
"ar_MA": "Arabic (Morocco)",
|
||||
"ar_OM": "Arabic (Oman)",
|
||||
"ar_PS": "Arabic (Palestinian Territories)",
|
||||
"ar_QA": "Arabic (Qatar)",
|
||||
"ar_SA": "Arabic (Saudi Arabia)",
|
||||
"ar_SO": "Arabic (Somalia)",
|
||||
"ar_SS": "Arabic (South Sudan)",
|
||||
"ar_SD": "Arabic (Sudan)",
|
||||
"ar_SY": "Arabic (Syria)",
|
||||
"ar_TN": "Arabic (Tunisia)",
|
||||
"ar_AE": "Arabic (United Arab Emirates)",
|
||||
"ar_EH": "Arabic (Western Sahara)",
|
||||
"ar_YE": "Arabic (Yemen)",
|
||||
"hy_AM": "Armenian (Armenia)",
|
||||
"as_IN": "Assamese (India)",
|
||||
"az_AZ": "Azerbaijani (Azerbaijan)",
|
||||
"az_Cyrl_AZ": "Azerbaijani (Cyrillic, Azerbaijan)",
|
||||
"az_Cyrl": "Azerbaijani (Cyrillic)",
|
||||
"az_Latn_AZ": "Azerbaijani (Latin, Azerbaijan)",
|
||||
"az_Latn": "Azerbaijani (Latin)",
|
||||
"bm_Latn_ML": "Bambara (Latin, Mali)",
|
||||
"bm_Latn": "Bambara (Latin)",
|
||||
"eu_ES": "Basque (Spain)",
|
||||
"be_BY": "Belarusian (Belarus)",
|
||||
"bn_BD": "Bengali (Bangladesh)",
|
||||
"bn_IN": "Bengali (India)",
|
||||
"bs_BA": "Bosnian (Bosnia & Herzegovina)",
|
||||
"bs_Cyrl_BA": "Bosnian (Cyrillic, Bosnia & Herzegovina)",
|
||||
"bs_Cyrl": "Bosnian (Cyrillic)",
|
||||
"bs_Latn_BA": "Bosnian (Latin, Bosnia & Herzegovina)",
|
||||
"bs_Latn": "Bosnian (Latin)",
|
||||
"br_FR": "Breton (France)",
|
||||
"bg_BG": "Bulgarian (Bulgaria)",
|
||||
"my_MM": "Burmese (Myanmar (Burma))",
|
||||
"ca_AD": "Catalan (Andorra)",
|
||||
"ca_FR": "Catalan (France)",
|
||||
"ca_IT": "Catalan (Italy)",
|
||||
"ca_ES": "Catalan (Spain)",
|
||||
"zh_CN": "Chinese (China)",
|
||||
"zh_HK": "Chinese (Hong Kong SAR China)",
|
||||
"zh_MO": "Chinese (Macau SAR China)",
|
||||
"zh_Hans_CN": "Chinese (Simplified, China)",
|
||||
"zh_Hans_HK": "Chinese (Simplified, Hong Kong SAR China)",
|
||||
"zh_Hans_MO": "Chinese (Simplified, Macau SAR China)",
|
||||
"zh_Hans_SG": "Chinese (Simplified, Singapore)",
|
||||
"zh_Hans": "Chinese (Simplified)",
|
||||
"zh_SG": "Chinese (Singapore)",
|
||||
"zh_TW": "Chinese (Taiwan)",
|
||||
"zh_Hant_HK": "Chinese (Traditional, Hong Kong SAR China)",
|
||||
"zh_Hant_MO": "Chinese (Traditional, Macau SAR China)",
|
||||
"zh_Hant_TW": "Chinese (Traditional, Taiwan)",
|
||||
"zh_Hant": "Chinese (Traditional)",
|
||||
"kw_GB": "Cornish (United Kingdom)",
|
||||
"hr_BA": "Croatian (Bosnia & Herzegovina)",
|
||||
"hr_HR": "Croatian (Croatia)",
|
||||
"cs_CZ": "Czech (Czech Republic)",
|
||||
"da_DK": "Danish (Denmark)",
|
||||
"da_GL": "Danish (Greenland)",
|
||||
"nl_AW": "Dutch (Aruba)",
|
||||
"nl_BE": "Dutch (Belgium)",
|
||||
"nl_BQ": "Dutch (Caribbean Netherlands)",
|
||||
"nl_CW": "Dutch (Cura\u00e7ao)",
|
||||
"nl_NL": "Dutch (Netherlands)",
|
||||
"nl_SX": "Dutch (Sint Maarten)",
|
||||
"nl_SR": "Dutch (Suriname)",
|
||||
"dz_BT": "Dzongkha (Bhutan)",
|
||||
"en_AS": "English (American Samoa)",
|
||||
"en_AI": "English (Anguilla)",
|
||||
"en_AG": "English (Antigua & Barbuda)",
|
||||
"en_AU": "English (Australia)",
|
||||
"en_BS": "English (Bahamas)",
|
||||
"en_BB": "English (Barbados)",
|
||||
"en_BE": "English (Belgium)",
|
||||
"en_BZ": "English (Belize)",
|
||||
"en_BM": "English (Bermuda)",
|
||||
"en_BW": "English (Botswana)",
|
||||
"en_IO": "English (British Indian Ocean Territory)",
|
||||
"en_VG": "English (British Virgin Islands)",
|
||||
"en_CM": "English (Cameroon)",
|
||||
"en_CA": "English (Canada)",
|
||||
"en_KY": "English (Cayman Islands)",
|
||||
"en_CX": "English (Christmas Island)",
|
||||
"en_CC": "English (Cocos (Keeling) Islands)",
|
||||
"en_CK": "English (Cook Islands)",
|
||||
"en_DG": "English (Diego Garcia)",
|
||||
"en_DM": "English (Dominica)",
|
||||
"en_ER": "English (Eritrea)",
|
||||
"en_FK": "English (Falkland Islands)",
|
||||
"en_FJ": "English (Fiji)",
|
||||
"en_GM": "English (Gambia)",
|
||||
"en_GH": "English (Ghana)",
|
||||
"en_GI": "English (Gibraltar)",
|
||||
"en_GD": "English (Grenada)",
|
||||
"en_GU": "English (Guam)",
|
||||
"en_GG": "English (Guernsey)",
|
||||
"en_GY": "English (Guyana)",
|
||||
"en_HK": "English (Hong Kong SAR China)",
|
||||
"en_IN": "English (India)",
|
||||
"en_IE": "English (Ireland)",
|
||||
"en_IM": "English (Isle of Man)",
|
||||
"en_JM": "English (Jamaica)",
|
||||
"en_JE": "English (Jersey)",
|
||||
"en_KE": "English (Kenya)",
|
||||
"en_KI": "English (Kiribati)",
|
||||
"en_LS": "English (Lesotho)",
|
||||
"en_LR": "English (Liberia)",
|
||||
"en_MO": "English (Macau SAR China)",
|
||||
"en_MG": "English (Madagascar)",
|
||||
"en_MW": "English (Malawi)",
|
||||
"en_MY": "English (Malaysia)",
|
||||
"en_MT": "English (Malta)",
|
||||
"en_MH": "English (Marshall Islands)",
|
||||
"en_MU": "English (Mauritius)",
|
||||
"en_FM": "English (Micronesia)",
|
||||
"en_MS": "English (Montserrat)",
|
||||
"en_NA": "English (Namibia)",
|
||||
"en_NR": "English (Nauru)",
|
||||
"en_NZ": "English (New Zealand)",
|
||||
"en_NG": "English (Nigeria)",
|
||||
"en_NU": "English (Niue)",
|
||||
"en_NF": "English (Norfolk Island)",
|
||||
"en_MP": "English (Northern Mariana Islands)",
|
||||
"en_PK": "English (Pakistan)",
|
||||
"en_PW": "English (Palau)",
|
||||
"en_PG": "English (Papua New Guinea)",
|
||||
"en_PH": "English (Philippines)",
|
||||
"en_PN": "English (Pitcairn Islands)",
|
||||
"en_PR": "English (Puerto Rico)",
|
||||
"en_RW": "English (Rwanda)",
|
||||
"en_WS": "English (Samoa)",
|
||||
"en_SC": "English (Seychelles)",
|
||||
"en_SL": "English (Sierra Leone)",
|
||||
"en_SG": "English (Singapore)",
|
||||
"en_SX": "English (Sint Maarten)",
|
||||
"en_SB": "English (Solomon Islands)",
|
||||
"en_ZA": "English (South Africa)",
|
||||
"en_SS": "English (South Sudan)",
|
||||
"en_SH": "English (St. Helena)",
|
||||
"en_KN": "English (St. Kitts & Nevis)",
|
||||
"en_LC": "English (St. Lucia)",
|
||||
"en_VC": "English (St. Vincent & Grenadines)",
|
||||
"en_SD": "English (Sudan)",
|
||||
"en_SZ": "English (Swaziland)",
|
||||
"en_TZ": "English (Tanzania)",
|
||||
"en_TK": "English (Tokelau)",
|
||||
"en_TO": "English (Tonga)",
|
||||
"en_TT": "English (Trinidad & Tobago)",
|
||||
"en_TC": "English (Turks & Caicos Islands)",
|
||||
"en_TV": "English (Tuvalu)",
|
||||
"en_UM": "English (U.S. Outlying Islands)",
|
||||
"en_VI": "English (U.S. Virgin Islands)",
|
||||
"en_UG": "English (Uganda)",
|
||||
"en_GB": "English (United Kingdom)",
|
||||
"en_US": "English (United States)",
|
||||
"en_VU": "English (Vanuatu)",
|
||||
"en_ZM": "English (Zambia)",
|
||||
"en_ZW": "English (Zimbabwe)",
|
||||
"et_EE": "Estonian (Estonia)",
|
||||
"ee_GH": "Ewe (Ghana)",
|
||||
"ee_TG": "Ewe (Togo)",
|
||||
"fo_FO": "Faroese (Faroe Islands)",
|
||||
"fi_FI": "Finnish (Finland)",
|
||||
"fr_DZ": "French (Algeria)",
|
||||
"fr_BE": "French (Belgium)",
|
||||
"fr_BJ": "French (Benin)",
|
||||
"fr_BF": "French (Burkina Faso)",
|
||||
"fr_BI": "French (Burundi)",
|
||||
"fr_CM": "French (Cameroon)",
|
||||
"fr_CA": "French (Canada)",
|
||||
"fr_CF": "French (Central African Republic)",
|
||||
"fr_TD": "French (Chad)",
|
||||
"fr_KM": "French (Comoros)",
|
||||
"fr_CG": "French (Congo - Brazzaville)",
|
||||
"fr_CD": "French (Congo - Kinshasa)",
|
||||
"fr_CI": "French (C\u00f4te d\u2019Ivoire)",
|
||||
"fr_DJ": "French (Djibouti)",
|
||||
"fr_GQ": "French (Equatorial Guinea)",
|
||||
"fr_FR": "French (France)",
|
||||
"fr_GF": "French (French Guiana)",
|
||||
"fr_PF": "French (French Polynesia)",
|
||||
"fr_GA": "French (Gabon)",
|
||||
"fr_GP": "French (Guadeloupe)",
|
||||
"fr_GN": "French (Guinea)",
|
||||
"fr_HT": "French (Haiti)",
|
||||
"fr_LU": "French (Luxembourg)",
|
||||
"fr_MG": "French (Madagascar)",
|
||||
"fr_ML": "French (Mali)",
|
||||
"fr_MQ": "French (Martinique)",
|
||||
"fr_MR": "French (Mauritania)",
|
||||
"fr_MU": "French (Mauritius)",
|
||||
"fr_YT": "French (Mayotte)",
|
||||
"fr_MC": "French (Monaco)",
|
||||
"fr_MA": "French (Morocco)",
|
||||
"fr_NC": "French (New Caledonia)",
|
||||
"fr_NE": "French (Niger)",
|
||||
"fr_RE": "French (R\u00e9union)",
|
||||
"fr_RW": "French (Rwanda)",
|
||||
"fr_SN": "French (Senegal)",
|
||||
"fr_SC": "French (Seychelles)",
|
||||
"fr_BL": "French (St. Barth\u00e9lemy)",
|
||||
"fr_MF": "French (St. Martin)",
|
||||
"fr_PM": "French (St. Pierre & Miquelon)",
|
||||
"fr_CH": "French (Switzerland)",
|
||||
"fr_SY": "French (Syria)",
|
||||
"fr_TG": "French (Togo)",
|
||||
"fr_TN": "French (Tunisia)",
|
||||
"fr_VU": "French (Vanuatu)",
|
||||
"fr_WF": "French (Wallis & Futuna)",
|
||||
"ff_CM": "Fulah (Cameroon)",
|
||||
"ff_GN": "Fulah (Guinea)",
|
||||
"ff_MR": "Fulah (Mauritania)",
|
||||
"ff_SN": "Fulah (Senegal)",
|
||||
"gl_ES": "Galician (Spain)",
|
||||
"lg_UG": "Ganda (Uganda)",
|
||||
"ka_GE": "Georgian (Georgia)",
|
||||
"de_AT": "German (Austria)",
|
||||
"de_BE": "German (Belgium)",
|
||||
"de_DE": "German (Germany)",
|
||||
"de_LI": "German (Liechtenstein)",
|
||||
"de_LU": "German (Luxembourg)",
|
||||
"de_CH": "German (Switzerland)",
|
||||
"el_CY": "Greek (Cyprus)",
|
||||
"el_GR": "Greek (Greece)",
|
||||
"gu_IN": "Gujarati (India)",
|
||||
"ha_GH": "Hausa (Ghana)",
|
||||
"ha_Latn_GH": "Hausa (Latin, Ghana)",
|
||||
"ha_Latn_NE": "Hausa (Latin, Niger)",
|
||||
"ha_Latn_NG": "Hausa (Latin, Nigeria)",
|
||||
"ha_Latn": "Hausa (Latin)",
|
||||
"ha_NE": "Hausa (Niger)",
|
||||
"ha_NG": "Hausa (Nigeria)",
|
||||
"he_IL": "Hebrew (Israel)",
|
||||
"hi_IN": "Hindi (India)",
|
||||
"hu_HU": "Hungarian (Hungary)",
|
||||
"is_IS": "Icelandic (Iceland)",
|
||||
"ig_NG": "Igbo (Nigeria)",
|
||||
"id_ID": "Indonesian (Indonesia)",
|
||||
"ga_IE": "Irish (Ireland)",
|
||||
"it_IT": "Italian (Italy)",
|
||||
"it_SM": "Italian (San Marino)",
|
||||
"it_CH": "Italian (Switzerland)",
|
||||
"ja_JP": "Japanese (Japan)",
|
||||
"kl_GL": "Kalaallisut (Greenland)",
|
||||
"kn_IN": "Kannada (India)",
|
||||
"ks_Arab_IN": "Kashmiri (Arabic, India)",
|
||||
"ks_Arab": "Kashmiri (Arabic)",
|
||||
"ks_IN": "Kashmiri (India)",
|
||||
"kk_Cyrl_KZ": "Kazakh (Cyrillic, Kazakhstan)",
|
||||
"kk_Cyrl": "Kazakh (Cyrillic)",
|
||||
"kk_KZ": "Kazakh (Kazakhstan)",
|
||||
"km_KH": "Khmer (Cambodia)",
|
||||
"ki_KE": "Kikuyu (Kenya)",
|
||||
"rw_RW": "Kinyarwanda (Rwanda)",
|
||||
"ko_KP": "Korean (North Korea)",
|
||||
"ko_KR": "Korean (South Korea)",
|
||||
"ky_Cyrl_KG": "Kyrgyz (Cyrillic, Kyrgyzstan)",
|
||||
"ky_Cyrl": "Kyrgyz (Cyrillic)",
|
||||
"ky_KG": "Kyrgyz (Kyrgyzstan)",
|
||||
"lo_LA": "Lao (Laos)",
|
||||
"lv_LV": "Latvian (Latvia)",
|
||||
"ln_AO": "Lingala (Angola)",
|
||||
"ln_CF": "Lingala (Central African Republic)",
|
||||
"ln_CG": "Lingala (Congo - Brazzaville)",
|
||||
"ln_CD": "Lingala (Congo - Kinshasa)",
|
||||
"lt_LT": "Lithuanian (Lithuania)",
|
||||
"lu_CD": "Luba-Katanga (Congo - Kinshasa)",
|
||||
"lb_LU": "Luxembourgish (Luxembourg)",
|
||||
"mk_MK": "Macedonian (Macedonia)",
|
||||
"mg_MG": "Malagasy (Madagascar)",
|
||||
"ms_BN": "Malay (Brunei)",
|
||||
"ms_Latn_BN": "Malay (Latin, Brunei)",
|
||||
"ms_Latn_MY": "Malay (Latin, Malaysia)",
|
||||
"ms_Latn_SG": "Malay (Latin, Singapore)",
|
||||
"ms_Latn": "Malay (Latin)",
|
||||
"ms_MY": "Malay (Malaysia)",
|
||||
"ms_SG": "Malay (Singapore)",
|
||||
"ml_IN": "Malayalam (India)",
|
||||
"mt_MT": "Maltese (Malta)",
|
||||
"gv_IM": "Manx (Isle of Man)",
|
||||
"mr_IN": "Marathi (India)",
|
||||
"mn_Cyrl_MN": "Mongolian (Cyrillic, Mongolia)",
|
||||
"mn_Cyrl": "Mongolian (Cyrillic)",
|
||||
"mn_MN": "Mongolian (Mongolia)",
|
||||
"ne_IN": "Nepali (India)",
|
||||
"ne_NP": "Nepali (Nepal)",
|
||||
"nd_ZW": "North Ndebele (Zimbabwe)",
|
||||
"se_FI": "Northern Sami (Finland)",
|
||||
"se_NO": "Northern Sami (Norway)",
|
||||
"se_SE": "Northern Sami (Sweden)",
|
||||
"no_NO": "Norwegian (Norway)",
|
||||
"nb_NO": "Norwegian Bokm\u00e5l (Norway)",
|
||||
"nb_SJ": "Norwegian Bokm\u00e5l (Svalbard & Jan Mayen)",
|
||||
"nn_NO": "Norwegian Nynorsk (Norway)",
|
||||
"or_IN": "Oriya (India)",
|
||||
"om_ET": "Oromo (Ethiopia)",
|
||||
"om_KE": "Oromo (Kenya)",
|
||||
"os_GE": "Ossetic (Georgia)",
|
||||
"os_RU": "Ossetic (Russia)",
|
||||
"ps_AF": "Pashto (Afghanistan)",
|
||||
"fa_AF": "Persian (Afghanistan)",
|
||||
"fa_IR": "Persian (Iran)",
|
||||
"pl_PL": "Polish (Poland)",
|
||||
"pt_AO": "Portuguese (Angola)",
|
||||
"pt_BR": "Portuguese (Brazil)",
|
||||
"pt_CV": "Portuguese (Cape Verde)",
|
||||
"pt_GW": "Portuguese (Guinea-Bissau)",
|
||||
"pt_MO": "Portuguese (Macau SAR China)",
|
||||
"pt_MZ": "Portuguese (Mozambique)",
|
||||
"pt_PT": "Portuguese (Portugal)",
|
||||
"pt_ST": "Portuguese (S\u00e3o Tom\u00e9 & Pr\u00edncipe)",
|
||||
"pt_TL": "Portuguese (Timor-Leste)",
|
||||
"pa_Arab_PK": "Punjabi (Arabic, Pakistan)",
|
||||
"pa_Arab": "Punjabi (Arabic)",
|
||||
"pa_Guru_IN": "Punjabi (Gurmukhi, India)",
|
||||
"pa_Guru": "Punjabi (Gurmukhi)",
|
||||
"pa_IN": "Punjabi (India)",
|
||||
"pa_PK": "Punjabi (Pakistan)",
|
||||
"qu_BO": "Quechua (Bolivia)",
|
||||
"qu_EC": "Quechua (Ecuador)",
|
||||
"qu_PE": "Quechua (Peru)",
|
||||
"ro_MD": "Romanian (Moldova)",
|
||||
"ro_RO": "Romanian (Romania)",
|
||||
"rm_CH": "Romansh (Switzerland)",
|
||||
"rn_BI": "Rundi (Burundi)",
|
||||
"ru_BY": "Russian (Belarus)",
|
||||
"ru_KZ": "Russian (Kazakhstan)",
|
||||
"ru_KG": "Russian (Kyrgyzstan)",
|
||||
"ru_MD": "Russian (Moldova)",
|
||||
"ru_RU": "Russian (Russia)",
|
||||
"ru_UA": "Russian (Ukraine)",
|
||||
"sg_CF": "Sango (Central African Republic)",
|
||||
"gd_GB": "Scottish Gaelic (United Kingdom)",
|
||||
"sr_BA": "Serbian (Bosnia & Herzegovina)",
|
||||
"sr_Cyrl_BA": "Serbian (Cyrillic, Bosnia & Herzegovina)",
|
||||
"sr_Cyrl_XK": "Serbian (Cyrillic, Kosovo)",
|
||||
"sr_Cyrl_ME": "Serbian (Cyrillic, Montenegro)",
|
||||
"sr_Cyrl_RS": "Serbian (Cyrillic, Serbia)",
|
||||
"sr_Cyrl": "Serbian (Cyrillic)",
|
||||
"sr_XK": "Serbian (Kosovo)",
|
||||
"sr_Latn_BA": "Serbian (Latin, Bosnia & Herzegovina)",
|
||||
"sr_Latn_XK": "Serbian (Latin, Kosovo)",
|
||||
"sr_Latn_ME": "Serbian (Latin, Montenegro)",
|
||||
"sr_Latn_RS": "Serbian (Latin, Serbia)",
|
||||
"sr_Latn": "Serbian (Latin)",
|
||||
"sr_ME": "Serbian (Montenegro)",
|
||||
"sr_RS": "Serbian (Serbia)",
|
||||
"sh_BA": "Serbo-Croatian (Bosnia & Herzegovina)",
|
||||
"sn_ZW": "Shona (Zimbabwe)",
|
||||
"ii_CN": "Sichuan Yi (China)",
|
||||
"si_LK": "Sinhala (Sri Lanka)",
|
||||
"sk_SK": "Slovak (Slovakia)",
|
||||
"sl_SI": "Slovenian (Slovenia)",
|
||||
"so_DJ": "Somali (Djibouti)",
|
||||
"so_ET": "Somali (Ethiopia)",
|
||||
"so_KE": "Somali (Kenya)",
|
||||
"so_SO": "Somali (Somalia)",
|
||||
"es_AR": "Spanish (Argentina)",
|
||||
"es_BO": "Spanish (Bolivia)",
|
||||
"es_IC": "Spanish (Canary Islands)",
|
||||
"es_EA": "Spanish (Ceuta & Melilla)",
|
||||
"es_CL": "Spanish (Chile)",
|
||||
"es_CO": "Spanish (Colombia)",
|
||||
"es_CR": "Spanish (Costa Rica)",
|
||||
"es_CU": "Spanish (Cuba)",
|
||||
"es_DO": "Spanish (Dominican Republic)",
|
||||
"es_EC": "Spanish (Ecuador)",
|
||||
"es_SV": "Spanish (El Salvador)",
|
||||
"es_GQ": "Spanish (Equatorial Guinea)",
|
||||
"es_GT": "Spanish (Guatemala)",
|
||||
"es_HN": "Spanish (Honduras)",
|
||||
"es_MX": "Spanish (Mexico)",
|
||||
"es_NI": "Spanish (Nicaragua)",
|
||||
"es_PA": "Spanish (Panama)",
|
||||
"es_PY": "Spanish (Paraguay)",
|
||||
"es_PE": "Spanish (Peru)",
|
||||
"es_PH": "Spanish (Philippines)",
|
||||
"es_PR": "Spanish (Puerto Rico)",
|
||||
"es_ES": "Spanish (Spain)",
|
||||
"es_US": "Spanish (United States)",
|
||||
"es_UY": "Spanish (Uruguay)",
|
||||
"es_VE": "Spanish (Venezuela)",
|
||||
"sw_KE": "Swahili (Kenya)",
|
||||
"sw_TZ": "Swahili (Tanzania)",
|
||||
"sw_UG": "Swahili (Uganda)",
|
||||
"sv_AX": "Swedish (\u00c5land Islands)",
|
||||
"sv_FI": "Swedish (Finland)",
|
||||
"sv_SE": "Swedish (Sweden)",
|
||||
"tl_PH": "Tagalog (Philippines)",
|
||||
"ta_IN": "Tamil (India)",
|
||||
"ta_MY": "Tamil (Malaysia)",
|
||||
"ta_SG": "Tamil (Singapore)",
|
||||
"ta_LK": "Tamil (Sri Lanka)",
|
||||
"te_IN": "Telugu (India)",
|
||||
"th_TH": "Thai (Thailand)",
|
||||
"bo_CN": "Tibetan (China)",
|
||||
"bo_IN": "Tibetan (India)",
|
||||
"ti_ER": "Tigrinya (Eritrea)",
|
||||
"ti_ET": "Tigrinya (Ethiopia)",
|
||||
"to_TO": "Tongan (Tonga)",
|
||||
"tr_CY": "Turkish (Cyprus)",
|
||||
"tr_TR": "Turkish (Turkey)",
|
||||
"uk_UA": "Ukrainian (Ukraine)",
|
||||
"ur_IN": "Urdu (India)",
|
||||
"ur_PK": "Urdu (Pakistan)",
|
||||
"ug_Arab_CN": "Uyghur (Arabic, China)",
|
||||
"ug_Arab": "Uyghur (Arabic)",
|
||||
"ug_CN": "Uyghur (China)",
|
||||
"uz_AF": "Uzbek (Afghanistan)",
|
||||
"uz_Arab_AF": "Uzbek (Arabic, Afghanistan)",
|
||||
"uz_Arab": "Uzbek (Arabic)",
|
||||
"uz_Cyrl_UZ": "Uzbek (Cyrillic, Uzbekistan)",
|
||||
"uz_Cyrl": "Uzbek (Cyrillic)",
|
||||
"uz_Latn_UZ": "Uzbek (Latin, Uzbekistan)",
|
||||
"uz_Latn": "Uzbek (Latin)",
|
||||
"uz_UZ": "Uzbek (Uzbekistan)",
|
||||
"vi_VN": "Vietnamese (Vietnam)",
|
||||
"cy_GB": "Welsh (United Kingdom)",
|
||||
"fy_NL": "Western Frisian (Netherlands)",
|
||||
"yo_BJ": "Yoruba (Benin)",
|
||||
"yo_NG": "Yoruba (Nigeria)",
|
||||
"zu_ZA": "Zulu (South Africa)"
|
||||
}
|
||||
1
resources/locales/es_ES/locales.json
Normal file
1
resources/locales/es_ES/locales.json
Normal file
File diff suppressed because one or more lines are too long
1
resources/locales/fi_FI/locales.json
Normal file
1
resources/locales/fi_FI/locales.json
Normal file
File diff suppressed because one or more lines are too long
1
resources/locales/fr_FR/locales.json
Normal file
1
resources/locales/fr_FR/locales.json
Normal file
File diff suppressed because one or more lines are too long
1
resources/locales/hu_HU/locales.json
Normal file
1
resources/locales/hu_HU/locales.json
Normal file
File diff suppressed because one or more lines are too long
1
resources/locales/id_ID/locales.json
Normal file
1
resources/locales/id_ID/locales.json
Normal file
File diff suppressed because one or more lines are too long
1
resources/locales/it_IT/locales.json
Normal file
1
resources/locales/it_IT/locales.json
Normal file
File diff suppressed because one or more lines are too long
1
resources/locales/ja_JP/locales.json
Normal file
1
resources/locales/ja_JP/locales.json
Normal file
File diff suppressed because one or more lines are too long
1
resources/locales/ko_KR/locales.json
Normal file
1
resources/locales/ko_KR/locales.json
Normal file
File diff suppressed because one or more lines are too long
1
resources/locales/nb_NO/locales.json
Normal file
1
resources/locales/nb_NO/locales.json
Normal file
File diff suppressed because one or more lines are too long
1
resources/locales/nl_NL/locales.json
Normal file
1
resources/locales/nl_NL/locales.json
Normal file
File diff suppressed because one or more lines are too long
1
resources/locales/nn_NO/locales.json
Normal file
1
resources/locales/nn_NO/locales.json
Normal file
File diff suppressed because one or more lines are too long
1
resources/locales/pl_PL/locales.json
Normal file
1
resources/locales/pl_PL/locales.json
Normal file
File diff suppressed because one or more lines are too long
1
resources/locales/pt_BR/locales.json
Normal file
1
resources/locales/pt_BR/locales.json
Normal file
File diff suppressed because one or more lines are too long
1
resources/locales/pt_PT/locales.json
Normal file
1
resources/locales/pt_PT/locales.json
Normal file
File diff suppressed because one or more lines are too long
1
resources/locales/ro_RO/locales.json
Normal file
1
resources/locales/ro_RO/locales.json
Normal file
File diff suppressed because one or more lines are too long
1
resources/locales/ru_RU/locales.json
Normal file
1
resources/locales/ru_RU/locales.json
Normal file
File diff suppressed because one or more lines are too long
1
resources/locales/sk_SK/locales.json
Normal file
1
resources/locales/sk_SK/locales.json
Normal file
File diff suppressed because one or more lines are too long
1
resources/locales/sl_SI/locales.json
Normal file
1
resources/locales/sl_SI/locales.json
Normal file
File diff suppressed because one or more lines are too long
1
resources/locales/sv_SE/locales.json
Normal file
1
resources/locales/sv_SE/locales.json
Normal file
File diff suppressed because one or more lines are too long
1
resources/locales/th_TH/locales.json
Normal file
1
resources/locales/th_TH/locales.json
Normal file
File diff suppressed because one or more lines are too long
1
resources/locales/tr_TR/locales.json
Normal file
1
resources/locales/tr_TR/locales.json
Normal file
File diff suppressed because one or more lines are too long
1
resources/locales/uk_UA/locales.json
Normal file
1
resources/locales/uk_UA/locales.json
Normal file
File diff suppressed because one or more lines are too long
1
resources/locales/vi_VN/locales.json
Normal file
1
resources/locales/vi_VN/locales.json
Normal file
File diff suppressed because one or more lines are too long
1
resources/locales/zh_CN/locales.json
Normal file
1
resources/locales/zh_CN/locales.json
Normal file
File diff suppressed because one or more lines are too long
1
resources/locales/zh_TW/locales.json
Normal file
1
resources/locales/zh_TW/locales.json
Normal file
File diff suppressed because one or more lines are too long
@@ -78,7 +78,7 @@
|
||||
{% endif %}
|
||||
|
||||
{% if journal.transaction_type_type == 'Transfer' %}
|
||||
<span class="fa fa-exchange fa-fw" title="{{ trans('firefly.Deposit') }}"></span>
|
||||
<span class="fa fa-exchange fa-fw" title="{{ trans('firefly.Transfer') }}"></span>
|
||||
{% endif %}
|
||||
|
||||
{% if journal.transaction_type_type == 'Reconciliation' %}
|
||||
|
||||
@@ -47,7 +47,7 @@
|
||||
{% endif %}
|
||||
|
||||
{% if transaction.transaction_type_type == 'Transfer' %}
|
||||
<span class="fa fa-exchange fa-fw" title="{{ trans('firefly.Deposit') }}"></span>
|
||||
<span class="fa fa-exchange fa-fw" title="{{ trans('firefly.Transfer') }}"></span>
|
||||
{% endif %}
|
||||
|
||||
{% if transaction.transaction_type_type == 'Reconciliation' %}
|
||||
|
||||
Reference in New Issue
Block a user