mirror of
https://github.com/firefly-iii/firefly-iii.git
synced 2025-12-10 13:21:21 +00:00
Compare commits
73 Commits
develop-20
...
v6.1.21
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
abcddb09bf | ||
|
|
cf71a0fc55 | ||
|
|
78253f9e1e | ||
|
|
ebd0848c7f | ||
|
|
c8461eb0b5 | ||
|
|
a4cbdeaeac | ||
|
|
3e1ce69d52 | ||
|
|
08a26b976e | ||
|
|
5fc55381a2 | ||
|
|
dbf3d24ae7 | ||
|
|
cc7c6e02c5 | ||
|
|
b45aa85853 | ||
|
|
e7526ac5e3 | ||
|
|
441ada70b8 | ||
|
|
dedc06a46b | ||
|
|
b0adf1b277 | ||
|
|
28f65e9f44 | ||
|
|
a013af5f0d | ||
|
|
9552701662 | ||
|
|
ef52f0aad1 | ||
|
|
0b6f04905a | ||
|
|
cdb36357d4 | ||
|
|
8938622bd9 | ||
|
|
b210294aa9 | ||
|
|
5b02f20775 | ||
|
|
fac382a5df | ||
|
|
88d88bebc9 | ||
|
|
755fb9c29b | ||
|
|
51a835ab51 | ||
|
|
c9895ab182 | ||
|
|
e71d46a4e5 | ||
|
|
8d1d5f37c1 | ||
|
|
525a68682d | ||
|
|
715648d0d8 | ||
|
|
9452e93f22 | ||
|
|
a6aa145471 | ||
|
|
25aa6dcb59 | ||
|
|
bb2270b274 | ||
|
|
d7f6b4143e | ||
|
|
0cf0e26fa8 | ||
|
|
cc23197d60 | ||
|
|
bc1721d95e | ||
|
|
0d19173da6 | ||
|
|
1983f07d3c | ||
|
|
aad1b91cc2 | ||
|
|
8cb1057a33 | ||
|
|
b178032985 | ||
|
|
561213e95d | ||
|
|
44fa7c4306 | ||
|
|
e2169563e2 | ||
|
|
845344e003 | ||
|
|
cdb48453e8 | ||
|
|
9669cef518 | ||
|
|
f962f71ed7 | ||
|
|
94ed4021fb | ||
|
|
1765855c57 | ||
|
|
55cf3e7d44 | ||
|
|
9f1840dc05 | ||
|
|
78dab2e5f9 | ||
|
|
103b9d5005 | ||
|
|
1b75b778d8 | ||
|
|
7e665dbdfc | ||
|
|
b6897ec3a9 | ||
|
|
660260174a | ||
|
|
78d32865b5 | ||
|
|
edfa92c1aa | ||
|
|
63012f269c | ||
|
|
7d0e7f779f | ||
|
|
b8e18f80f4 | ||
|
|
edf2030251 | ||
|
|
bd1cfffb61 | ||
|
|
23045ebd59 | ||
|
|
2e5931f304 |
208
.ci/php-cs-fixer/composer.lock
generated
208
.ci/php-cs-fixer/composer.lock
generated
@@ -72,16 +72,16 @@
|
||||
},
|
||||
{
|
||||
"name": "composer/pcre",
|
||||
"version": "3.3.0",
|
||||
"version": "3.3.1",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/composer/pcre.git",
|
||||
"reference": "1637e067347a0c40bbb1e3cd786b20dcab556a81"
|
||||
"reference": "63aaeac21d7e775ff9bc9d45021e1745c97521c4"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/composer/pcre/zipball/1637e067347a0c40bbb1e3cd786b20dcab556a81",
|
||||
"reference": "1637e067347a0c40bbb1e3cd786b20dcab556a81",
|
||||
"url": "https://api.github.com/repos/composer/pcre/zipball/63aaeac21d7e775ff9bc9d45021e1745c97521c4",
|
||||
"reference": "63aaeac21d7e775ff9bc9d45021e1745c97521c4",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -131,7 +131,7 @@
|
||||
],
|
||||
"support": {
|
||||
"issues": "https://github.com/composer/pcre/issues",
|
||||
"source": "https://github.com/composer/pcre/tree/3.3.0"
|
||||
"source": "https://github.com/composer/pcre/tree/3.3.1"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
@@ -147,28 +147,28 @@
|
||||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2024-08-19T19:43:53+00:00"
|
||||
"time": "2024-08-27T18:44:43+00:00"
|
||||
},
|
||||
{
|
||||
"name": "composer/semver",
|
||||
"version": "3.4.2",
|
||||
"version": "3.4.3",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/composer/semver.git",
|
||||
"reference": "c51258e759afdb17f1fd1fe83bc12baaef6309d6"
|
||||
"reference": "4313d26ada5e0c4edfbd1dc481a92ff7bff91f12"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/composer/semver/zipball/c51258e759afdb17f1fd1fe83bc12baaef6309d6",
|
||||
"reference": "c51258e759afdb17f1fd1fe83bc12baaef6309d6",
|
||||
"url": "https://api.github.com/repos/composer/semver/zipball/4313d26ada5e0c4edfbd1dc481a92ff7bff91f12",
|
||||
"reference": "4313d26ada5e0c4edfbd1dc481a92ff7bff91f12",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"php": "^5.3.2 || ^7.0 || ^8.0"
|
||||
},
|
||||
"require-dev": {
|
||||
"phpstan/phpstan": "^1.4",
|
||||
"symfony/phpunit-bridge": "^4.2 || ^5"
|
||||
"phpstan/phpstan": "^1.11",
|
||||
"symfony/phpunit-bridge": "^3 || ^7"
|
||||
},
|
||||
"type": "library",
|
||||
"extra": {
|
||||
@@ -212,7 +212,7 @@
|
||||
"support": {
|
||||
"irc": "ircs://irc.libera.chat:6697/composer",
|
||||
"issues": "https://github.com/composer/semver/issues",
|
||||
"source": "https://github.com/composer/semver/tree/3.4.2"
|
||||
"source": "https://github.com/composer/semver/tree/3.4.3"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
@@ -228,7 +228,7 @@
|
||||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2024-07-12T11:35:52+00:00"
|
||||
"time": "2024-09-19T14:15:21+00:00"
|
||||
},
|
||||
{
|
||||
"name": "composer/xdebug-handler",
|
||||
@@ -345,16 +345,16 @@
|
||||
},
|
||||
{
|
||||
"name": "fidry/cpu-core-counter",
|
||||
"version": "1.1.0",
|
||||
"version": "1.2.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/theofidry/cpu-core-counter.git",
|
||||
"reference": "f92996c4d5c1a696a6a970e20f7c4216200fcc42"
|
||||
"reference": "8520451a140d3f46ac33042715115e290cf5785f"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/theofidry/cpu-core-counter/zipball/f92996c4d5c1a696a6a970e20f7c4216200fcc42",
|
||||
"reference": "f92996c4d5c1a696a6a970e20f7c4216200fcc42",
|
||||
"url": "https://api.github.com/repos/theofidry/cpu-core-counter/zipball/8520451a140d3f46ac33042715115e290cf5785f",
|
||||
"reference": "8520451a140d3f46ac33042715115e290cf5785f",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -394,7 +394,7 @@
|
||||
],
|
||||
"support": {
|
||||
"issues": "https://github.com/theofidry/cpu-core-counter/issues",
|
||||
"source": "https://github.com/theofidry/cpu-core-counter/tree/1.1.0"
|
||||
"source": "https://github.com/theofidry/cpu-core-counter/tree/1.2.0"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
@@ -402,20 +402,20 @@
|
||||
"type": "github"
|
||||
}
|
||||
],
|
||||
"time": "2024-02-07T09:43:46+00:00"
|
||||
"time": "2024-08-06T10:04:20+00:00"
|
||||
},
|
||||
{
|
||||
"name": "friendsofphp/php-cs-fixer",
|
||||
"version": "v3.62.0",
|
||||
"version": "v3.64.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/PHP-CS-Fixer/PHP-CS-Fixer.git",
|
||||
"reference": "627692f794d35c43483f34b01d94740df2a73507"
|
||||
"reference": "58dd9c931c785a79739310aef5178928305ffa67"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/PHP-CS-Fixer/PHP-CS-Fixer/zipball/627692f794d35c43483f34b01d94740df2a73507",
|
||||
"reference": "627692f794d35c43483f34b01d94740df2a73507",
|
||||
"url": "https://api.github.com/repos/PHP-CS-Fixer/PHP-CS-Fixer/zipball/58dd9c931c785a79739310aef5178928305ffa67",
|
||||
"reference": "58dd9c931c785a79739310aef5178928305ffa67",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -497,7 +497,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.62.0"
|
||||
"source": "https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/tree/v3.64.0"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
@@ -505,7 +505,7 @@
|
||||
"type": "github"
|
||||
}
|
||||
],
|
||||
"time": "2024-08-07T17:03:09+00:00"
|
||||
"time": "2024-08-30T23:09:38+00:00"
|
||||
},
|
||||
{
|
||||
"name": "psr/container",
|
||||
@@ -612,16 +612,16 @@
|
||||
},
|
||||
{
|
||||
"name": "psr/log",
|
||||
"version": "3.0.1",
|
||||
"version": "3.0.2",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/php-fig/log.git",
|
||||
"reference": "79dff0b268932c640297f5208d6298f71855c03e"
|
||||
"reference": "f16e1d5863e37f8d8c2a01719f5b34baa2b714d3"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/php-fig/log/zipball/79dff0b268932c640297f5208d6298f71855c03e",
|
||||
"reference": "79dff0b268932c640297f5208d6298f71855c03e",
|
||||
"url": "https://api.github.com/repos/php-fig/log/zipball/f16e1d5863e37f8d8c2a01719f5b34baa2b714d3",
|
||||
"reference": "f16e1d5863e37f8d8c2a01719f5b34baa2b714d3",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -656,9 +656,9 @@
|
||||
"psr-3"
|
||||
],
|
||||
"support": {
|
||||
"source": "https://github.com/php-fig/log/tree/3.0.1"
|
||||
"source": "https://github.com/php-fig/log/tree/3.0.2"
|
||||
},
|
||||
"time": "2024-08-21T13:31:24+00:00"
|
||||
"time": "2024-09-11T13:17:53+00:00"
|
||||
},
|
||||
{
|
||||
"name": "react/cache",
|
||||
@@ -1259,16 +1259,16 @@
|
||||
},
|
||||
{
|
||||
"name": "symfony/console",
|
||||
"version": "v7.1.3",
|
||||
"version": "v7.1.5",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/console.git",
|
||||
"reference": "cb1dcb30ebc7005c29864ee78adb47b5fb7c3cd9"
|
||||
"reference": "0fa539d12b3ccf068a722bbbffa07ca7079af9ee"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/console/zipball/cb1dcb30ebc7005c29864ee78adb47b5fb7c3cd9",
|
||||
"reference": "cb1dcb30ebc7005c29864ee78adb47b5fb7c3cd9",
|
||||
"url": "https://api.github.com/repos/symfony/console/zipball/0fa539d12b3ccf068a722bbbffa07ca7079af9ee",
|
||||
"reference": "0fa539d12b3ccf068a722bbbffa07ca7079af9ee",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -1332,7 +1332,7 @@
|
||||
"terminal"
|
||||
],
|
||||
"support": {
|
||||
"source": "https://github.com/symfony/console/tree/v7.1.3"
|
||||
"source": "https://github.com/symfony/console/tree/v7.1.5"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
@@ -1348,7 +1348,7 @@
|
||||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2024-07-26T12:41:01+00:00"
|
||||
"time": "2024-09-20T08:28:38+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/deprecation-contracts",
|
||||
@@ -1575,16 +1575,16 @@
|
||||
},
|
||||
{
|
||||
"name": "symfony/filesystem",
|
||||
"version": "v7.1.2",
|
||||
"version": "v7.1.5",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/filesystem.git",
|
||||
"reference": "92a91985250c251de9b947a14bb2c9390b1a562c"
|
||||
"reference": "61fe0566189bf32e8cfee78335d8776f64a66f5a"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/filesystem/zipball/92a91985250c251de9b947a14bb2c9390b1a562c",
|
||||
"reference": "92a91985250c251de9b947a14bb2c9390b1a562c",
|
||||
"url": "https://api.github.com/repos/symfony/filesystem/zipball/61fe0566189bf32e8cfee78335d8776f64a66f5a",
|
||||
"reference": "61fe0566189bf32e8cfee78335d8776f64a66f5a",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -1621,7 +1621,7 @@
|
||||
"description": "Provides basic utilities for the filesystem",
|
||||
"homepage": "https://symfony.com",
|
||||
"support": {
|
||||
"source": "https://github.com/symfony/filesystem/tree/v7.1.2"
|
||||
"source": "https://github.com/symfony/filesystem/tree/v7.1.5"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
@@ -1637,20 +1637,20 @@
|
||||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2024-06-28T10:03:55+00:00"
|
||||
"time": "2024-09-17T09:16:35+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/finder",
|
||||
"version": "v7.1.3",
|
||||
"version": "v7.1.4",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/finder.git",
|
||||
"reference": "717c6329886f32dc65e27461f80f2a465412fdca"
|
||||
"reference": "d95bbf319f7d052082fb7af147e0f835a695e823"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/finder/zipball/717c6329886f32dc65e27461f80f2a465412fdca",
|
||||
"reference": "717c6329886f32dc65e27461f80f2a465412fdca",
|
||||
"url": "https://api.github.com/repos/symfony/finder/zipball/d95bbf319f7d052082fb7af147e0f835a695e823",
|
||||
"reference": "d95bbf319f7d052082fb7af147e0f835a695e823",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -1685,7 +1685,7 @@
|
||||
"description": "Finds files and directories via an intuitive fluent interface",
|
||||
"homepage": "https://symfony.com",
|
||||
"support": {
|
||||
"source": "https://github.com/symfony/finder/tree/v7.1.3"
|
||||
"source": "https://github.com/symfony/finder/tree/v7.1.4"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
@@ -1701,7 +1701,7 @@
|
||||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2024-07-24T07:08:44+00:00"
|
||||
"time": "2024-08-13T14:28:19+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/options-resolver",
|
||||
@@ -1772,20 +1772,20 @@
|
||||
},
|
||||
{
|
||||
"name": "symfony/polyfill-ctype",
|
||||
"version": "v1.30.0",
|
||||
"version": "v1.31.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/polyfill-ctype.git",
|
||||
"reference": "0424dff1c58f028c451efff2045f5d92410bd540"
|
||||
"reference": "a3cc8b044a6ea513310cbd48ef7333b384945638"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/0424dff1c58f028c451efff2045f5d92410bd540",
|
||||
"reference": "0424dff1c58f028c451efff2045f5d92410bd540",
|
||||
"url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/a3cc8b044a6ea513310cbd48ef7333b384945638",
|
||||
"reference": "a3cc8b044a6ea513310cbd48ef7333b384945638",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"php": ">=7.1"
|
||||
"php": ">=7.2"
|
||||
},
|
||||
"provide": {
|
||||
"ext-ctype": "*"
|
||||
@@ -1831,7 +1831,7 @@
|
||||
"portable"
|
||||
],
|
||||
"support": {
|
||||
"source": "https://github.com/symfony/polyfill-ctype/tree/v1.30.0"
|
||||
"source": "https://github.com/symfony/polyfill-ctype/tree/v1.31.0"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
@@ -1847,24 +1847,24 @@
|
||||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2024-05-31T15:07:36+00:00"
|
||||
"time": "2024-09-09T11:45:10+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/polyfill-intl-grapheme",
|
||||
"version": "v1.30.0",
|
||||
"version": "v1.31.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/polyfill-intl-grapheme.git",
|
||||
"reference": "64647a7c30b2283f5d49b874d84a18fc22054b7a"
|
||||
"reference": "b9123926e3b7bc2f98c02ad54f6a4b02b91a8abe"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/64647a7c30b2283f5d49b874d84a18fc22054b7a",
|
||||
"reference": "64647a7c30b2283f5d49b874d84a18fc22054b7a",
|
||||
"url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/b9123926e3b7bc2f98c02ad54f6a4b02b91a8abe",
|
||||
"reference": "b9123926e3b7bc2f98c02ad54f6a4b02b91a8abe",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"php": ">=7.1"
|
||||
"php": ">=7.2"
|
||||
},
|
||||
"suggest": {
|
||||
"ext-intl": "For best performance"
|
||||
@@ -1909,7 +1909,7 @@
|
||||
"shim"
|
||||
],
|
||||
"support": {
|
||||
"source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.30.0"
|
||||
"source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.31.0"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
@@ -1925,24 +1925,24 @@
|
||||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2024-05-31T15:07:36+00:00"
|
||||
"time": "2024-09-09T11:45:10+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/polyfill-intl-normalizer",
|
||||
"version": "v1.30.0",
|
||||
"version": "v1.31.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/polyfill-intl-normalizer.git",
|
||||
"reference": "a95281b0be0d9ab48050ebd988b967875cdb9fdb"
|
||||
"reference": "3833d7255cc303546435cb650316bff708a1c75c"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/a95281b0be0d9ab48050ebd988b967875cdb9fdb",
|
||||
"reference": "a95281b0be0d9ab48050ebd988b967875cdb9fdb",
|
||||
"url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/3833d7255cc303546435cb650316bff708a1c75c",
|
||||
"reference": "3833d7255cc303546435cb650316bff708a1c75c",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"php": ">=7.1"
|
||||
"php": ">=7.2"
|
||||
},
|
||||
"suggest": {
|
||||
"ext-intl": "For best performance"
|
||||
@@ -1990,7 +1990,7 @@
|
||||
"shim"
|
||||
],
|
||||
"support": {
|
||||
"source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.30.0"
|
||||
"source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.31.0"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
@@ -2006,24 +2006,24 @@
|
||||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2024-05-31T15:07:36+00:00"
|
||||
"time": "2024-09-09T11:45:10+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/polyfill-mbstring",
|
||||
"version": "v1.30.0",
|
||||
"version": "v1.31.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/polyfill-mbstring.git",
|
||||
"reference": "fd22ab50000ef01661e2a31d850ebaa297f8e03c"
|
||||
"reference": "85181ba99b2345b0ef10ce42ecac37612d9fd341"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/fd22ab50000ef01661e2a31d850ebaa297f8e03c",
|
||||
"reference": "fd22ab50000ef01661e2a31d850ebaa297f8e03c",
|
||||
"url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/85181ba99b2345b0ef10ce42ecac37612d9fd341",
|
||||
"reference": "85181ba99b2345b0ef10ce42ecac37612d9fd341",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"php": ">=7.1"
|
||||
"php": ">=7.2"
|
||||
},
|
||||
"provide": {
|
||||
"ext-mbstring": "*"
|
||||
@@ -2070,7 +2070,7 @@
|
||||
"shim"
|
||||
],
|
||||
"support": {
|
||||
"source": "https://github.com/symfony/polyfill-mbstring/tree/v1.30.0"
|
||||
"source": "https://github.com/symfony/polyfill-mbstring/tree/v1.31.0"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
@@ -2086,24 +2086,24 @@
|
||||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2024-06-19T12:30:46+00:00"
|
||||
"time": "2024-09-09T11:45:10+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/polyfill-php80",
|
||||
"version": "v1.30.0",
|
||||
"version": "v1.31.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/polyfill-php80.git",
|
||||
"reference": "77fa7995ac1b21ab60769b7323d600a991a90433"
|
||||
"reference": "60328e362d4c2c802a54fcbf04f9d3fb892b4cf8"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/77fa7995ac1b21ab60769b7323d600a991a90433",
|
||||
"reference": "77fa7995ac1b21ab60769b7323d600a991a90433",
|
||||
"url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/60328e362d4c2c802a54fcbf04f9d3fb892b4cf8",
|
||||
"reference": "60328e362d4c2c802a54fcbf04f9d3fb892b4cf8",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"php": ">=7.1"
|
||||
"php": ">=7.2"
|
||||
},
|
||||
"type": "library",
|
||||
"extra": {
|
||||
@@ -2150,7 +2150,7 @@
|
||||
"shim"
|
||||
],
|
||||
"support": {
|
||||
"source": "https://github.com/symfony/polyfill-php80/tree/v1.30.0"
|
||||
"source": "https://github.com/symfony/polyfill-php80/tree/v1.31.0"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
@@ -2166,24 +2166,24 @@
|
||||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2024-05-31T15:07:36+00:00"
|
||||
"time": "2024-09-09T11:45:10+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/polyfill-php81",
|
||||
"version": "v1.30.0",
|
||||
"version": "v1.31.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/polyfill-php81.git",
|
||||
"reference": "3fb075789fb91f9ad9af537c4012d523085bd5af"
|
||||
"reference": "4a4cfc2d253c21a5ad0e53071df248ed48c6ce5c"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/polyfill-php81/zipball/3fb075789fb91f9ad9af537c4012d523085bd5af",
|
||||
"reference": "3fb075789fb91f9ad9af537c4012d523085bd5af",
|
||||
"url": "https://api.github.com/repos/symfony/polyfill-php81/zipball/4a4cfc2d253c21a5ad0e53071df248ed48c6ce5c",
|
||||
"reference": "4a4cfc2d253c21a5ad0e53071df248ed48c6ce5c",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"php": ">=7.1"
|
||||
"php": ">=7.2"
|
||||
},
|
||||
"type": "library",
|
||||
"extra": {
|
||||
@@ -2226,7 +2226,7 @@
|
||||
"shim"
|
||||
],
|
||||
"support": {
|
||||
"source": "https://github.com/symfony/polyfill-php81/tree/v1.30.0"
|
||||
"source": "https://github.com/symfony/polyfill-php81/tree/v1.31.0"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
@@ -2242,20 +2242,20 @@
|
||||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2024-06-19T12:30:46+00:00"
|
||||
"time": "2024-09-09T11:45:10+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/process",
|
||||
"version": "v7.1.3",
|
||||
"version": "v7.1.5",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/process.git",
|
||||
"reference": "7f2f542c668ad6c313dc4a5e9c3321f733197eca"
|
||||
"reference": "5c03ee6369281177f07f7c68252a280beccba847"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/process/zipball/7f2f542c668ad6c313dc4a5e9c3321f733197eca",
|
||||
"reference": "7f2f542c668ad6c313dc4a5e9c3321f733197eca",
|
||||
"url": "https://api.github.com/repos/symfony/process/zipball/5c03ee6369281177f07f7c68252a280beccba847",
|
||||
"reference": "5c03ee6369281177f07f7c68252a280beccba847",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -2287,7 +2287,7 @@
|
||||
"description": "Executes commands in sub-processes",
|
||||
"homepage": "https://symfony.com",
|
||||
"support": {
|
||||
"source": "https://github.com/symfony/process/tree/v7.1.3"
|
||||
"source": "https://github.com/symfony/process/tree/v7.1.5"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
@@ -2303,7 +2303,7 @@
|
||||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2024-07-26T12:44:47+00:00"
|
||||
"time": "2024-09-19T21:48:23+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/service-contracts",
|
||||
@@ -2452,16 +2452,16 @@
|
||||
},
|
||||
{
|
||||
"name": "symfony/string",
|
||||
"version": "v7.1.3",
|
||||
"version": "v7.1.5",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/string.git",
|
||||
"reference": "ea272a882be7f20cad58d5d78c215001617b7f07"
|
||||
"reference": "d66f9c343fa894ec2037cc928381df90a7ad4306"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/string/zipball/ea272a882be7f20cad58d5d78c215001617b7f07",
|
||||
"reference": "ea272a882be7f20cad58d5d78c215001617b7f07",
|
||||
"url": "https://api.github.com/repos/symfony/string/zipball/d66f9c343fa894ec2037cc928381df90a7ad4306",
|
||||
"reference": "d66f9c343fa894ec2037cc928381df90a7ad4306",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -2519,7 +2519,7 @@
|
||||
"utf8"
|
||||
],
|
||||
"support": {
|
||||
"source": "https://github.com/symfony/string/tree/v7.1.3"
|
||||
"source": "https://github.com/symfony/string/tree/v7.1.5"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
@@ -2535,7 +2535,7 @@
|
||||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2024-07-22T10:25:37+00:00"
|
||||
"time": "2024-09-20T08:28:38+00:00"
|
||||
}
|
||||
],
|
||||
"packages-dev": [],
|
||||
|
||||
@@ -312,6 +312,12 @@ PUSHER_ID=
|
||||
DEMO_USERNAME=
|
||||
DEMO_PASSWORD=
|
||||
|
||||
#
|
||||
# Disable or enable the running balance column data
|
||||
# Please disable this. It's a very experimental feature.
|
||||
#
|
||||
USE_RUNNING_BALANCE=false
|
||||
|
||||
#
|
||||
# The v2 layout is very experimental. If it breaks you get to keep both parts.
|
||||
# Be wary of data loss.
|
||||
|
||||
@@ -4,6 +4,9 @@ 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
|
||||
- Jhon Pedroza
|
||||
- mzhubail
|
||||
- tasnim
|
||||
- withbest
|
||||
- Steve Wasiura
|
||||
- imlonghao
|
||||
|
||||
@@ -717,7 +717,7 @@ trait MetaCollection
|
||||
|
||||
$this->joinMetaDataTables();
|
||||
$this->query->where('journal_meta.name', '=', 'internal_reference');
|
||||
$this->query->where('journal_meta.data', '=', $internalReference);
|
||||
$this->query->where('journal_meta.data', '=', sprintf('%s', json_encode($internalReference)));
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
@@ -28,8 +28,6 @@ class AccountSchema extends Schema
|
||||
*/
|
||||
public function fields(): array
|
||||
{
|
||||
Log::debug(__METHOD__);
|
||||
|
||||
return [
|
||||
ID::make(),
|
||||
Attribute::make('created_at'),
|
||||
|
||||
@@ -23,6 +23,7 @@ declare(strict_types=1);
|
||||
|
||||
namespace FireflyIII\Support\Models;
|
||||
|
||||
use Carbon\Carbon;
|
||||
use FireflyIII\Exceptions\FireflyException;
|
||||
use FireflyIII\Models\Account;
|
||||
use FireflyIII\Models\AccountBalance;
|
||||
@@ -74,7 +75,35 @@ class AccountBalanceCalculator
|
||||
foreach ($transactionJournal->transactions as $transaction) {
|
||||
$accounts->push($transaction->account);
|
||||
}
|
||||
$object->optimizedCalculation($accounts);
|
||||
$object->optimizedCalculation($accounts, $transactionJournal->date);
|
||||
}
|
||||
|
||||
private function getLatestBalance(int $accountId, int $currencyId, ?Carbon $notBefore): string
|
||||
{
|
||||
if (null === $notBefore) {
|
||||
return '0';
|
||||
}
|
||||
Log::debug(sprintf('getLatestBalance: notBefore date is "%s", calculating', $notBefore->format('Y-m-d')));
|
||||
$query = Transaction::leftJoin('transaction_journals', 'transaction_journals.id', '=', 'transactions.transaction_journal_id')
|
||||
->whereNull('transactions.deleted_at')
|
||||
->where('transaction_journals.transaction_currency_id', $currencyId)
|
||||
->whereNull('transaction_journals.deleted_at')
|
||||
// this order is the same as GroupCollector
|
||||
->orderBy('transaction_journals.date', 'DESC')
|
||||
->orderBy('transaction_journals.order', 'ASC')
|
||||
->orderBy('transaction_journals.id', 'DESC')
|
||||
->orderBy('transaction_journals.description', 'DESC')
|
||||
->orderBy('transactions.amount', 'DESC')
|
||||
->where('transactions.account_id', $accountId)
|
||||
;
|
||||
$notBefore->startOfDay();
|
||||
$query->where('transaction_journals.date', '<', $notBefore);
|
||||
|
||||
$first = $query->first(['transactions.id', 'transactions.balance_dirty', 'transactions.transaction_currency_id', 'transaction_journals.date', 'transactions.account_id', 'transactions.amount', 'transactions.balance_after']);
|
||||
$balance = $first->balance_after ?? '0';
|
||||
Log::debug(sprintf('getLatestBalance: found balance: %s in transaction #%d', $balance, $first->id ?? 0));
|
||||
|
||||
return $balance;
|
||||
}
|
||||
|
||||
private function getAccountBalanceByAccount(int $account, int $currency): AccountBalance
|
||||
@@ -98,9 +127,15 @@ class AccountBalanceCalculator
|
||||
return $entry;
|
||||
}
|
||||
|
||||
private function optimizedCalculation(Collection $accounts): void
|
||||
private function optimizedCalculation(Collection $accounts, ?Carbon $notBefore = null): void
|
||||
{
|
||||
Log::debug('start of optimizedCalculation');
|
||||
if (false === config('firefly.feature_flags.running_balance_column')) {
|
||||
Log::debug('optimizedCalculation is disabled, return.');
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
if ($accounts->count() > 0) {
|
||||
Log::debug(sprintf('Limited to %d account(s)', $accounts->count()));
|
||||
}
|
||||
@@ -120,6 +155,10 @@ class AccountBalanceCalculator
|
||||
if ($accounts->count() > 0) {
|
||||
$query->whereIn('transactions.account_id', $accounts->pluck('id')->toArray());
|
||||
}
|
||||
if (null !== $notBefore) {
|
||||
$notBefore->startOfDay();
|
||||
$query->where('transaction_journals.date', '>=', $notBefore);
|
||||
}
|
||||
|
||||
$set = $query->get(['transactions.id', 'transactions.balance_dirty', 'transactions.transaction_currency_id', 'transaction_journals.date', 'transactions.account_id', 'transactions.amount']);
|
||||
|
||||
@@ -127,7 +166,7 @@ class AccountBalanceCalculator
|
||||
foreach ($set as $entry) {
|
||||
// start with empty array:
|
||||
$balances[$entry->account_id] ??= [];
|
||||
$balances[$entry->account_id][$entry->transaction_currency_id] ??= '0';
|
||||
$balances[$entry->account_id][$entry->transaction_currency_id] ??= $this->getLatestBalance($entry->account_id, $entry->transaction_currency_id, $notBefore);
|
||||
|
||||
// before and after are easy:
|
||||
$before = $balances[$entry->account_id][$entry->transaction_currency_id];
|
||||
|
||||
@@ -29,7 +29,6 @@ use FireflyIII\Repositories\Account\AccountRepositoryInterface;
|
||||
use FireflyIII\Repositories\User\UserRepositoryInterface;
|
||||
use FireflyIII\Support\Search\OperatorQuerySearch;
|
||||
use League\CommonMark\GithubFlavoredMarkdownConverter;
|
||||
use Route;
|
||||
use Twig\Extension\AbstractExtension;
|
||||
use Twig\TwigFilter;
|
||||
use Twig\TwigFunction;
|
||||
@@ -63,12 +62,29 @@ class General extends AbstractExtension
|
||||
}
|
||||
|
||||
/** @var Carbon $date */
|
||||
$date = session('end', today(config('app.timezone'))->endOfMonth());
|
||||
$info = app('steam')->balanceByTransactions($account, $date, null);
|
||||
$date = session('end', today(config('app.timezone'))->endOfMonth());
|
||||
$runningBalance = config('firefly.feature_flags.running_balance_column');
|
||||
$info = [];
|
||||
if (true === $runningBalance) {
|
||||
$info = app('steam')->balanceByTransactions($account, $date, null);
|
||||
}
|
||||
if (false === $runningBalance) {
|
||||
$info[] = app('steam')->balance($account, $date);
|
||||
}
|
||||
|
||||
$strings = [];
|
||||
$strings = [];
|
||||
foreach ($info as $currencyId => $balance) {
|
||||
$strings[] = app('amount')->formatByCurrencyId($currencyId, $balance, false);
|
||||
$balance = (string) $balance;
|
||||
if (0 === $currencyId) {
|
||||
// not good code but OK
|
||||
/** @var AccountRepositoryInterface $accountRepos */
|
||||
$accountRepos = app(AccountRepositoryInterface::class);
|
||||
$currency = $accountRepos->getAccountCurrency($account) ?? app('amount')->getDefaultCurrency();
|
||||
$strings[] = app('amount')->formatAnything($currency, $balance, false);
|
||||
}
|
||||
if (0 !== $currencyId) {
|
||||
$strings[] = app('amount')->formatByCurrencyId($currencyId, $balance, false);
|
||||
}
|
||||
}
|
||||
|
||||
return implode(', ', $strings);
|
||||
@@ -198,7 +214,7 @@ class General extends AbstractExtension
|
||||
]
|
||||
);
|
||||
|
||||
return (string)$converter->convert($text);
|
||||
return (string) $converter->convert($text);
|
||||
},
|
||||
['is_safe' => ['html']]
|
||||
);
|
||||
@@ -212,8 +228,8 @@ class General extends AbstractExtension
|
||||
return new TwigFilter(
|
||||
'phphost',
|
||||
static function (string $string): string {
|
||||
$proto = (string)parse_url($string, PHP_URL_SCHEME);
|
||||
$host = (string)parse_url($string, PHP_URL_HOST);
|
||||
$proto = (string) parse_url($string, PHP_URL_SCHEME);
|
||||
$host = (string) parse_url($string, PHP_URL_HOST);
|
||||
|
||||
return e(sprintf('%s://%s', $proto, $host));
|
||||
}
|
||||
|
||||
63
changelog.md
63
changelog.md
@@ -3,6 +3,69 @@
|
||||
All notable changes to this project will be documented in this file.
|
||||
This project adheres to [Semantic Versioning](http://semver.org/).
|
||||
|
||||
## 6.1.21 - 2024-09-30
|
||||
|
||||
### Added
|
||||
|
||||
- Enabled the expression engine built by @michaelhthomas. Read more about it in [the documentation](https://docs.firefly-iii.org/references/firefly-iii/rule-expressions/).
|
||||
- Add running balance data, see if it can be used in the layout in the future.
|
||||
- [PR 9160](https://github.com/firefly-iii/firefly-iii/pull/9160) (add test cases for api/v1/autocomplete/CategoryController) reported by @tasnim0tantawi
|
||||
- [PR 9178](https://github.com/firefly-iii/firefly-iii/pull/9178) (Add test cases for Api\V1\Controllers\Autocomplete\BillController & BudgetController) reported by @tasnim0tantawi
|
||||
- [PR 9171](https://github.com/firefly-iii/firefly-iii/pull/9171) (Add about test) reported by @mzhubail
|
||||
|
||||
### Changed
|
||||
|
||||
- [PR 9096](https://github.com/firefly-iii/firefly-iii/pull/9096) (chore: fix some comments) reported by @withbest
|
||||
|
||||
### Fixed
|
||||
|
||||
- [Issue 9078](https://github.com/firefly-iii/firefly-iii/issues/9078) (bcadd exception while using POST transactions) reported by @dbtdsilva
|
||||
- [Discussion 9080](https://github.com/orgs/firefly-iii/discussions/9080) (Incorrect sorting on expense accounts) started by @pc-zookeeper
|
||||
- [Issue 9084](https://github.com/firefly-iii/firefly-iii/issues/9084) (API Call for bills/nextExpectedMatch does not update) reported by @marcelweikum
|
||||
- [Issue 9103](https://github.com/firefly-iii/firefly-iii/issues/9103) (Default Currency does not apply to Accounts.) reported by @chrisgriff1512
|
||||
- [Issue 9140](https://github.com/firefly-iii/firefly-iii/issues/9140) (Dashboard 'Today' option chooses 1st of month (not current date)) reported by @PAS-BC
|
||||
- [PR 9179](https://github.com/firefly-iii/firefly-iii/pull/9179) (fix Navigation.php MTD logic to make tests pass.) reported by @tasnim0tantawi
|
||||
- [PR 9239](https://github.com/firefly-iii/firefly-iii/pull/9239) (Fix webhook index page when Firefly is not served at root) reported by @jfpedroza
|
||||
- [Issue 9168](https://github.com/firefly-iii/firefly-iii/issues/9168) (Custom logout URL doesn't work.) reported by @JC5
|
||||
- [Issue 9155](https://github.com/firefly-iii/firefly-iii/issues/9155) (internal_reference_is does not correctly match numeric internal references) reported by @Lrns123
|
||||
- [Issue 9275](https://github.com/firefly-iii/firefly-iii/issues/9275) (Long wait when editing a transaction) reported by @JC5
|
||||
- [Issue 9278](https://github.com/firefly-iii/firefly-iii/issues/9278) (Update to v6.1.20 changed Balance of Account) reported by @JeuJeus
|
||||
- [Issue 9281](https://github.com/firefly-iii/firefly-iii/issues/9281) (Update to v6.1.20 leads to a type error) reported by @krakonos1602
|
||||
|
||||
### API
|
||||
|
||||
- Expand v2 API
|
||||
|
||||
## 6.1.20 - 2024-09-29
|
||||
|
||||
### Added
|
||||
|
||||
- Enabled the expression engine built by @michaelhthomas. Read more about it in [the documentation](https://docs.firefly-iii.org/references/firefly-iii/rule-expressions/).
|
||||
- Add running balance data, see if it can be used in the layout in the future.
|
||||
- [PR 9160](https://github.com/firefly-iii/firefly-iii/pull/9160) (add test cases for api/v1/autocomplete/CategoryController) reported by @tasnim0tantawi
|
||||
- [PR 9178](https://github.com/firefly-iii/firefly-iii/pull/9178) (Add test cases for Api\V1\Controllers\Autocomplete\BillController & BudgetController) reported by @tasnim0tantawi
|
||||
- [PR 9171](https://github.com/firefly-iii/firefly-iii/pull/9171) (Add about test) reported by @mzhubail
|
||||
|
||||
### Changed
|
||||
|
||||
- [PR 9096](https://github.com/firefly-iii/firefly-iii/pull/9096) (chore: fix some comments) reported by @withbest
|
||||
|
||||
### Fixed
|
||||
|
||||
- [Issue 9078](https://github.com/firefly-iii/firefly-iii/issues/9078) (bcadd exception while using POST transactions) reported by @dbtdsilva
|
||||
- [Discussion 9080](https://github.com/orgs/firefly-iii/discussions/9080) (Incorrect sorting on expense accounts) started by @pc-zookeeper
|
||||
- [Issue 9084](https://github.com/firefly-iii/firefly-iii/issues/9084) (API Call for bills/nextExpectedMatch does not update) reported by @marcelweikum
|
||||
- [Issue 9103](https://github.com/firefly-iii/firefly-iii/issues/9103) (Default Currency does not apply to Accounts.) reported by @chrisgriff1512
|
||||
- [Issue 9140](https://github.com/firefly-iii/firefly-iii/issues/9140) (Dashboard 'Today' option chooses 1st of month (not current date)) reported by @PAS-BC
|
||||
- [PR 9179](https://github.com/firefly-iii/firefly-iii/pull/9179) (fix Navigation.php MTD logic to make tests pass.) reported by @tasnim0tantawi
|
||||
- [PR 9239](https://github.com/firefly-iii/firefly-iii/pull/9239) (Fix webhook index page when Firefly is not served at root) reported by @jfpedroza
|
||||
- [Issue 9168](https://github.com/firefly-iii/firefly-iii/issues/9168) (Custom logout URL doesn't work.) reported by @JC5
|
||||
- [Issue 9155](https://github.com/firefly-iii/firefly-iii/issues/9155) (internal_reference_is does not correctly match numeric internal references) reported by @Lrns123
|
||||
|
||||
### API
|
||||
|
||||
- Expand v2 API
|
||||
|
||||
## 6.1.19 - 2024-07-20
|
||||
|
||||
### Fixed
|
||||
|
||||
@@ -93,7 +93,7 @@
|
||||
"laravel/framework": "^11",
|
||||
"laravel/passport": "^12",
|
||||
"laravel/sanctum": "^4",
|
||||
"laravel/slack-notification-channel": "^3.0",
|
||||
"laravel/slack-notification-channel": "^3.3",
|
||||
"laravel/ui": "^4.2",
|
||||
"league/commonmark": "2.*",
|
||||
"league/csv": "^9.10",
|
||||
@@ -120,10 +120,10 @@
|
||||
"larastan/larastan": "^2",
|
||||
"laravel-json-api/testing": "^3.0",
|
||||
"mockery/mockery": "1.*",
|
||||
"phpstan/extension-installer": "^1.3",
|
||||
"phpstan/extension-installer": "^1.4",
|
||||
"phpstan/phpstan": "^1.10",
|
||||
"phpstan/phpstan-deprecation-rules": "^1.1",
|
||||
"phpstan/phpstan-strict-rules": "^1.4",
|
||||
"phpstan/phpstan-strict-rules": "^1.6",
|
||||
"phpunit/phpunit": "^10",
|
||||
"thecodingmachine/phpstan-strict-rules": "^1.0"
|
||||
},
|
||||
|
||||
764
composer.lock
generated
764
composer.lock
generated
File diff suppressed because it is too large
Load Diff
@@ -65,10 +65,6 @@ use FireflyIII\Support\Binder\UserGroupAccount;
|
||||
use FireflyIII\Support\Binder\UserGroupBill;
|
||||
use FireflyIII\Support\Binder\UserGroupTransaction;
|
||||
use FireflyIII\TransactionRules\Actions\AddTag;
|
||||
use FireflyIII\TransactionRules\Actions\AppendDescription;
|
||||
use FireflyIII\TransactionRules\Actions\AppendDescriptionToNotes;
|
||||
use FireflyIII\TransactionRules\Actions\AppendNotes;
|
||||
use FireflyIII\TransactionRules\Actions\AppendNotesToDescription;
|
||||
use FireflyIII\TransactionRules\Actions\ClearBudget;
|
||||
use FireflyIII\TransactionRules\Actions\ClearCategory;
|
||||
use FireflyIII\TransactionRules\Actions\ClearNotes;
|
||||
@@ -77,10 +73,6 @@ use FireflyIII\TransactionRules\Actions\ConvertToTransfer;
|
||||
use FireflyIII\TransactionRules\Actions\ConvertToWithdrawal;
|
||||
use FireflyIII\TransactionRules\Actions\DeleteTransaction;
|
||||
use FireflyIII\TransactionRules\Actions\LinkToBill;
|
||||
use FireflyIII\TransactionRules\Actions\MoveDescriptionToNotes;
|
||||
use FireflyIII\TransactionRules\Actions\MoveNotesToDescription;
|
||||
use FireflyIII\TransactionRules\Actions\PrependDescription;
|
||||
use FireflyIII\TransactionRules\Actions\PrependNotes;
|
||||
use FireflyIII\TransactionRules\Actions\RemoveAllTags;
|
||||
use FireflyIII\TransactionRules\Actions\RemoveTag;
|
||||
use FireflyIII\TransactionRules\Actions\SetAmount;
|
||||
@@ -110,14 +102,15 @@ return [
|
||||
],
|
||||
// some feature flags:
|
||||
'feature_flags' => [
|
||||
'export' => true,
|
||||
'telemetry' => false,
|
||||
'webhooks' => true,
|
||||
'handle_debts' => true,
|
||||
'expression_engine' => true,
|
||||
'export' => true,
|
||||
'telemetry' => false,
|
||||
'webhooks' => true,
|
||||
'handle_debts' => true,
|
||||
'expression_engine' => true,
|
||||
'running_balance_column' => env('USE_RUNNING_BALANCE', false),
|
||||
// see cer.php for exchange rates feature flag.
|
||||
],
|
||||
'version' => 'develop/2024-08-26',
|
||||
'version' => '6.1.21',
|
||||
'api_version' => '2.1.0',
|
||||
'db_version' => 24,
|
||||
|
||||
|
||||
693
package-lock.json
generated
693
package-lock.json
generated
File diff suppressed because it is too large
Load Diff
@@ -5,5 +5,8 @@
|
||||
"workspaces": [
|
||||
"resources/assets/v1",
|
||||
"resources/assets/v2"
|
||||
]
|
||||
],
|
||||
"devDependencies": {
|
||||
"postcss": "^8.4.47"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,689 +0,0 @@
|
||||
diff --git a/node_modules/admin-lte/.browserslistrc b/node_modules/admin-lte/.browserslistrc
|
||||
old mode 100644
|
||||
new mode 100755
|
||||
diff --git a/node_modules/admin-lte/.bundlewatch.config.json b/node_modules/admin-lte/.bundlewatch.config.json
|
||||
old mode 100644
|
||||
new mode 100755
|
||||
diff --git a/node_modules/admin-lte/.cache/.eslintcache b/node_modules/admin-lte/.cache/.eslintcache
|
||||
old mode 100644
|
||||
new mode 100755
|
||||
diff --git a/node_modules/admin-lte/.cache/.stylelintcache b/node_modules/admin-lte/.cache/.stylelintcache
|
||||
old mode 100644
|
||||
new mode 100755
|
||||
diff --git a/node_modules/admin-lte/.editorconfig b/node_modules/admin-lte/.editorconfig
|
||||
old mode 100644
|
||||
new mode 100755
|
||||
diff --git a/node_modules/admin-lte/.eslintignore b/node_modules/admin-lte/.eslintignore
|
||||
old mode 100644
|
||||
new mode 100755
|
||||
diff --git a/node_modules/admin-lte/.eslintrc.json b/node_modules/admin-lte/.eslintrc.json
|
||||
old mode 100644
|
||||
new mode 100755
|
||||
diff --git a/node_modules/admin-lte/.gitattributes b/node_modules/admin-lte/.gitattributes
|
||||
old mode 100644
|
||||
new mode 100755
|
||||
diff --git a/node_modules/admin-lte/.gitpod.yml b/node_modules/admin-lte/.gitpod.yml
|
||||
old mode 100644
|
||||
new mode 100755
|
||||
diff --git a/node_modules/admin-lte/.stylelintignore b/node_modules/admin-lte/.stylelintignore
|
||||
old mode 100644
|
||||
new mode 100755
|
||||
diff --git a/node_modules/admin-lte/.stylelintrc.json b/node_modules/admin-lte/.stylelintrc.json
|
||||
old mode 100644
|
||||
new mode 100755
|
||||
diff --git a/node_modules/admin-lte/CODE_OF_CONDUCT.md b/node_modules/admin-lte/CODE_OF_CONDUCT.md
|
||||
old mode 100644
|
||||
new mode 100755
|
||||
diff --git a/node_modules/admin-lte/LICENSE b/node_modules/admin-lte/LICENSE
|
||||
old mode 100644
|
||||
new mode 100755
|
||||
diff --git a/node_modules/admin-lte/README.md b/node_modules/admin-lte/README.md
|
||||
old mode 100644
|
||||
new mode 100755
|
||||
diff --git a/node_modules/admin-lte/composer.json b/node_modules/admin-lte/composer.json
|
||||
old mode 100644
|
||||
new mode 100755
|
||||
diff --git a/node_modules/admin-lte/dist/assets/img/AdminLTEFullLogo.png b/node_modules/admin-lte/dist/assets/img/AdminLTEFullLogo.png
|
||||
old mode 100644
|
||||
new mode 100755
|
||||
diff --git a/node_modules/admin-lte/dist/assets/img/AdminLTELogo.png b/node_modules/admin-lte/dist/assets/img/AdminLTELogo.png
|
||||
old mode 100644
|
||||
new mode 100755
|
||||
diff --git a/node_modules/admin-lte/dist/assets/img/avatar.png b/node_modules/admin-lte/dist/assets/img/avatar.png
|
||||
old mode 100644
|
||||
new mode 100755
|
||||
diff --git a/node_modules/admin-lte/dist/assets/img/avatar2.png b/node_modules/admin-lte/dist/assets/img/avatar2.png
|
||||
old mode 100644
|
||||
new mode 100755
|
||||
diff --git a/node_modules/admin-lte/dist/assets/img/avatar3.png b/node_modules/admin-lte/dist/assets/img/avatar3.png
|
||||
old mode 100644
|
||||
new mode 100755
|
||||
diff --git a/node_modules/admin-lte/dist/assets/img/avatar4.png b/node_modules/admin-lte/dist/assets/img/avatar4.png
|
||||
old mode 100644
|
||||
new mode 100755
|
||||
diff --git a/node_modules/admin-lte/dist/assets/img/avatar5.png b/node_modules/admin-lte/dist/assets/img/avatar5.png
|
||||
old mode 100644
|
||||
new mode 100755
|
||||
diff --git a/node_modules/admin-lte/dist/assets/img/boxed-bg.jpg b/node_modules/admin-lte/dist/assets/img/boxed-bg.jpg
|
||||
old mode 100644
|
||||
new mode 100755
|
||||
diff --git a/node_modules/admin-lte/dist/assets/img/boxed-bg.png b/node_modules/admin-lte/dist/assets/img/boxed-bg.png
|
||||
old mode 100644
|
||||
new mode 100755
|
||||
diff --git a/node_modules/admin-lte/dist/assets/img/credit/american-express.png b/node_modules/admin-lte/dist/assets/img/credit/american-express.png
|
||||
old mode 100644
|
||||
new mode 100755
|
||||
diff --git a/node_modules/admin-lte/dist/assets/img/credit/cirrus.png b/node_modules/admin-lte/dist/assets/img/credit/cirrus.png
|
||||
old mode 100644
|
||||
new mode 100755
|
||||
diff --git a/node_modules/admin-lte/dist/assets/img/credit/mastercard.png b/node_modules/admin-lte/dist/assets/img/credit/mastercard.png
|
||||
old mode 100644
|
||||
new mode 100755
|
||||
diff --git a/node_modules/admin-lte/dist/assets/img/credit/paypal.png b/node_modules/admin-lte/dist/assets/img/credit/paypal.png
|
||||
old mode 100644
|
||||
new mode 100755
|
||||
diff --git a/node_modules/admin-lte/dist/assets/img/credit/paypal2.png b/node_modules/admin-lte/dist/assets/img/credit/paypal2.png
|
||||
old mode 100644
|
||||
new mode 100755
|
||||
diff --git a/node_modules/admin-lte/dist/assets/img/credit/visa.png b/node_modules/admin-lte/dist/assets/img/credit/visa.png
|
||||
old mode 100644
|
||||
new mode 100755
|
||||
diff --git a/node_modules/admin-lte/dist/assets/img/default-150x150.png b/node_modules/admin-lte/dist/assets/img/default-150x150.png
|
||||
old mode 100644
|
||||
new mode 100755
|
||||
diff --git a/node_modules/admin-lte/dist/assets/img/icons.png b/node_modules/admin-lte/dist/assets/img/icons.png
|
||||
old mode 100644
|
||||
new mode 100755
|
||||
diff --git a/node_modules/admin-lte/dist/assets/img/photo1.png b/node_modules/admin-lte/dist/assets/img/photo1.png
|
||||
old mode 100644
|
||||
new mode 100755
|
||||
diff --git a/node_modules/admin-lte/dist/assets/img/photo2.png b/node_modules/admin-lte/dist/assets/img/photo2.png
|
||||
old mode 100644
|
||||
new mode 100755
|
||||
diff --git a/node_modules/admin-lte/dist/assets/img/photo3.jpg b/node_modules/admin-lte/dist/assets/img/photo3.jpg
|
||||
old mode 100644
|
||||
new mode 100755
|
||||
diff --git a/node_modules/admin-lte/dist/assets/img/photo4.jpg b/node_modules/admin-lte/dist/assets/img/photo4.jpg
|
||||
old mode 100644
|
||||
new mode 100755
|
||||
diff --git a/node_modules/admin-lte/dist/assets/img/prod-1.jpg b/node_modules/admin-lte/dist/assets/img/prod-1.jpg
|
||||
old mode 100644
|
||||
new mode 100755
|
||||
diff --git a/node_modules/admin-lte/dist/assets/img/prod-2.jpg b/node_modules/admin-lte/dist/assets/img/prod-2.jpg
|
||||
old mode 100644
|
||||
new mode 100755
|
||||
diff --git a/node_modules/admin-lte/dist/assets/img/prod-3.jpg b/node_modules/admin-lte/dist/assets/img/prod-3.jpg
|
||||
old mode 100644
|
||||
new mode 100755
|
||||
diff --git a/node_modules/admin-lte/dist/assets/img/prod-4.jpg b/node_modules/admin-lte/dist/assets/img/prod-4.jpg
|
||||
old mode 100644
|
||||
new mode 100755
|
||||
diff --git a/node_modules/admin-lte/dist/assets/img/prod-5.jpg b/node_modules/admin-lte/dist/assets/img/prod-5.jpg
|
||||
old mode 100644
|
||||
new mode 100755
|
||||
diff --git a/node_modules/admin-lte/dist/assets/img/user1-128x128.jpg b/node_modules/admin-lte/dist/assets/img/user1-128x128.jpg
|
||||
old mode 100644
|
||||
new mode 100755
|
||||
diff --git a/node_modules/admin-lte/dist/assets/img/user2-160x160.jpg b/node_modules/admin-lte/dist/assets/img/user2-160x160.jpg
|
||||
old mode 100644
|
||||
new mode 100755
|
||||
diff --git a/node_modules/admin-lte/dist/assets/img/user3-128x128.jpg b/node_modules/admin-lte/dist/assets/img/user3-128x128.jpg
|
||||
old mode 100644
|
||||
new mode 100755
|
||||
diff --git a/node_modules/admin-lte/dist/assets/img/user4-128x128.jpg b/node_modules/admin-lte/dist/assets/img/user4-128x128.jpg
|
||||
old mode 100644
|
||||
new mode 100755
|
||||
diff --git a/node_modules/admin-lte/dist/assets/img/user5-128x128.jpg b/node_modules/admin-lte/dist/assets/img/user5-128x128.jpg
|
||||
old mode 100644
|
||||
new mode 100755
|
||||
diff --git a/node_modules/admin-lte/dist/assets/img/user6-128x128.jpg b/node_modules/admin-lte/dist/assets/img/user6-128x128.jpg
|
||||
old mode 100644
|
||||
new mode 100755
|
||||
diff --git a/node_modules/admin-lte/dist/assets/img/user7-128x128.jpg b/node_modules/admin-lte/dist/assets/img/user7-128x128.jpg
|
||||
old mode 100644
|
||||
new mode 100755
|
||||
diff --git a/node_modules/admin-lte/dist/assets/img/user8-128x128.jpg b/node_modules/admin-lte/dist/assets/img/user8-128x128.jpg
|
||||
old mode 100644
|
||||
new mode 100755
|
||||
diff --git a/node_modules/admin-lte/dist/css/adminlte.css b/node_modules/admin-lte/dist/css/adminlte.css
|
||||
old mode 100644
|
||||
new mode 100755
|
||||
diff --git a/node_modules/admin-lte/dist/css/adminlte.css.map b/node_modules/admin-lte/dist/css/adminlte.css.map
|
||||
old mode 100644
|
||||
new mode 100755
|
||||
diff --git a/node_modules/admin-lte/dist/css/adminlte.min.css b/node_modules/admin-lte/dist/css/adminlte.min.css
|
||||
old mode 100644
|
||||
new mode 100755
|
||||
diff --git a/node_modules/admin-lte/dist/css/adminlte.min.css.map b/node_modules/admin-lte/dist/css/adminlte.min.css.map
|
||||
old mode 100644
|
||||
new mode 100755
|
||||
diff --git a/node_modules/admin-lte/dist/css/adminlte.rtl.css b/node_modules/admin-lte/dist/css/adminlte.rtl.css
|
||||
old mode 100644
|
||||
new mode 100755
|
||||
diff --git a/node_modules/admin-lte/dist/css/adminlte.rtl.css.map b/node_modules/admin-lte/dist/css/adminlte.rtl.css.map
|
||||
old mode 100644
|
||||
new mode 100755
|
||||
diff --git a/node_modules/admin-lte/dist/css/adminlte.rtl.min.css b/node_modules/admin-lte/dist/css/adminlte.rtl.min.css
|
||||
old mode 100644
|
||||
new mode 100755
|
||||
diff --git a/node_modules/admin-lte/dist/css/adminlte.rtl.min.css.map b/node_modules/admin-lte/dist/css/adminlte.rtl.min.css.map
|
||||
old mode 100644
|
||||
new mode 100755
|
||||
diff --git a/node_modules/admin-lte/dist/js/adminlte.js b/node_modules/admin-lte/dist/js/adminlte.js
|
||||
old mode 100644
|
||||
new mode 100755
|
||||
diff --git a/node_modules/admin-lte/dist/js/adminlte.js.map b/node_modules/admin-lte/dist/js/adminlte.js.map
|
||||
old mode 100644
|
||||
new mode 100755
|
||||
diff --git a/node_modules/admin-lte/dist/js/adminlte.min.js b/node_modules/admin-lte/dist/js/adminlte.min.js
|
||||
old mode 100644
|
||||
new mode 100755
|
||||
diff --git a/node_modules/admin-lte/dist/js/adminlte.min.js.map b/node_modules/admin-lte/dist/js/adminlte.min.js.map
|
||||
old mode 100644
|
||||
new mode 100755
|
||||
diff --git a/node_modules/admin-lte/dist/pages/UI/general.html b/node_modules/admin-lte/dist/pages/UI/general.html
|
||||
old mode 100644
|
||||
new mode 100755
|
||||
diff --git a/node_modules/admin-lte/dist/pages/UI/timeline.html b/node_modules/admin-lte/dist/pages/UI/timeline.html
|
||||
old mode 100644
|
||||
new mode 100755
|
||||
diff --git a/node_modules/admin-lte/dist/pages/docs/browser-support.html b/node_modules/admin-lte/dist/pages/docs/browser-support.html
|
||||
old mode 100644
|
||||
new mode 100755
|
||||
diff --git a/node_modules/admin-lte/dist/pages/docs/color-mode.html b/node_modules/admin-lte/dist/pages/docs/color-mode.html
|
||||
old mode 100644
|
||||
new mode 100755
|
||||
diff --git a/node_modules/admin-lte/dist/pages/docs/components/main-header.html b/node_modules/admin-lte/dist/pages/docs/components/main-header.html
|
||||
old mode 100644
|
||||
new mode 100755
|
||||
diff --git a/node_modules/admin-lte/dist/pages/docs/components/main-sidebar.html b/node_modules/admin-lte/dist/pages/docs/components/main-sidebar.html
|
||||
old mode 100644
|
||||
new mode 100755
|
||||
diff --git a/node_modules/admin-lte/dist/pages/docs/faq.html b/node_modules/admin-lte/dist/pages/docs/faq.html
|
||||
old mode 100644
|
||||
new mode 100755
|
||||
diff --git a/node_modules/admin-lte/dist/pages/docs/how-to-contribute.html b/node_modules/admin-lte/dist/pages/docs/how-to-contribute.html
|
||||
old mode 100644
|
||||
new mode 100755
|
||||
diff --git a/node_modules/admin-lte/dist/pages/docs/introduction.html b/node_modules/admin-lte/dist/pages/docs/introduction.html
|
||||
old mode 100644
|
||||
new mode 100755
|
||||
diff --git a/node_modules/admin-lte/dist/pages/docs/javascript/treeview.html b/node_modules/admin-lte/dist/pages/docs/javascript/treeview.html
|
||||
old mode 100644
|
||||
new mode 100755
|
||||
diff --git a/node_modules/admin-lte/dist/pages/docs/layout.html b/node_modules/admin-lte/dist/pages/docs/layout.html
|
||||
old mode 100644
|
||||
new mode 100755
|
||||
diff --git a/node_modules/admin-lte/dist/pages/docs/license.html b/node_modules/admin-lte/dist/pages/docs/license.html
|
||||
old mode 100644
|
||||
new mode 100755
|
||||
diff --git a/node_modules/admin-lte/dist/pages/examples/lockscreen.html b/node_modules/admin-lte/dist/pages/examples/lockscreen.html
|
||||
old mode 100644
|
||||
new mode 100755
|
||||
diff --git a/node_modules/admin-lte/dist/pages/examples/login-v2.html b/node_modules/admin-lte/dist/pages/examples/login-v2.html
|
||||
old mode 100644
|
||||
new mode 100755
|
||||
diff --git a/node_modules/admin-lte/dist/pages/examples/login.html b/node_modules/admin-lte/dist/pages/examples/login.html
|
||||
old mode 100644
|
||||
new mode 100755
|
||||
diff --git a/node_modules/admin-lte/dist/pages/examples/register-v2.html b/node_modules/admin-lte/dist/pages/examples/register-v2.html
|
||||
old mode 100644
|
||||
new mode 100755
|
||||
diff --git a/node_modules/admin-lte/dist/pages/examples/register.html b/node_modules/admin-lte/dist/pages/examples/register.html
|
||||
old mode 100644
|
||||
new mode 100755
|
||||
diff --git a/node_modules/admin-lte/dist/pages/forms/general.html b/node_modules/admin-lte/dist/pages/forms/general.html
|
||||
old mode 100644
|
||||
new mode 100755
|
||||
diff --git a/node_modules/admin-lte/dist/pages/index.html b/node_modules/admin-lte/dist/pages/index.html
|
||||
old mode 100644
|
||||
new mode 100755
|
||||
diff --git a/node_modules/admin-lte/dist/pages/index2.html b/node_modules/admin-lte/dist/pages/index2.html
|
||||
old mode 100644
|
||||
new mode 100755
|
||||
diff --git a/node_modules/admin-lte/dist/pages/index3.html b/node_modules/admin-lte/dist/pages/index3.html
|
||||
old mode 100644
|
||||
new mode 100755
|
||||
diff --git a/node_modules/admin-lte/dist/pages/layout/collapsed-sidebar.html b/node_modules/admin-lte/dist/pages/layout/collapsed-sidebar.html
|
||||
old mode 100644
|
||||
new mode 100755
|
||||
diff --git a/node_modules/admin-lte/dist/pages/layout/fixed-complete.html b/node_modules/admin-lte/dist/pages/layout/fixed-complete.html
|
||||
old mode 100644
|
||||
new mode 100755
|
||||
diff --git a/node_modules/admin-lte/dist/pages/layout/fixed-sidebar.html b/node_modules/admin-lte/dist/pages/layout/fixed-sidebar.html
|
||||
old mode 100644
|
||||
new mode 100755
|
||||
diff --git a/node_modules/admin-lte/dist/pages/layout/layout-rtl.html b/node_modules/admin-lte/dist/pages/layout/layout-rtl.html
|
||||
old mode 100644
|
||||
new mode 100755
|
||||
diff --git a/node_modules/admin-lte/dist/pages/layout/logo-switch.html b/node_modules/admin-lte/dist/pages/layout/logo-switch.html
|
||||
old mode 100644
|
||||
new mode 100755
|
||||
diff --git a/node_modules/admin-lte/dist/pages/layout/sidebar-mini.html b/node_modules/admin-lte/dist/pages/layout/sidebar-mini.html
|
||||
old mode 100644
|
||||
new mode 100755
|
||||
diff --git a/node_modules/admin-lte/dist/pages/layout/unfixed-sidebar.html b/node_modules/admin-lte/dist/pages/layout/unfixed-sidebar.html
|
||||
old mode 100644
|
||||
new mode 100755
|
||||
diff --git a/node_modules/admin-lte/dist/pages/tables/simple.html b/node_modules/admin-lte/dist/pages/tables/simple.html
|
||||
old mode 100644
|
||||
new mode 100755
|
||||
diff --git a/node_modules/admin-lte/dist/pages/widgets/cards.html b/node_modules/admin-lte/dist/pages/widgets/cards.html
|
||||
old mode 100644
|
||||
new mode 100755
|
||||
diff --git a/node_modules/admin-lte/dist/pages/widgets/info-box.html b/node_modules/admin-lte/dist/pages/widgets/info-box.html
|
||||
old mode 100644
|
||||
new mode 100755
|
||||
diff --git a/node_modules/admin-lte/dist/pages/widgets/small-box.html b/node_modules/admin-lte/dist/pages/widgets/small-box.html
|
||||
old mode 100644
|
||||
new mode 100755
|
||||
diff --git a/node_modules/admin-lte/index.html b/node_modules/admin-lte/index.html
|
||||
old mode 100644
|
||||
new mode 100755
|
||||
diff --git a/node_modules/admin-lte/src/assets/img/AdminLTEFullLogo.png b/node_modules/admin-lte/src/assets/img/AdminLTEFullLogo.png
|
||||
old mode 100644
|
||||
new mode 100755
|
||||
diff --git a/node_modules/admin-lte/src/assets/img/AdminLTELogo.png b/node_modules/admin-lte/src/assets/img/AdminLTELogo.png
|
||||
old mode 100644
|
||||
new mode 100755
|
||||
diff --git a/node_modules/admin-lte/src/assets/img/avatar.png b/node_modules/admin-lte/src/assets/img/avatar.png
|
||||
old mode 100644
|
||||
new mode 100755
|
||||
diff --git a/node_modules/admin-lte/src/assets/img/avatar2.png b/node_modules/admin-lte/src/assets/img/avatar2.png
|
||||
old mode 100644
|
||||
new mode 100755
|
||||
diff --git a/node_modules/admin-lte/src/assets/img/avatar3.png b/node_modules/admin-lte/src/assets/img/avatar3.png
|
||||
old mode 100644
|
||||
new mode 100755
|
||||
diff --git a/node_modules/admin-lte/src/assets/img/avatar4.png b/node_modules/admin-lte/src/assets/img/avatar4.png
|
||||
old mode 100644
|
||||
new mode 100755
|
||||
diff --git a/node_modules/admin-lte/src/assets/img/avatar5.png b/node_modules/admin-lte/src/assets/img/avatar5.png
|
||||
old mode 100644
|
||||
new mode 100755
|
||||
diff --git a/node_modules/admin-lte/src/assets/img/boxed-bg.jpg b/node_modules/admin-lte/src/assets/img/boxed-bg.jpg
|
||||
old mode 100644
|
||||
new mode 100755
|
||||
diff --git a/node_modules/admin-lte/src/assets/img/boxed-bg.png b/node_modules/admin-lte/src/assets/img/boxed-bg.png
|
||||
old mode 100644
|
||||
new mode 100755
|
||||
diff --git a/node_modules/admin-lte/src/assets/img/credit/american-express.png b/node_modules/admin-lte/src/assets/img/credit/american-express.png
|
||||
old mode 100644
|
||||
new mode 100755
|
||||
diff --git a/node_modules/admin-lte/src/assets/img/credit/cirrus.png b/node_modules/admin-lte/src/assets/img/credit/cirrus.png
|
||||
old mode 100644
|
||||
new mode 100755
|
||||
diff --git a/node_modules/admin-lte/src/assets/img/credit/mastercard.png b/node_modules/admin-lte/src/assets/img/credit/mastercard.png
|
||||
old mode 100644
|
||||
new mode 100755
|
||||
diff --git a/node_modules/admin-lte/src/assets/img/credit/paypal.png b/node_modules/admin-lte/src/assets/img/credit/paypal.png
|
||||
old mode 100644
|
||||
new mode 100755
|
||||
diff --git a/node_modules/admin-lte/src/assets/img/credit/paypal2.png b/node_modules/admin-lte/src/assets/img/credit/paypal2.png
|
||||
old mode 100644
|
||||
new mode 100755
|
||||
diff --git a/node_modules/admin-lte/src/assets/img/credit/visa.png b/node_modules/admin-lte/src/assets/img/credit/visa.png
|
||||
old mode 100644
|
||||
new mode 100755
|
||||
diff --git a/node_modules/admin-lte/src/assets/img/default-150x150.png b/node_modules/admin-lte/src/assets/img/default-150x150.png
|
||||
old mode 100644
|
||||
new mode 100755
|
||||
diff --git a/node_modules/admin-lte/src/assets/img/icons.png b/node_modules/admin-lte/src/assets/img/icons.png
|
||||
old mode 100644
|
||||
new mode 100755
|
||||
diff --git a/node_modules/admin-lte/src/assets/img/photo1.png b/node_modules/admin-lte/src/assets/img/photo1.png
|
||||
old mode 100644
|
||||
new mode 100755
|
||||
diff --git a/node_modules/admin-lte/src/assets/img/photo2.png b/node_modules/admin-lte/src/assets/img/photo2.png
|
||||
old mode 100644
|
||||
new mode 100755
|
||||
diff --git a/node_modules/admin-lte/src/assets/img/photo3.jpg b/node_modules/admin-lte/src/assets/img/photo3.jpg
|
||||
old mode 100644
|
||||
new mode 100755
|
||||
diff --git a/node_modules/admin-lte/src/assets/img/photo4.jpg b/node_modules/admin-lte/src/assets/img/photo4.jpg
|
||||
old mode 100644
|
||||
new mode 100755
|
||||
diff --git a/node_modules/admin-lte/src/assets/img/prod-1.jpg b/node_modules/admin-lte/src/assets/img/prod-1.jpg
|
||||
old mode 100644
|
||||
new mode 100755
|
||||
diff --git a/node_modules/admin-lte/src/assets/img/prod-2.jpg b/node_modules/admin-lte/src/assets/img/prod-2.jpg
|
||||
old mode 100644
|
||||
new mode 100755
|
||||
diff --git a/node_modules/admin-lte/src/assets/img/prod-3.jpg b/node_modules/admin-lte/src/assets/img/prod-3.jpg
|
||||
old mode 100644
|
||||
new mode 100755
|
||||
diff --git a/node_modules/admin-lte/src/assets/img/prod-4.jpg b/node_modules/admin-lte/src/assets/img/prod-4.jpg
|
||||
old mode 100644
|
||||
new mode 100755
|
||||
diff --git a/node_modules/admin-lte/src/assets/img/prod-5.jpg b/node_modules/admin-lte/src/assets/img/prod-5.jpg
|
||||
old mode 100644
|
||||
new mode 100755
|
||||
diff --git a/node_modules/admin-lte/src/assets/img/user1-128x128.jpg b/node_modules/admin-lte/src/assets/img/user1-128x128.jpg
|
||||
old mode 100644
|
||||
new mode 100755
|
||||
diff --git a/node_modules/admin-lte/src/assets/img/user2-160x160.jpg b/node_modules/admin-lte/src/assets/img/user2-160x160.jpg
|
||||
old mode 100644
|
||||
new mode 100755
|
||||
diff --git a/node_modules/admin-lte/src/assets/img/user3-128x128.jpg b/node_modules/admin-lte/src/assets/img/user3-128x128.jpg
|
||||
old mode 100644
|
||||
new mode 100755
|
||||
diff --git a/node_modules/admin-lte/src/assets/img/user4-128x128.jpg b/node_modules/admin-lte/src/assets/img/user4-128x128.jpg
|
||||
old mode 100644
|
||||
new mode 100755
|
||||
diff --git a/node_modules/admin-lte/src/assets/img/user5-128x128.jpg b/node_modules/admin-lte/src/assets/img/user5-128x128.jpg
|
||||
old mode 100644
|
||||
new mode 100755
|
||||
diff --git a/node_modules/admin-lte/src/assets/img/user6-128x128.jpg b/node_modules/admin-lte/src/assets/img/user6-128x128.jpg
|
||||
old mode 100644
|
||||
new mode 100755
|
||||
diff --git a/node_modules/admin-lte/src/assets/img/user7-128x128.jpg b/node_modules/admin-lte/src/assets/img/user7-128x128.jpg
|
||||
old mode 100644
|
||||
new mode 100755
|
||||
diff --git a/node_modules/admin-lte/src/assets/img/user8-128x128.jpg b/node_modules/admin-lte/src/assets/img/user8-128x128.jpg
|
||||
old mode 100644
|
||||
new mode 100755
|
||||
diff --git a/node_modules/admin-lte/src/config/assets.config.mjs b/node_modules/admin-lte/src/config/assets.config.mjs
|
||||
old mode 100644
|
||||
new mode 100755
|
||||
diff --git a/node_modules/admin-lte/src/config/astro.config.mjs b/node_modules/admin-lte/src/config/astro.config.mjs
|
||||
old mode 100644
|
||||
new mode 100755
|
||||
diff --git a/node_modules/admin-lte/src/config/postcss.config.mjs b/node_modules/admin-lte/src/config/postcss.config.mjs
|
||||
old mode 100644
|
||||
new mode 100755
|
||||
diff --git a/node_modules/admin-lte/src/config/rollup.config.js b/node_modules/admin-lte/src/config/rollup.config.js
|
||||
old mode 100644
|
||||
new mode 100755
|
||||
diff --git a/node_modules/admin-lte/src/html/.eslintrc.json b/node_modules/admin-lte/src/html/.eslintrc.json
|
||||
old mode 100644
|
||||
new mode 100755
|
||||
diff --git a/node_modules/admin-lte/src/html/.prettierrc.js b/node_modules/admin-lte/src/html/.prettierrc.js
|
||||
old mode 100644
|
||||
new mode 100755
|
||||
diff --git a/node_modules/admin-lte/src/html/.tsconfig.json b/node_modules/admin-lte/src/html/.tsconfig.json
|
||||
old mode 100644
|
||||
new mode 100755
|
||||
diff --git a/node_modules/admin-lte/src/html/components/_head.astro b/node_modules/admin-lte/src/html/components/_head.astro
|
||||
old mode 100644
|
||||
new mode 100755
|
||||
diff --git a/node_modules/admin-lte/src/html/components/_scripts.astro b/node_modules/admin-lte/src/html/components/_scripts.astro
|
||||
old mode 100644
|
||||
new mode 100755
|
||||
diff --git a/node_modules/admin-lte/src/html/components/dashboard/_footer.astro b/node_modules/admin-lte/src/html/components/dashboard/_footer.astro
|
||||
old mode 100644
|
||||
new mode 100755
|
||||
diff --git a/node_modules/admin-lte/src/html/components/dashboard/_sidenav.astro b/node_modules/admin-lte/src/html/components/dashboard/_sidenav.astro
|
||||
old mode 100644
|
||||
new mode 100755
|
||||
diff --git a/node_modules/admin-lte/src/html/components/dashboard/_topbar.astro b/node_modules/admin-lte/src/html/components/dashboard/_topbar.astro
|
||||
old mode 100644
|
||||
new mode 100755
|
||||
diff --git a/node_modules/admin-lte/src/html/components/docs/browser-support.mdx b/node_modules/admin-lte/src/html/components/docs/browser-support.mdx
|
||||
old mode 100644
|
||||
new mode 100755
|
||||
diff --git a/node_modules/admin-lte/src/html/components/docs/color-mode.mdx b/node_modules/admin-lte/src/html/components/docs/color-mode.mdx
|
||||
old mode 100644
|
||||
new mode 100755
|
||||
diff --git a/node_modules/admin-lte/src/html/components/docs/components/main-header.mdx b/node_modules/admin-lte/src/html/components/docs/components/main-header.mdx
|
||||
old mode 100644
|
||||
new mode 100755
|
||||
diff --git a/node_modules/admin-lte/src/html/components/docs/components/main-sidebar.mdx b/node_modules/admin-lte/src/html/components/docs/components/main-sidebar.mdx
|
||||
old mode 100644
|
||||
new mode 100755
|
||||
diff --git a/node_modules/admin-lte/src/html/components/docs/faq.mdx b/node_modules/admin-lte/src/html/components/docs/faq.mdx
|
||||
old mode 100644
|
||||
new mode 100755
|
||||
diff --git a/node_modules/admin-lte/src/html/components/docs/how-to-contribute.mdx b/node_modules/admin-lte/src/html/components/docs/how-to-contribute.mdx
|
||||
old mode 100644
|
||||
new mode 100755
|
||||
diff --git a/node_modules/admin-lte/src/html/components/docs/introduction.mdx b/node_modules/admin-lte/src/html/components/docs/introduction.mdx
|
||||
old mode 100644
|
||||
new mode 100755
|
||||
diff --git a/node_modules/admin-lte/src/html/components/docs/license.mdx b/node_modules/admin-lte/src/html/components/docs/license.mdx
|
||||
old mode 100644
|
||||
new mode 100755
|
||||
diff --git a/node_modules/admin-lte/src/html/components/javascript/treeview.mdx b/node_modules/admin-lte/src/html/components/javascript/treeview.mdx
|
||||
old mode 100644
|
||||
new mode 100755
|
||||
diff --git a/node_modules/admin-lte/src/html/env.d.ts b/node_modules/admin-lte/src/html/env.d.ts
|
||||
old mode 100644
|
||||
new mode 100755
|
||||
diff --git a/node_modules/admin-lte/src/html/pages/UI/general.astro b/node_modules/admin-lte/src/html/pages/UI/general.astro
|
||||
old mode 100644
|
||||
new mode 100755
|
||||
diff --git a/node_modules/admin-lte/src/html/pages/UI/timeline.astro b/node_modules/admin-lte/src/html/pages/UI/timeline.astro
|
||||
old mode 100644
|
||||
new mode 100755
|
||||
diff --git a/node_modules/admin-lte/src/html/pages/docs/browser-support.astro b/node_modules/admin-lte/src/html/pages/docs/browser-support.astro
|
||||
old mode 100644
|
||||
new mode 100755
|
||||
diff --git a/node_modules/admin-lte/src/html/pages/docs/color-mode.astro b/node_modules/admin-lte/src/html/pages/docs/color-mode.astro
|
||||
old mode 100644
|
||||
new mode 100755
|
||||
diff --git a/node_modules/admin-lte/src/html/pages/docs/components/main-header.astro b/node_modules/admin-lte/src/html/pages/docs/components/main-header.astro
|
||||
old mode 100644
|
||||
new mode 100755
|
||||
diff --git a/node_modules/admin-lte/src/html/pages/docs/components/main-sidebar.astro b/node_modules/admin-lte/src/html/pages/docs/components/main-sidebar.astro
|
||||
old mode 100644
|
||||
new mode 100755
|
||||
diff --git a/node_modules/admin-lte/src/html/pages/docs/faq.astro b/node_modules/admin-lte/src/html/pages/docs/faq.astro
|
||||
old mode 100644
|
||||
new mode 100755
|
||||
diff --git a/node_modules/admin-lte/src/html/pages/docs/how-to-contribute.astro b/node_modules/admin-lte/src/html/pages/docs/how-to-contribute.astro
|
||||
old mode 100644
|
||||
new mode 100755
|
||||
diff --git a/node_modules/admin-lte/src/html/pages/docs/introduction.astro b/node_modules/admin-lte/src/html/pages/docs/introduction.astro
|
||||
old mode 100644
|
||||
new mode 100755
|
||||
diff --git a/node_modules/admin-lte/src/html/pages/docs/javascript/treeview.astro b/node_modules/admin-lte/src/html/pages/docs/javascript/treeview.astro
|
||||
old mode 100644
|
||||
new mode 100755
|
||||
diff --git a/node_modules/admin-lte/src/html/pages/docs/layout.astro b/node_modules/admin-lte/src/html/pages/docs/layout.astro
|
||||
old mode 100644
|
||||
new mode 100755
|
||||
diff --git a/node_modules/admin-lte/src/html/pages/docs/license.astro b/node_modules/admin-lte/src/html/pages/docs/license.astro
|
||||
old mode 100644
|
||||
new mode 100755
|
||||
diff --git a/node_modules/admin-lte/src/html/pages/examples/lockscreen.astro b/node_modules/admin-lte/src/html/pages/examples/lockscreen.astro
|
||||
old mode 100644
|
||||
new mode 100755
|
||||
diff --git a/node_modules/admin-lte/src/html/pages/examples/login-v2.astro b/node_modules/admin-lte/src/html/pages/examples/login-v2.astro
|
||||
old mode 100644
|
||||
new mode 100755
|
||||
diff --git a/node_modules/admin-lte/src/html/pages/examples/login.astro b/node_modules/admin-lte/src/html/pages/examples/login.astro
|
||||
old mode 100644
|
||||
new mode 100755
|
||||
diff --git a/node_modules/admin-lte/src/html/pages/examples/register-v2.astro b/node_modules/admin-lte/src/html/pages/examples/register-v2.astro
|
||||
old mode 100644
|
||||
new mode 100755
|
||||
diff --git a/node_modules/admin-lte/src/html/pages/examples/register.astro b/node_modules/admin-lte/src/html/pages/examples/register.astro
|
||||
old mode 100644
|
||||
new mode 100755
|
||||
diff --git a/node_modules/admin-lte/src/html/pages/forms/general.astro b/node_modules/admin-lte/src/html/pages/forms/general.astro
|
||||
old mode 100644
|
||||
new mode 100755
|
||||
diff --git a/node_modules/admin-lte/src/html/pages/index.astro b/node_modules/admin-lte/src/html/pages/index.astro
|
||||
old mode 100644
|
||||
new mode 100755
|
||||
diff --git a/node_modules/admin-lte/src/html/pages/index2.astro b/node_modules/admin-lte/src/html/pages/index2.astro
|
||||
old mode 100644
|
||||
new mode 100755
|
||||
diff --git a/node_modules/admin-lte/src/html/pages/index3.astro b/node_modules/admin-lte/src/html/pages/index3.astro
|
||||
old mode 100644
|
||||
new mode 100755
|
||||
diff --git a/node_modules/admin-lte/src/html/pages/layout/collapsed-sidebar.astro b/node_modules/admin-lte/src/html/pages/layout/collapsed-sidebar.astro
|
||||
old mode 100644
|
||||
new mode 100755
|
||||
diff --git a/node_modules/admin-lte/src/html/pages/layout/fixed-complete.astro b/node_modules/admin-lte/src/html/pages/layout/fixed-complete.astro
|
||||
old mode 100644
|
||||
new mode 100755
|
||||
diff --git a/node_modules/admin-lte/src/html/pages/layout/fixed-sidebar.astro b/node_modules/admin-lte/src/html/pages/layout/fixed-sidebar.astro
|
||||
old mode 100644
|
||||
new mode 100755
|
||||
diff --git a/node_modules/admin-lte/src/html/pages/layout/layout-rtl.astro b/node_modules/admin-lte/src/html/pages/layout/layout-rtl.astro
|
||||
old mode 100644
|
||||
new mode 100755
|
||||
diff --git a/node_modules/admin-lte/src/html/pages/layout/logo-switch.astro b/node_modules/admin-lte/src/html/pages/layout/logo-switch.astro
|
||||
old mode 100644
|
||||
new mode 100755
|
||||
diff --git a/node_modules/admin-lte/src/html/pages/layout/sidebar-mini.astro b/node_modules/admin-lte/src/html/pages/layout/sidebar-mini.astro
|
||||
old mode 100644
|
||||
new mode 100755
|
||||
diff --git a/node_modules/admin-lte/src/html/pages/layout/unfixed-sidebar.astro b/node_modules/admin-lte/src/html/pages/layout/unfixed-sidebar.astro
|
||||
old mode 100644
|
||||
new mode 100755
|
||||
diff --git a/node_modules/admin-lte/src/html/pages/tables/simple.astro b/node_modules/admin-lte/src/html/pages/tables/simple.astro
|
||||
old mode 100644
|
||||
new mode 100755
|
||||
diff --git a/node_modules/admin-lte/src/html/pages/widgets/cards.astro b/node_modules/admin-lte/src/html/pages/widgets/cards.astro
|
||||
old mode 100644
|
||||
new mode 100755
|
||||
diff --git a/node_modules/admin-lte/src/html/pages/widgets/info-box.astro b/node_modules/admin-lte/src/html/pages/widgets/info-box.astro
|
||||
old mode 100644
|
||||
new mode 100755
|
||||
diff --git a/node_modules/admin-lte/src/html/pages/widgets/small-box.astro b/node_modules/admin-lte/src/html/pages/widgets/small-box.astro
|
||||
old mode 100644
|
||||
new mode 100755
|
||||
diff --git a/node_modules/admin-lte/src/scss/_app-content.scss b/node_modules/admin-lte/src/scss/_app-content.scss
|
||||
old mode 100644
|
||||
new mode 100755
|
||||
diff --git a/node_modules/admin-lte/src/scss/_app-footer.scss b/node_modules/admin-lte/src/scss/_app-footer.scss
|
||||
old mode 100644
|
||||
new mode 100755
|
||||
diff --git a/node_modules/admin-lte/src/scss/_app-header.scss b/node_modules/admin-lte/src/scss/_app-header.scss
|
||||
old mode 100644
|
||||
new mode 100755
|
||||
diff --git a/node_modules/admin-lte/src/scss/_app-main.scss b/node_modules/admin-lte/src/scss/_app-main.scss
|
||||
old mode 100644
|
||||
new mode 100755
|
||||
diff --git a/node_modules/admin-lte/src/scss/_app-sidebar.scss b/node_modules/admin-lte/src/scss/_app-sidebar.scss
|
||||
old mode 100644
|
||||
new mode 100755
|
||||
index 9bf7e2b..e736da0
|
||||
--- a/node_modules/admin-lte/src/scss/_app-sidebar.scss
|
||||
+++ b/node_modules/admin-lte/src/scss/_app-sidebar.scss
|
||||
@@ -582,7 +582,6 @@ body:not(.app-loaded) {
|
||||
|
||||
@if $enable-dark-mode {
|
||||
@include color-mode(dark) {
|
||||
- &.app-sidebar,
|
||||
.app-sidebar {
|
||||
--#{$lte-prefix}sidebar-hover-bg: #{$lte-sidebar-hover-bg-dark};
|
||||
--#{$lte-prefix}sidebar-color: #{$lte-sidebar-color-dark};
|
||||
diff --git a/node_modules/admin-lte/src/scss/_app-wrapper.scss b/node_modules/admin-lte/src/scss/_app-wrapper.scss
|
||||
old mode 100644
|
||||
new mode 100755
|
||||
diff --git a/node_modules/admin-lte/src/scss/_bootstrap-variables.scss b/node_modules/admin-lte/src/scss/_bootstrap-variables.scss
|
||||
old mode 100644
|
||||
new mode 100755
|
||||
diff --git a/node_modules/admin-lte/src/scss/_callouts.scss b/node_modules/admin-lte/src/scss/_callouts.scss
|
||||
old mode 100644
|
||||
new mode 100755
|
||||
diff --git a/node_modules/admin-lte/src/scss/_cards.scss b/node_modules/admin-lte/src/scss/_cards.scss
|
||||
old mode 100644
|
||||
new mode 100755
|
||||
diff --git a/node_modules/admin-lte/src/scss/_compact-mode.scss b/node_modules/admin-lte/src/scss/_compact-mode.scss
|
||||
old mode 100644
|
||||
new mode 100755
|
||||
diff --git a/node_modules/admin-lte/src/scss/_direct-chat.scss b/node_modules/admin-lte/src/scss/_direct-chat.scss
|
||||
old mode 100644
|
||||
new mode 100755
|
||||
diff --git a/node_modules/admin-lte/src/scss/_docs.scss b/node_modules/admin-lte/src/scss/_docs.scss
|
||||
old mode 100644
|
||||
new mode 100755
|
||||
diff --git a/node_modules/admin-lte/src/scss/_dropdown.scss b/node_modules/admin-lte/src/scss/_dropdown.scss
|
||||
old mode 100644
|
||||
new mode 100755
|
||||
diff --git a/node_modules/admin-lte/src/scss/_info-box.scss b/node_modules/admin-lte/src/scss/_info-box.scss
|
||||
old mode 100644
|
||||
new mode 100755
|
||||
diff --git a/node_modules/admin-lte/src/scss/_miscellaneous.scss b/node_modules/admin-lte/src/scss/_miscellaneous.scss
|
||||
old mode 100644
|
||||
new mode 100755
|
||||
diff --git a/node_modules/admin-lte/src/scss/_mixins.scss b/node_modules/admin-lte/src/scss/_mixins.scss
|
||||
old mode 100644
|
||||
new mode 100755
|
||||
diff --git a/node_modules/admin-lte/src/scss/_progress-bars.scss b/node_modules/admin-lte/src/scss/_progress-bars.scss
|
||||
old mode 100644
|
||||
new mode 100755
|
||||
diff --git a/node_modules/admin-lte/src/scss/_root.scss b/node_modules/admin-lte/src/scss/_root.scss
|
||||
old mode 100644
|
||||
new mode 100755
|
||||
diff --git a/node_modules/admin-lte/src/scss/_small-box.scss b/node_modules/admin-lte/src/scss/_small-box.scss
|
||||
old mode 100644
|
||||
new mode 100755
|
||||
diff --git a/node_modules/admin-lte/src/scss/_table.scss b/node_modules/admin-lte/src/scss/_table.scss
|
||||
old mode 100644
|
||||
new mode 100755
|
||||
diff --git a/node_modules/admin-lte/src/scss/_timeline.scss b/node_modules/admin-lte/src/scss/_timeline.scss
|
||||
old mode 100644
|
||||
new mode 100755
|
||||
diff --git a/node_modules/admin-lte/src/scss/_toasts.scss b/node_modules/admin-lte/src/scss/_toasts.scss
|
||||
old mode 100644
|
||||
new mode 100755
|
||||
diff --git a/node_modules/admin-lte/src/scss/_variables-dark.scss b/node_modules/admin-lte/src/scss/_variables-dark.scss
|
||||
old mode 100644
|
||||
new mode 100755
|
||||
diff --git a/node_modules/admin-lte/src/scss/_variables.scss b/node_modules/admin-lte/src/scss/_variables.scss
|
||||
old mode 100644
|
||||
new mode 100755
|
||||
diff --git a/node_modules/admin-lte/src/scss/adminlte.scss b/node_modules/admin-lte/src/scss/adminlte.scss
|
||||
old mode 100644
|
||||
new mode 100755
|
||||
diff --git a/node_modules/admin-lte/src/scss/mixins/_animations.scss b/node_modules/admin-lte/src/scss/mixins/_animations.scss
|
||||
old mode 100644
|
||||
new mode 100755
|
||||
diff --git a/node_modules/admin-lte/src/scss/mixins/_scrollbar.scss b/node_modules/admin-lte/src/scss/mixins/_scrollbar.scss
|
||||
old mode 100644
|
||||
new mode 100755
|
||||
diff --git a/node_modules/admin-lte/src/scss/pages/_lockscreen.scss b/node_modules/admin-lte/src/scss/pages/_lockscreen.scss
|
||||
old mode 100644
|
||||
new mode 100755
|
||||
diff --git a/node_modules/admin-lte/src/scss/pages/_login_and_register.scss b/node_modules/admin-lte/src/scss/pages/_login_and_register.scss
|
||||
old mode 100644
|
||||
new mode 100755
|
||||
diff --git a/node_modules/admin-lte/src/scss/parts/_components.scss b/node_modules/admin-lte/src/scss/parts/_components.scss
|
||||
old mode 100644
|
||||
new mode 100755
|
||||
diff --git a/node_modules/admin-lte/src/scss/parts/_core.scss b/node_modules/admin-lte/src/scss/parts/_core.scss
|
||||
old mode 100644
|
||||
new mode 100755
|
||||
diff --git a/node_modules/admin-lte/src/scss/parts/_extra-components.scss b/node_modules/admin-lte/src/scss/parts/_extra-components.scss
|
||||
old mode 100644
|
||||
new mode 100755
|
||||
diff --git a/node_modules/admin-lte/src/scss/parts/_miscellaneous.scss b/node_modules/admin-lte/src/scss/parts/_miscellaneous.scss
|
||||
old mode 100644
|
||||
new mode 100755
|
||||
diff --git a/node_modules/admin-lte/src/scss/parts/_pages.scss b/node_modules/admin-lte/src/scss/parts/_pages.scss
|
||||
old mode 100644
|
||||
new mode 100755
|
||||
diff --git a/node_modules/admin-lte/src/ts/adminlte.ts b/node_modules/admin-lte/src/ts/adminlte.ts
|
||||
old mode 100644
|
||||
new mode 100755
|
||||
diff --git a/node_modules/admin-lte/src/ts/card-widget.ts b/node_modules/admin-lte/src/ts/card-widget.ts
|
||||
old mode 100644
|
||||
new mode 100755
|
||||
diff --git a/node_modules/admin-lte/src/ts/direct-chat.ts b/node_modules/admin-lte/src/ts/direct-chat.ts
|
||||
old mode 100644
|
||||
new mode 100755
|
||||
diff --git a/node_modules/admin-lte/src/ts/fullscreen.ts b/node_modules/admin-lte/src/ts/fullscreen.ts
|
||||
old mode 100644
|
||||
new mode 100755
|
||||
diff --git a/node_modules/admin-lte/src/ts/layout.ts b/node_modules/admin-lte/src/ts/layout.ts
|
||||
old mode 100644
|
||||
new mode 100755
|
||||
diff --git a/node_modules/admin-lte/src/ts/push-menu.ts b/node_modules/admin-lte/src/ts/push-menu.ts
|
||||
old mode 100644
|
||||
new mode 100755
|
||||
diff --git a/node_modules/admin-lte/src/ts/treeview.ts b/node_modules/admin-lte/src/ts/treeview.ts
|
||||
old mode 100644
|
||||
new mode 100755
|
||||
diff --git a/node_modules/admin-lte/src/ts/util/index.ts b/node_modules/admin-lte/src/ts/util/index.ts
|
||||
old mode 100644
|
||||
new mode 100755
|
||||
diff --git a/node_modules/admin-lte/src/utils/index.js b/node_modules/admin-lte/src/utils/index.js
|
||||
old mode 100644
|
||||
new mode 100755
|
||||
diff --git a/node_modules/admin-lte/tsconfig.json b/node_modules/admin-lte/tsconfig.json
|
||||
old mode 100644
|
||||
new mode 100755
|
||||
14
patches/admin-lte+4.0.0-beta2.patch
Normal file
14
patches/admin-lte+4.0.0-beta2.patch
Normal file
@@ -0,0 +1,14 @@
|
||||
diff --git a/node_modules/admin-lte/src/scss/_app-sidebar.scss b/node_modules/admin-lte/src/scss/_app-sidebar.scss
|
||||
old mode 100644
|
||||
new mode 100755
|
||||
index 69dfc16..dc341eb
|
||||
--- a/node_modules/admin-lte/src/scss/_app-sidebar.scss
|
||||
+++ b/node_modules/admin-lte/src/scss/_app-sidebar.scss
|
||||
@@ -577,7 +577,6 @@ body:not(.app-loaded) {
|
||||
|
||||
@if $enable-dark-mode {
|
||||
@include color-mode(dark) {
|
||||
- &.app-sidebar,
|
||||
.app-sidebar {
|
||||
--#{$lte-prefix}sidebar-hover-bg: #{$lte-sidebar-hover-bg-dark};
|
||||
--#{$lte-prefix}sidebar-color: #{$lte-sidebar-color-dark};
|
||||
@@ -73,6 +73,7 @@ function formatLabel(str, maxwidth) {
|
||||
}
|
||||
|
||||
var defaultChartOptions = {
|
||||
|
||||
elements: {
|
||||
line: {
|
||||
cubicInterpolationMode: 'monotone'
|
||||
@@ -158,4 +159,4 @@ var neutralDefaultPieOptions = {
|
||||
},
|
||||
maintainAspectRatio: true,
|
||||
responsive: true
|
||||
};
|
||||
};
|
||||
|
||||
@@ -173,6 +173,8 @@ Over time, [many people have contributed to Firefly III](https://github.com/fire
|
||||
|
||||
The Firefly III logo is made by the excellent Cherie Woo.
|
||||
|
||||
<a href="https://hellogithub.com/repository/a8c64f04cb3643c2a4423c4ad924dec9" target="_blank"><img src="https://abroad.hellogithub.com/v1/widgets/recommend.svg?rid=a8c64f04cb3643c2a4423c4ad924dec9&claim_uid=1bPi7O2rTGREZXN&theme=small" alt="Featured|HelloGitHub" /></a>
|
||||
|
||||
[packagist-shield]: https://img.shields.io/packagist/v/grumpydictator/firefly-iii.svg?style=flat-square
|
||||
[packagist-url]: https://packagist.org/packages/grumpydictator/firefly-iii
|
||||
[license-shield]: https://img.shields.io/github/license/firefly-iii/firefly-iii.svg?style=flat-square
|
||||
|
||||
@@ -10,19 +10,19 @@
|
||||
"prod": "mix --production"
|
||||
},
|
||||
"dependencies": {
|
||||
"date-fns": "^3.6.0",
|
||||
"date-fns": "^4.0.0",
|
||||
"stream-browserify": "^3.0.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@johmun/vue-tags-input": "^2",
|
||||
"@vue/compiler-sfc": "^3.3.4",
|
||||
"@vue/compiler-sfc": "^3.5.3",
|
||||
"axios": "^1.7",
|
||||
"bootstrap-sass": "^3",
|
||||
"cross-env": "^7.0",
|
||||
"font-awesome": "^4.7.0",
|
||||
"jquery": "^3",
|
||||
"laravel-mix": "^6.0",
|
||||
"postcss": ">=8.4.31",
|
||||
"postcss": "^8.4.47",
|
||||
"uiv": "^1.4",
|
||||
"vue": "^2.7",
|
||||
"vue-i18n": "^8",
|
||||
|
||||
@@ -887,6 +887,7 @@ export default {
|
||||
|
||||
deleteTransaction: function (index, event) {
|
||||
event.preventDefault();
|
||||
console.log('Remove transaction.');
|
||||
this.transactions.splice(index, 1);
|
||||
},
|
||||
limitSourceType: function (type) {
|
||||
|
||||
@@ -122,7 +122,7 @@ export default {
|
||||
webhook.show_secret = !webhook.show_secret;
|
||||
},
|
||||
downloadWebhooks: function (page) {
|
||||
axios.get("/api/v1/webhooks?page=" + page).then((response) => {
|
||||
axios.get("./api/v1/webhooks?page=" + page).then((response) => {
|
||||
for (let i in response.data.data) {
|
||||
if (response.data.data.hasOwnProperty(i)) {
|
||||
let current = response.data.data[i];
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
"axios": "^1.7.4",
|
||||
"laravel-vite-plugin": "^1.0.5",
|
||||
"patch-package": "^8.0.0",
|
||||
"sass": "^1.77.8",
|
||||
"sass": "^1.78.0",
|
||||
"vite": "^5",
|
||||
"vite-plugin-manifest-sri": "^0.2.0"
|
||||
},
|
||||
@@ -30,7 +30,7 @@
|
||||
"chart.js": "^4.4.0",
|
||||
"chartjs-adapter-date-fns": "^3.0.0",
|
||||
"chartjs-chart-sankey": "^0.12.1",
|
||||
"date-fns": "^3.6.0",
|
||||
"date-fns": "^4.0.0",
|
||||
"i18next": "^23.11.2",
|
||||
"i18next-chained-backend": "^4.6.2",
|
||||
"i18next-http-backend": "^2.4.2",
|
||||
|
||||
@@ -85,12 +85,12 @@
|
||||
</a>
|
||||
</li>
|
||||
{% if true == featuringWebhooks %}
|
||||
<li class="{{ activeRoutePartial('webhooks') }}">
|
||||
<a href="{{ route('webhooks.index') }}">
|
||||
<span class="fa fa-angle-right fa-fw"></span>
|
||||
<span>{{ 'webhooks'|_ }}</span>
|
||||
</a>
|
||||
</li>
|
||||
<li class="{{ activeRoutePartial('webhooks') }}">
|
||||
<a href="{{ route('webhooks.index') }}">
|
||||
<span class="fa fa-angle-right fa-fw"></span>
|
||||
<span>{{ 'webhooks'|_ }}</span>
|
||||
</a>
|
||||
</li>
|
||||
{% else %}
|
||||
<li class="">
|
||||
<a href="#">
|
||||
@@ -230,10 +230,18 @@
|
||||
</ul>
|
||||
</li>
|
||||
|
||||
|
||||
{% if 'remote_user_guard' != authGuard or '' != logoutUri %}
|
||||
{% if 'web' == authGuard %}
|
||||
<li>
|
||||
<a href="{{ route('logout') }}" class="logout-link">
|
||||
<em class="fa fa-sign-out fa-fw"></em>
|
||||
<span>{{ 'logout'|_ }}
|
||||
</span>
|
||||
</a>
|
||||
</li>
|
||||
{% endif %}
|
||||
{% if 'remote_user_guard' == authGuard and '' != logoutUrl %}
|
||||
<li>
|
||||
<a href="{{ logoutUrl }}">
|
||||
<em class="fa fa-sign-out fa-fw"></em>
|
||||
<span>{{ 'logout'|_ }}</span>
|
||||
</a>
|
||||
|
||||
79
tests/integration/Api/About/AboutControllerTest.php
Normal file
79
tests/integration/Api/About/AboutControllerTest.php
Normal file
@@ -0,0 +1,79 @@
|
||||
<?php
|
||||
/*
|
||||
* AboutControllerTest.php
|
||||
* Copyright (c) 2021 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 Tests\integration\Api\About;
|
||||
|
||||
use Illuminate\Foundation\Testing\RefreshDatabase;
|
||||
use Illuminate\Testing\Fluent\AssertableJson;
|
||||
use Tests\integration\TestCase;
|
||||
|
||||
/**
|
||||
* Class AboutControllerTest
|
||||
*
|
||||
* @internal
|
||||
*
|
||||
* @coversNothing
|
||||
*/
|
||||
final class AboutControllerTest extends TestCase
|
||||
{
|
||||
use RefreshDatabase;
|
||||
private $user;
|
||||
|
||||
protected function setUp(): void
|
||||
{
|
||||
parent::setUp();
|
||||
|
||||
if (!isset($this->user)) {
|
||||
$this->user = $this->createAuthenticatedUser();
|
||||
}
|
||||
$this->actingAs($this->user);
|
||||
}
|
||||
|
||||
public function testGivenAuthenticatedRequestReturnsSystemInformation(): void
|
||||
{
|
||||
$response = $this->getJson(route('api.v1.about.index'));
|
||||
|
||||
$response->assertOk();
|
||||
$response->assertJsonStructure([
|
||||
'data' => [
|
||||
'version',
|
||||
'api_version',
|
||||
'php_version',
|
||||
'os',
|
||||
'driver',
|
||||
],
|
||||
]);
|
||||
}
|
||||
|
||||
public function testGivenAuthenticatedRequestReturnsUserInformation(): void
|
||||
{
|
||||
$response = $this->getJson(route('api.v1.about.user'));
|
||||
|
||||
$response->assertOk();
|
||||
$response->assertJson(
|
||||
fn (AssertableJson $json) => $json
|
||||
->where('data.attributes.email', $this->user->email)
|
||||
->where('data.attributes.role', $this->user->role)
|
||||
);
|
||||
}
|
||||
}
|
||||
159
tests/integration/Api/Autocomplete/BillControllerTest.php
Normal file
159
tests/integration/Api/Autocomplete/BillControllerTest.php
Normal file
@@ -0,0 +1,159 @@
|
||||
<?php
|
||||
/*
|
||||
* BillControllerTest.php
|
||||
* Copyright (c) 2024 tasnim0tantawi
|
||||
*
|
||||
* 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 Tests\integration\Api\Autocomplete;
|
||||
|
||||
use FireflyIII\Models\Bill;
|
||||
use Illuminate\Foundation\Testing\RefreshDatabase;
|
||||
use Tests\integration\TestCase;
|
||||
use FireflyIII\User;
|
||||
use FireflyIII\Models\UserGroup;
|
||||
|
||||
/**
|
||||
* Class BillControllerTest
|
||||
*
|
||||
* @internal
|
||||
*
|
||||
* @coversNothing
|
||||
*/
|
||||
final class BillControllerTest extends TestCase
|
||||
{
|
||||
/**
|
||||
* @covers \FireflyIII\Api\V1\Controllers\Autocomplete\BillController
|
||||
*/
|
||||
use RefreshDatabase;
|
||||
|
||||
protected function createAuthenticatedUser(): User
|
||||
{
|
||||
$userGroup = UserGroup::create(['title' => 'Test Group']);
|
||||
|
||||
return User::create([
|
||||
'email' => 'test@email.com',
|
||||
'password' => 'password',
|
||||
'user_group_id' => $userGroup->id,
|
||||
]);
|
||||
}
|
||||
|
||||
private function createTestBills(int $count, User $user): void
|
||||
{
|
||||
for ($i = 1; $i <= $count; ++$i) {
|
||||
$bill = Bill::create([
|
||||
'user_id' => $user->id,
|
||||
'name' => 'Bill '.$i,
|
||||
'user_group_id' => $user->user_group_id,
|
||||
'amount_min' => rand(1, 100), // random amount
|
||||
'amount_max' => rand(101, 200), // random amount
|
||||
'match' => 'MIGRATED_TO_RULES',
|
||||
'date' => '2024-01-01',
|
||||
'repeat_freq' => 'monthly',
|
||||
'automatch' => 1,
|
||||
|
||||
]);
|
||||
}
|
||||
}
|
||||
|
||||
public function testGivenAnUnauthenticatedRequestWhenCallingTheBillsEndpointThenReturns401HttpCode(): void
|
||||
{
|
||||
// test API
|
||||
$response = $this->get(route('api.v1.autocomplete.bills'), ['Accept' => 'application/json']);
|
||||
$response->assertStatus(401);
|
||||
$response->assertHeader('Content-Type', 'application/json');
|
||||
$response->assertContent('{"message":"Unauthenticated","exception":"AuthenticationException"}');
|
||||
}
|
||||
|
||||
public function testGivenAuthenticatedRequestWhenCallingTheBillsEndpointThenReturns200HttpCode(): void
|
||||
{
|
||||
// act as a user
|
||||
$user = $this->createAuthenticatedUser();
|
||||
$this->actingAs($user);
|
||||
|
||||
$response = $this->get(route('api.v1.autocomplete.bills'), ['Accept' => 'application/json']);
|
||||
$response->assertStatus(200);
|
||||
$response->assertHeader('Content-Type', 'application/json');
|
||||
|
||||
}
|
||||
|
||||
public function testGivenAuthenticatedRequestWhenCallingTheBillsEndpointThenReturnsBills(): void
|
||||
{
|
||||
$user = $this->createAuthenticatedUser();
|
||||
$this->actingAs($user);
|
||||
|
||||
$this->createTestBills(5, $user);
|
||||
$response = $this->get(route('api.v1.autocomplete.bills'), ['Accept' => 'application/json']);
|
||||
$response->assertStatus(200);
|
||||
$response->assertHeader('Content-Type', 'application/json');
|
||||
$response->assertJsonCount(5);
|
||||
$response->assertJsonFragment(['name' => 'Bill 1']);
|
||||
$response->assertJsonStructure([
|
||||
'*' => [
|
||||
'id',
|
||||
'name',
|
||||
'active',
|
||||
],
|
||||
]);
|
||||
|
||||
}
|
||||
|
||||
public function testGivenAuthenticatedRequestWhenCallingTheBillsEndpointWithQueryThenReturnsBillsWithLimit(): void
|
||||
{
|
||||
$user = $this->createAuthenticatedUser();
|
||||
$this->actingAs($user);
|
||||
|
||||
$this->createTestBills(5, $user);
|
||||
$response = $this->get(route('api.v1.autocomplete.bills', [
|
||||
'query' => 'Bill',
|
||||
'limit' => 3,
|
||||
]), ['Accept' => 'application/json']);
|
||||
|
||||
$response->assertStatus(200);
|
||||
$response->assertHeader('Content-Type', 'application/json');
|
||||
$response->assertJsonCount(3);
|
||||
$response->assertJsonFragment(['name' => 'Bill 1']);
|
||||
$response->assertJsonStructure([
|
||||
'*' => [
|
||||
'id',
|
||||
'name',
|
||||
'active',
|
||||
],
|
||||
]);
|
||||
|
||||
}
|
||||
|
||||
public function testGivenAuthenticatedRequestWhenCallingTheBillsEndpointWithQueryThenReturnsBillsThatMatchQuery(): void
|
||||
{
|
||||
$user = $this->createAuthenticatedUser();
|
||||
$this->actingAs($user);
|
||||
|
||||
$this->createTestBills(20, $user);
|
||||
$response = $this->get(route('api.v1.autocomplete.bills', [
|
||||
'query' => 'Bill 1',
|
||||
'limit' => 20,
|
||||
]), ['Accept' => 'application/json']);
|
||||
|
||||
$response->assertStatus(200);
|
||||
$response->assertHeader('Content-Type', 'application/json');
|
||||
// Bill 1, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19 (11)
|
||||
$response->assertJsonCount(11);
|
||||
$response->assertJsonMissing(['name' => 'Bill 2']);
|
||||
}
|
||||
}
|
||||
142
tests/integration/Api/Autocomplete/BudgetControllerTest.php
Normal file
142
tests/integration/Api/Autocomplete/BudgetControllerTest.php
Normal file
@@ -0,0 +1,142 @@
|
||||
<?php
|
||||
/*
|
||||
* BudgetControllerTest.php
|
||||
* Copyright (c) 2024 tasnim0tantawi
|
||||
*
|
||||
* 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 Tests\integration\Api\Autocomplete;
|
||||
|
||||
use FireflyIII\Models\Budget;
|
||||
use FireflyIII\Models\UserGroup;
|
||||
use Illuminate\Foundation\Testing\RefreshDatabase;
|
||||
use Tests\integration\TestCase;
|
||||
use FireflyIII\User;
|
||||
|
||||
/**
|
||||
* Class BudgetControllerTest
|
||||
*
|
||||
* @internal
|
||||
*
|
||||
* @coversNothing
|
||||
*/
|
||||
final class BudgetControllerTest extends TestCase
|
||||
{
|
||||
/**
|
||||
* @covers \FireflyIII\Api\V1\Controllers\Autocomplete\BudgetController
|
||||
*/
|
||||
use RefreshDatabase;
|
||||
|
||||
protected function createAuthenticatedUser(): User
|
||||
{
|
||||
$userGroup = UserGroup::create(['title' => 'Test Group']);
|
||||
|
||||
return User::create([
|
||||
'email' => 'test@email.com',
|
||||
'password' => 'password',
|
||||
'user_group_id' => $userGroup->id,
|
||||
]);
|
||||
}
|
||||
|
||||
private function createTestBudgets(int $count, User $user): void
|
||||
{
|
||||
for ($i = 1; $i <= $count; ++$i) {
|
||||
$budget = Budget::create([
|
||||
'user_id' => $user->id,
|
||||
'name' => 'Budget '.$i,
|
||||
'user_group_id' => $user->user_group_id,
|
||||
'active' => 1,
|
||||
]);
|
||||
}
|
||||
}
|
||||
|
||||
public function testGivenAnUnauthenticatedRequestWhenCallingTheBudgetsEndpointThenReturns401HttpCode(): void
|
||||
{
|
||||
// test API
|
||||
$response = $this->get(route('api.v1.autocomplete.budgets'), ['Accept' => 'application/json']);
|
||||
$response->assertStatus(401);
|
||||
$response->assertHeader('Content-Type', 'application/json');
|
||||
$response->assertContent('{"message":"Unauthenticated","exception":"AuthenticationException"}');
|
||||
}
|
||||
|
||||
public function testGivenAuthenticatedRequestWhenCallingTheBudgetsEndpointThenReturns200HttpCode(): void
|
||||
{
|
||||
// act as a user
|
||||
$user = $this->createAuthenticatedUser();
|
||||
$this->actingAs($user);
|
||||
|
||||
$response = $this->get(route('api.v1.autocomplete.budgets'), ['Accept' => 'application/json']);
|
||||
$response->assertStatus(200);
|
||||
$response->assertHeader('Content-Type', 'application/json');
|
||||
|
||||
}
|
||||
|
||||
public function testGivenAuthenticatedRequestWhenCallingTheBudgetsEndpointThenReturnsBudgets(): void
|
||||
{
|
||||
$user = $this->createAuthenticatedUser();
|
||||
$this->actingAs($user);
|
||||
|
||||
$this->createTestBudgets(5, $user);
|
||||
$response = $this->get(route('api.v1.autocomplete.budgets'), ['Accept' => 'application/json']);
|
||||
$response->assertStatus(200);
|
||||
$response->assertHeader('Content-Type', 'application/json');
|
||||
$response->assertJsonCount(5);
|
||||
$response->assertJsonFragment(['name' => 'Budget 1']);
|
||||
$response->assertJsonStructure([
|
||||
'*' => [
|
||||
'id',
|
||||
'name',
|
||||
],
|
||||
]);
|
||||
}
|
||||
|
||||
public function testGivenAuthenticatedRequestWhenCallingTheBudgetsEndpointWithQueryThenReturnsBudgetsWithLimit(): void
|
||||
{
|
||||
$user = $this->createAuthenticatedUser();
|
||||
$this->actingAs($user);
|
||||
|
||||
$this->createTestBudgets(5, $user);
|
||||
$response = $this->get(route('api.v1.autocomplete.budgets', [
|
||||
'query' => 'Budget',
|
||||
'limit' => 3,
|
||||
]), ['Accept' => 'application/json']);
|
||||
|
||||
$response->assertStatus(200);
|
||||
$response->assertHeader('Content-Type', 'application/json');
|
||||
$response->assertJsonCount(3);
|
||||
}
|
||||
|
||||
public function testGivenAuthenticatedRequestWhenCallingTheBudgetsEndpointWithQueryThenReturnsBudgetsThatMatchQuery(): void
|
||||
{
|
||||
$user = $this->createAuthenticatedUser();
|
||||
$this->actingAs($user);
|
||||
|
||||
$this->createTestBudgets(20, $user);
|
||||
$response = $this->get(route('api.v1.autocomplete.budgets', [
|
||||
'query' => 'Budget 1',
|
||||
'limit' => 20,
|
||||
]), ['Accept' => 'application/json']);
|
||||
|
||||
$response->assertStatus(200);
|
||||
$response->assertHeader('Content-Type', 'application/json');
|
||||
// Budget 1, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19 (11)
|
||||
$response->assertJsonCount(11);
|
||||
$response->assertJsonMissing(['name' => 'Budget 2']);
|
||||
}
|
||||
}
|
||||
137
tests/integration/Api/Autocomplete/CategoryControllerTest.php
Normal file
137
tests/integration/Api/Autocomplete/CategoryControllerTest.php
Normal file
@@ -0,0 +1,137 @@
|
||||
<?php
|
||||
/*
|
||||
* CategoryControllerTest.php
|
||||
* Copyright (c) 2024 tasnim0tantawi
|
||||
*
|
||||
* 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 Tests\integration\Api\Autocomplete;
|
||||
|
||||
use FireflyIII\Models\Category;
|
||||
use Illuminate\Foundation\Testing\RefreshDatabase;
|
||||
use Tests\integration\TestCase;
|
||||
use FireflyIII\User;
|
||||
|
||||
/**
|
||||
* Class CategoryControllerTest
|
||||
*
|
||||
* @internal
|
||||
*
|
||||
* @coversNothing
|
||||
*/
|
||||
final class CategoryControllerTest extends TestCase
|
||||
{
|
||||
/**
|
||||
* @covers \FireflyIII\Api\V1\Controllers\Autocomplete\CategoryController
|
||||
*/
|
||||
use RefreshDatabase;
|
||||
|
||||
protected function createAuthenticatedUser(): User
|
||||
{
|
||||
return User::create([
|
||||
'email' => 'test@email.com',
|
||||
'password' => 'password',
|
||||
]);
|
||||
}
|
||||
|
||||
private function createTestCategories(int $count, User $user): void
|
||||
{
|
||||
for ($i = 1; $i <= $count; ++$i) {
|
||||
$category = Category::create([
|
||||
'user_id' => $user->id,
|
||||
'name' => 'Category '.$i,
|
||||
'user_group_id' => $user->user_group_id,
|
||||
]);
|
||||
}
|
||||
}
|
||||
|
||||
public function testGivenAnUnauthenticatedRequestWhenCallingTheCategoriesEndpointThenReturns401HttpCode(): void
|
||||
{
|
||||
// test API
|
||||
$response = $this->get(route('api.v1.autocomplete.categories'), ['Accept' => 'application/json']);
|
||||
$response->assertStatus(401);
|
||||
$response->assertHeader('Content-Type', 'application/json');
|
||||
$response->assertContent('{"message":"Unauthenticated","exception":"AuthenticationException"}');
|
||||
}
|
||||
|
||||
public function testGivenAuthenticatedRequestWhenCallingTheCategoriesEndpointThenReturns200HttpCode(): void
|
||||
{
|
||||
// act as a user
|
||||
$user = $this->createAuthenticatedUser();
|
||||
$this->actingAs($user);
|
||||
|
||||
$response = $this->get(route('api.v1.autocomplete.categories'), ['Accept' => 'application/json']);
|
||||
$response->assertStatus(200);
|
||||
$response->assertHeader('Content-Type', 'application/json');
|
||||
|
||||
}
|
||||
|
||||
public function testGivenAuthenticatedRequestWhenCallingTheCategoriesEndpointThenReturnsCategories(): void
|
||||
{
|
||||
$user = $this->createAuthenticatedUser();
|
||||
$this->actingAs($user);
|
||||
|
||||
$this->createTestCategories(5, $user);
|
||||
$response = $this->get(route('api.v1.autocomplete.categories'), ['Accept' => 'application/json']);
|
||||
$response->assertStatus(200);
|
||||
$response->assertHeader('Content-Type', 'application/json');
|
||||
$response->assertJsonCount(5);
|
||||
$response->assertJsonFragment(['name' => 'Category 1']);
|
||||
$response->assertJsonStructure([
|
||||
'*' => [
|
||||
'id',
|
||||
'name',
|
||||
],
|
||||
]);
|
||||
}
|
||||
|
||||
public function testGivenAuthenticatedRequestWhenCallingTheCategoriesEndpointWithQueryThenReturnsCategoriesWithLimit(): void
|
||||
{
|
||||
$user = $this->createAuthenticatedUser();
|
||||
$this->actingAs($user);
|
||||
|
||||
$this->createTestCategories(5, $user);
|
||||
$response = $this->get(route('api.v1.autocomplete.categories', [
|
||||
'query' => 'Category',
|
||||
'limit' => 3,
|
||||
]), ['Accept' => 'application/json']);
|
||||
|
||||
$response->assertStatus(200);
|
||||
$response->assertHeader('Content-Type', 'application/json');
|
||||
$response->assertJsonCount(3);
|
||||
}
|
||||
|
||||
public function testGivenAuthenticatedRequestWhenCallingTheCategoriesEndpointWithQueryThenReturnsCategoriesThatMatchQuery(): void
|
||||
{
|
||||
$user = $this->createAuthenticatedUser();
|
||||
$this->actingAs($user);
|
||||
|
||||
$this->createTestCategories(20, $user);
|
||||
$response = $this->get(route('api.v1.autocomplete.categories', [
|
||||
'query' => 'Category 1',
|
||||
'limit' => 20,
|
||||
]), ['Accept' => 'application/json']);
|
||||
|
||||
$response->assertStatus(200);
|
||||
$response->assertHeader('Content-Type', 'application/json');
|
||||
// Category 1, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19 (11)
|
||||
$response->assertJsonCount(11);
|
||||
$response->assertJsonMissing(['name' => 'Category 2']);
|
||||
}
|
||||
}
|
||||
@@ -23,6 +23,7 @@ declare(strict_types=1);
|
||||
|
||||
namespace Tests\integration;
|
||||
|
||||
use FireflyIII\User;
|
||||
use Illuminate\Foundation\Testing\TestCase as BaseTestCase;
|
||||
use Tests\integration\Traits\CollectsValues;
|
||||
|
||||
@@ -48,4 +49,12 @@ abstract class TestCase extends BaseTestCase
|
||||
'custom range' => ['custom'],
|
||||
];
|
||||
}
|
||||
|
||||
protected function createAuthenticatedUser(): User
|
||||
{
|
||||
return User::create([
|
||||
'email' => 'test@email.com',
|
||||
'password' => 'password',
|
||||
]);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -70,9 +70,10 @@ final class NavigationEndOfPeriodTest extends TestCase
|
||||
'last30' => ['frequency' => 'last30', 'from' => Carbon::now(), 'expected' => Carbon::now()->addDays(30)->endOfDay()],
|
||||
'last90' => ['frequency' => 'last90', 'from' => Carbon::now(), 'expected' => Carbon::now()->addDays(90)->endOfDay()],
|
||||
'last365' => ['frequency' => 'last365', 'from' => Carbon::now(), 'expected' => Carbon::now()->addDays(365)->endOfDay()],
|
||||
'MTD' => ['frequency' => 'MTD', 'from' => Carbon::now(), 'expected' => Carbon::now()->startOfMonth()->startOfDay()],
|
||||
'MTD' => ['frequency' => 'MTD', 'from' => Carbon::now(),
|
||||
'expected' => Carbon::now()->isSameMonth(Carbon::now()) ? Carbon::now()->endOfDay() : Carbon::now()->endOfMonth()],
|
||||
'QTD' => ['frequency' => 'QTD', 'from' => Carbon::now(), 'expected' => Carbon::now()->firstOfQuarter()->startOfDay()],
|
||||
'YTD' => ['frequency' => 'YTD', 'from' => Carbon::now(), 'expected' => Carbon::now()->startOfYear()->startOfDay()],
|
||||
'YTD' => ['frequency' => 'YTD', 'from' => Carbon::now(), 'expected' => Carbon::now()->firstOfYear()->startOfDay()],
|
||||
'week 2023-08-05 to 2023-08-11' => ['frequency' => '1W', 'from' => Carbon::parse('2023-08-05'), 'expected' => Carbon::parse('2023-08-11')->endOfDay()],
|
||||
];
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user