mirror of
https://github.com/firefly-iii/firefly-iii.git
synced 2026-06-16 12:35:47 +00:00
Compare commits
24 Commits
| 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 |
Generated
+70
-67
@@ -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.
|
||||
|
||||
@@ -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();
|
||||
}
|
||||
}
|
||||
|
||||
Generated
+211
-206
File diff suppressed because it is too large
Load Diff
+1
-1
@@ -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
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Generated
+549
-537
File diff suppressed because it is too large
Load Diff
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
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
File diff suppressed because one or more lines are too long
@@ -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)"
|
||||
}
|
||||
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
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
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
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
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
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
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
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
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