Compare commits

...

292 Commits

Author SHA1 Message Date
James Cole
bf589e5c57 Merge branch 'release/5.7.13' 2022-10-16 16:10:13 +02:00
James Cole
e97018cf2e Update composer 2022-10-16 16:08:56 +02:00
James Cole
5038ed7708 Update build files 2022-10-16 16:07:48 +02:00
James Cole
02081b09a2 Meta files for new release. 2022-10-16 15:52:22 +02:00
James Cole
a74d345ac2 Make doubly sure special characters are removed from the notes. 2022-10-16 15:18:11 +02:00
James Cole
69929bee31 Merge pull request #6531 from firefly-iii/dependabot/composer/develop/laravel/passport-11.2.1 2022-10-10 06:06:10 +02:00
James Cole
b276b24a79 Merge pull request #6532 from firefly-iii/dependabot/npm_and_yarn/develop/axios-1.1.2 2022-10-10 06:05:59 +02:00
dependabot[bot]
1b99dbab0a Bump laravel/passport from 11.2.0 to 11.2.1
Bumps [laravel/passport](https://github.com/laravel/passport) from 11.2.0 to 11.2.1.
- [Release notes](https://github.com/laravel/passport/releases)
- [Changelog](https://github.com/laravel/passport/blob/11.x/CHANGELOG.md)
- [Commits](https://github.com/laravel/passport/compare/v11.2.0...v11.2.1)

---
updated-dependencies:
- dependency-name: laravel/passport
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-10 03:56:14 +00:00
James Cole
1ea0fa318c Merge pull request #6530 from firefly-iii/dependabot/composer/develop/laravel/framework-9.34.0 2022-10-10 05:55:30 +02:00
James Cole
4066fc643f Merge pull request #6529 from firefly-iii/dependabot/composer/develop/spatie/laravel-ignition-1.5.1 2022-10-10 05:55:21 +02:00
dependabot[bot]
b7975c6a88 Bump axios from 0.27.2 to 1.1.2
Bumps [axios](https://github.com/axios/axios) from 0.27.2 to 1.1.2.
- [Release notes](https://github.com/axios/axios/releases)
- [Changelog](https://github.com/axios/axios/blob/v1.x/CHANGELOG.md)
- [Commits](https://github.com/axios/axios/compare/v0.27.2...v1.1.2)

---
updated-dependencies:
- dependency-name: axios
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-10 03:01:59 +00:00
dependabot[bot]
1e88b1eb88 Bump laravel/framework from 9.33.0 to 9.34.0
Bumps [laravel/framework](https://github.com/laravel/framework) from 9.33.0 to 9.34.0.
- [Release notes](https://github.com/laravel/framework/releases)
- [Changelog](https://github.com/laravel/framework/blob/9.x/CHANGELOG.md)
- [Commits](https://github.com/laravel/framework/compare/v9.33.0...v9.34.0)

---
updated-dependencies:
- dependency-name: laravel/framework
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-10 03:01:30 +00:00
dependabot[bot]
88490de38f Bump spatie/laravel-ignition from 1.5.0 to 1.5.1
Bumps [spatie/laravel-ignition](https://github.com/spatie/laravel-ignition) from 1.5.0 to 1.5.1.
- [Release notes](https://github.com/spatie/laravel-ignition/releases)
- [Changelog](https://github.com/spatie/laravel-ignition/blob/main/CHANGELOG.md)
- [Commits](https://github.com/spatie/laravel-ignition/compare/1.5.0...1.5.1)

---
updated-dependencies:
- dependency-name: spatie/laravel-ignition
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-10 03:01:22 +00:00
James Cole
030b6cb281 Rebuild frontend 2022-10-08 06:50:17 +02:00
James Cole
896c15a7a1 Update meta data and translations. 2022-10-08 06:47:56 +02:00
James Cole
b176308dbd Higher amounts. 2022-10-08 06:05:59 +02:00
James Cole
553a9be3d5 Fix https://github.com/firefly-iii/firefly-iii/issues/6510 2022-10-06 06:17:49 +02:00
James Cole
187e1914e3 Merge pull request #6502 from D7032E-Group-6/develop
Issue #5234 fix
2022-10-06 06:09:51 +02:00
Nathan PERIER
fc83565d02 Added translations for the new options 2022-10-05 15:23:22 +02:00
James Cole
bab4c05e5f Fix https://github.com/firefly-iii/firefly-iii/issues/6471 2022-10-04 19:12:57 +02:00
Nathan PERIER
5b43a2e99f Added options for month to date and year to date 2022-10-04 15:17:11 +02:00
James Cole
c9f7e96450 Merge pull request #6491 from firefly-iii/dependabot/npm_and_yarn/develop/postcss-8.4.17
Bump postcss from 8.4.16 to 8.4.17
2022-10-03 06:03:07 +02:00
James Cole
ea361365f0 Merge pull request #6490 from firefly-iii/dependabot/npm_and_yarn/develop/vue/compiler-sfc-3.2.40
Bump @vue/compiler-sfc from 3.2.39 to 3.2.40
2022-10-03 06:02:57 +02:00
James Cole
5dfb35064a Merge pull request #6489 from firefly-iii/dependabot/composer/develop/nunomaduro/collision-6.3.1
Bump nunomaduro/collision from 6.3.0 to 6.3.1
2022-10-03 06:02:48 +02:00
James Cole
5522e4f514 Merge pull request #6488 from firefly-iii/dependabot/composer/develop/laravel/framework-9.33.0
Bump laravel/framework from 9.31.0 to 9.33.0
2022-10-03 06:02:40 +02:00
James Cole
c1367d12a6 Merge pull request #6487 from firefly-iii/dependabot/composer/develop/symfony/http-client-6.0.13
Bump symfony/http-client from 6.0.12 to 6.0.13
2022-10-03 06:02:29 +02:00
dependabot[bot]
321c8fca67 Bump postcss from 8.4.16 to 8.4.17
Bumps [postcss](https://github.com/postcss/postcss) from 8.4.16 to 8.4.17.
- [Release notes](https://github.com/postcss/postcss/releases)
- [Changelog](https://github.com/postcss/postcss/blob/main/CHANGELOG.md)
- [Commits](https://github.com/postcss/postcss/compare/8.4.16...8.4.17)

---
updated-dependencies:
- dependency-name: postcss
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-03 03:01:52 +00:00
dependabot[bot]
73b98612a5 Bump @vue/compiler-sfc from 3.2.39 to 3.2.40
Bumps [@vue/compiler-sfc](https://github.com/vuejs/core/tree/HEAD/packages/compiler-sfc) from 3.2.39 to 3.2.40.
- [Release notes](https://github.com/vuejs/core/releases)
- [Changelog](https://github.com/vuejs/core/blob/main/CHANGELOG.md)
- [Commits](https://github.com/vuejs/core/commits/v3.2.40/packages/compiler-sfc)

---
updated-dependencies:
- dependency-name: "@vue/compiler-sfc"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-03 03:01:36 +00:00
dependabot[bot]
671e93c50f Bump nunomaduro/collision from 6.3.0 to 6.3.1
Bumps [nunomaduro/collision](https://github.com/nunomaduro/collision) from 6.3.0 to 6.3.1.
- [Release notes](https://github.com/nunomaduro/collision/releases)
- [Changelog](https://github.com/nunomaduro/collision/blob/v7.x/CHANGELOG.md)
- [Commits](https://github.com/nunomaduro/collision/compare/v6.3.0...v6.3.1)

---
updated-dependencies:
- dependency-name: nunomaduro/collision
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-03 03:01:02 +00:00
dependabot[bot]
553c3ec17e Bump laravel/framework from 9.31.0 to 9.33.0
Bumps [laravel/framework](https://github.com/laravel/framework) from 9.31.0 to 9.33.0.
- [Release notes](https://github.com/laravel/framework/releases)
- [Changelog](https://github.com/laravel/framework/blob/9.x/CHANGELOG.md)
- [Commits](https://github.com/laravel/framework/compare/v9.31.0...v9.33.0)

---
updated-dependencies:
- dependency-name: laravel/framework
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-03 03:00:58 +00:00
dependabot[bot]
94b933c7a4 Bump symfony/http-client from 6.0.12 to 6.0.13
Bumps [symfony/http-client](https://github.com/symfony/http-client) from 6.0.12 to 6.0.13.
- [Release notes](https://github.com/symfony/http-client/releases)
- [Changelog](https://github.com/symfony/http-client/blob/6.1/CHANGELOG.md)
- [Commits](https://github.com/symfony/http-client/compare/v6.0.12...v6.0.13)

---
updated-dependencies:
- dependency-name: symfony/http-client
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-03 03:00:45 +00:00
James Cole
0338010eaa Merge pull request #6481 from janw/main
Make bulk rules clauses match bulk TransactionController params
2022-10-02 05:39:27 +02:00
Jan Willhaus
ff91fe432c Make bulk rules clauses match bulk TransactionController params 2022-10-01 22:39:25 +02:00
James Cole
c4e46bf89b Fix issue in budget limits 2022-10-01 16:35:29 +02:00
James Cole
5c471059f3 Fix method 2022-10-01 07:20:26 +02:00
James Cole
93c83fbe7a Rename method 2022-10-01 05:29:42 +02:00
James Cole
4474a71e65 Attempted fix for #6475 2022-09-30 20:07:01 +02:00
James Cole
1558e87923 Fix https://github.com/firefly-iii/firefly-iii/issues/6461 2022-09-30 19:56:24 +02:00
James Cole
c6bc308ce7 Merge branch 'main' into develop 2022-09-30 19:46:57 +02:00
James Cole
c49f3fcccf Merge pull request #6476 from firefly-iii/dependabot/composer/twig/twig-3.4.3
Bump twig/twig from 3.4.2 to 3.4.3
2022-09-30 18:15:49 +02:00
dependabot[bot]
d144392bd6 Bump twig/twig from 3.4.2 to 3.4.3
Bumps [twig/twig](https://github.com/twigphp/Twig) from 3.4.2 to 3.4.3.
- [Release notes](https://github.com/twigphp/Twig/releases)
- [Changelog](https://github.com/twigphp/Twig/blob/3.x/CHANGELOG)
- [Commits](https://github.com/twigphp/Twig/compare/v3.4.2...v3.4.3)

---
updated-dependencies:
- dependency-name: twig/twig
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-09-30 15:47:40 +00:00
James Cole
0671f20ab1 Merge pull request #6464 from firefly-iii/dependabot/composer/develop/doctrine/dbal-3.4.5
Bump doctrine/dbal from 3.4.4 to 3.4.5
2022-09-26 05:42:18 +02:00
James Cole
4bdc5fa3fc Merge pull request #6463 from firefly-iii/dependabot/composer/develop/laravel/framework-9.31.0
Bump laravel/framework from 9.30.1 to 9.31.0
2022-09-26 05:41:35 +02:00
James Cole
ddff192a1f Merge pull request #6462 from firefly-iii/dependabot/composer/develop/phpunit/phpunit-9.5.25
Bump phpunit/phpunit from 9.5.24 to 9.5.25
2022-09-26 05:40:36 +02:00
dependabot[bot]
ff55b36f32 Bump doctrine/dbal from 3.4.4 to 3.4.5
Bumps [doctrine/dbal](https://github.com/doctrine/dbal) from 3.4.4 to 3.4.5.
- [Release notes](https://github.com/doctrine/dbal/releases)
- [Commits](https://github.com/doctrine/dbal/compare/3.4.4...3.4.5)

---
updated-dependencies:
- dependency-name: doctrine/dbal
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-09-26 03:01:06 +00:00
dependabot[bot]
8e4c772dcd Bump laravel/framework from 9.30.1 to 9.31.0
Bumps [laravel/framework](https://github.com/laravel/framework) from 9.30.1 to 9.31.0.
- [Release notes](https://github.com/laravel/framework/releases)
- [Changelog](https://github.com/laravel/framework/blob/9.x/CHANGELOG.md)
- [Commits](https://github.com/laravel/framework/compare/v9.30.1...v9.31.0)

---
updated-dependencies:
- dependency-name: laravel/framework
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-09-26 03:01:00 +00:00
dependabot[bot]
fd7683c212 Bump phpunit/phpunit from 9.5.24 to 9.5.25
Bumps [phpunit/phpunit](https://github.com/sebastianbergmann/phpunit) from 9.5.24 to 9.5.25.
- [Release notes](https://github.com/sebastianbergmann/phpunit/releases)
- [Changelog](https://github.com/sebastianbergmann/phpunit/blob/main/ChangeLog-9.5.md)
- [Commits](https://github.com/sebastianbergmann/phpunit/compare/9.5.24...9.5.25)

---
updated-dependencies:
- dependency-name: phpunit/phpunit
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-09-26 03:00:52 +00:00
James Cole
6f9482fc1b Merge pull request #6444 from firefly-iii/dependabot/composer/develop/spatie/laravel-ignition-1.5.0
Bump spatie/laravel-ignition from 1.4.1 to 1.5.0
2022-09-19 08:16:56 +02:00
James Cole
af6e70c41c Merge pull request #6448 from firefly-iii/dependabot/composer/develop/laravel/passport-11.2.0
Bump laravel/passport from 11.1.0 to 11.2.0
2022-09-19 08:16:02 +02:00
dependabot[bot]
7116c65bd7 Bump laravel/passport from 11.1.0 to 11.2.0
Bumps [laravel/passport](https://github.com/laravel/passport) from 11.1.0 to 11.2.0.
- [Release notes](https://github.com/laravel/passport/releases)
- [Changelog](https://github.com/laravel/passport/blob/11.x/CHANGELOG.md)
- [Commits](https://github.com/laravel/passport/compare/v11.1.0...v11.2.0)

---
updated-dependencies:
- dependency-name: laravel/passport
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-09-19 06:14:40 +00:00
dependabot[bot]
9e98c52c64 Bump spatie/laravel-ignition from 1.4.1 to 1.5.0
Bumps [spatie/laravel-ignition](https://github.com/spatie/laravel-ignition) from 1.4.1 to 1.5.0.
- [Release notes](https://github.com/spatie/laravel-ignition/releases)
- [Changelog](https://github.com/spatie/laravel-ignition/blob/main/CHANGELOG.md)
- [Commits](https://github.com/spatie/laravel-ignition/compare/1.4.1...1.5.0)

---
updated-dependencies:
- dependency-name: spatie/laravel-ignition
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-09-19 06:14:38 +00:00
James Cole
c5e0c492a7 Merge pull request #6445 from firefly-iii/dependabot/composer/develop/spatie/data-transfer-object-3.9.1
Bump spatie/data-transfer-object from 3.8.1 to 3.9.1
2022-09-19 08:14:01 +02:00
James Cole
f43c74df66 Merge pull request #6443 from firefly-iii/dependabot/composer/develop/laravel/framework-9.30.1
Bump laravel/framework from 9.29.0 to 9.30.1
2022-09-19 08:13:49 +02:00
James Cole
40dbae17b1 Merge pull request #6447 from firefly-iii/dependabot/composer/develop/laravel/ui-4.0.2
Bump laravel/ui from 4.0.1 to 4.0.2
2022-09-19 08:13:39 +02:00
dependabot[bot]
3ca88adade Bump laravel/ui from 4.0.1 to 4.0.2
Bumps [laravel/ui](https://github.com/laravel/ui) from 4.0.1 to 4.0.2.
- [Release notes](https://github.com/laravel/ui/releases)
- [Changelog](https://github.com/laravel/ui/blob/4.x/CHANGELOG.md)
- [Commits](https://github.com/laravel/ui/compare/v4.0.1...v4.0.2)

---
updated-dependencies:
- dependency-name: laravel/ui
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-09-19 06:12:01 +00:00
dependabot[bot]
c8be9ceaf5 Bump spatie/data-transfer-object from 3.8.1 to 3.9.1
Bumps [spatie/data-transfer-object](https://github.com/spatie/data-transfer-object) from 3.8.1 to 3.9.1.
- [Release notes](https://github.com/spatie/data-transfer-object/releases)
- [Changelog](https://github.com/spatie/data-transfer-object/blob/main/CHANGELOG.md)
- [Commits](https://github.com/spatie/data-transfer-object/compare/3.8.1...3.9.1)

---
updated-dependencies:
- dependency-name: spatie/data-transfer-object
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-09-19 06:09:39 +00:00
James Cole
52df1aad14 Merge pull request #6446 from firefly-iii/dependabot/composer/develop/ramsey/uuid-4.5.1
Bump ramsey/uuid from 4.4.0 to 4.5.1
2022-09-19 08:09:08 +02:00
dependabot[bot]
6bc73f4f55 Bump ramsey/uuid from 4.4.0 to 4.5.1
Bumps [ramsey/uuid](https://github.com/ramsey/uuid) from 4.4.0 to 4.5.1.
- [Release notes](https://github.com/ramsey/uuid/releases)
- [Changelog](https://github.com/ramsey/uuid/blob/4.x/CHANGELOG.md)
- [Commits](https://github.com/ramsey/uuid/compare/4.4.0...4.5.1)

---
updated-dependencies:
- dependency-name: ramsey/uuid
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-09-19 03:01:26 +00:00
dependabot[bot]
4ade02efc8 Bump laravel/framework from 9.29.0 to 9.30.1
Bumps [laravel/framework](https://github.com/laravel/framework) from 9.29.0 to 9.30.1.
- [Release notes](https://github.com/laravel/framework/releases)
- [Changelog](https://github.com/laravel/framework/blob/9.x/CHANGELOG.md)
- [Commits](https://github.com/laravel/framework/compare/v9.29.0...v9.30.1)

---
updated-dependencies:
- dependency-name: laravel/framework
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-09-19 03:01:10 +00:00
James Cole
eef14ced59 Add amount check. Not sure why rule doesn't fire. 2022-09-18 05:53:11 +02:00
James Cole
11ba24482f Merge branch 'release/5.7.12' 2022-09-11 07:27:37 +02:00
James Cole
e5bc074e68 Merge tag '5.7.12' into develop
5.7.12
2022-09-11 07:27:37 +02:00
James Cole
93ea86f921 Fix meta files for new release. 2022-09-11 07:27:16 +02:00
James Cole
cf8957a460 Fix https://github.com/firefly-iii/firefly-iii/issues/6332 2022-09-11 07:08:54 +02:00
James Cole
9c2f771bae Fix https://github.com/firefly-iii/firefly-iii/issues/6333 2022-09-11 07:08:02 +02:00
James Cole
d9e8f8106a Fix https://github.com/firefly-iii/firefly-iii/issues/6379 2022-09-11 07:02:39 +02:00
James Cole
6589f88883 Fix https://github.com/firefly-iii/firefly-iii/issues/6421 2022-09-11 06:58:16 +02:00
James Cole
38ebdd8249 Merge pull request #6423 from canoine/develop
Redis username needed for both databases
2022-09-10 06:09:42 +02:00
canoine
6296ead897 Redis username needed for both databases
Redis username needed for both 'default' and 'cache' databases
2022-09-09 14:21:16 +02:00
James Cole
ecf5cc62f9 Fix https://github.com/firefly-iii/firefly-iii/issues/6287 2022-09-08 06:22:02 +02:00
James Cole
b205cc87fc Merge tag '5.7.11' into develop
5.7.11
2022-09-07 18:38:57 +02:00
James Cole
4c60473f02 Merge branch 'release/5.7.11' 2022-09-07 18:38:56 +02:00
James Cole
f47464944b Update packages 2022-09-07 18:33:23 +02:00
James Cole
edb9480c90 Merge pull request #6413 from firefly-iii/dependabot/composer/develop/predis/predis-2.0.1
Bump predis/predis from 2.0.0 to 2.0.1
2022-09-05 20:05:40 +02:00
dependabot[bot]
615e789134 Bump predis/predis from 2.0.0 to 2.0.1
Bumps [predis/predis](https://github.com/predis/predis) from 2.0.0 to 2.0.1.
- [Release notes](https://github.com/predis/predis/releases)
- [Changelog](https://github.com/predis/predis/blob/main/CHANGELOG.md)
- [Commits](https://github.com/predis/predis/compare/v2.0.0...v2.0.1)

---
updated-dependencies:
- dependency-name: predis/predis
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-09-05 13:09:42 +00:00
James Cole
3e96bb526c Store secret correctly. 2022-09-05 05:39:47 +02:00
James Cole
1d21a8788c Update packages and meta data. 2022-09-04 13:58:21 +02:00
James Cole
e420ead9e8 Update translations. 2022-09-04 13:53:24 +02:00
James Cole
06b7f18d55 Make 2FA code + validation more robust. Thanks to @jtmoss3991, @timaschew and @Ottega. 2022-09-04 13:32:59 +02:00
James Cole
8659c7efbd Skip error 2022-09-04 13:31:46 +02:00
James Cole
80fe52f5d7 Merge pull request #6383 from firefly-iii/dependabot/composer/develop/guzzlehttp/guzzle-7.5.0
Bump guzzlehttp/guzzle from 7.4.5 to 7.5.0
2022-08-29 05:55:27 +02:00
dependabot[bot]
77358301e8 Bump guzzlehttp/guzzle from 7.4.5 to 7.5.0
Bumps [guzzlehttp/guzzle](https://github.com/guzzle/guzzle) from 7.4.5 to 7.5.0.
- [Release notes](https://github.com/guzzle/guzzle/releases)
- [Changelog](https://github.com/guzzle/guzzle/blob/master/CHANGELOG.md)
- [Commits](https://github.com/guzzle/guzzle/compare/7.4.5...7.5.0)

---
updated-dependencies:
- dependency-name: guzzlehttp/guzzle
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-08-29 03:55:01 +00:00
James Cole
93ed1de23f Merge pull request #6385 from firefly-iii/dependabot/composer/develop/symfony/http-client-6.0.12
Bump symfony/http-client from 6.0.11 to 6.0.12
2022-08-29 05:54:52 +02:00
James Cole
a81ca5114b Merge pull request #6386 from firefly-iii/dependabot/composer/develop/laravel/passport-11.0.0
Bump laravel/passport from 10.4.1 to 11.0.0
2022-08-29 05:54:35 +02:00
James Cole
9a69b941d8 Merge pull request #6387 from firefly-iii/dependabot/npm_and_yarn/develop/jquery-3.6.1
Bump jquery from 3.6.0 to 3.6.1
2022-08-29 05:54:20 +02:00
dependabot[bot]
194ecc7ac7 Bump symfony/http-client from 6.0.11 to 6.0.12
Bumps [symfony/http-client](https://github.com/symfony/http-client) from 6.0.11 to 6.0.12.
- [Release notes](https://github.com/symfony/http-client/releases)
- [Changelog](https://github.com/symfony/http-client/blob/6.1/CHANGELOG.md)
- [Commits](https://github.com/symfony/http-client/compare/v6.0.11...v6.0.12)

---
updated-dependencies:
- dependency-name: symfony/http-client
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-08-29 03:53:42 +00:00
dependabot[bot]
44da3be910 Bump laravel/passport from 10.4.1 to 11.0.0
Bumps [laravel/passport](https://github.com/laravel/passport) from 10.4.1 to 11.0.0.
- [Release notes](https://github.com/laravel/passport/releases)
- [Changelog](https://github.com/laravel/passport/blob/11.x/CHANGELOG.md)
- [Upgrade guide](https://github.com/laravel/passport/blob/11.x/UPGRADE.md)
- [Commits](https://github.com/laravel/passport/compare/v10.4.1...v11.0.0)

---
updated-dependencies:
- dependency-name: laravel/passport
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-08-29 03:53:27 +00:00
James Cole
22de6e61ff Merge pull request #6382 from firefly-iii/dependabot/composer/develop/spatie/laravel-ignition-1.4.0
Bump spatie/laravel-ignition from 1.3.1 to 1.4.0
2022-08-29 05:52:56 +02:00
dependabot[bot]
37f91cabf5 Bump jquery from 3.6.0 to 3.6.1
Bumps [jquery](https://github.com/jquery/jquery) from 3.6.0 to 3.6.1.
- [Release notes](https://github.com/jquery/jquery/releases)
- [Commits](https://github.com/jquery/jquery/compare/3.6.0...3.6.1)

---
updated-dependencies:
- dependency-name: jquery
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-08-29 03:02:30 +00:00
dependabot[bot]
7f9d87a117 Bump spatie/laravel-ignition from 1.3.1 to 1.4.0
Bumps [spatie/laravel-ignition](https://github.com/spatie/laravel-ignition) from 1.3.1 to 1.4.0.
- [Release notes](https://github.com/spatie/laravel-ignition/releases)
- [Changelog](https://github.com/spatie/laravel-ignition/blob/main/CHANGELOG.md)
- [Commits](https://github.com/spatie/laravel-ignition/compare/1.3.1...1.4.0)

---
updated-dependencies:
- dependency-name: spatie/laravel-ignition
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-08-29 03:00:45 +00:00
James Cole
52e83c2ec2 Fix https://github.com/firefly-iii/firefly-iii/issues/6379 2022-08-28 06:37:03 +02:00
James Cole
70c08d6b50 Basic amount fix 2022-08-23 05:46:59 +02:00
James Cole
0b49e9b8a8 Basic amount fix 2022-08-23 05:46:43 +02:00
James Cole
73d97d90ae Merge branch 'main' into develop 2022-08-23 05:44:12 +02:00
James Cole
43650583fe Merge pull request #6368 from firefly-iii/JC5-patch-4
Update stale.yml
2022-08-23 05:41:17 +02:00
James Cole
3cc0e0f20f Update stale.yml 2022-08-23 03:41:05 +00:00
James Cole
27d6e70469 Merge pull request #6360 from firefly-iii/dependabot/composer/develop/laravel/sanctum-3.0.1
Bump laravel/sanctum from 2.15.1 to 3.0.1
2022-08-22 09:05:32 +02:00
James Cole
ab4ee2fdb0 Merge pull request #6363 from firefly-iii/dependabot/composer/develop/phpunit/phpunit-9.5.22
Bump phpunit/phpunit from 9.5.21 to 9.5.22
2022-08-22 09:05:01 +02:00
James Cole
23a09825cb Merge pull request #6362 from firefly-iii/dependabot/composer/develop/doctrine/dbal-3.4.2
Bump doctrine/dbal from 3.4.0 to 3.4.2
2022-08-22 09:03:48 +02:00
James Cole
ce1e99be9a Merge pull request #6361 from firefly-iii/dependabot/composer/develop/laravel/framework-9.25.1
Bump laravel/framework from 9.24.0 to 9.25.1
2022-08-22 09:03:31 +02:00
dependabot[bot]
63440c4cb7 Bump phpunit/phpunit from 9.5.21 to 9.5.22
Bumps [phpunit/phpunit](https://github.com/sebastianbergmann/phpunit) from 9.5.21 to 9.5.22.
- [Release notes](https://github.com/sebastianbergmann/phpunit/releases)
- [Changelog](https://github.com/sebastianbergmann/phpunit/blob/main/ChangeLog-9.5.md)
- [Commits](https://github.com/sebastianbergmann/phpunit/compare/9.5.21...9.5.22)

---
updated-dependencies:
- dependency-name: phpunit/phpunit
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-08-22 03:01:08 +00:00
dependabot[bot]
e5b30fa156 Bump doctrine/dbal from 3.4.0 to 3.4.2
Bumps [doctrine/dbal](https://github.com/doctrine/dbal) from 3.4.0 to 3.4.2.
- [Release notes](https://github.com/doctrine/dbal/releases)
- [Commits](https://github.com/doctrine/dbal/compare/3.4.0...3.4.2)

---
updated-dependencies:
- dependency-name: doctrine/dbal
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-08-22 03:01:03 +00:00
dependabot[bot]
8c067019f7 Bump laravel/framework from 9.24.0 to 9.25.1
Bumps [laravel/framework](https://github.com/laravel/framework) from 9.24.0 to 9.25.1.
- [Release notes](https://github.com/laravel/framework/releases)
- [Changelog](https://github.com/laravel/framework/blob/9.x/CHANGELOG.md)
- [Commits](https://github.com/laravel/framework/compare/v9.24.0...v9.25.1)

---
updated-dependencies:
- dependency-name: laravel/framework
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-08-22 03:00:59 +00:00
dependabot[bot]
bb3ceaeb0e Bump laravel/sanctum from 2.15.1 to 3.0.1
Bumps [laravel/sanctum](https://github.com/laravel/sanctum) from 2.15.1 to 3.0.1.
- [Release notes](https://github.com/laravel/sanctum/releases)
- [Changelog](https://github.com/laravel/sanctum/blob/3.x/CHANGELOG.md)
- [Upgrade guide](https://github.com/laravel/sanctum/blob/3.x/UPGRADE.md)
- [Commits](https://github.com/laravel/sanctum/compare/v2.15.1...v3.0.1)

---
updated-dependencies:
- dependency-name: laravel/sanctum
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-08-22 03:00:49 +00:00
James Cole
b6e8144fe9 Try to catch bad operations. 2022-08-19 20:24:20 +02:00
James Cole
059df6f8ac Merge pull request #6344 from firefly-iii/dependabot/composer/develop/laravel/framework-9.24.0
Bump laravel/framework from 9.23.0 to 9.24.0
2022-08-15 06:23:45 +02:00
dependabot[bot]
6ae43aee5c Bump laravel/framework from 9.23.0 to 9.24.0
Bumps [laravel/framework](https://github.com/laravel/framework) from 9.23.0 to 9.24.0.
- [Release notes](https://github.com/laravel/framework/releases)
- [Changelog](https://github.com/laravel/framework/blob/9.x/CHANGELOG.md)
- [Commits](https://github.com/laravel/framework/compare/v9.23.0...v9.24.0)

---
updated-dependencies:
- dependency-name: laravel/framework
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-08-15 03:00:42 +00:00
James Cole
3ea48eb6ee Merge branch 'main' into develop 2022-08-14 15:42:25 +02:00
James Cole
76885d2c50 Merge pull request #6278 from firefly-iii/dependabot/composer/develop/diglactic/laravel-breadcrumbs-8.0.0
Bump diglactic/laravel-breadcrumbs from 7.2.0 to 8.0.0
2022-08-08 18:13:50 +02:00
dependabot[bot]
a1f7a518e3 Bump diglactic/laravel-breadcrumbs from 7.2.0 to 8.0.0
Bumps [diglactic/laravel-breadcrumbs](https://github.com/diglactic/laravel-breadcrumbs) from 7.2.0 to 8.0.0.
- [Release notes](https://github.com/diglactic/laravel-breadcrumbs/releases)
- [Upgrade guide](https://github.com/diglactic/laravel-breadcrumbs/blob/main/UPGRADE.md)
- [Commits](https://github.com/diglactic/laravel-breadcrumbs/compare/v7.2.0...v8.0.0)

---
updated-dependencies:
- dependency-name: diglactic/laravel-breadcrumbs
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-08-08 16:12:32 +00:00
James Cole
55205d6107 Merge pull request #6329 from firefly-iii/dependabot/npm_and_yarn/develop/postcss-8.4.16
Bump postcss from 8.4.14 to 8.4.16
2022-08-08 18:12:04 +02:00
James Cole
c7ce5632ea Merge pull request #6328 from firefly-iii/dependabot/composer/develop/laravel/framework-9.23.0
Bump laravel/framework from 9.22.1 to 9.23.0
2022-08-08 18:11:48 +02:00
James Cole
91cec7485a Merge pull request #6327 from firefly-iii/dependabot/composer/develop/doctrine/dbal-3.4.0
Bump doctrine/dbal from 3.3.7 to 3.4.0
2022-08-08 18:11:38 +02:00
James Cole
37fbc657a7 Merge pull request #6326 from firefly-iii/dependabot/composer/develop/ramsey/uuid-4.4.0
Bump ramsey/uuid from 4.3.1 to 4.4.0
2022-08-08 18:11:25 +02:00
dependabot[bot]
908dc15a3b Bump postcss from 8.4.14 to 8.4.16
Bumps [postcss](https://github.com/postcss/postcss) from 8.4.14 to 8.4.16.
- [Release notes](https://github.com/postcss/postcss/releases)
- [Changelog](https://github.com/postcss/postcss/blob/main/CHANGELOG.md)
- [Commits](https://github.com/postcss/postcss/compare/8.4.14...8.4.16)

---
updated-dependencies:
- dependency-name: postcss
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-08-08 03:02:03 +00:00
dependabot[bot]
d4bd7c0549 Bump laravel/framework from 9.22.1 to 9.23.0
Bumps [laravel/framework](https://github.com/laravel/framework) from 9.22.1 to 9.23.0.
- [Release notes](https://github.com/laravel/framework/releases)
- [Changelog](https://github.com/laravel/framework/blob/9.x/CHANGELOG.md)
- [Commits](https://github.com/laravel/framework/compare/v9.22.1...v9.23.0)

---
updated-dependencies:
- dependency-name: laravel/framework
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-08-08 03:00:59 +00:00
dependabot[bot]
4c0d6a5259 Bump doctrine/dbal from 3.3.7 to 3.4.0
Bumps [doctrine/dbal](https://github.com/doctrine/dbal) from 3.3.7 to 3.4.0.
- [Release notes](https://github.com/doctrine/dbal/releases)
- [Commits](https://github.com/doctrine/dbal/compare/3.3.7...3.4.0)

---
updated-dependencies:
- dependency-name: doctrine/dbal
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-08-08 03:00:49 +00:00
dependabot[bot]
48c8c5b353 Bump ramsey/uuid from 4.3.1 to 4.4.0
Bumps [ramsey/uuid](https://github.com/ramsey/uuid) from 4.3.1 to 4.4.0.
- [Release notes](https://github.com/ramsey/uuid/releases)
- [Changelog](https://github.com/ramsey/uuid/blob/4.x/CHANGELOG.md)
- [Commits](https://github.com/ramsey/uuid/compare/4.3.1...4.4.0)

---
updated-dependencies:
- dependency-name: ramsey/uuid
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-08-08 03:00:43 +00:00
James Cole
d502c8d286 Merge pull request #6300 from firefly-iii/JC5-patch-3
Update stale.yml
2022-08-07 12:46:22 +02:00
James Cole
79c4fad922 Update stale.yml 2022-08-07 10:45:39 +00:00
James Cole
b1532ab982 Merge branch 'main' into develop 2022-08-07 12:29:54 +02:00
James Cole
08e65887ca Merge pull request #6296 from firefly-iii/JC5-patch-2
Update closed-issues.yml
2022-08-06 17:42:04 +02:00
James Cole
4c0934bae8 Update closed-issues.yml
Small changes in yaml
2022-08-06 15:39:22 +00:00
James Cole
1670fe5e4d Merge pull request #6294 from firefly-iii/JC5-patch-1
Create closed-issues.yml
2022-08-06 17:31:01 +02:00
James Cole
bba362fb58 Create closed-issues.yml
Add a new workflow for closed issues.
2022-08-06 15:30:45 +00:00
James Cole
4aa361617f Merge pull request #6293 from firefly-iii/add-badge-readme
Add badge.
2022-08-05 04:06:00 +02:00
James Cole
be01b177fa Add badge. 2022-08-05 03:59:05 +02:00
James Cole
aa3fba91d4 Remove the service worker. 2022-08-03 05:39:47 +02:00
James Cole
cc6a7b181a Convert to deposit means the journal loses its bill. 2022-08-02 05:39:04 +02:00
James Cole
c460ccfad5 Conversion to transfer means that the original journal loses the bill. 2022-08-02 05:38:24 +02:00
James Cole
69d875d981 Merge branch 'develop' of github.com:firefly-iii/firefly-iii into develop 2022-08-01 19:51:56 +02:00
James Cole
75ea1c4f4b Return amount as string 2022-08-01 19:51:45 +02:00
James Cole
cfbda09e36 Merge pull request #6279 from firefly-iii/dependabot/composer/develop/symfony/http-client-6.0.11
Bump symfony/http-client from 6.0.9 to 6.0.11
2022-08-01 05:59:32 +02:00
James Cole
7746f2ca19 Merge pull request #6277 from firefly-iii/dependabot/composer/develop/laravel/framework-9.22.1
Bump laravel/framework from 9.21.6 to 9.22.1
2022-08-01 05:59:23 +02:00
James Cole
a8fb463520 Merge pull request #6281 from firefly-iii/dependabot/composer/develop/laravel/ui-4.0.0
Bump laravel/ui from 3.4.6 to 4.0.0
2022-08-01 05:59:01 +02:00
James Cole
3ef732b895 Merge pull request #6282 from firefly-iii/dependabot/npm_and_yarn/develop/uiv-1.4.2
Bump uiv from 1.4.1 to 1.4.2
2022-08-01 05:58:52 +02:00
dependabot[bot]
1101af87cb Bump uiv from 1.4.1 to 1.4.2
Bumps [uiv](https://github.com/uiv-lib/uiv) from 1.4.1 to 1.4.2.
- [Release notes](https://github.com/uiv-lib/uiv/releases)
- [Commits](https://github.com/uiv-lib/uiv/compare/v1.4.1...v1.4.2)

---
updated-dependencies:
- dependency-name: uiv
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-08-01 03:01:56 +00:00
dependabot[bot]
c9e0043cc1 Bump laravel/ui from 3.4.6 to 4.0.0
Bumps [laravel/ui](https://github.com/laravel/ui) from 3.4.6 to 4.0.0.
- [Release notes](https://github.com/laravel/ui/releases)
- [Changelog](https://github.com/laravel/ui/blob/4.x/CHANGELOG.md)
- [Commits](https://github.com/laravel/ui/compare/v3.4.6...v4.0.0)

---
updated-dependencies:
- dependency-name: laravel/ui
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-08-01 03:01:04 +00:00
dependabot[bot]
edb8bb3ce3 Bump symfony/http-client from 6.0.9 to 6.0.11
Bumps [symfony/http-client](https://github.com/symfony/http-client) from 6.0.9 to 6.0.11.
- [Release notes](https://github.com/symfony/http-client/releases)
- [Changelog](https://github.com/symfony/http-client/blob/6.1/CHANGELOG.md)
- [Commits](https://github.com/symfony/http-client/compare/v6.0.9...v6.0.11)

---
updated-dependencies:
- dependency-name: symfony/http-client
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-08-01 03:00:51 +00:00
dependabot[bot]
ac0f75c808 Bump laravel/framework from 9.21.6 to 9.22.1
Bumps [laravel/framework](https://github.com/laravel/framework) from 9.21.6 to 9.22.1.
- [Release notes](https://github.com/laravel/framework/releases)
- [Changelog](https://github.com/laravel/framework/blob/9.x/CHANGELOG.md)
- [Commits](https://github.com/laravel/framework/compare/v9.21.6...v9.22.1)

---
updated-dependencies:
- dependency-name: laravel/framework
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-08-01 03:00:40 +00:00
James Cole
b39e16c51c Fix https://github.com/firefly-iii/firefly-iii/issues/6271 2022-07-31 11:56:02 +02:00
James Cole
23d3abbf63 Merge pull request #6267 from canoine/develop 2022-07-27 06:29:20 +02:00
canoine
34e5433082 Empty REDIS_PASSWORD 2022-07-27 05:51:09 +02:00
canoine
9fbc4c2ba1 Don't force a default username 2022-07-27 05:07:04 +02:00
canoine
38ed7c1543 Don't force a default username 2022-07-27 05:05:36 +02:00
canoine
121561da3e Add redis username to fit 6+ ACL capabilities 2022-07-26 19:33:29 +02:00
canoine
5893b30da8 Add redis username to fit 6+ ACL capabilities 2022-07-26 19:32:37 +02:00
James Cole
858480929c Fix null pointer 2022-07-25 19:43:47 +02:00
James Cole
242fb3b498 Remove debug. 2022-07-25 05:57:11 +02:00
James Cole
47469c7082 Fix transformer. 2022-07-25 05:56:21 +02:00
James Cole
18f2633810 Add debug 2022-07-25 05:54:40 +02:00
James Cole
c50a4ae993 Add debug 2022-07-25 05:52:51 +02:00
James Cole
2db32ce44f Better transformer. 2022-07-25 05:51:59 +02:00
James Cole
38b505d036 Skip empty foreign currency 2022-07-25 05:50:02 +02:00
James Cole
b03a36b87f Add some debug info 2022-07-25 05:48:59 +02:00
James Cole
fa72912349 Add some debug to function 2022-07-25 05:47:26 +02:00
James Cole
7e98fac3b7 Better check on foreign currency. 2022-07-25 05:46:32 +02:00
James Cole
f14c8a2ec2 Add some debug 2022-07-25 05:44:41 +02:00
James Cole
7c63f097c8 Merge pull request #6264 from firefly-iii/dependabot/composer/develop/laravel/framework-9.21.6
Bump laravel/framework from 9.21.4 to 9.21.6
2022-07-25 05:38:26 +02:00
dependabot[bot]
037cd75658 Bump laravel/framework from 9.21.4 to 9.21.6
Bumps [laravel/framework](https://github.com/laravel/framework) from 9.21.4 to 9.21.6.
- [Release notes](https://github.com/laravel/framework/releases)
- [Changelog](https://github.com/laravel/framework/blob/9.x/CHANGELOG.md)
- [Commits](https://github.com/laravel/framework/compare/v9.21.4...v9.21.6)

---
updated-dependencies:
- dependency-name: laravel/framework
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-07-25 03:00:48 +00:00
James Cole
76dadd1cab Fix https://github.com/firefly-iii/firefly-iii/issues/6260 2022-07-24 05:44:35 +02:00
James Cole
d8506c4361 Fix https://github.com/firefly-iii/firefly-iii/issues/6260 2022-07-23 21:50:16 +02:00
James Cole
d49809c939 Fix https://github.com/firefly-iii/firefly-iii/issues/6260 2022-07-23 20:15:55 +02:00
James Cole
e8ec13ca5f Fix https://github.com/firefly-iii/firefly-iii/issues/6260 2022-07-23 16:47:05 +02:00
James Cole
7f694ede98 Merge pull request #6255 from rickdoesdev/develop
Use Piggy Bank's start date in suggested monthly calc
2022-07-22 11:31:30 +00:00
Rick Cuddy
203ae2812f Use Piggy Bank's start date in monthly suggestion #6254 2022-07-22 20:12:32 +10:00
James Cole
20dfeae653 Merge branch 'release/5.7.10' 2022-07-21 17:01:38 +02:00
James Cole
397c0abebe Merge tag '5.7.10' into develop
5.7.10
2022-07-21 17:01:38 +02:00
James Cole
9f8e33a1ec Update final files 2022-07-21 16:51:15 +02:00
James Cole
0b378b51f8 Merge branch 'main' into develop 2022-07-21 16:41:52 +02:00
James Cole
b138812e1a Merge pull request #6246 from firefly-iii/dependabot/npm_and_yarn/frontend/terser-5.14.2
Bump terser from 5.12.1 to 5.14.2 in /frontend
2022-07-21 06:14:44 +00:00
James Cole
dcfd4d6672 Merge pull request #6247 from firefly-iii/dependabot/npm_and_yarn/terser-4.8.1
Bump terser from 4.8.0 to 4.8.1
2022-07-21 06:14:31 +00:00
dependabot[bot]
11b109d425 Bump terser from 4.8.0 to 4.8.1
Bumps [terser](https://github.com/terser/terser) from 4.8.0 to 4.8.1.
- [Release notes](https://github.com/terser/terser/releases)
- [Changelog](https://github.com/terser/terser/blob/master/CHANGELOG.md)
- [Commits](https://github.com/terser/terser/commits)

---
updated-dependencies:
- dependency-name: terser
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-07-21 05:22:32 +00:00
dependabot[bot]
ba1f0d9a24 Bump terser from 5.12.1 to 5.14.2 in /frontend
Bumps [terser](https://github.com/terser/terser) from 5.12.1 to 5.14.2.
- [Release notes](https://github.com/terser/terser/releases)
- [Changelog](https://github.com/terser/terser/blob/master/CHANGELOG.md)
- [Commits](https://github.com/terser/terser/commits)

---
updated-dependencies:
- dependency-name: terser
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-07-21 01:59:45 +00:00
James Cole
3cdae5a851 Merge pull request #6240 from firefly-iii/dependabot/composer/develop/league/commonmark-2.3.4
Bump league/commonmark from 2.3.3 to 2.3.4
2022-07-18 07:59:20 +00:00
dependabot[bot]
7c162fe87f Bump league/commonmark from 2.3.3 to 2.3.4
Bumps [league/commonmark](https://github.com/thephpleague/commonmark) from 2.3.3 to 2.3.4.
- [Release notes](https://github.com/thephpleague/commonmark/releases)
- [Changelog](https://github.com/thephpleague/commonmark/blob/2.3/CHANGELOG.md)
- [Commits](https://github.com/thephpleague/commonmark/compare/2.3.3...2.3.4)

---
updated-dependencies:
- dependency-name: league/commonmark
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-07-18 03:00:41 +00:00
James Cole
b4feb27118 Fix #6118 2022-07-17 07:18:50 +02:00
James Cole
2e8ea7493a Update packages. 2022-07-16 17:26:10 +02:00
James Cole
d26a5a6e9c Fix https://github.com/firefly-iii/firefly-iii/issues/6150 2022-07-16 17:15:44 +02:00
James Cole
29dce924cf Accounts could not share number. Fix #6165 2022-07-16 17:11:14 +02:00
James Cole
2bd068211b Fix #6168 2022-07-16 16:59:17 +02:00
James Cole
c97792d1d1 Update packages 2022-07-16 09:44:28 +02:00
James Cole
ef23948b41 Update packages and rebuild 2022-07-16 09:40:52 +02:00
James Cole
b97988a597 Update packages to shutup dependabot. 2022-07-05 19:16:53 +02:00
James Cole
2f20bac734 Merge pull request #6211 from firefly-iii/dependabot/composer/develop/laravel/framework-9.19.0
Bump laravel/framework from 9.18.0 to 9.19.0
2022-07-04 05:07:21 +00:00
dependabot[bot]
4b23ca1186 Bump laravel/framework from 9.18.0 to 9.19.0
Bumps [laravel/framework](https://github.com/laravel/framework) from 9.18.0 to 9.19.0.
- [Release notes](https://github.com/laravel/framework/releases)
- [Changelog](https://github.com/laravel/framework/blob/9.x/CHANGELOG.md)
- [Commits](https://github.com/laravel/framework/compare/v9.18.0...v9.19.0)

---
updated-dependencies:
- dependency-name: laravel/framework
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-07-04 04:21:59 +00:00
James Cole
cb7e766321 Merge pull request #6212 from firefly-iii/dependabot/composer/develop/nunomaduro/collision-6.2.1
Bump nunomaduro/collision from 6.2.0 to 6.2.1
2022-07-04 04:21:02 +00:00
dependabot[bot]
a63f1c30d9 Bump nunomaduro/collision from 6.2.0 to 6.2.1
Bumps [nunomaduro/collision](https://github.com/nunomaduro/collision) from 6.2.0 to 6.2.1.
- [Release notes](https://github.com/nunomaduro/collision/releases)
- [Changelog](https://github.com/nunomaduro/collision/blob/stable/CHANGELOG.md)
- [Commits](https://github.com/nunomaduro/collision/compare/v6.2.0...v6.2.1)

---
updated-dependencies:
- dependency-name: nunomaduro/collision
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-07-04 03:01:20 +00:00
James Cole
9d75ac221c Merge pull request #6193 from firefly-iii/dependabot/npm_and_yarn/develop/vue-i18n-8.27.2
Bump vue-i18n from 8.27.1 to 8.27.2
2022-06-27 03:48:00 +00:00
James Cole
e610c3d6ab Merge pull request #6192 from firefly-iii/dependabot/composer/develop/laravel/framework-9.18.0
Bump laravel/framework from 9.17.0 to 9.18.0
2022-06-27 03:47:47 +00:00
James Cole
96d70a84ab Merge pull request #6191 from firefly-iii/dependabot/composer/develop/guzzlehttp/guzzle-7.4.5
Bump guzzlehttp/guzzle from 7.4.4 to 7.4.5
2022-06-27 03:47:31 +00:00
dependabot[bot]
3f6abdb457 Bump vue-i18n from 8.27.1 to 8.27.2
Bumps [vue-i18n](https://github.com/intlify/vue-i18n-next/tree/HEAD/packages/vue-i18n) from 8.27.1 to 8.27.2.
- [Release notes](https://github.com/intlify/vue-i18n-next/releases)
- [Changelog](https://github.com/intlify/vue-i18n-next/blob/master/CHANGELOG.md)
- [Commits](https://github.com/intlify/vue-i18n-next/commits/HEAD/packages/vue-i18n)

---
updated-dependencies:
- dependency-name: vue-i18n
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-06-27 03:05:21 +00:00
dependabot[bot]
00d19241d9 Bump laravel/framework from 9.17.0 to 9.18.0
Bumps [laravel/framework](https://github.com/laravel/framework) from 9.17.0 to 9.18.0.
- [Release notes](https://github.com/laravel/framework/releases)
- [Changelog](https://github.com/laravel/framework/blob/9.x/CHANGELOG.md)
- [Commits](https://github.com/laravel/framework/compare/v9.17.0...v9.18.0)

---
updated-dependencies:
- dependency-name: laravel/framework
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-06-27 03:01:20 +00:00
dependabot[bot]
7c44cae83c Bump guzzlehttp/guzzle from 7.4.4 to 7.4.5
Bumps [guzzlehttp/guzzle](https://github.com/guzzle/guzzle) from 7.4.4 to 7.4.5.
- [Release notes](https://github.com/guzzle/guzzle/releases)
- [Changelog](https://github.com/guzzle/guzzle/blob/master/CHANGELOG.md)
- [Commits](https://github.com/guzzle/guzzle/compare/7.4.4...7.4.5)

---
updated-dependencies:
- dependency-name: guzzlehttp/guzzle
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-06-27 03:01:06 +00:00
James Cole
4e6dc3bcef Merge pull request #6184 from firefly-iii/dependabot/composer/guzzlehttp/guzzle-7.4.5
Bump guzzlehttp/guzzle from 7.4.4 to 7.4.5
2022-06-22 05:23:15 +00:00
dependabot[bot]
c1cd322f8f Bump guzzlehttp/guzzle from 7.4.4 to 7.4.5
Bumps [guzzlehttp/guzzle](https://github.com/guzzle/guzzle) from 7.4.4 to 7.4.5.
- [Release notes](https://github.com/guzzle/guzzle/releases)
- [Changelog](https://github.com/guzzle/guzzle/blob/master/CHANGELOG.md)
- [Commits](https://github.com/guzzle/guzzle/compare/7.4.4...7.4.5)

---
updated-dependencies:
- dependency-name: guzzlehttp/guzzle
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-06-21 21:02:11 +00:00
James Cole
0995d78506 Merge pull request #6175 from firefly-iii/dependabot/composer/develop/phpunit/phpunit-9.5.21
Bump phpunit/phpunit from 9.5.20 to 9.5.21
2022-06-20 05:39:37 +00:00
dependabot[bot]
34c9823096 Bump phpunit/phpunit from 9.5.20 to 9.5.21
Bumps [phpunit/phpunit](https://github.com/sebastianbergmann/phpunit) from 9.5.20 to 9.5.21.
- [Release notes](https://github.com/sebastianbergmann/phpunit/releases)
- [Changelog](https://github.com/sebastianbergmann/phpunit/blob/main/ChangeLog-9.5.md)
- [Commits](https://github.com/sebastianbergmann/phpunit/compare/9.5.20...9.5.21)

---
updated-dependencies:
- dependency-name: phpunit/phpunit
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-06-20 05:39:27 +00:00
James Cole
040ba2cf8b Merge pull request #6176 from firefly-iii/dependabot/composer/develop/doctrine/dbal-3.3.7
Bump doctrine/dbal from 3.3.6 to 3.3.7
2022-06-20 05:38:46 +00:00
James Cole
08896c5813 Merge pull request #6177 from firefly-iii/dependabot/composer/develop/spatie/laravel-ignition-1.3.1
Bump spatie/laravel-ignition from 1.2.4 to 1.3.1
2022-06-20 05:38:02 +00:00
James Cole
ebe67b14c1 Merge pull request #6178 from firefly-iii/dependabot/composer/develop/pragmarx/google2fa-8.0.1
Bump pragmarx/google2fa from 8.0.0 to 8.0.1
2022-06-20 05:37:40 +00:00
dependabot[bot]
75ed1fbbfc Bump pragmarx/google2fa from 8.0.0 to 8.0.1
Bumps [pragmarx/google2fa](https://github.com/antonioribeiro/google2fa) from 8.0.0 to 8.0.1.
- [Release notes](https://github.com/antonioribeiro/google2fa/releases)
- [Changelog](https://github.com/antonioribeiro/google2fa/blob/8.x/CHANGELOG.md)
- [Commits](https://github.com/antonioribeiro/google2fa/compare/8.0.0...v8.0.1)

---
updated-dependencies:
- dependency-name: pragmarx/google2fa
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-06-20 03:00:56 +00:00
dependabot[bot]
e39c0c8414 Bump spatie/laravel-ignition from 1.2.4 to 1.3.1
Bumps [spatie/laravel-ignition](https://github.com/spatie/laravel-ignition) from 1.2.4 to 1.3.1.
- [Release notes](https://github.com/spatie/laravel-ignition/releases)
- [Changelog](https://github.com/spatie/laravel-ignition/blob/main/CHANGELOG.md)
- [Commits](https://github.com/spatie/laravel-ignition/compare/1.2.4...1.3.1)

---
updated-dependencies:
- dependency-name: spatie/laravel-ignition
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-06-20 03:00:51 +00:00
dependabot[bot]
769fb7c218 Bump doctrine/dbal from 3.3.6 to 3.3.7
Bumps [doctrine/dbal](https://github.com/doctrine/dbal) from 3.3.6 to 3.3.7.
- [Release notes](https://github.com/doctrine/dbal/releases)
- [Commits](https://github.com/doctrine/dbal/compare/3.3.6...3.3.7)

---
updated-dependencies:
- dependency-name: doctrine/dbal
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-06-20 03:00:44 +00:00
James Cole
359a5656e8 Update cleanup.yml 2022-06-16 20:19:13 +02:00
James Cole
8e3b5f9cbc Create cleanup.yml 2022-06-15 03:28:52 +00:00
James Cole
a9747d668a Merge pull request #6162 from firefly-iii/dependabot/npm_and_yarn/develop/laravel-mix-6.0.49
Bump laravel-mix from 6.0.48 to 6.0.49
2022-06-13 06:26:04 +00:00
James Cole
9c815c916f Merge pull request #6161 from firefly-iii/dependabot/npm_and_yarn/develop/vue/compiler-sfc-3.2.37
Bump @vue/compiler-sfc from 3.2.36 to 3.2.37
2022-06-13 06:25:56 +00:00
James Cole
faa995fd01 Merge pull request #6160 from firefly-iii/dependabot/composer/develop/guzzlehttp/guzzle-7.4.4
Bump guzzlehttp/guzzle from 7.4.3 to 7.4.4
2022-06-13 06:25:47 +00:00
James Cole
be224367bb Merge pull request #6159 from firefly-iii/dependabot/composer/develop/predis/predis-2.0.0
Bump predis/predis from 1.1.10 to 2.0.0
2022-06-13 06:25:37 +00:00
James Cole
609ff7d2aa Merge pull request #6158 from firefly-iii/dependabot/composer/develop/laravel/framework-9.17.0
Bump laravel/framework from 9.16.0 to 9.17.0
2022-06-13 06:23:27 +00:00
James Cole
10544e5fbd Merge pull request #6157 from firefly-iii/dependabot/composer/develop/league/commonmark-2.3.3
Bump league/commonmark from 2.3.2 to 2.3.3
2022-06-13 06:23:17 +00:00
James Cole
812e767ba4 Merge pull request #6156 from firefly-iii/dependabot/composer/develop/spatie/laravel-ignition-1.2.4
Bump spatie/laravel-ignition from 1.2.3 to 1.2.4
2022-06-13 06:23:08 +00:00
dependabot[bot]
134f0cfcd1 Bump laravel-mix from 6.0.48 to 6.0.49
Bumps [laravel-mix](https://github.com/JeffreyWay/laravel-mix) from 6.0.48 to 6.0.49.
- [Release notes](https://github.com/JeffreyWay/laravel-mix/releases)
- [Changelog](https://github.com/laravel-mix/laravel-mix/blob/master/CHANGELOG.md)
- [Commits](https://github.com/JeffreyWay/laravel-mix/commits)

---
updated-dependencies:
- dependency-name: laravel-mix
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-06-13 03:01:43 +00:00
dependabot[bot]
e46adb6539 Bump @vue/compiler-sfc from 3.2.36 to 3.2.37
Bumps [@vue/compiler-sfc](https://github.com/vuejs/core/tree/HEAD/packages/compiler-sfc) from 3.2.36 to 3.2.37.
- [Release notes](https://github.com/vuejs/core/releases)
- [Changelog](https://github.com/vuejs/core/blob/main/CHANGELOG.md)
- [Commits](https://github.com/vuejs/core/commits/v3.2.37/packages/compiler-sfc)

---
updated-dependencies:
- dependency-name: "@vue/compiler-sfc"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-06-13 03:01:33 +00:00
dependabot[bot]
97c1233e89 Bump guzzlehttp/guzzle from 7.4.3 to 7.4.4
Bumps [guzzlehttp/guzzle](https://github.com/guzzle/guzzle) from 7.4.3 to 7.4.4.
- [Release notes](https://github.com/guzzle/guzzle/releases)
- [Changelog](https://github.com/guzzle/guzzle/blob/master/CHANGELOG.md)
- [Commits](https://github.com/guzzle/guzzle/compare/7.4.3...7.4.4)

---
updated-dependencies:
- dependency-name: guzzlehttp/guzzle
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-06-13 03:01:06 +00:00
dependabot[bot]
3e0d8e024c Bump predis/predis from 1.1.10 to 2.0.0
Bumps [predis/predis](https://github.com/predis/predis) from 1.1.10 to 2.0.0.
- [Release notes](https://github.com/predis/predis/releases)
- [Changelog](https://github.com/predis/predis/blob/main/CHANGELOG.md)
- [Commits](https://github.com/predis/predis/compare/v1.1.10...v2.0.0)

---
updated-dependencies:
- dependency-name: predis/predis
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-06-13 03:01:01 +00:00
dependabot[bot]
1f7fbf57af Bump laravel/framework from 9.16.0 to 9.17.0
Bumps [laravel/framework](https://github.com/laravel/framework) from 9.16.0 to 9.17.0.
- [Release notes](https://github.com/laravel/framework/releases)
- [Changelog](https://github.com/laravel/framework/blob/9.x/CHANGELOG.md)
- [Commits](https://github.com/laravel/framework/compare/v9.16.0...v9.17.0)

---
updated-dependencies:
- dependency-name: laravel/framework
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-06-13 03:00:56 +00:00
dependabot[bot]
ade653c393 Bump league/commonmark from 2.3.2 to 2.3.3
Bumps [league/commonmark](https://github.com/thephpleague/commonmark) from 2.3.2 to 2.3.3.
- [Release notes](https://github.com/thephpleague/commonmark/releases)
- [Changelog](https://github.com/thephpleague/commonmark/blob/2.3/CHANGELOG.md)
- [Commits](https://github.com/thephpleague/commonmark/compare/2.3.2...2.3.3)

---
updated-dependencies:
- dependency-name: league/commonmark
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-06-13 03:00:46 +00:00
dependabot[bot]
016395fe8a Bump spatie/laravel-ignition from 1.2.3 to 1.2.4
Bumps [spatie/laravel-ignition](https://github.com/spatie/laravel-ignition) from 1.2.3 to 1.2.4.
- [Release notes](https://github.com/spatie/laravel-ignition/releases)
- [Changelog](https://github.com/spatie/laravel-ignition/blob/main/CHANGELOG.md)
- [Commits](https://github.com/spatie/laravel-ignition/compare/1.2.3...1.2.4)

---
updated-dependencies:
- dependency-name: spatie/laravel-ignition
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-06-13 03:00:41 +00:00
James Cole
07fe4400ed Merge pull request #6153 from firefly-iii/dependabot/composer/guzzlehttp/guzzle-7.4.4
Bump guzzlehttp/guzzle from 7.4.3 to 7.4.4
2022-06-10 15:40:45 +00:00
dependabot[bot]
cc7db2b614 Bump guzzlehttp/guzzle from 7.4.3 to 7.4.4
Bumps [guzzlehttp/guzzle](https://github.com/guzzle/guzzle) from 7.4.3 to 7.4.4.
- [Release notes](https://github.com/guzzle/guzzle/releases)
- [Changelog](https://github.com/guzzle/guzzle/blob/master/CHANGELOG.md)
- [Commits](https://github.com/guzzle/guzzle/compare/7.4.3...7.4.4)

---
updated-dependencies:
- dependency-name: guzzlehttp/guzzle
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-06-10 06:50:51 +00:00
James Cole
d3314e0130 Merge pull request #6136 from firefly-iii/dependabot/composer/develop/laravel/framework-9.16.0
Bump laravel/framework from 9.14.1 to 9.16.0
2022-06-06 04:39:31 +00:00
James Cole
75b033c563 Merge pull request #6137 from firefly-iii/dependabot/composer/develop/spatie/data-transfer-object-3.8.1
Bump spatie/data-transfer-object from 3.7.3 to 3.8.1
2022-06-06 04:39:14 +00:00
James Cole
f451efd90c Merge pull request #6138 from firefly-iii/dependabot/composer/develop/league/commonmark-2.3.2
Bump league/commonmark from 2.3.1 to 2.3.2
2022-06-06 04:39:02 +00:00
James Cole
81f2c59ae4 Merge pull request #6139 from firefly-iii/dependabot/npm_and_yarn/develop/laravel-mix-6.0.48
Bump laravel-mix from 6.0.43 to 6.0.48
2022-06-06 04:38:50 +00:00
dependabot[bot]
ef67355e3b Bump laravel-mix from 6.0.43 to 6.0.48
Bumps [laravel-mix](https://github.com/JeffreyWay/laravel-mix) from 6.0.43 to 6.0.48.
- [Release notes](https://github.com/JeffreyWay/laravel-mix/releases)
- [Changelog](https://github.com/laravel-mix/laravel-mix/blob/master/CHANGELOG.md)
- [Commits](https://github.com/JeffreyWay/laravel-mix/commits)

---
updated-dependencies:
- dependency-name: laravel-mix
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-06-06 03:02:12 +00:00
dependabot[bot]
4201bc16a1 Bump league/commonmark from 2.3.1 to 2.3.2
Bumps [league/commonmark](https://github.com/thephpleague/commonmark) from 2.3.1 to 2.3.2.
- [Release notes](https://github.com/thephpleague/commonmark/releases)
- [Changelog](https://github.com/thephpleague/commonmark/blob/2.3/CHANGELOG.md)
- [Commits](https://github.com/thephpleague/commonmark/compare/2.3.1...2.3.2)

---
updated-dependencies:
- dependency-name: league/commonmark
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-06-06 03:01:04 +00:00
dependabot[bot]
14d58c9834 Bump spatie/data-transfer-object from 3.7.3 to 3.8.1
Bumps [spatie/data-transfer-object](https://github.com/spatie/data-transfer-object) from 3.7.3 to 3.8.1.
- [Release notes](https://github.com/spatie/data-transfer-object/releases)
- [Changelog](https://github.com/spatie/data-transfer-object/blob/main/CHANGELOG.md)
- [Commits](https://github.com/spatie/data-transfer-object/compare/3.7.3...3.8.1)

---
updated-dependencies:
- dependency-name: spatie/data-transfer-object
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-06-06 03:00:58 +00:00
dependabot[bot]
8ac9fe7e69 Bump laravel/framework from 9.14.1 to 9.16.0
Bumps [laravel/framework](https://github.com/laravel/framework) from 9.14.1 to 9.16.0.
- [Release notes](https://github.com/laravel/framework/releases)
- [Changelog](https://github.com/laravel/framework/blob/9.x/CHANGELOG.md)
- [Commits](https://github.com/laravel/framework/compare/v9.14.1...v9.16.0)

---
updated-dependencies:
- dependency-name: laravel/framework
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-06-06 03:00:54 +00:00
James Cole
0ab92114a5 Remove old v2 stuff. 2022-06-04 21:03:55 +02:00
James Cole
66310b494b Update packages 2022-06-04 09:06:19 +02:00
James Cole
805d3ec975 Fix null pointer 2022-06-02 05:49:49 +02:00
James Cole
f83ab0a7dc Fix sqlite issues. 2022-06-01 19:23:40 +02:00
James
ced55b5065 Fix #6122 2022-06-01 15:31:17 +02:00
James Cole
986863f1d2 Merge branch 'release/5.7.9' 2022-05-31 06:17:35 +02:00
James Cole
d1529a0cfc Merge tag '5.7.9' into develop
5.7.9
2022-05-31 06:17:35 +02:00
James Cole
f3ceba5325 Sloppy requirement would push Symfony to PHP 8.1. 2022-05-31 06:17:16 +02:00
James Cole
711b4c62b5 Merge branch 'release/5.7.8' 2022-05-31 06:13:18 +02:00
James Cole
f441f68da6 Merge tag '5.7.8' into develop
5.7.8
2022-05-31 06:13:18 +02:00
James Cole
2cf8bb2537 Update meta files for new release. 2022-05-31 06:12:56 +02:00
James Cole
bf434e5d42 Sloppy requirement would push Symfony to PHP 8.1. 2022-05-31 06:10:53 +02:00
James Cole
b1ea36ae5b Merge branch 'release/5.7.7' 2022-05-31 06:05:39 +02:00
James Cole
5f3524c5aa Merge tag '5.7.7' into develop
5.7.7
2022-05-31 06:05:39 +02:00
James Cole
2f75437ac1 Code for new release. 2022-05-31 06:05:21 +02:00
James Cole
6c945bfd60 Fix https://github.com/firefly-iii/firefly-iii/issues/5996 2022-05-31 05:56:38 +02:00
James Cole
82f993f0ff Merge branch 'main' into develop 2022-05-31 05:54:51 +02:00
James Cole
08f3f2aeb9 Small fix 2022-05-31 05:27:47 +02:00
James Cole
099fc49c4b Fix #6113 2022-05-30 20:48:56 +02:00
James Cole
6f2c46cb36 Merge pull request #6109 from firefly-iii/dependabot/composer/develop/guzzlehttp/guzzle-7.4.3
Bump guzzlehttp/guzzle from 7.4.2 to 7.4.3
2022-05-30 17:09:06 +00:00
James Cole
135424f8b8 Merge pull request #6110 from firefly-iii/dependabot/composer/develop/laravel/framework-9.14.1
Bump laravel/framework from 9.13.0 to 9.14.1
2022-05-30 17:08:55 +00:00
James Cole
9534fa59d6 Merge pull request #6111 from firefly-iii/dependabot/composer/develop/laravel/ui-3.4.6
Bump laravel/ui from 3.4.5 to 3.4.6
2022-05-30 17:08:44 +00:00
James Cole
51ae15a650 Merge pull request #6112 from firefly-iii/dependabot/composer/develop/symfony/http-client-6.0.9
Bump symfony/http-client from 6.0.8 to 6.0.9
2022-05-30 17:07:59 +00:00
dependabot[bot]
29776fa98c Bump symfony/http-client from 6.0.8 to 6.0.9
Bumps [symfony/http-client](https://github.com/symfony/http-client) from 6.0.8 to 6.0.9.
- [Release notes](https://github.com/symfony/http-client/releases)
- [Changelog](https://github.com/symfony/http-client/blob/6.1/CHANGELOG.md)
- [Commits](https://github.com/symfony/http-client/compare/v6.0.8...v6.0.9)

---
updated-dependencies:
- dependency-name: symfony/http-client
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-05-30 03:01:24 +00:00
dependabot[bot]
7ddffb9251 Bump laravel/ui from 3.4.5 to 3.4.6
Bumps [laravel/ui](https://github.com/laravel/ui) from 3.4.5 to 3.4.6.
- [Release notes](https://github.com/laravel/ui/releases)
- [Changelog](https://github.com/laravel/ui/blob/3.x/CHANGELOG.md)
- [Commits](https://github.com/laravel/ui/compare/v3.4.5...v3.4.6)

---
updated-dependencies:
- dependency-name: laravel/ui
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-05-30 03:01:18 +00:00
dependabot[bot]
069770b39e Bump laravel/framework from 9.13.0 to 9.14.1
Bumps [laravel/framework](https://github.com/laravel/framework) from 9.13.0 to 9.14.1.
- [Release notes](https://github.com/laravel/framework/releases)
- [Changelog](https://github.com/laravel/framework/blob/9.x/CHANGELOG.md)
- [Commits](https://github.com/laravel/framework/compare/v9.13.0...v9.14.1)

---
updated-dependencies:
- dependency-name: laravel/framework
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-05-30 03:01:08 +00:00
dependabot[bot]
626119d774 Bump guzzlehttp/guzzle from 7.4.2 to 7.4.3
Bumps [guzzlehttp/guzzle](https://github.com/guzzle/guzzle) from 7.4.2 to 7.4.3.
- [Release notes](https://github.com/guzzle/guzzle/releases)
- [Changelog](https://github.com/guzzle/guzzle/blob/master/CHANGELOG.md)
- [Commits](https://github.com/guzzle/guzzle/compare/7.4.2...7.4.3)

---
updated-dependencies:
- dependency-name: guzzlehttp/guzzle
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-05-30 03:00:53 +00:00
James Cole
993d18d508 Merge pull request #6104 from firefly-iii/dependabot/composer/guzzlehttp/guzzle-7.4.3
Bump guzzlehttp/guzzle from 7.4.2 to 7.4.3
2022-05-26 04:09:31 +00:00
dependabot[bot]
7b84c7c2dc Bump guzzlehttp/guzzle from 7.4.2 to 7.4.3
Bumps [guzzlehttp/guzzle](https://github.com/guzzle/guzzle) from 7.4.2 to 7.4.3.
- [Release notes](https://github.com/guzzle/guzzle/releases)
- [Changelog](https://github.com/guzzle/guzzle/blob/master/CHANGELOG.md)
- [Commits](https://github.com/guzzle/guzzle/compare/7.4.2...7.4.3)

---
updated-dependencies:
- dependency-name: guzzlehttp/guzzle
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-05-25 22:27:32 +00:00
James Cole
76429c923e Merge pull request #6101 from LuxChanLu/develop
feat: add the ability to disable mime check on attachement upload
2022-05-25 14:49:43 +00:00
Hugo Meyronneinc
ca1b048758 add eml and json allowed mime types 2022-05-25 14:32:25 +02:00
James Cole
fb11971b84 Merge pull request #6091 from firefly-iii/dependabot/npm_and_yarn/develop/vue/compiler-sfc-3.2.36
Bump @vue/compiler-sfc from 3.2.33 to 3.2.36
2022-05-23 06:45:38 +00:00
James Cole
465542b0f5 Merge pull request #6092 from firefly-iii/dependabot/npm_and_yarn/develop/postcss-8.4.14
Bump postcss from 8.4.13 to 8.4.14
2022-05-23 06:45:29 +00:00
dependabot[bot]
5185a3ed5a Bump postcss from 8.4.13 to 8.4.14
Bumps [postcss](https://github.com/postcss/postcss) from 8.4.13 to 8.4.14.
- [Release notes](https://github.com/postcss/postcss/releases)
- [Changelog](https://github.com/postcss/postcss/blob/main/CHANGELOG.md)
- [Commits](https://github.com/postcss/postcss/compare/8.4.13...8.4.14)

---
updated-dependencies:
- dependency-name: postcss
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-05-23 03:02:07 +00:00
dependabot[bot]
4d1615197d Bump @vue/compiler-sfc from 3.2.33 to 3.2.36
Bumps [@vue/compiler-sfc](https://github.com/vuejs/core/tree/HEAD/packages/compiler-sfc) from 3.2.33 to 3.2.36.
- [Release notes](https://github.com/vuejs/core/releases)
- [Changelog](https://github.com/vuejs/core/blob/main/CHANGELOG.md)
- [Commits](https://github.com/vuejs/core/commits/v3.2.36/packages/compiler-sfc)

---
updated-dependencies:
- dependency-name: "@vue/compiler-sfc"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-05-23 03:01:56 +00:00
James Cole
83c6887ed0 Merge pull request #6085 from turrisxyz/Dependency-GitHub 2022-05-19 05:37:55 +02:00
naveen
9d1e20192d chore(deps): Included dependency review
> Dependency Review GitHub Action in your repository to enforce dependency
> reviews on your pull requests.
> The action scans for vulnerable versions of dependencies introduced by package version
> changes in pull requests,
> and warns you about the associated security vulnerabilities.
> This gives you better visibility of what's changing in a pull request,
> and helps prevent vulnerabilities being added to your repository.

https://docs.github.com/en/code-security/supply-chain-security/understanding-your-software-supply-chain/about-dependency-review#dependency-review-enforcement
Signed-off-by: naveen <172697+naveensrinivasan@users.noreply.github.com>
2022-05-19 00:12:46 +00:00
James Cole
ad17837593 Merge branch 'release/5.7.6' 2022-05-18 06:53:04 +02:00
James Cole
40ec63ddb9 Merge tag '5.7.6' into develop
5.7.6
2022-05-18 06:53:04 +02:00
James Cole
bc3c019d03 Meta files for new release. 2022-05-18 06:40:17 +02:00
James Cole
35f8ecf9bf Fix #6059 2022-05-17 18:16:03 +02:00
James Cole
4c649a7099 Merge pull request #6077 from firefly-iii/dependabot/composer/develop/laravel/framework-9.12.2 2022-05-16 03:17:35 +00:00
James Cole
1abf214141 Merge pull request #6076 from firefly-iii/dependabot/composer/develop/league/commonmark-2.3.1 2022-05-16 03:17:22 +00:00
dependabot[bot]
8cb748745b Bump laravel/framework from 9.11.0 to 9.12.2
Bumps [laravel/framework](https://github.com/laravel/framework) from 9.11.0 to 9.12.2.
- [Release notes](https://github.com/laravel/framework/releases)
- [Changelog](https://github.com/laravel/framework/blob/9.x/CHANGELOG.md)
- [Commits](https://github.com/laravel/framework/compare/v9.11.0...v9.12.2)

---
updated-dependencies:
- dependency-name: laravel/framework
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-05-16 03:00:52 +00:00
dependabot[bot]
f3df783ed3 Bump league/commonmark from 2.3.0 to 2.3.1
Bumps [league/commonmark](https://github.com/thephpleague/commonmark) from 2.3.0 to 2.3.1.
- [Release notes](https://github.com/thephpleague/commonmark/releases)
- [Changelog](https://github.com/thephpleague/commonmark/blob/2.3/CHANGELOG.md)
- [Commits](https://github.com/thephpleague/commonmark/compare/2.3.0...2.3.1)

---
updated-dependencies:
- dependency-name: league/commonmark
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-05-16 03:00:40 +00:00
James Cole
50d6234089 Merge pull request #6065 from firefly-iii/dependabot/composer/develop/spatie/laravel-ignition-1.2.3
Bump spatie/laravel-ignition from 1.2.2 to 1.2.3
2022-05-09 04:09:17 +00:00
dependabot[bot]
baa1da3e8e Bump spatie/laravel-ignition from 1.2.2 to 1.2.3
Bumps [spatie/laravel-ignition](https://github.com/spatie/laravel-ignition) from 1.2.2 to 1.2.3.
- [Release notes](https://github.com/spatie/laravel-ignition/releases)
- [Changelog](https://github.com/spatie/laravel-ignition/blob/main/CHANGELOG.md)
- [Commits](https://github.com/spatie/laravel-ignition/compare/1.2.2...1.2.3)

---
updated-dependencies:
- dependency-name: spatie/laravel-ignition
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-05-09 03:08:12 +00:00
James Cole
89af363ba1 Add some missing db integrity checks. 2022-05-07 19:45:26 +02:00
James Cole
df5aff279e Fix #6058 2022-05-07 17:11:33 +02:00
James Cole
249b2c63d8 Merge branch 'release/5.7.5' 2022-05-05 06:02:30 +02:00
James Cole
6d8f5b88fe Merge tag '5.7.5' into develop
5.7.5
2022-05-05 06:02:30 +02:00
James Cole
2579750ba3 Update meta files for new release. 2022-05-05 06:01:48 +02:00
James Cole
5e7ee8c5bf Fix https://github.com/firefly-iii/firefly-iii/issues/6009 2022-05-04 20:49:54 +02:00
James Cole
610bc9f4bc Add exception code for bad values. 2022-05-04 20:32:51 +02:00
James Cole
3d1233314a Fix https://github.com/firefly-iii/firefly-iii/issues/6040 2022-05-04 20:27:18 +02:00
James Cole
a258b35236 Update meta files for 5.7.5 2022-05-04 20:15:47 +02:00
James Cole
51e23dae21 Fix issue with renamed field. 2022-05-04 05:53:47 +02:00
James Cole
13f2e6537e Merge branch 'release/5.7.4' 2022-05-02 19:43:07 +02:00
James Cole
cba3590dec Merge tag '5.7.4' into develop
5.7.4
2022-05-02 19:43:07 +02:00
James Cole
613a02fa52 Release 5.7.4 2022-05-02 19:42:42 +02:00
James Cole
2b615cf757 Fix bad call to method. 2022-05-02 19:35:35 +02:00
James Cole
cf89d93cec Merge tag '5.7.3' into develop
5.7.3
2022-05-02 19:23:23 +02:00
574 changed files with 46019 additions and 25432 deletions

View File

@@ -1,5 +1,6 @@
bg_BG bg_BG
cs_CZ cs_CZ
da_DK
de_DE de_DE
el_GR el_GR
en_GB en_GB
@@ -8,7 +9,9 @@ es_ES
fi_FI fi_FI
fr_FR fr_FR
hu_HU hu_HU
id_ID
it_IT it_IT
ja_JP
nb_NO nb_NO
nl_NL nl_NL
pl_PL pl_PL
@@ -17,7 +20,10 @@ pt_PT
ro_RO ro_RO
ru_RU ru_RU
sk_SK sk_SK
sl_SI
sv_SE sv_SE
tr_TR
uk_UA
vi_VN vi_VN
zh-hans_CN zh-hans_CN
zh-hant_CN zh-hant_CN

View File

@@ -111,7 +111,10 @@ REDIS_PATH=
# use only when using 'tcp' or 'http' for REDIS_SCHEME. Leave empty otherwise. # use only when using 'tcp' or 'http' for REDIS_SCHEME. Leave empty otherwise.
REDIS_HOST=127.0.0.1 REDIS_HOST=127.0.0.1
REDIS_PORT=6379 REDIS_PORT=6379
REDIS_PASSWORD=null
# Use only with Redis 6+ with proper ACL set. Leave empty otherwise.
REDIS_USERNAME=
REDIS_PASSWORD=
# always use quotes and make sure redis db "0" and "1" exists. Otherwise change accordingly. # always use quotes and make sure redis db "0" and "1" exists. Otherwise change accordingly.
REDIS_DB="0" REDIS_DB="0"

1
.github/stale.yml vendored
View File

@@ -14,6 +14,7 @@ exemptLabels:
- feature - feature
- bug - bug
- announcement - announcement
- "layout-v3"
# Set to true to ignore issues in a project (defaults to false) # Set to true to ignore issues in a project (defaults to false)
exemptProjects: false exemptProjects: false

99
.github/workflows/cleanup.yml vendored Normal file
View File

@@ -0,0 +1,99 @@
# This workflow prunes old workflow runs for an entire repository.
name: Prune old builds
on:
schedule:
- cron: '0 0 * * *'
workflow_dispatch:
jobs:
prune:
runs-on: ubuntu-latest
timeout-minutes: 10
steps:
- name: Prune cancelled/skipped runs
uses: actions/github-script@v4
with:
github-token: ${{ secrets.GH_ACTIONS_PERSONAL_ACCESS_TOKEN }}
script: |
const cancelled = await github.actions.listWorkflowRunsForRepo({
owner: context.repo.owner,
per_page: 100,
repo: context.repo.repo,
status: 'cancelled',
});
const skipped = await github.actions.listWorkflowRunsForRepo({
owner: context.repo.owner,
per_page: 100,
repo: context.repo.repo,
status: 'skipped',
});
for (const response of [cancelled, skipped]) {
for (const run of response.data.workflow_runs) {
console.log(`Run id ${run.id} of '${run.name}' is a cancelled/skipped run. Deleting...`);
await github.actions.deleteWorkflowRun({
owner: context.repo.owner,
repo: context.repo.repo,
run_id: run.id
});
}
}
- name: Prune runs older than 3 days
uses: actions/github-script@v4
with:
github-token: ${{ secrets.GH_ACTIONS_PERSONAL_ACCESS_TOKEN }}
script: |
const days_to_expiration = 3;
const ms_in_day = 86400000;
const now = Date.now();
const pages = 5;
// we don't want to prune old runs from test.yml
// because we track the duration of runs over time
const workflows = [
'build.yml',
'cleanup.yml',
'depsreview.yaml',
'laravel.yml',
'lock.yml',
'stale.yml'
]
let runs_to_delete = [];
for (const workflow of workflows) {
for (let page = 0; page < pages; page += 1) {
let response = await github.actions.listWorkflowRuns({
owner: context.repo.owner,
page: page,
per_page: 100,
repo: context.repo.repo,
workflow_id: workflow
});
if (response.data.workflow_runs.length > 0) {
for (const run of response.data.workflow_runs) {
if (now - Date.parse(run.created_at) > ms_in_day * days_to_expiration) {
runs_to_delete.push([run.id, run.name]);
}
}
}
}
}
for (const run of runs_to_delete) {
console.log(`Run id ${run[0]} of '${run[1]}' is older than ${days_to_expiration} days. Deleting...`);
try {
await github.actions.deleteWorkflowRun({
owner: context.repo.owner,
repo: context.repo.repo,
run_id: run[0]
});
} catch (error) {
// ignore errors
}
}

22
.github/workflows/closed-issues.yml vendored Normal file
View File

@@ -0,0 +1,22 @@
name: "Reply to closed issue"
on:
issues:
types:
- closed
jobs:
auto_comment:
runs-on: ubuntu-latest
steps:
-
uses: aws-actions/closed-issue-message@v1
with:
message: |
Hi there! This is an automatic reply. `Share and enjoy`
This issue is now closed. Please be aware that closed issues are not actively monitored. If you reply, you may get no response.
- If the original bug is not actually fixed, please feel free to open a new ticket. Please refer to this issue for clarity.
- Follow-up questions can also be posted in a new [discussion](https://github.com/firefly-iii/firefly-iii/discussions/)
Thank you for your consideration.
repo-token: "${{ secrets.GITHUB_TOKEN }}"

14
.github/workflows/depsreview.yaml vendored Normal file
View File

@@ -0,0 +1,14 @@
name: 'Dependency Review'
on: [pull_request]
permissions:
contents: read
jobs:
dependency-review:
runs-on: ubuntu-latest
steps:
- name: 'Checkout Repository'
uses: actions/checkout@v3
- name: 'Dependency Review'
uses: actions/dependency-review-action@v1

View File

@@ -26,4 +26,4 @@ jobs:
for your contributions. for your contributions.
days-before-stale: 14 days-before-stale: 14
days-before-close: 7 days-before-close: 7
exempt-issue-labels: 'enhancement,feature,bug,announcement' exempt-issue-labels: 'enhancement,feature,bug,announcement,layout-v3'

View File

@@ -25,11 +25,16 @@ namespace FireflyIII\Api\V1\Controllers\Models\Transaction;
use FireflyIII\Api\V1\Controllers\Controller; use FireflyIII\Api\V1\Controllers\Controller;
use FireflyIII\Events\DestroyedTransactionGroup; use FireflyIII\Events\DestroyedTransactionGroup;
use FireflyIII\Events\UpdatedAccount;
use FireflyIII\Models\Account;
use FireflyIII\Models\Transaction;
use FireflyIII\Models\TransactionGroup; use FireflyIII\Models\TransactionGroup;
use FireflyIII\Models\TransactionJournal; use FireflyIII\Models\TransactionJournal;
use FireflyIII\Repositories\Journal\JournalRepositoryInterface; use FireflyIII\Repositories\Journal\JournalRepositoryInterface;
use FireflyIII\Repositories\TransactionGroup\TransactionGroupRepository;
use FireflyIII\User; use FireflyIII\User;
use Illuminate\Http\JsonResponse; use Illuminate\Http\JsonResponse;
use Log;
/** /**
* Class DestroyController * Class DestroyController
@@ -37,6 +42,7 @@ use Illuminate\Http\JsonResponse;
class DestroyController extends Controller class DestroyController extends Controller
{ {
private JournalRepositoryInterface $repository; private JournalRepositoryInterface $repository;
private TransactionGroupRepository $groupRepository;
/** /**
* TransactionController constructor. * TransactionController constructor.
@@ -54,6 +60,9 @@ class DestroyController extends Controller
$this->repository = app(JournalRepositoryInterface::class); $this->repository = app(JournalRepositoryInterface::class);
$this->repository->setUser($admin); $this->repository->setUser($admin);
$this->groupRepository = app(TransactionGroupRepository::class);
$this->groupRepository->setUser($admin);
return $next($request); return $next($request);
} }
); );
@@ -72,11 +81,32 @@ class DestroyController extends Controller
*/ */
public function destroy(TransactionGroup $transactionGroup): JsonResponse public function destroy(TransactionGroup $transactionGroup): JsonResponse
{ {
$this->repository->destroyGroup($transactionGroup); // grab asset account(s) from group:
$accounts = [];
/** @var TransactionJournal $journal */
foreach($transactionGroup->transactionJournals as $journal) {
/** @var Transaction $transaction */
foreach($journal->transactions as $transaction) {
$type = $transaction->account->accountType->type;
// if is valid liability, trigger event!
if(in_array($type, config('firefly.valid_liabilities'))) {
$accounts[] = $transaction->account;
}
}
}
$this->groupRepository->destroy($transactionGroup);
// trigger just after destruction // trigger just after destruction
event(new DestroyedTransactionGroup($transactionGroup)); event(new DestroyedTransactionGroup($transactionGroup));
app('preferences')->mark(); app('preferences')->mark();
/** @var Account $account */
foreach($accounts as $account) {
Log::debug(sprintf('Now going to trigger updated account event for account #%d', $account->id));
event(new UpdatedAccount($account));
}
return response()->json([], 204); return response()->json([], 204);
} }

View File

@@ -40,12 +40,12 @@ class AutocompleteRequest extends FormRequest
*/ */
public function getData(): array public function getData(): array
{ {
$types = $this->string('types'); $types = $this->convertString('types');
$array = []; $array = [];
if ('' !== $types) { if ('' !== $types) {
$array = explode(',', $types); $array = explode(',', $types);
} }
$limit = $this->integer('limit'); $limit = $this->convertInteger('limit');
$limit = 0 === $limit ? 10 : $limit; $limit = 0 === $limit ? 10 : $limit;
// remove 'initial balance' from allowed types. its internal // remove 'initial balance' from allowed types. its internal
@@ -53,7 +53,7 @@ class AutocompleteRequest extends FormRequest
return [ return [
'types' => $array, 'types' => $array,
'query' => $this->string('query'), 'query' => $this->convertString('query'),
'date' => $this->getCarbonDate('date'), 'date' => $this->getCarbonDate('date'),
'limit' => $limit, 'limit' => $limit,
]; ];

View File

@@ -43,8 +43,8 @@ class MoveTransactionsRequest extends FormRequest
public function getAll(): array public function getAll(): array
{ {
return [ return [
'original_account' => $this->integer('original_account'), 'original_account' => $this->convertInteger('original_account'),
'destination_account' => $this->integer('destination_account'), 'destination_account' => $this->convertInteger('destination_account'),
]; ];
} }

View File

@@ -43,9 +43,9 @@ class ExportRequest extends FormRequest
$result = [ $result = [
'start' => $this->getCarbonDate('start') ?? Carbon::now()->subYear(), 'start' => $this->getCarbonDate('start') ?? Carbon::now()->subYear(),
'end' => $this->getCarbonDate('end') ?? Carbon::now(), 'end' => $this->getCarbonDate('end') ?? Carbon::now(),
'type' => $this->string('type'), 'type' => $this->convertString('type'),
]; ];
$parts = explode(',', $this->string('accounts')); $parts = explode(',', $this->convertString('accounts'));
$repository = app(AccountRepositoryInterface::class); $repository = app(AccountRepositoryInterface::class);
$repository->setUser(auth()->user()); $repository->setUser(auth()->user());

View File

@@ -56,35 +56,35 @@ class StoreRequest extends FormRequest
$includeNetWorth = $this->boolean('include_net_worth'); $includeNetWorth = $this->boolean('include_net_worth');
} }
$data = [ $data = [
'name' => $this->string('name'), 'name' => $this->convertString('name'),
'active' => $active, 'active' => $active,
'include_net_worth' => $includeNetWorth, 'include_net_worth' => $includeNetWorth,
'account_type_name' => $this->string('type'), 'account_type_name' => $this->convertString('type'),
'account_type_id' => null, 'account_type_id' => null,
'currency_id' => $this->integer('currency_id'), 'currency_id' => $this->convertInteger('currency_id'),
'order' => $this->integer('order'), 'order' => $this->convertInteger('order'),
'currency_code' => $this->string('currency_code'), 'currency_code' => $this->convertString('currency_code'),
'virtual_balance' => $this->string('virtual_balance'), 'virtual_balance' => $this->convertString('virtual_balance'),
'iban' => $this->string('iban'), 'iban' => $this->convertString('iban'),
'BIC' => $this->string('bic'), 'BIC' => $this->convertString('bic'),
'account_number' => $this->string('account_number'), 'account_number' => $this->convertString('account_number'),
'account_role' => $this->string('account_role'), 'account_role' => $this->convertString('account_role'),
'opening_balance' => $this->string('opening_balance'), 'opening_balance' => $this->convertString('opening_balance'),
'opening_balance_date' => $this->getCarbonDate('opening_balance_date'), 'opening_balance_date' => $this->getCarbonDate('opening_balance_date'),
'cc_type' => $this->string('credit_card_type'), 'cc_type' => $this->convertString('credit_card_type'),
'cc_monthly_payment_date' => $this->string('monthly_payment_date'), 'cc_monthly_payment_date' => $this->convertString('monthly_payment_date'),
'notes' => $this->stringWithNewlines('notes'), 'notes' => $this->stringWithNewlines('notes'),
'interest' => $this->string('interest'), 'interest' => $this->convertString('interest'),
'interest_period' => $this->string('interest_period'), 'interest_period' => $this->convertString('interest_period'),
]; ];
// append location information. // append location information.
$data = $this->appendLocationData($data, null); $data = $this->appendLocationData($data, null);
if ('liability' === $data['account_type_name'] || 'liabilities' === $data['account_type_name']) { if ('liability' === $data['account_type_name'] || 'liabilities' === $data['account_type_name']) {
$data['opening_balance'] = app('steam')->negative($this->string('liability_amount')); $data['opening_balance'] = app('steam')->negative($this->convertString('liability_amount'));
$data['opening_balance_date'] = $this->getCarbonDate('liability_start_date'); $data['opening_balance_date'] = $this->getCarbonDate('liability_start_date');
$data['account_type_name'] = $this->string('liability_type'); $data['account_type_name'] = $this->convertString('liability_type');
$data['liability_direction'] = $this->string('liability_direction'); $data['liability_direction'] = $this->convertString('liability_direction');
$data['account_type_id'] = null; $data['account_type_id'] = null;
} }
@@ -101,7 +101,7 @@ class StoreRequest extends FormRequest
$accountRoles = implode(',', config('firefly.accountRoles')); $accountRoles = implode(',', config('firefly.accountRoles'));
$types = implode(',', array_keys(config('firefly.subTitlesByIdentifier'))); $types = implode(',', array_keys(config('firefly.subTitlesByIdentifier')));
$ccPaymentTypes = implode(',', array_keys(config('firefly.ccTypes'))); $ccPaymentTypes = implode(',', array_keys(config('firefly.ccTypes')));
$type = $this->string('type'); $type = $this->convertString('type');
$rules = [ $rules = [
'name' => 'required|min:1|uniqueAccountForUser', 'name' => 'required|min:1|uniqueAccountForUser',
'type' => 'required|' . sprintf('in:%s', $types), 'type' => 'required|' . sprintf('in:%s', $types),

View File

@@ -50,28 +50,28 @@ class UpdateRequest extends FormRequest
public function getUpdateData(): array public function getUpdateData(): array
{ {
$fields = [ $fields = [
'name' => ['name', 'string'], 'name' => ['name', 'convertString'],
'active' => ['active', 'boolean'], 'active' => ['active', 'boolean'],
'include_net_worth' => ['include_net_worth', 'boolean'], 'include_net_worth' => ['include_net_worth', 'boolean'],
'account_type_name' => ['type', 'string'], 'account_type_name' => ['type', 'convertString'],
'virtual_balance' => ['virtual_balance', 'string'], 'virtual_balance' => ['virtual_balance', 'convertString'],
'iban' => ['iban', 'string'], 'iban' => ['iban', 'convertString'],
'BIC' => ['bic', 'string'], 'BIC' => ['bic', 'convertString'],
'account_number' => ['account_number', 'string'], 'account_number' => ['account_number', 'convertString'],
'account_role' => ['account_role', 'string'], 'account_role' => ['account_role', 'convertString'],
'liability_type' => ['liability_type', 'string'], 'liability_type' => ['liability_type', 'convertString'],
'opening_balance' => ['opening_balance', 'string'], 'opening_balance' => ['opening_balance', 'convertString'],
'opening_balance_date' => ['opening_balance_date', 'date'], 'opening_balance_date' => ['opening_balance_date', 'date'],
'cc_type' => ['credit_card_type', 'string'], 'cc_type' => ['credit_card_type', 'convertString'],
'cc_monthly_payment_date' => ['monthly_payment_date', 'string'], 'cc_monthly_payment_date' => ['monthly_payment_date', 'convertString'],
'notes' => ['notes', 'stringWithNewlines'], 'notes' => ['notes', 'stringWithNewlines'],
'interest' => ['interest', 'string'], 'interest' => ['interest', 'convertString'],
'interest_period' => ['interest_period', 'string'], 'interest_period' => ['interest_period', 'convertString'],
'order' => ['order', 'integer'], 'order' => ['order', 'convertInteger'],
'currency_id' => ['currency_id', 'integer'], 'currency_id' => ['currency_id', 'convertInteger'],
'currency_code' => ['currency_code', 'string'], 'currency_code' => ['currency_code', 'convertString'],
'liability_direction' => ['liability_direction', 'string'], 'liability_direction' => ['liability_direction', 'convertString'],
'liability_amount' => ['liability_amount', 'string'], 'liability_amount' => ['liability_amount', 'convertString'],
'liability_start_date' => ['liability_start_date', 'date'], 'liability_start_date' => ['liability_start_date', 'date'],
]; ];
/** @var Account $account */ /** @var Account $account */
@@ -107,9 +107,9 @@ class UpdateRequest extends FormRequest
$rules = [ $rules = [
'name' => sprintf('min:1|uniqueAccountForUser:%d', $account->id), 'name' => sprintf('min:1|uniqueAccountForUser:%d', $account->id),
'type' => sprintf('in:%s', $types), 'type' => sprintf('in:%s', $types),
'iban' => ['iban', 'nullable', new UniqueIban($account, $this->string('type'))], 'iban' => ['iban', 'nullable', new UniqueIban($account, $this->convertString('type'))],
'bic' => 'bic|nullable', 'bic' => 'bic|nullable',
'account_number' => ['between:1,255', 'nullable', new UniqueAccountNumber($account, $this->string('type'))], 'account_number' => ['between:1,255', 'nullable', new UniqueAccountNumber($account, $this->convertString('type'))],
'opening_balance' => 'numeric|required_with:opening_balance_date|nullable', 'opening_balance' => 'numeric|required_with:opening_balance_date|nullable',
'opening_balance_date' => 'date|required_with:opening_balance|nullable', 'opening_balance_date' => 'date|required_with:opening_balance|nullable',
'virtual_balance' => 'numeric|nullable', 'virtual_balance' => 'numeric|nullable',

View File

@@ -45,11 +45,11 @@ class StoreRequest extends FormRequest
public function getAll(): array public function getAll(): array
{ {
return [ return [
'filename' => $this->string('filename'), 'filename' => $this->convertString('filename'),
'title' => $this->string('title'), 'title' => $this->convertString('title'),
'notes' => $this->stringWithNewlines('notes'), 'notes' => $this->stringWithNewlines('notes'),
'attachable_type' => $this->string('attachable_type'), 'attachable_type' => $this->convertString('attachable_type'),
'attachable_id' => $this->integer('attachable_id'), 'attachable_id' => $this->convertInteger('attachable_id'),
]; ];
} }
@@ -68,7 +68,7 @@ class StoreRequest extends FormRequest
}, $models }, $models
); );
$models = implode(',', $models); $models = implode(',', $models);
$model = $this->string('attachable_type'); $model = $this->convertString('attachable_type');
return [ return [
'filename' => 'required|between:1,255', 'filename' => 'required|between:1,255',

View File

@@ -45,11 +45,11 @@ class UpdateRequest extends FormRequest
public function getAll(): array public function getAll(): array
{ {
$fields = [ $fields = [
'filename' => ['filename', 'string'], 'filename' => ['filename', 'convertString'],
'title' => ['title', 'string'], 'title' => ['title', 'convertString'],
'notes' => ['notes', 'stringWithNewlines'], 'notes' => ['notes', 'stringWithNewlines'],
'attachable_type' => ['attachable_type', 'string'], 'attachable_type' => ['attachable_type', 'convertString'],
'attachable_id' => ['attachable_id', 'integer'], 'attachable_id' => ['attachable_id', 'convertInteger'],
]; ];
return $this->getAllData($fields); return $this->getAllData($fields);
@@ -70,7 +70,7 @@ class UpdateRequest extends FormRequest
}, $models }, $models
); );
$models = implode(',', $models); $models = implode(',', $models);
$model = $this->string('attachable_type'); $model = $this->convertString('attachable_type');
return [ return [
'filename' => 'between:1,255', 'filename' => 'between:1,255',

View File

@@ -47,9 +47,9 @@ class Request extends FormRequest
{ {
// this is the way: // this is the way:
$fields = [ $fields = [
'currency_id' => ['currency_id', 'integer'], 'currency_id' => ['currency_id', 'convertInteger'],
'currency_code' => ['currency_code', 'string'], 'currency_code' => ['currency_code', 'convertString'],
'amount' => ['amount', 'string'], 'amount' => ['amount', 'convertString'],
'start' => ['start', 'date'], 'start' => ['start', 'date'],
'end' => ['end', 'date'], 'end' => ['end', 'date'],
]; ];

View File

@@ -49,21 +49,21 @@ class StoreRequest extends FormRequest
{ {
Log::debug('Raw fields in Bill StoreRequest', $this->all()); Log::debug('Raw fields in Bill StoreRequest', $this->all());
$fields = [ $fields = [
'name' => ['name', 'string'], 'name' => ['name', 'convertString'],
'amount_min' => ['amount_min', 'string'], 'amount_min' => ['amount_min', 'convertString'],
'amount_max' => ['amount_max', 'string'], 'amount_max' => ['amount_max', 'convertString'],
'currency_id' => ['currency_id', 'integer'], 'currency_id' => ['currency_id', 'convertInteger'],
'currency_code' => ['currency_code', 'string'], 'currency_code' => ['currency_code', 'convertString'],
'date' => ['date', 'date'], 'date' => ['date', 'date'],
'end_date' => ['end_date', 'date'], 'end_date' => ['end_date', 'date'],
'extension_date' => ['extension_date', 'date'], 'extension_date' => ['extension_date', 'date'],
'repeat_freq' => ['repeat_freq', 'string'], 'repeat_freq' => ['repeat_freq', 'convertString'],
'skip' => ['skip', 'integer'], 'skip' => ['skip', 'convertInteger'],
'active' => ['active', 'boolean'], 'active' => ['active', 'boolean'],
'order' => ['order', 'integer'], 'order' => ['order', 'convertInteger'],
'notes' => ['notes', 'stringWithNewlines'], 'notes' => ['notes', 'stringWithNewlines'],
'object_group_id' => ['object_group_id', 'integer'], 'object_group_id' => ['object_group_id', 'convertInteger'],
'object_group_title' => ['object_group_title', 'string'], 'object_group_title' => ['object_group_title', 'convertString'],
]; ];
return $this->getAllData($fields); return $this->getAllData($fields);

View File

@@ -47,21 +47,21 @@ class UpdateRequest extends FormRequest
public function getAll(): array public function getAll(): array
{ {
$fields = [ $fields = [
'name' => ['name', 'string'], 'name' => ['name', 'convertString'],
'amount_min' => ['amount_min', 'string'], 'amount_min' => ['amount_min', 'convertString'],
'amount_max' => ['amount_max', 'string'], 'amount_max' => ['amount_max', 'convertString'],
'currency_id' => ['currency_id', 'integer'], 'currency_id' => ['currency_id', 'convertInteger'],
'currency_code' => ['currency_code', 'string'], 'currency_code' => ['currency_code', 'convertString'],
'date' => ['date', 'date'], 'date' => ['date', 'date'],
'end_date' => ['end_date', 'date'], 'end_date' => ['end_date', 'date'],
'extension_date' => ['extension_date', 'date'], 'extension_date' => ['extension_date', 'date'],
'repeat_freq' => ['repeat_freq', 'string'], 'repeat_freq' => ['repeat_freq', 'convertString'],
'skip' => ['skip', 'integer'], 'skip' => ['skip', 'convertInteger'],
'active' => ['active', 'boolean'], 'active' => ['active', 'boolean'],
'order' => ['order', 'integer'], 'order' => ['order', 'convertInteger'],
'notes' => ['notes', 'stringWithNewlines'], 'notes' => ['notes', 'stringWithNewlines'],
'object_group_id' => ['object_group_id', 'integer'], 'object_group_id' => ['object_group_id', 'convertInteger'],
'object_group_title' => ['object_group_title', 'string'], 'object_group_title' => ['object_group_title', 'convertString'],
]; ];
return $this->getAllData($fields); return $this->getAllData($fields);

View File

@@ -47,17 +47,17 @@ class StoreRequest extends FormRequest
public function getAll(): array public function getAll(): array
{ {
$fields = [ $fields = [
'name' => ['name', 'string'], 'name' => ['name', 'convertString'],
'active' => ['active', 'boolean'], 'active' => ['active', 'boolean'],
'order' => ['active', 'integer'], 'order' => ['active', 'convertInteger'],
'notes' => ['notes', 'string'], 'notes' => ['notes', 'convertString'],
// auto budget currency: // auto budget currency:
'currency_id' => ['auto_budget_currency_id', 'integer'], 'currency_id' => ['auto_budget_currency_id', 'convertInteger'],
'currency_code' => ['auto_budget_currency_code', 'string'], 'currency_code' => ['auto_budget_currency_code', 'convertString'],
'auto_budget_type' => ['auto_budget_type', 'string'], 'auto_budget_type' => ['auto_budget_type', 'convertString'],
'auto_budget_amount' => ['auto_budget_amount', 'string'], 'auto_budget_amount' => ['auto_budget_amount', 'convertString'],
'auto_budget_period' => ['auto_budget_period', 'string'], 'auto_budget_period' => ['auto_budget_period', 'convertString'],
]; ];
return $this->getAllData($fields); return $this->getAllData($fields);

View File

@@ -48,15 +48,15 @@ class UpdateRequest extends FormRequest
{ {
// this is the way: // this is the way:
$fields = [ $fields = [
'name' => ['name', 'string'], 'name' => ['name', 'convertString'],
'active' => ['active', 'boolean'], 'active' => ['active', 'boolean'],
'order' => ['order', 'integer'], 'order' => ['order', 'convertInteger'],
'notes' => ['notes', 'string'], 'notes' => ['notes', 'convertString'],
'currency_id' => ['auto_budget_currency_id', 'integer'], 'currency_id' => ['auto_budget_currency_id', 'convertInteger'],
'currency_code' => ['auto_budget_currency_code', 'string'], 'currency_code' => ['auto_budget_currency_code', 'convertString'],
'auto_budget_type' => ['auto_budget_type', 'string'], 'auto_budget_type' => ['auto_budget_type', 'convertString'],
'auto_budget_amount' => ['auto_budget_amount', 'string'], 'auto_budget_amount' => ['auto_budget_amount', 'convertString'],
'auto_budget_period' => ['auto_budget_period', 'string'], 'auto_budget_period' => ['auto_budget_period', 'convertString'],
]; ];
$allData = $this->getAllData($fields); $allData = $this->getAllData($fields);
if (array_key_exists('auto_budget_type', $allData)) { if (array_key_exists('auto_budget_type', $allData)) {

View File

@@ -46,9 +46,9 @@ class StoreRequest extends FormRequest
return [ return [
'start' => $this->getCarbonDate('start'), 'start' => $this->getCarbonDate('start'),
'end' => $this->getCarbonDate('end'), 'end' => $this->getCarbonDate('end'),
'amount' => $this->string('amount'), 'amount' => $this->convertString('amount'),
'currency_id' => $this->integer('currency_id'), 'currency_id' => $this->convertInteger('currency_id'),
'currency_code' => $this->string('currency_code'), 'currency_code' => $this->convertString('currency_code'),
]; ];
} }

View File

@@ -48,9 +48,9 @@ class UpdateRequest extends FormRequest
$fields = [ $fields = [
'start' => ['start', 'date'], 'start' => ['start', 'date'],
'end' => ['end', 'date'], 'end' => ['end', 'date'],
'amount' => ['amount', 'string'], 'amount' => ['amount', 'convertString'],
'currency_id' => ['currency_id', 'integer'], 'currency_id' => ['currency_id', 'convertInteger'],
'currency_code' => ['currency_code', 'string'], 'currency_code' => ['currency_code', 'convertString'],
]; ];
return $this->getAllData($fields); return $this->getAllData($fields);

View File

@@ -45,7 +45,7 @@ class StoreRequest extends FormRequest
public function getAll(): array public function getAll(): array
{ {
return [ return [
'name' => $this->string('name'), 'name' => $this->convertString('name'),
'notes' => $this->stringWithNewlines('notes'), 'notes' => $this->stringWithNewlines('notes'),
]; ];
} }

View File

@@ -44,7 +44,7 @@ class UpdateRequest extends FormRequest
public function getAll(): array public function getAll(): array
{ {
$fields = [ $fields = [
'name' => ['name', 'string'], 'name' => ['name', 'convertString'],
'notes' => ['notes', 'stringWithNewlines'], 'notes' => ['notes', 'stringWithNewlines'],
]; ];

View File

@@ -43,8 +43,8 @@ class UpdateRequest extends FormRequest
public function getUpdateData(): array public function getUpdateData(): array
{ {
$fields = [ $fields = [
'title' => ['title', 'string'], 'title' => ['title', 'convertString'],
'order' => ['order', 'integer'], 'order' => ['order', 'convertInteger'],
]; ];
return $this->getAllData($fields); return $this->getAllData($fields);

View File

@@ -44,18 +44,18 @@ class StoreRequest extends FormRequest
public function getAll(): array public function getAll(): array
{ {
$fields = [ $fields = [
'order' => ['order', 'integer'], 'order' => ['order', 'convertInteger'],
]; ];
$data = $this->getAllData($fields); $data = $this->getAllData($fields);
$data['name'] = $this->string('name'); $data['name'] = $this->convertString('name');
$data['account_id'] = $this->integer('account_id'); $data['account_id'] = $this->convertInteger('account_id');
$data['targetamount'] = $this->string('target_amount'); $data['targetamount'] = $this->convertString('target_amount');
$data['current_amount'] = $this->string('current_amount'); $data['current_amount'] = $this->convertString('current_amount');
$data['startdate'] = $this->getCarbonDate('start_date'); $data['startdate'] = $this->getCarbonDate('start_date');
$data['targetdate'] = $this->getCarbonDate('target_date'); $data['targetdate'] = $this->getCarbonDate('target_date');
$data['notes'] = $this->stringWithNewlines('notes'); $data['notes'] = $this->stringWithNewlines('notes');
$data['object_group_id'] = $this->integer('object_group_id'); $data['object_group_id'] = $this->convertInteger('object_group_id');
$data['object_group_title'] = $this->string('object_group_title'); $data['object_group_title'] = $this->convertString('object_group_title');
return $data; return $data;

View File

@@ -46,16 +46,16 @@ class UpdateRequest extends FormRequest
public function getAll(): array public function getAll(): array
{ {
$fields = [ $fields = [
'name' => ['name', 'string'], 'name' => ['name', 'convertString'],
'account_id' => ['account_id', 'integer'], 'account_id' => ['account_id', 'convertInteger'],
'targetamount' => ['target_amount', 'string'], 'targetamount' => ['target_amount', 'convertString'],
'current_amount' => ['current_amount', 'string'], 'current_amount' => ['current_amount', 'convertString'],
'startdate' => ['start_date', 'date'], 'startdate' => ['start_date', 'date'],
'targetdate' => ['target_date', 'string'], 'targetdate' => ['target_date', 'convertString'],
'notes' => ['notes', 'stringWithNewlines'], 'notes' => ['notes', 'stringWithNewlines'],
'order' => ['order', 'integer'], 'order' => ['order', 'convertInteger'],
'object_group_title' => ['object_group_title', 'string'], 'object_group_title' => ['object_group_title', 'convertString'],
'object_group_id' => ['object_group_id', 'integer'], 'object_group_id' => ['object_group_id', 'convertInteger'],
]; ];
return $this->getAllData($fields); return $this->getAllData($fields);

View File

@@ -49,12 +49,12 @@ class StoreRequest extends FormRequest
public function getAll(): array public function getAll(): array
{ {
$fields = [ $fields = [
'type' => ['type', 'string'], 'type' => ['type', 'convertString'],
'title' => ['title', 'string'], 'title' => ['title', 'convertString'],
'description' => ['description', 'string'], 'description' => ['description', 'convertString'],
'first_date' => ['first_date', 'date'], 'first_date' => ['first_date', 'date'],
'repeat_until' => ['repeat_until', 'date'], 'repeat_until' => ['repeat_until', 'date'],
'nr_of_repetitions' => ['nr_of_repetitions', 'integer'], 'nr_of_repetitions' => ['nr_of_repetitions', 'convertInteger'],
'apply_rules' => ['apply_rules', 'boolean'], 'apply_rules' => ['apply_rules', 'boolean'],
'active' => ['active', 'boolean'], 'active' => ['active', 'boolean'],
'notes' => ['notes', 'stringWithNewlines'], 'notes' => ['notes', 'stringWithNewlines'],

View File

@@ -51,14 +51,14 @@ class UpdateRequest extends FormRequest
{ {
// this is the way: // this is the way:
$fields = [ $fields = [
'title' => ['title', 'string'], 'title' => ['title', 'convertString'],
'description' => ['description', 'string'], 'description' => ['description', 'convertString'],
'first_date' => ['first_date', 'date'], 'first_date' => ['first_date', 'date'],
'repeat_until' => ['repeat_until', 'date'], 'repeat_until' => ['repeat_until', 'date'],
'nr_of_repetitions' => ['nr_of_repetitions', 'integer'], 'nr_of_repetitions' => ['nr_of_repetitions', 'convertInteger'],
'apply_rules' => ['apply_rules', 'boolean'], 'apply_rules' => ['apply_rules', 'boolean'],
'active' => ['active', 'boolean'], 'active' => ['active', 'boolean'],
'notes' => ['notes', 'string'], 'notes' => ['notes', 'convertString'],
]; ];
$reps = $this->getRepetitionData(); $reps = $this->getRepetitionData();
$transactions = $this->getTransactionData(); $transactions = $this->getTransactionData();

View File

@@ -46,12 +46,12 @@ class StoreRequest extends FormRequest
public function getAll(): array public function getAll(): array
{ {
$fields = [ $fields = [
'title' => ['title', 'string'], 'title' => ['title', 'convertString'],
'description' => ['description', 'string'], 'description' => ['description', 'convertString'],
'rule_group_id' => ['rule_group_id', 'integer'], 'rule_group_id' => ['rule_group_id', 'convertInteger'],
'order' => ['order', 'integer'], 'order' => ['order', 'convertInteger'],
'rule_group_title' => ['rule_group_title', 'string'], 'rule_group_title' => ['rule_group_title', 'convertString'],
'trigger' => ['trigger', 'string'], 'trigger' => ['trigger', 'convertString'],
'strict' => ['strict', 'boolean'], 'strict' => ['strict', 'boolean'],
'stop_processing' => ['stop_processing', 'boolean'], 'stop_processing' => ['stop_processing', 'boolean'],
'active' => ['active', 'boolean'], 'active' => ['active', 'boolean'],

View File

@@ -46,14 +46,14 @@ class UpdateRequest extends FormRequest
public function getAll(): array public function getAll(): array
{ {
$fields = [ $fields = [
'title' => ['title', 'string'], 'title' => ['title', 'convertString'],
'description' => ['description', 'stringWithNewlines'], 'description' => ['description', 'stringWithNewlines'],
'rule_group_id' => ['rule_group_id', 'integer'], 'rule_group_id' => ['rule_group_id', 'convertInteger'],
'trigger' => ['trigger', 'string'], 'trigger' => ['trigger', 'convertString'],
'strict' => ['strict', 'boolean'], 'strict' => ['strict', 'boolean'],
'stop_processing' => ['stop_processing', 'boolean'], 'stop_processing' => ['stop_processing', 'boolean'],
'active' => ['active', 'boolean'], 'active' => ['active', 'boolean'],
'order' => ['order', 'integer'], 'order' => ['order', 'convertInteger'],
]; ];
$return = $this->getAllData($fields); $return = $this->getAllData($fields);

View File

@@ -49,12 +49,12 @@ class StoreRequest extends FormRequest
$active = $this->boolean('active'); $active = $this->boolean('active');
} }
if (null !== $this->get('order')) { if (null !== $this->get('order')) {
$order = $this->integer('order'); $order = $this->convertInteger('order');
} }
return [ return [
'title' => $this->string('title'), 'title' => $this->convertString('title'),
'description' => $this->string('description'), 'description' => $this->convertString('description'),
'active' => $active, 'active' => $active,
'order' => $order, 'order' => $order,
]; ];

View File

@@ -45,10 +45,10 @@ class UpdateRequest extends FormRequest
{ {
// This is the way. // This is the way.
$fields = [ $fields = [
'title' => ['title', 'string'], 'title' => ['title', 'convertString'],
'description' => ['description', 'stringWithNewlines'], 'description' => ['description', 'stringWithNewlines'],
'active' => ['active', 'boolean'], 'active' => ['active', 'boolean'],
'order' => ['order', 'integer'], 'order' => ['order', 'convertInteger'],
]; ];
return $this->getAllData($fields); return $this->getAllData($fields);

View File

@@ -46,9 +46,9 @@ class StoreRequest extends FormRequest
public function getAll(): array public function getAll(): array
{ {
$data = [ $data = [
'tag' => $this->string('tag'), 'tag' => $this->convertString('tag'),
'date' => $this->getCarbonDate('date'), 'date' => $this->getCarbonDate('date'),
'description' => $this->string('description'), 'description' => $this->convertString('description'),
'has_location' => true, 'has_location' => true,
]; ];

View File

@@ -48,9 +48,9 @@ class UpdateRequest extends FormRequest
{ {
// This is the way. // This is the way.
$fields = [ $fields = [
'tag' => ['tag', 'string'], 'tag' => ['tag', 'convertString'],
'date' => ['date', 'date'], 'date' => ['date', 'date'],
'description' => ['description', 'string'], 'description' => ['description', 'convertString'],
]; ];
$data = $this->getAllData($fields); $data = $this->getAllData($fields);

View File

@@ -55,7 +55,7 @@ class StoreRequest extends FormRequest
Log::debug('get all data in TransactionStoreRequest'); Log::debug('get all data in TransactionStoreRequest');
return [ return [
'group_title' => $this->string('group_title'), 'group_title' => $this->convertString('group_title'),
'error_if_duplicate_hash' => $this->boolean('error_if_duplicate_hash'), 'error_if_duplicate_hash' => $this->boolean('error_if_duplicate_hash'),
'apply_rules' => $this->boolean('apply_rules', true), 'apply_rules' => $this->boolean('apply_rules', true),
'fire_webhooks' => $this->boolean('fire_webhooks', true), 'fire_webhooks' => $this->boolean('fire_webhooks', true),

View File

@@ -48,6 +48,7 @@ class UpdateRequest extends FormRequest
private array $dateFields; private array $dateFields;
private array $integerFields; private array $integerFields;
private array $stringFields; private array $stringFields;
private array $floatFields;
private array $textareaFields; private array $textareaFields;
/** /**
@@ -84,12 +85,15 @@ class UpdateRequest extends FormRequest
'notes', 'notes',
]; ];
$this->floatFields = [
'amount',
'foreign_amount',
];
$this->stringFields = [ $this->stringFields = [
'type', 'type',
'currency_code', 'currency_code',
'foreign_currency_code', 'foreign_currency_code',
'amount',
'foreign_amount',
'description', 'description',
'source_name', 'source_name',
'source_iban', 'source_iban',
@@ -133,7 +137,7 @@ class UpdateRequest extends FormRequest
$data['fire_webhooks'] = $this->boolean('fire_webhooks', true); $data['fire_webhooks'] = $this->boolean('fire_webhooks', true);
} }
if ($this->has('group_title')) { if ($this->has('group_title')) {
$data['group_title'] = $this->string('group_title'); $data['group_title'] = $this->convertString('group_title');
} }
return $data; return $data;
@@ -163,6 +167,7 @@ class UpdateRequest extends FormRequest
$current = $this->getDateData($current, $transaction); $current = $this->getDateData($current, $transaction);
$current = $this->getBooleanData($current, $transaction); $current = $this->getBooleanData($current, $transaction);
$current = $this->getArrayData($current, $transaction); $current = $this->getArrayData($current, $transaction);
$current = $this->getFloatData($current, $transaction);
$return[] = $current; $return[] = $current;
} }
@@ -389,4 +394,27 @@ class UpdateRequest extends FormRequest
} }
); );
} }
/**
* @param array $current
* @param array $transaction
* @return array
*/
private function getFloatData(array $current, array $transaction): array
{
foreach ($this->floatFields as $fieldName) {
if (array_key_exists($fieldName, $transaction)) {
$value = $transaction[$fieldName];
if (is_float($value)) {
// TODO this effectively limits the max number of decimals in currencies to 14.
$current[$fieldName] = sprintf('%.14f', $value);
}
if (!is_float($value)) {
$current[$fieldName] = (string) $value;
}
}
}
return $current;
}
} }

View File

@@ -54,10 +54,10 @@ class StoreRequest extends FormRequest
} }
return [ return [
'name' => $this->string('name'), 'name' => $this->convertString('name'),
'code' => $this->string('code'), 'code' => $this->convertString('code'),
'symbol' => $this->string('symbol'), 'symbol' => $this->convertString('symbol'),
'decimal_places' => $this->integer('decimal_places'), 'decimal_places' => $this->convertInteger('decimal_places'),
'default' => $default, 'default' => $default,
'enabled' => $enabled, 'enabled' => $enabled,
]; ];

View File

@@ -46,10 +46,10 @@ class UpdateRequest extends FormRequest
{ {
// return nothing that isn't explicitely in the array: // return nothing that isn't explicitely in the array:
$fields = [ $fields = [
'name' => ['name', 'string'], 'name' => ['name', 'convertString'],
'code' => ['code', 'string'], 'code' => ['code', 'convertString'],
'symbol' => ['symbol', 'string'], 'symbol' => ['symbol', 'convertString'],
'decimal_places' => ['decimal_places', 'integer'], 'decimal_places' => ['decimal_places', 'convertInteger'],
'default' => ['default', 'boolean'], 'default' => ['default', 'boolean'],
'enabled' => ['enabled', 'boolean'], 'enabled' => ['enabled', 'boolean'],
]; ];

View File

@@ -46,10 +46,10 @@ class StoreRequest extends FormRequest
public function getAll(): array public function getAll(): array
{ {
return [ return [
'link_type_id' => $this->integer('link_type_id'), 'link_type_id' => $this->convertInteger('link_type_id'),
'link_type_name' => $this->string('link_type_name'), 'link_type_name' => $this->convertString('link_type_name'),
'inward_id' => $this->integer('inward_id'), 'inward_id' => $this->convertInteger('inward_id'),
'outward_id' => $this->integer('outward_id'), 'outward_id' => $this->convertInteger('outward_id'),
'notes' => $this->stringWithNewlines('notes'), 'notes' => $this->stringWithNewlines('notes'),
]; ];
} }

View File

@@ -46,10 +46,10 @@ class UpdateRequest extends FormRequest
public function getAll(): array public function getAll(): array
{ {
return [ return [
'link_type_id' => $this->integer('link_type_id'), 'link_type_id' => $this->convertInteger('link_type_id'),
'link_type_name' => $this->string('link_type_name'), 'link_type_name' => $this->convertString('link_type_name'),
'inward_id' => $this->integer('inward_id'), 'inward_id' => $this->convertInteger('inward_id'),
'outward_id' => $this->integer('outward_id'), 'outward_id' => $this->convertInteger('outward_id'),
'notes' => $this->stringWithNewlines('notes'), 'notes' => $this->stringWithNewlines('notes'),
]; ];
} }

View File

@@ -44,9 +44,9 @@ class StoreRequest extends FormRequest
public function getAll(): array public function getAll(): array
{ {
return [ return [
'name' => $this->string('name'), 'name' => $this->convertString('name'),
'outward' => $this->string('outward'), 'outward' => $this->convertString('outward'),
'inward' => $this->string('inward'), 'inward' => $this->convertString('inward'),
]; ];
} }

View File

@@ -45,9 +45,9 @@ class UpdateRequest extends FormRequest
public function getAll(): array public function getAll(): array
{ {
return [ return [
'name' => $this->string('name'), 'name' => $this->convertString('name'),
'outward' => $this->string('outward'), 'outward' => $this->convertString('outward'),
'inward' => $this->string('inward'), 'inward' => $this->convertString('inward'),
]; ];
} }

View File

@@ -45,12 +45,12 @@ class CreateRequest extends FormRequest
$deliveries = array_flip(config('firefly.webhooks.deliveries')); $deliveries = array_flip(config('firefly.webhooks.deliveries'));
$fields = [ $fields = [
'title' => ['title', 'string'], 'title' => ['title', 'convertString'],
'active' => ['active', 'boolean'], 'active' => ['active', 'boolean'],
'trigger' => ['trigger', 'string'], 'trigger' => ['trigger', 'convertString'],
'response' => ['response', 'string'], 'response' => ['response', 'convertString'],
'delivery' => ['delivery', 'string'], 'delivery' => ['delivery', 'convertString'],
'url' => ['url', 'string'], 'url' => ['url', 'convertString'],
]; ];
// this is the way. // this is the way.

View File

@@ -45,12 +45,12 @@ class UpdateRequest extends FormRequest
$deliveries = array_flip(config('firefly.webhooks.deliveries')); $deliveries = array_flip(config('firefly.webhooks.deliveries'));
$fields = [ $fields = [
'title' => ['title', 'string'], 'title' => ['title', 'convertString'],
'active' => ['active', 'boolean'], 'active' => ['active', 'boolean'],
'trigger' => ['trigger', 'string'], 'trigger' => ['trigger', 'convertString'],
'response' => ['response', 'string'], 'response' => ['response', 'convertString'],
'delivery' => ['delivery', 'string'], 'delivery' => ['delivery', 'convertString'],
'url' => ['url', 'string'], 'url' => ['url', 'convertString'],
]; ];
// this is the way. // this is the way.
@@ -66,7 +66,7 @@ class UpdateRequest extends FormRequest
} }
$return['secret'] = null !== $this->get('secret'); $return['secret'] = null !== $this->get('secret');
if (null !== $this->get('title')) { if (null !== $this->get('title')) {
$return['title'] = $this->string('title'); $return['title'] = $this->convertString('title');
} }
return $return; return $return;

View File

@@ -54,10 +54,10 @@ class UpdateRequest extends FormRequest
return ['value' => $this->boolean('value')]; return ['value' => $this->boolean('value')];
case 'configuration.permission_update_check': case 'configuration.permission_update_check':
case 'configuration.last_update_check': case 'configuration.last_update_check':
return ['value' => $this->integer('value')]; return ['value' => $this->convertInteger('value')];
} }
return ['value' => $this->string('value')]; return ['value' => $this->convertString('value')];
} }
/** /**

View File

@@ -59,10 +59,10 @@ class UserStoreRequest extends FormRequest
} }
return [ return [
'email' => $this->string('email'), 'email' => $this->convertString('email'),
'blocked' => $blocked, 'blocked' => $blocked,
'blocked_code' => $this->string('blocked_code'), 'blocked_code' => $this->convertString('blocked_code'),
'role' => $this->string('role'), 'role' => $this->convertString('role'),
]; ];
} }

View File

@@ -60,10 +60,10 @@ class UserUpdateRequest extends FormRequest
} }
return [ return [
'email' => $this->string('email'), 'email' => $this->convertString('email'),
'blocked' => $blocked, 'blocked' => $blocked,
'blocked_code' => $this->string('blocked_code'), 'blocked_code' => $this->convertString('blocked_code'),
'role' => $this->string('role'), 'role' => $this->convertString('role'),
]; ];
} }

View File

@@ -37,7 +37,7 @@ class PreferenceStoreRequest extends FormRequest
public function getAll(): array public function getAll(): array
{ {
$array = [ $array = [
'name' => $this->string('name'), 'name' => $this->convertString('name'),
'data' => $this->get('data'), 'data' => $this->get('data'),
]; ];
if ('true' === $array['data']) { if ('true' === $array['data']) {

View File

@@ -38,7 +38,7 @@ class PreferenceUpdateRequest extends FormRequest
public function getAll(): array public function getAll(): array
{ {
$array = [ $array = [
'name' => $this->string('name'), 'name' => $this->convertString('name'),
'data' => $this->get('data'), 'data' => $this->get('data'),
]; ];
if ('true' === $array['data']) { if ('true' === $array['data']) {

View File

@@ -108,7 +108,11 @@ class FixTransactionTypes extends Command
} }
$expectedType = (string) config(sprintf('firefly.account_to_transaction.%s.%s', $source->accountType->type, $destination->accountType->type)); $expectedType = (string) config(sprintf('firefly.account_to_transaction.%s.%s', $source->accountType->type, $destination->accountType->type));
if ($expectedType !== $type) { if ($expectedType !== $type) {
$this->line(sprintf('Transaction journal #%d was of type "%s" but is corrected to "%s"', $journal->id, $type, $expectedType)); $this->line(
sprintf('Transaction journal #%d was of type "%s" but is corrected to "%s" (%s -> %s)',
$journal->id, $type, $expectedType,
$source->accountType->type, $destination->accountType->type,
));
$this->changeJournal($journal, $expectedType); $this->changeJournal($journal, $expectedType);
return true; return true;

View File

@@ -39,6 +39,7 @@ use Illuminate\Support\Arr;
use Illuminate\Validation\ValidationException as LaravelValidationException; use Illuminate\Validation\ValidationException as LaravelValidationException;
use Laravel\Passport\Exceptions\OAuthServerException as LaravelOAuthException; use Laravel\Passport\Exceptions\OAuthServerException as LaravelOAuthException;
use League\OAuth2\Server\Exception\OAuthServerException; use League\OAuth2\Server\Exception\OAuthServerException;
use Symfony\Component\HttpFoundation\Exception\SuspiciousOperationException;
use Symfony\Component\HttpKernel\Exception\HttpException; use Symfony\Component\HttpKernel\Exception\HttpException;
use Symfony\Component\HttpKernel\Exception\NotFoundHttpException; use Symfony\Component\HttpKernel\Exception\NotFoundHttpException;
use Throwable; use Throwable;
@@ -62,6 +63,7 @@ class Handler extends ExceptionHandler
LaravelOAuthException::class, LaravelOAuthException::class,
TokenMismatchException::class, TokenMismatchException::class,
HttpException::class, HttpException::class,
SuspiciousOperationException::class
]; ];
/** /**

View File

@@ -36,10 +36,8 @@ use Log;
*/ */
class TransactionGroupFactory class TransactionGroupFactory
{ {
/** @var TransactionJournalFactory */ private TransactionJournalFactory $journalFactory;
private $journalFactory; private User $user;
/** @var User The user */
private $user;
/** /**
* TransactionGroupFactory constructor. * TransactionGroupFactory constructor.

View File

@@ -338,6 +338,12 @@ class UserEventHandler
Log::debug('Now in storeUserIPAddress'); Log::debug('Now in storeUserIPAddress');
$user = $event->user; $user = $event->user;
/** @var array $preference */ /** @var array $preference */
if($user->hasRole('demo')) {
Log::debug('Do not log demo user logins');
return;
}
try { try {
$preference = app('preferences')->getForUser($user, 'login_ip_history', [])->data; $preference = app('preferences')->getForUser($user, 'login_ip_history', [])->data;
} catch (FireflyException $e) { } catch (FireflyException $e) {

View File

@@ -27,6 +27,7 @@ namespace FireflyIII\Helpers\Collector\Extensions;
use FireflyIII\Helpers\Collector\GroupCollectorInterface; use FireflyIII\Helpers\Collector\GroupCollectorInterface;
use FireflyIII\Models\Attachment; use FireflyIII\Models\Attachment;
use FireflyIII\Models\TransactionJournal; use FireflyIII\Models\TransactionJournal;
use Illuminate\Database\Eloquent\Builder;
use Illuminate\Database\Eloquent\Builder as EloquentBuilder; use Illuminate\Database\Eloquent\Builder as EloquentBuilder;
use Log; use Log;
@@ -299,7 +300,19 @@ trait AttachmentCollection
{ {
Log::debug('Add filter on no attachments.'); Log::debug('Add filter on no attachments.');
$this->joinAttachmentTables(); $this->joinAttachmentTables();
$this->query->whereNull('attachments.attachable_id');
$this->query->where(function (Builder $q1) {
$q1
->whereNull('attachments.attachable_id')
->orWhere(function (Builder $q2) {
$q2
->whereNotNull('attachments.attachable_id')
->whereNotNull('attachments.deleted_at');
// id is not null
// deleted at is not null.
});
});
return $this; return $this;
} }

View File

@@ -33,6 +33,7 @@ use Illuminate\Database\Eloquent\Relations\HasMany;
trait CollectorProperties trait CollectorProperties
{ {
private array $fields; private array $fields;
private array $stringFields;
private bool $hasAccountInfo; private bool $hasAccountInfo;
private bool $hasBillInformation; private bool $hasBillInformation;
private bool $hasBudgetInformation; private bool $hasBudgetInformation;

View File

@@ -87,6 +87,7 @@ class GroupCollector implements GroupCollectorInterface
'category_id', 'category_id',
'budget_id', 'budget_id',
]; ];
$this->stringFields = ['amount', 'foreign_amount'];
$this->total = 0; $this->total = 0;
$this->fields = [ $this->fields = [
# group # group
@@ -375,6 +376,9 @@ class GroupCollector implements GroupCollectorInterface
// convert values to integers: // convert values to integers:
$result = $this->convertToInteger($result); $result = $this->convertToInteger($result);
// convert back to strings because SQLite is dumb like that.
$result = $this->convertToStrings($result);
$result['reconciled'] = 1 === (int) $result['reconciled']; $result['reconciled'] = 1 === (int) $result['reconciled'];
if (array_key_exists('tag_id', $result) && null !== $result['tag_id']) { // assume the other fields are present as well. if (array_key_exists('tag_id', $result) && null !== $result['tag_id']) { // assume the other fields are present as well.
$tagId = (int) $augumentedJournal['tag_id']; $tagId = (int) $augumentedJournal['tag_id'];
@@ -506,7 +510,7 @@ class GroupCollector implements GroupCollectorInterface
$groups[$groudId]['sums'][$currencyId]['currency_decimal_places'] = $transaction['currency_decimal_places']; $groups[$groudId]['sums'][$currencyId]['currency_decimal_places'] = $transaction['currency_decimal_places'];
$groups[$groudId]['sums'][$currencyId]['amount'] = '0'; $groups[$groudId]['sums'][$currencyId]['amount'] = '0';
} }
$groups[$groudId]['sums'][$currencyId]['amount'] = bcadd($groups[$groudId]['sums'][$currencyId]['amount'], $transaction['amount'] ?? '0'); $groups[$groudId]['sums'][$currencyId]['amount'] = bcadd($groups[$groudId]['sums'][$currencyId]['amount'], $transaction['amount']);
if (null !== $transaction['foreign_amount'] && null !== $transaction['foreign_currency_id']) { if (null !== $transaction['foreign_amount'] && null !== $transaction['foreign_currency_id']) {
$currencyId = (int) $transaction['foreign_currency_id']; $currencyId = (int) $transaction['foreign_currency_id'];
@@ -815,4 +819,17 @@ class GroupCollector implements GroupCollectorInterface
return $this; return $this;
} }
/**
* @param array $array
* @return array
*/
private function convertToStrings(array $array): array
{
foreach ($this->stringFields as $field) {
$array[$field] = array_key_exists($field, $array) && null !== $array[$field] ? (string) $array[$field] : null;
}
return $array;
}
} }

View File

@@ -217,9 +217,9 @@ class LinkController extends Controller
public function store(LinkTypeFormRequest $request) public function store(LinkTypeFormRequest $request)
{ {
$data = [ $data = [
'name' => $request->string('name'), 'name' => $request->convertString('name'),
'inward' => $request->string('inward'), 'inward' => $request->convertString('inward'),
'outward' => $request->string('outward'), 'outward' => $request->convertString('outward'),
]; ];
$linkType = $this->repository->store($data); $linkType = $this->repository->store($data);
@@ -255,9 +255,9 @@ class LinkController extends Controller
} }
$data = [ $data = [
'name' => $request->string('name'), 'name' => $request->convertString('name'),
'inward' => $request->string('inward'), 'inward' => $request->convertString('inward'),
'outward' => $request->string('outward'), 'outward' => $request->convertString('outward'),
]; ];
$this->repository->update($linkType, $data); $this->repository->update($linkType, $data);

View File

@@ -148,6 +148,19 @@ class BudgetLimitController extends Controller
Log::debug(sprintf('Start: %s, end: %s', $start->format('Y-m-d'), $end->format('Y-m-d'))); Log::debug(sprintf('Start: %s, end: %s', $start->format('Y-m-d'), $end->format('Y-m-d')));
$limit = $this->blRepository->find($budget, $currency, $start, $end); $limit = $this->blRepository->find($budget, $currency, $start, $end);
// sanity check on amount:
if ((float) $amount === 0.0) {
if (null !== $limit) {
$this->blRepository->destroyBudgetLimit($limit);
}
// return empty=ish array:
return response()->json([]);
}
if ((int) $amount > 268435456) {
$amount = '268435456';
}
if (null !== $limit) { if (null !== $limit) {
$limit->amount = $amount; $limit->amount = $amount;
$limit->save(); $limit->save();
@@ -166,7 +179,7 @@ class BudgetLimitController extends Controller
if ($request->expectsJson()) { if ($request->expectsJson()) {
$array = $limit->toArray(); $array = $limit->toArray();
// add some extra meta data: // add some extra metadata:
$spentArr = $this->opsRepository->sumExpenses($limit->start_date, $limit->end_date, null, new Collection([$budget]), $currency); $spentArr = $this->opsRepository->sumExpenses($limit->start_date, $limit->end_date, null, new Collection([$budget]), $currency);
$array['spent'] = $spentArr[$currency->id]['sum'] ?? '0'; $array['spent'] = $spentArr[$currency->id]['sum'] ?? '0';
$array['left_formatted'] = app('amount')->formatAnything($limit->transactionCurrency, bcadd($array['spent'], $array['amount'])); $array['left_formatted'] = app('amount')->formatAnything($limit->transactionCurrency, bcadd($array['spent'], $array['amount']));
@@ -197,6 +210,23 @@ class BudgetLimitController extends Controller
$amount = '0'; $amount = '0';
} }
// sanity check on amount:
if ((float) $amount === 0.0) {
$budgetId = $budgetLimit->budget_id;
$currency = $budgetLimit->transactionCurrency;
$this->blRepository->destroyBudgetLimit($budgetLimit);
$array = [
'budget_id' => $budgetId,
'left_formatted' => app('amount')->formatAnything($currency, '0'),
'left_per_day_formatted' => app('amount')->formatAnything($currency, '0'),
'transaction_currency_id' => $currency->id,
];
return response()->json($array);
}
if ((int) $amount > 268435456) { // 268 million
$amount = '268435456';
}
$limit = $this->blRepository->update($budgetLimit, ['amount' => $amount]); $limit = $this->blRepository->update($budgetLimit, ['amount' => $amount]);
$array = $limit->toArray(); $array = $limit->toArray();

View File

@@ -105,7 +105,7 @@ class NoCategoryController extends Controller
->withAccountInformation()->withBudgetInformation() ->withAccountInformation()->withBudgetInformation()
->setTypes([TransactionType::WITHDRAWAL, TransactionType::DEPOSIT, TransactionType::TRANSFER]); ->setTypes([TransactionType::WITHDRAWAL, TransactionType::DEPOSIT, TransactionType::TRANSFER]);
$groups = $collector->getPaginatedGroups(); $groups = $collector->getPaginatedGroups();
$groups->setPath(route('categories.no-category')); $groups->setPath(route('categories.no-category', [$start->format('Y-m-d'), $end->format('Y-m-d')]));
return view('categories.no-category', compact('groups', 'subTitle', 'periods', 'start', 'end')); return view('categories.no-category', compact('groups', 'subTitle', 'periods', 'start', 'end'));
} }

View File

@@ -119,8 +119,8 @@ class AccountController extends Controller
// see if there is an accompanying start amount. // see if there is an accompanying start amount.
// grab the difference and find the currency. // grab the difference and find the currency.
$startAmount = $startBalances[$accountId][$currencyId] ?? '0'; $startAmount = (string) ($startBalances[$accountId][$currencyId] ?? '0');
$diff = bcsub($endAmount, $startAmount); $diff = bcsub((string)$endAmount, $startAmount);
$currencies[$currencyId] = $currencies[$currencyId] ?? $this->currencyRepository->find($currencyId); $currencies[$currencyId] = $currencies[$currencyId] ?? $this->currencyRepository->find($currencyId);
if (0 !== bccomp($diff, '0')) { if (0 !== bccomp($diff, '0')) {
// store the values in a temporary array. // store the values in a temporary array.
@@ -438,7 +438,7 @@ class AccountController extends Controller
$cache->addProperty($end); $cache->addProperty($end);
$cache->addProperty($account->id); $cache->addProperty($account->id);
if ($cache->has()) { if ($cache->has()) {
//return response()->json($cache->get()); return response()->json($cache->get());
} }
$currencies = $this->accountRepository->getUsedCurrencies($account); $currencies = $this->accountRepository->getUsedCurrencies($account);
@@ -578,8 +578,8 @@ class AccountController extends Controller
// see if there is an accompanying start amount. // see if there is an accompanying start amount.
// grab the difference and find the currency. // grab the difference and find the currency.
$startAmount = $startBalances[$accountId][$currencyId] ?? '0'; $startAmount = (string)($startBalances[$accountId][$currencyId] ?? '0');
$diff = bcsub($endAmount, $startAmount); $diff = bcsub((string) $endAmount, $startAmount);
$currencies[$currencyId] = $currencies[$currencyId] ?? $this->currencyRepository->find($currencyId); $currencies[$currencyId] = $currencies[$currencyId] ?? $this->currencyRepository->find($currencyId);
if (0 !== bccomp($diff, '0')) { if (0 !== bccomp($diff, '0')) {
// store the values in a temporary array. // store the values in a temporary array.

View File

@@ -99,7 +99,7 @@ class BudgetController extends Controller
$cache->addProperty($budget->id); $cache->addProperty($budget->id);
if ($cache->has()) { if ($cache->has()) {
//return response()->json($cache->get()); return response()->json($cache->get());
} }
$step = $this->calculateStep($start, $end); // depending on diff, do something with range of chart. $step = $this->calculateStep($start, $end); // depending on diff, do something with range of chart.
$collection = new Collection([$budget]); $collection = new Collection([$budget]);

View File

@@ -181,28 +181,31 @@ class ReportController extends Controller
$period = $journal['date']->format($format); $period = $journal['date']->format($format);
$currencyId = (int) $journal['currency_id']; $currencyId = (int) $journal['currency_id'];
$data[$currencyId] = $data[$currencyId] ?? [ $data[$currencyId] = $data[$currencyId] ?? [
'currency_id' => $currencyId, 'currency_id' => $currencyId,
'currency_symbol' => $journal['currency_symbol'], 'currency_symbol' => $journal['currency_symbol'],
'currency_code' => $journal['currency_code'], 'currency_code' => $journal['currency_code'],
'currency_name' => $journal['currency_name'], 'currency_name' => $journal['currency_name'],
'currency_decimal_places' => (int) $journal['currency_decimal_places'], 'currency_decimal_places' => (int) $journal['currency_decimal_places'],
]; ];
$data[$currencyId][$period] = $data[$currencyId][$period] ?? [ $data[$currencyId][$period] = $data[$currencyId][$period] ?? [
'period' => $period, 'period' => $period,
'spent' => '0', 'spent' => '0',
'earned' => '0', 'earned' => '0',
]; ];
// in our outgoing? // in our outgoing?
$key = 'spent'; $key = 'spent';
$amount = app('steam')->positive($journal['amount']); $amount = app('steam')->positive($journal['amount']);
// deposit = incoming
// transfer or reconcile or opening balance, and these accounts are the destination.
if ( if (
TransactionType::DEPOSIT === $journal['transaction_type_type'] TransactionType::DEPOSIT === $journal['transaction_type_type']
|| // deposit = incoming ||
// transfer or opening balance, and these accounts are the destination.
( (
( (
TransactionType::TRANSFER === $journal['transaction_type_type'] TransactionType::TRANSFER === $journal['transaction_type_type']
|| TransactionType::RECONCILIATION === $journal['transaction_type_type']
|| TransactionType::OPENING_BALANCE === $journal['transaction_type_type'] || TransactionType::OPENING_BALANCE === $journal['transaction_type_type']
) )
&& in_array($journal['destination_account_id'], $ids, true) && in_array($journal['destination_account_id'], $ids, true)

View File

@@ -258,7 +258,7 @@ class CurrencyController extends Controller
} }
session()->flash('success', (string) trans('firefly.currency_is_now_disabled', ['name' => $currency->name])); session()->flash('success', (string) trans('firefly.currency_is_now_disabled', ['name' => $currency->name]));
return response()->json([]);
} }
/** /**
@@ -308,7 +308,7 @@ class CurrencyController extends Controller
* @param Request $request * @param Request $request
* @return RedirectResponse|Redirector * @return RedirectResponse|Redirector
*/ */
public function enableCurrency(Request $request) public function enableCurrency(Request $request): JsonResponse
{ {
$currencyId = (int) $request->get('id'); $currencyId = (int) $request->get('id');
if ($currencyId > 0) { if ($currencyId > 0) {
@@ -323,7 +323,7 @@ class CurrencyController extends Controller
} }
} }
return redirect(route('currencies.index')); return response()->json([]);
} }
/** /**

View File

@@ -88,7 +88,7 @@ class DebugController extends Controller
public function flush(Request $request) public function flush(Request $request)
{ {
app('preferences')->mark(); app('preferences')->mark();
$request->session()->forget(['start', 'end', '_previous', 'viewRange', 'range', 'is_custom_range']); $request->session()->forget(['start', 'end', '_previous', 'viewRange', 'range', 'is_custom_range','temp-mfa-secret','temp-mfa-codes']);
Log::debug('Call cache:clear...'); Log::debug('Call cache:clear...');
Artisan::call('cache:clear'); Artisan::call('cache:clear');
Log::debug('Call config:clear...'); Log::debug('Call config:clear...');

View File

@@ -73,7 +73,7 @@ class BoxController extends Controller
$cache->addProperty($today); $cache->addProperty($today);
$cache->addProperty('box-available'); $cache->addProperty('box-available');
if ($cache->has()) { if ($cache->has()) {
//return response()->json($cache->get()); return response()->json($cache->get());
} }
$leftPerDayAmount = '0'; $leftPerDayAmount = '0';
$leftToSpendAmount = '0'; $leftToSpendAmount = '0';

View File

@@ -92,7 +92,7 @@ class NewUserController extends Controller
*/ */
public function submit(NewUserFormRequest $request, CurrencyRepositoryInterface $currencyRepository) public function submit(NewUserFormRequest $request, CurrencyRepositoryInterface $currencyRepository)
{ {
$language = $request->string('language'); $language = $request->convertString('language');
if (!array_key_exists($language, config('firefly.languages'))) { if (!array_key_exists($language, config('firefly.languages'))) {
$language = 'en_US'; $language = 'en_US';

View File

@@ -34,6 +34,7 @@ use FireflyIII\Http\Requests\ProfileFormRequest;
use FireflyIII\Http\Requests\TokenFormRequest; use FireflyIII\Http\Requests\TokenFormRequest;
use FireflyIII\Models\Preference; use FireflyIII\Models\Preference;
use FireflyIII\Repositories\User\UserRepositoryInterface; use FireflyIII\Repositories\User\UserRepositoryInterface;
use FireflyIII\Support\Facades\Preferences;
use FireflyIII\Support\Http\Controllers\CreateStuff; use FireflyIII\Support\Http\Controllers\CreateStuff;
use FireflyIII\User; use FireflyIII\User;
use Google2FA; use Google2FA;
@@ -157,37 +158,36 @@ class ProfileController extends Controller
return redirect(route('profile.index')); return redirect(route('profile.index'));
} }
$domain = $this->getDomain(); $domain = $this->getDomain();
$secret = null; $secretPreference = Preferences::get('temp-mfa-secret');
$codesPreference = Preferences::get('temp-mfa-codes');
// generate secret if not in session // generate secret if not in session
if (!session()->has('temp-mfa-secret')) { if (null === $secretPreference) {
// generate secret + store + flash // generate secret + store + flash
$secret = Google2FA::generateSecretKey(); $secret = Google2FA::generateSecretKey();
session()->put('temp-mfa-secret', $secret); Preferences::set('temp-mfa-secret', $secret);
session()->flash('two-factor-secret', $secret);
}
// re-use secret if in session
if (session()->has('temp-mfa-secret')) {
// get secret from session and flash
$secret = session()->get('temp-mfa-secret');
session()->flash('two-factor-secret', $secret);
} }
// generate codes if not in session: // re-use secret if in session
if (null !== $secretPreference) {
// get secret from session and flash
$secret = $secretPreference->data;
}
// generate recovery codes if not in session:
$recoveryCodes = ''; $recoveryCodes = '';
if (!session()->has('temp-mfa-codes')) {
if (null === $codesPreference) {
// generate codes + store + flash: // generate codes + store + flash:
$recovery = app(Recovery::class); $recovery = app(Recovery::class);
$recoveryCodes = $recovery->lowercase()->setCount(8)->setBlocks(2)->setChars(6)->toArray(); $recoveryCodes = $recovery->lowercase()->setCount(8)->setBlocks(2)->setChars(6)->toArray();
session()->put('temp-mfa-codes', $recoveryCodes); Preferences::set('temp-mfa-codes', $recoveryCodes);
session()->flash('two-factor-codes', $recoveryCodes);
} }
// get codes from session if there already: // get codes from session if present already:
if (session()->has('temp-mfa-codes')) { if (null !== $codesPreference) {
$recoveryCodes = session()->get('temp-mfa-codes'); $recoveryCodes = $codesPreference->data;
session()->flash('two-factor-codes', $recoveryCodes);
} }
$codes = implode("\r\n", $recoveryCodes); $codes = implode("\r\n", $recoveryCodes);
@@ -275,7 +275,11 @@ class ProfileController extends Controller
/** @var User $user */ /** @var User $user */
$user = auth()->user(); $user = auth()->user();
Preferences::delete('temp-mfa-secret');
Preferences::delete('temp-mfa-codes');
$repository->setMFACode($user, null); $repository->setMFACode($user, null);
app('preferences')->mark();
session()->flash('success', (string) trans('firefly.pref_two_factor_auth_disabled')); session()->flash('success', (string) trans('firefly.pref_two_factor_auth_disabled'));
session()->flash('info', (string) trans('firefly.pref_two_factor_auth_remove_it')); session()->flash('info', (string) trans('firefly.pref_two_factor_auth_remove_it'));
@@ -410,7 +414,7 @@ class ProfileController extends Controller
/** @var User $user */ /** @var User $user */
$user = auth()->user(); $user = auth()->user();
$newEmail = $request->string('email'); $newEmail = $request->convertString('email');
$oldEmail = $user->email; $oldEmail = $user->email;
if ($newEmail === $user->email) { if ($newEmail === $user->email) {
session()->flash('error', (string) trans('firefly.email_not_changed')); session()->flash('error', (string) trans('firefly.email_not_changed'));
@@ -498,10 +502,13 @@ class ProfileController extends Controller
$user = auth()->user(); $user = auth()->user();
/** @var UserRepositoryInterface $repository */ /** @var UserRepositoryInterface $repository */
$repository = app(UserRepositoryInterface::class); $repository = app(UserRepositoryInterface::class);
/** @var string $secret */ $secret = Preferences::get('temp-mfa-secret')?->data;
$secret = session()->get('two-factor-secret');
$repository->setMFACode($user, $secret); $repository->setMFACode($user, $secret);
Preferences::delete('temp-mfa-secret');
Preferences::delete('temp-mfa-codes');
session()->flash('success', (string) trans('firefly.saved_preferences')); session()->flash('success', (string) trans('firefly.saved_preferences'));
app('preferences')->mark(); app('preferences')->mark();

View File

@@ -132,6 +132,7 @@ class CreateController extends Controller
public function createFromJournal(Request $request, TransactionJournal $journal) public function createFromJournal(Request $request, TransactionJournal $journal)
{ {
$budgets = app('expandedform')->makeSelectListWithEmpty($this->budgetRepos->getActiveBudgets()); $budgets = app('expandedform')->makeSelectListWithEmpty($this->budgetRepos->getActiveBudgets());
$bills = app('expandedform')->makeSelectListWithEmpty($this->billRepository->getActiveBills());
$defaultCurrency = app('amount')->getDefaultCurrency(); $defaultCurrency = app('amount')->getDefaultCurrency();
$tomorrow = today(config('app.timezone')); $tomorrow = today(config('app.timezone'));
$oldRepetitionType = $request->old('repetition_type'); $oldRepetitionType = $request->old('repetition_type');
@@ -213,7 +214,7 @@ class CreateController extends Controller
return view( return view(
'recurring.create', 'recurring.create',
compact('tomorrow', 'oldRepetitionType', 'weekendResponses', 'preFilled', 'repetitionEnds', 'defaultCurrency', 'budgets') compact('tomorrow', 'oldRepetitionType', 'bills', 'weekendResponses', 'preFilled', 'repetitionEnds', 'defaultCurrency', 'budgets')
); );
} }

View File

@@ -131,7 +131,7 @@ class EditController extends Controller
public function update(RuleGroupFormRequest $request, RuleGroup $ruleGroup) public function update(RuleGroupFormRequest $request, RuleGroup $ruleGroup)
{ {
$data = [ $data = [
'title' => $request->string('title'), 'title' => $request->convertString('title'),
'description' => $request->stringWithNewlines('description'), 'description' => $request->stringWithNewlines('description'),
'active' => 1 === (int) $request->input('active'), 'active' => 1 === (int) $request->input('active'),
]; ];

View File

@@ -110,8 +110,8 @@ class BulkController extends Controller
$journal = $this->repository->find($journalId); $journal = $this->repository->find($journalId);
if (null !== $journal) { if (null !== $journal) {
$resultA = $this->updateJournalBudget($journal, $ignoreBudget, $request->integer('budget_id')); $resultA = $this->updateJournalBudget($journal, $ignoreBudget, $request->integer('budget_id'));
$resultB = $this->updateJournalTags($journal, $tagsAction, explode(',', $request->string('tags'))); $resultB = $this->updateJournalTags($journal, $tagsAction, explode(',', $request->convertString('tags')));
$resultC = $this->updateJournalCategory($journal, $ignoreCategory, $request->string('category')); $resultC = $this->updateJournalCategory($journal, $ignoreCategory, $request->convertString('category'));
if ($resultA || $resultB || $resultC) { if ($resultA || $resultB || $resultC) {
$count++; $count++;
} }

View File

@@ -23,8 +23,12 @@ declare(strict_types=1);
namespace FireflyIII\Http\Controllers\Transaction; namespace FireflyIII\Http\Controllers\Transaction;
use FireflyIII\Events\UpdatedAccount;
use FireflyIII\Http\Controllers\Controller; use FireflyIII\Http\Controllers\Controller;
use FireflyIII\Models\Account;
use FireflyIII\Models\Transaction;
use FireflyIII\Models\TransactionGroup; use FireflyIII\Models\TransactionGroup;
use FireflyIII\Models\TransactionJournal;
use FireflyIII\Repositories\TransactionGroup\TransactionGroupRepositoryInterface; use FireflyIII\Repositories\TransactionGroup\TransactionGroupRepositoryInterface;
use Illuminate\Contracts\View\Factory; use Illuminate\Contracts\View\Factory;
use Illuminate\Contracts\View\View; use Illuminate\Contracts\View\View;
@@ -111,10 +115,32 @@ class DeleteController extends Controller
$objectType = strtolower($journal->transaction_type_type ?? $journal->transactionType->type); $objectType = strtolower($journal->transaction_type_type ?? $journal->transactionType->type);
session()->flash('success', (string) trans('firefly.deleted_' . strtolower($objectType), ['description' => $group->title ?? $journal->description])); session()->flash('success', (string) trans('firefly.deleted_' . strtolower($objectType), ['description' => $group->title ?? $journal->description]));
// grab asset account(s) from group:
$accounts = [];
/** @var TransactionJournal $journal */
foreach($group->transactionJournals as $journal) {
/** @var Transaction $transaction */
foreach($journal->transactions as $transaction) {
$type = $transaction->account->accountType->type;
// if is valid liability, trigger event!
if(in_array($type, config('firefly.valid_liabilities'))) {
$accounts[] = $transaction->account;
}
}
}
$this->repository->destroy($group); $this->repository->destroy($group);
app('preferences')->mark(); app('preferences')->mark();
/** @var Account $account */
foreach($accounts as $account) {
Log::debug(sprintf('Now going to trigger updated account event for account #%d', $account->id));
event(new UpdatedAccount($account));
}
return redirect($this->getPreviousUrl('transactions.delete.url')); return redirect($this->getPreviousUrl('transactions.delete.url'));
} }
} }

View File

@@ -32,9 +32,11 @@ use FireflyIII\Transformers\TransactionGroupTransformer;
use Illuminate\Contracts\View\Factory; use Illuminate\Contracts\View\Factory;
use Illuminate\Http\JsonResponse; use Illuminate\Http\JsonResponse;
use Illuminate\Http\Request; use Illuminate\Http\Request;
use Illuminate\Support\Facades\Log;
use Illuminate\View\View; use Illuminate\View\View;
use Symfony\Component\HttpFoundation\ParameterBag; use Symfony\Component\HttpFoundation\ParameterBag;
/** /**
* Class ShowController * Class ShowController
*/ */
@@ -146,7 +148,7 @@ class ShowController extends Controller
]; ];
} }
$amounts[$symbol]['amount'] = bcadd($amounts[$symbol]['amount'], $transaction['amount']); $amounts[$symbol]['amount'] = bcadd($amounts[$symbol]['amount'], $transaction['amount']);
if (null !== $transaction['foreign_amount']) { if (null !== $transaction['foreign_amount'] && '' !== $transaction['foreign_amount'] && bccomp('0', $transaction['foreign_amount']) !== 0) {
// same for foreign currency: // same for foreign currency:
$foreignSymbol = $transaction['foreign_currency_symbol']; $foreignSymbol = $transaction['foreign_currency_symbol'];
if (!array_key_exists($foreignSymbol, $amounts)) { if (!array_key_exists($foreignSymbol, $amounts)) {

View File

@@ -45,24 +45,24 @@ class AccountFormRequest extends FormRequest
public function getAccountData(): array public function getAccountData(): array
{ {
$data = [ $data = [
'name' => $this->string('name'), 'name' => $this->convertString('name'),
'active' => $this->boolean('active'), 'active' => $this->boolean('active'),
'account_type_name' => $this->string('objectType'), 'account_type_name' => $this->convertString('objectType'),
'currency_id' => $this->integer('currency_id'), 'currency_id' => $this->convertInteger('currency_id'),
'virtual_balance' => $this->string('virtual_balance'), 'virtual_balance' => $this->convertString('virtual_balance'),
'iban' => $this->string('iban'), 'iban' => $this->convertString('iban'),
'BIC' => $this->string('BIC'), 'BIC' => $this->convertString('BIC'),
'account_number' => $this->string('account_number'), 'account_number' => $this->convertString('account_number'),
'account_role' => $this->string('account_role'), 'account_role' => $this->convertString('account_role'),
'opening_balance' => $this->string('opening_balance'), 'opening_balance' => $this->convertString('opening_balance'),
'opening_balance_date' => $this->getCarbonDate('opening_balance_date'), 'opening_balance_date' => $this->getCarbonDate('opening_balance_date'),
'cc_type' => $this->string('cc_type'), 'cc_type' => $this->convertString('cc_type'),
'cc_monthly_payment_date' => $this->string('cc_monthly_payment_date'), 'cc_monthly_payment_date' => $this->convertString('cc_monthly_payment_date'),
'notes' => $this->stringWithNewlines('notes'), 'notes' => $this->stringWithNewlines('notes'),
'interest' => $this->string('interest'), 'interest' => $this->convertString('interest'),
'interest_period' => $this->string('interest_period'), 'interest_period' => $this->convertString('interest_period'),
'include_net_worth' => '1', 'include_net_worth' => '1',
'liability_direction' => $this->string('liability_direction'), 'liability_direction' => $this->convertString('liability_direction'),
]; ];
$data = $this->appendLocationData($data, 'location'); $data = $this->appendLocationData($data, 'location');
@@ -77,7 +77,7 @@ class AccountFormRequest extends FormRequest
// that could have been selected. // that could have been selected.
if ('liabilities' === $data['account_type_name']) { if ('liabilities' === $data['account_type_name']) {
$data['account_type_name'] = null; $data['account_type_name'] = null;
$data['account_type_id'] = $this->integer('liability_type_id'); $data['account_type_id'] = $this->convertInteger('liability_type_id');
if ('' !== $data['opening_balance']) { if ('' !== $data['opening_balance']) {
$data['opening_balance'] = app('steam')->negative($data['opening_balance']); $data['opening_balance'] = app('steam')->negative($data['opening_balance']);
} }
@@ -100,7 +100,7 @@ class AccountFormRequest extends FormRequest
'name' => 'required|min:1|uniqueAccountForUser', 'name' => 'required|min:1|uniqueAccountForUser',
'opening_balance' => 'numeric|nullable|max:1000000000', 'opening_balance' => 'numeric|nullable|max:1000000000',
'opening_balance_date' => 'date|required_with:opening_balance|nullable', 'opening_balance_date' => 'date|required_with:opening_balance|nullable',
'iban' => ['iban', 'nullable', new UniqueIban(null, $this->string('objectType'))], 'iban' => ['iban', 'nullable', new UniqueIban(null, $this->convertString('objectType'))],
'BIC' => 'bic|nullable', 'BIC' => 'bic|nullable',
'virtual_balance' => 'numeric|nullable|max:1000000000', 'virtual_balance' => 'numeric|nullable|max:1000000000',
'currency_id' => 'exists:transaction_currencies,id', 'currency_id' => 'exists:transaction_currencies,id',

View File

@@ -43,8 +43,8 @@ class AttachmentFormRequest extends FormRequest
public function getAttachmentData(): array public function getAttachmentData(): array
{ {
return [ return [
'title' => $this->string('title'), 'title' => $this->convertString('title'),
'notes' => $this->string('notes'), 'notes' => $this->convertString('notes'),
]; ];
} }

View File

@@ -41,19 +41,19 @@ class BillStoreRequest extends FormRequest
public function getBillData(): array public function getBillData(): array
{ {
return [ return [
'name' => $this->string('name'), 'name' => $this->convertString('name'),
'amount_min' => $this->string('amount_min'), 'amount_min' => $this->convertString('amount_min'),
'currency_id' => $this->integer('transaction_currency_id'), 'currency_id' => $this->convertInteger('transaction_currency_id'),
'currency_code' => '', 'currency_code' => '',
'amount_max' => $this->string('amount_max'), 'amount_max' => $this->convertString('amount_max'),
'date' => $this->getCarbonDate('date'), 'date' => $this->getCarbonDate('date'),
'end_date' => $this->getCarbonDate('bill_end_date'), 'end_date' => $this->getCarbonDate('bill_end_date'),
'extension_date' => $this->getCarbonDate('extension_date'), 'extension_date' => $this->getCarbonDate('extension_date'),
'repeat_freq' => $this->string('repeat_freq'), 'repeat_freq' => $this->convertString('repeat_freq'),
'skip' => $this->integer('skip'), 'skip' => $this->convertInteger('skip'),
'notes' => $this->stringWithNewlines('notes'), 'notes' => $this->stringWithNewlines('notes'),
'active' => $this->boolean('active'), 'active' => $this->boolean('active'),
'object_group_title' => $this->string('object_group'), 'object_group_title' => $this->convertString('object_group'),
]; ];
} }

View File

@@ -42,19 +42,19 @@ class BillUpdateRequest extends FormRequest
public function getBillData(): array public function getBillData(): array
{ {
return [ return [
'name' => $this->string('name'), 'name' => $this->convertString('name'),
'amount_min' => $this->string('amount_min'), 'amount_min' => $this->convertString('amount_min'),
'currency_id' => $this->integer('transaction_currency_id'), 'currency_id' => $this->convertInteger('transaction_currency_id'),
'currency_code' => '', 'currency_code' => '',
'amount_max' => $this->string('amount_max'), 'amount_max' => $this->convertString('amount_max'),
'date' => $this->getCarbonDate('date'), 'date' => $this->getCarbonDate('date'),
'end_date' => $this->getCarbonDate('bill_end_date'), 'end_date' => $this->getCarbonDate('bill_end_date'),
'extension_date' => $this->getCarbonDate('extension_date'), 'extension_date' => $this->getCarbonDate('extension_date'),
'repeat_freq' => $this->string('repeat_freq'), 'repeat_freq' => $this->convertString('repeat_freq'),
'skip' => $this->integer('skip'), 'skip' => $this->convertInteger('skip'),
'notes' => $this->stringWithNewlines('notes'), 'notes' => $this->stringWithNewlines('notes'),
'active' => $this->boolean('active'), 'active' => $this->boolean('active'),
'object_group_title' => $this->string('object_group'), 'object_group_title' => $this->convertString('object_group'),
]; ];
} }

View File

@@ -44,12 +44,12 @@ class BudgetFormStoreRequest extends FormRequest
public function getBudgetData(): array public function getBudgetData(): array
{ {
return [ return [
'name' => $this->string('name'), 'name' => $this->convertString('name'),
'active' => $this->boolean('active'), 'active' => $this->boolean('active'),
'auto_budget_type' => $this->integer('auto_budget_type'), 'auto_budget_type' => $this->convertInteger('auto_budget_type'),
'currency_id' => $this->integer('auto_budget_currency_id'), 'currency_id' => $this->convertInteger('auto_budget_currency_id'),
'auto_budget_amount' => $this->string('auto_budget_amount'), 'auto_budget_amount' => $this->convertString('auto_budget_amount'),
'auto_budget_period' => $this->string('auto_budget_period'), 'auto_budget_period' => $this->convertString('auto_budget_period'),
]; ];
} }

View File

@@ -45,12 +45,12 @@ class BudgetFormUpdateRequest extends FormRequest
public function getBudgetData(): array public function getBudgetData(): array
{ {
return [ return [
'name' => $this->string('name'), 'name' => $this->convertString('name'),
'active' => $this->boolean('active'), 'active' => $this->boolean('active'),
'auto_budget_type' => $this->integer('auto_budget_type'), 'auto_budget_type' => $this->convertInteger('auto_budget_type'),
'currency_id' => $this->integer('auto_budget_currency_id'), 'currency_id' => $this->convertInteger('auto_budget_currency_id'),
'auto_budget_amount' => $this->string('auto_budget_amount'), 'auto_budget_amount' => $this->convertString('auto_budget_amount'),
'auto_budget_period' => $this->string('auto_budget_period'), 'auto_budget_period' => $this->convertString('auto_budget_period'),
]; ];
} }

View File

@@ -42,7 +42,7 @@ class CategoryFormRequest extends FormRequest
public function getCategoryData(): array public function getCategoryData(): array
{ {
return [ return [
'name' => $this->string('name'), 'name' => $this->convertString('name'),
'notes' => $this->stringWithNewlines('notes'), 'notes' => $this->stringWithNewlines('notes'),
]; ];
} }

View File

@@ -42,10 +42,10 @@ class CurrencyFormRequest extends FormRequest
public function getCurrencyData(): array public function getCurrencyData(): array
{ {
return [ return [
'name' => $this->string('name'), 'name' => $this->convertString('name'),
'code' => $this->string('code'), 'code' => $this->convertString('code'),
'symbol' => $this->string('symbol'), 'symbol' => $this->convertString('symbol'),
'decimal_places' => $this->integer('decimal_places'), 'decimal_places' => $this->convertInteger('decimal_places'),
'enabled' => $this->boolean('enabled'), 'enabled' => $this->boolean('enabled'),
]; ];
} }

View File

@@ -45,8 +45,8 @@ class JournalLinkRequest extends FormRequest
$linkType = $this->get('link_type'); $linkType = $this->get('link_type');
$parts = explode('_', $linkType); $parts = explode('_', $linkType);
$return['link_type_id'] = (int) $parts[0]; $return['link_type_id'] = (int) $parts[0];
$return['transaction_journal_id'] = $this->integer('opposing'); $return['transaction_journal_id'] = $this->convertInteger('opposing');
$return['notes'] = $this->string('notes'); $return['notes'] = $this->convertString('notes');
$return['direction'] = $parts[1]; $return['direction'] = $parts[1];
return $return; return $return;

View File

@@ -42,7 +42,7 @@ class ObjectGroupFormRequest extends FormRequest
public function getObjectGroupData(): array public function getObjectGroupData(): array
{ {
return [ return [
'title' => $this->string('title'), 'title' => $this->convertString('title'),
]; ];
} }

View File

@@ -41,13 +41,13 @@ class PiggyBankStoreRequest extends FormRequest
public function getPiggyBankData(): array public function getPiggyBankData(): array
{ {
return [ return [
'name' => $this->string('name'), 'name' => $this->convertString('name'),
'startdate' => $this->getCarbonDate('startdate'), 'startdate' => $this->getCarbonDate('startdate'),
'account_id' => $this->integer('account_id'), 'account_id' => $this->convertInteger('account_id'),
'targetamount' => $this->string('targetamount'), 'targetamount' => $this->convertString('targetamount'),
'targetdate' => $this->getCarbonDate('targetdate'), 'targetdate' => $this->getCarbonDate('targetdate'),
'notes' => $this->stringWithNewlines('notes'), 'notes' => $this->stringWithNewlines('notes'),
'object_group_title' => $this->string('object_group'), 'object_group_title' => $this->convertString('object_group'),
]; ];
} }

View File

@@ -42,13 +42,13 @@ class PiggyBankUpdateRequest extends FormRequest
public function getPiggyBankData(): array public function getPiggyBankData(): array
{ {
return [ return [
'name' => $this->string('name'), 'name' => $this->convertString('name'),
'startdate' => $this->getCarbonDate('startdate'), 'startdate' => $this->getCarbonDate('startdate'),
'account_id' => $this->integer('account_id'), 'account_id' => $this->convertInteger('account_id'),
'targetamount' => $this->string('targetamount'), 'targetamount' => $this->convertString('targetamount'),
'targetdate' => $this->getCarbonDate('targetdate'), 'targetdate' => $this->getCarbonDate('targetdate'),
'notes' => $this->stringWithNewlines('notes'), 'notes' => $this->stringWithNewlines('notes'),
'object_group_title' => $this->string('object_group'), 'object_group_title' => $this->convertString('object_group'),
]; ];
} }

View File

@@ -50,11 +50,11 @@ class ReconciliationStoreRequest extends FormRequest
$data = [ $data = [
'start' => $this->getCarbonDate('start'), 'start' => $this->getCarbonDate('start'),
'end' => $this->getCarbonDate('end'), 'end' => $this->getCarbonDate('end'),
'start_balance' => $this->string('startBalance'), 'start_balance' => $this->convertString('startBalance'),
'end_balance' => $this->string('endBalance'), 'end_balance' => $this->convertString('endBalance'),
'difference' => $this->string('difference'), 'difference' => $this->convertString('difference'),
'journals' => $transactions, 'journals' => $transactions,
'reconcile' => $this->string('reconcile'), 'reconcile' => $this->convertString('reconcile'),
]; ];
Log::debug('In ReconciliationStoreRequest::getAll(). Will now return data.'); Log::debug('In ReconciliationStoreRequest::getAll(). Will now return data.');

View File

@@ -56,34 +56,34 @@ class RecurrenceFormRequest extends FormRequest
$repetitionData = $this->parseRepetitionData(); $repetitionData = $this->parseRepetitionData();
$return = [ $return = [
'recurrence' => [ 'recurrence' => [
'type' => $this->string('transaction_type'), 'type' => $this->convertString('transaction_type'),
'title' => $this->string('title'), 'title' => $this->convertString('title'),
'description' => $this->string('recurring_description'), 'description' => $this->convertString('recurring_description'),
'first_date' => $this->getCarbonDate('first_date'), 'first_date' => $this->getCarbonDate('first_date'),
'repeat_until' => $this->getCarbonDate('repeat_until'), 'repeat_until' => $this->getCarbonDate('repeat_until'),
'nr_of_repetitions' => $this->integer('repetitions'), 'nr_of_repetitions' => $this->convertInteger('repetitions'),
'apply_rules' => $this->boolean('apply_rules'), 'apply_rules' => $this->boolean('apply_rules'),
'active' => $this->boolean('active'), 'active' => $this->boolean('active'),
'repetition_end' => $this->string('repetition_end'), 'repetition_end' => $this->convertString('repetition_end'),
], ],
'transactions' => [ 'transactions' => [
[ [
'currency_id' => $this->integer('transaction_currency_id'), 'currency_id' => $this->convertInteger('transaction_currency_id'),
'currency_code' => null, 'currency_code' => null,
'type' => $this->string('transaction_type'), 'type' => $this->convertString('transaction_type'),
'description' => $this->string('transaction_description'), 'description' => $this->convertString('transaction_description'),
'amount' => $this->string('amount'), 'amount' => $this->convertString('amount'),
'foreign_amount' => null, 'foreign_amount' => null,
'foreign_currency_id' => null, 'foreign_currency_id' => null,
'foreign_currency_code' => null, 'foreign_currency_code' => null,
'budget_id' => $this->integer('budget_id'), 'budget_id' => $this->convertInteger('budget_id'),
'budget_name' => null, 'budget_name' => null,
'bill_id' => $this->integer('bill_id'), 'bill_id' => $this->convertInteger('bill_id'),
'bill_name' => null, 'bill_name' => null,
'category_id' => null, 'category_id' => null,
'category_name' => $this->string('category'), 'category_name' => $this->convertString('category'),
'tags' => '' !== $this->string('tags') ? explode(',', $this->string('tags')) : [], 'tags' => '' !== $this->convertString('tags') ? explode(',', $this->convertString('tags')) : [],
'piggy_bank_id' => $this->integer('piggy_bank_id'), 'piggy_bank_id' => $this->convertInteger('piggy_bank_id'),
'piggy_bank_name' => null, 'piggy_bank_name' => null,
], ],
], ],
@@ -91,17 +91,17 @@ class RecurrenceFormRequest extends FormRequest
[ [
'type' => $repetitionData['type'], 'type' => $repetitionData['type'],
'moment' => $repetitionData['moment'], 'moment' => $repetitionData['moment'],
'skip' => $this->integer('skip'), 'skip' => $this->convertInteger('skip'),
'weekend' => $this->integer('weekend'), 'weekend' => $this->convertInteger('weekend'),
], ],
], ],
]; ];
// fill in foreign currency data // fill in foreign currency data
if (null !== $this->float('foreign_amount')) { if (null !== $this->convertFloat('foreign_amount')) {
$return['transactions'][0]['foreign_amount'] = $this->string('foreign_amount'); $return['transactions'][0]['foreign_amount'] = $this->convertString('foreign_amount');
$return['transactions'][0]['foreign_currency_id'] = $this->integer('foreign_currency_id'); $return['transactions'][0]['foreign_currency_id'] = $this->convertInteger('foreign_currency_id');
} }
// default values: // default values:
$return['transactions'][0]['source_id'] = null; $return['transactions'][0]['source_id'] = null;
@@ -109,20 +109,20 @@ class RecurrenceFormRequest extends FormRequest
$return['transactions'][0]['destination_id'] = null; $return['transactions'][0]['destination_id'] = null;
$return['transactions'][0]['destination_name'] = null; $return['transactions'][0]['destination_name'] = null;
// fill in source and destination account data // fill in source and destination account data
switch ($this->string('transaction_type')) { switch ($this->convertString('transaction_type')) {
default: default:
throw new FireflyException(sprintf('Cannot handle transaction type "%s"', $this->string('transaction_type'))); throw new FireflyException(sprintf('Cannot handle transaction type "%s"', $this->convertString('transaction_type')));
case 'withdrawal': case 'withdrawal':
$return['transactions'][0]['source_id'] = $this->integer('source_id'); $return['transactions'][0]['source_id'] = $this->convertInteger('source_id');
$return['transactions'][0]['destination_id'] = $this->integer('withdrawal_destination_id'); $return['transactions'][0]['destination_id'] = $this->convertInteger('withdrawal_destination_id');
break; break;
case 'deposit': case 'deposit':
$return['transactions'][0]['source_id'] = $this->integer('deposit_source_id'); $return['transactions'][0]['source_id'] = $this->convertInteger('deposit_source_id');
$return['transactions'][0]['destination_id'] = $this->integer('destination_id'); $return['transactions'][0]['destination_id'] = $this->convertInteger('destination_id');
break; break;
case 'transfer': case 'transfer':
$return['transactions'][0]['source_id'] = $this->integer('source_id'); $return['transactions'][0]['source_id'] = $this->convertInteger('source_id');
$return['transactions'][0]['destination_id'] = $this->integer('destination_id'); $return['transactions'][0]['destination_id'] = $this->convertInteger('destination_id');
break; break;
} }
@@ -149,7 +149,7 @@ class RecurrenceFormRequest extends FormRequest
*/ */
private function parseRepetitionData(): array private function parseRepetitionData(): array
{ {
$value = $this->string('repetition_type'); $value = $this->convertString('repetition_type');
$return = [ $return = [
'type' => '', 'type' => '',
'moment' => '', 'moment' => '',
@@ -219,26 +219,26 @@ class RecurrenceFormRequest extends FormRequest
'category' => 'between:1,255|nullable', 'category' => 'between:1,255|nullable',
'tags' => 'between:1,255|nullable', 'tags' => 'between:1,255|nullable',
]; ];
if ($this->integer('foreign_currency_id') > 0) { if ($this->convertInteger('foreign_currency_id') > 0) {
$rules['foreign_currency_id'] = 'exists:transaction_currencies,id'; $rules['foreign_currency_id'] = 'exists:transaction_currencies,id';
} }
// if ends after X repetitions, set another rule // if ends after X repetitions, set another rule
if ('times' === $this->string('repetition_end')) { if ('times' === $this->convertString('repetition_end')) {
$rules['repetitions'] = 'required|numeric|between:0,254'; $rules['repetitions'] = 'required|numeric|between:0,254';
} }
// if foreign amount, currency must be different. // if foreign amount, currency must be different.
if (null !== $this->float('foreign_amount')) { if (null !== $this->convertFloat('foreign_amount')) {
$rules['foreign_currency_id'] = 'exists:transaction_currencies,id|different:transaction_currency_id'; $rules['foreign_currency_id'] = 'exists:transaction_currencies,id|different:transaction_currency_id';
} }
// if ends at date X, set another rule. // if ends at date X, set another rule.
if ('until_date' === $this->string('repetition_end')) { if ('until_date' === $this->convertString('repetition_end')) {
$rules['repeat_until'] = 'required|date|after:' . $tomorrow->format('Y-m-d'); $rules['repeat_until'] = 'required|date|after:' . $tomorrow->format('Y-m-d');
} }
// switchc on type to expand rules for source and destination accounts: // switch on type to expand rules for source and destination accounts:
switch ($this->string('transaction_type')) { switch ($this->convertString('transaction_type')) {
case strtolower(TransactionType::WITHDRAWAL): case strtolower(TransactionType::WITHDRAWAL):
$rules['source_id'] = 'required|exists:accounts,id|belongsToUser:accounts'; $rules['source_id'] = 'required|exists:accounts,id|belongsToUser:accounts';
$rules['destination_name'] = 'between:1,255|nullable'; $rules['destination_name'] = 'between:1,255|nullable';
@@ -254,7 +254,7 @@ class RecurrenceFormRequest extends FormRequest
break; break;
default: default:
throw new FireflyException(sprintf('Cannot handle transaction type of type "%s"', $this->string('transaction_type'))); throw new FireflyException(sprintf('Cannot handle transaction type of type "%s"', $this->convertString('transaction_type')));
} }
// update some rules in case the user is editing a post: // update some rules in case the user is editing a post:
@@ -309,9 +309,9 @@ class RecurrenceFormRequest extends FormRequest
// See reference nr. 45 // See reference nr. 45
switch ($this->string('transaction_type')) { switch ($this->convertString('transaction_type')) {
default: default:
throw new FireflyException(sprintf('Cannot handle transaction type "%s"', $this->string('transaction_type'))); throw new FireflyException(sprintf('Cannot handle transaction type "%s"', $this->convertString('transaction_type')));
case 'withdrawal': case 'withdrawal':
$sourceId = (int) $data['source_id']; $sourceId = (int) $data['source_id'];
$destinationId = (int) $data['withdrawal_destination_id']; $destinationId = (int) $data['withdrawal_destination_id'];

View File

@@ -44,10 +44,10 @@ class RuleFormRequest extends FormRequest
public function getRuleData(): array public function getRuleData(): array
{ {
return [ return [
'title' => $this->string('title'), 'title' => $this->convertString('title'),
'rule_group_id' => $this->integer('rule_group_id'), 'rule_group_id' => $this->convertInteger('rule_group_id'),
'active' => $this->boolean('active'), 'active' => $this->boolean('active'),
'trigger' => $this->string('trigger'), 'trigger' => $this->convertString('trigger'),
'description' => $this->stringWithNewlines('description'), 'description' => $this->stringWithNewlines('description'),
'stop_processing' => $this->boolean('stop_processing'), 'stop_processing' => $this->boolean('stop_processing'),
'strict' => $this->boolean('strict'), 'strict' => $this->boolean('strict'),

View File

@@ -48,7 +48,7 @@ class RuleGroupFormRequest extends FormRequest
} }
return [ return [
'title' => $this->string('title'), 'title' => $this->convertString('title'),
'description' => $this->stringWithNewlines('description'), 'description' => $this->stringWithNewlines('description'),
'active' => $active, 'active' => $active,
]; ];

View File

@@ -44,9 +44,9 @@ class TagFormRequest extends FormRequest
public function collectTagData(): array public function collectTagData(): array
{ {
$data = [ $data = [
'tag' => $this->string('tag'), 'tag' => $this->convertString('tag'),
'date' => $this->getCarbonDate('date'), 'date' => $this->getCarbonDate('date'),
'description' => $this->string('description'), 'description' => $this->convertString('description'),
]; ];
return $this->appendLocationData($data, 'location'); return $this->appendLocationData($data, 'location');

View File

@@ -43,11 +43,11 @@ class UserFormRequest extends FormRequest
public function getUserData(): array public function getUserData(): array
{ {
return [ return [
'email' => $this->string('email'), 'email' => $this->convertString('email'),
'blocked' => 1 === $this->integer('blocked'), 'blocked' => 1 === $this->convertInteger('blocked'),
'blocked_code' => $this->string('blocked_code'), 'blocked_code' => $this->convertString('blocked_code'),
'password' => $this->string('password'), 'password' => $this->convertString('password'),
'is_owner' => 1 === $this->integer('is_owner'), 'is_owner' => 1 === $this->convertInteger('is_owner'),
]; ];
} }

View File

@@ -24,6 +24,7 @@ namespace FireflyIII\Models;
use Eloquent; use Eloquent;
use FireflyIII\User; use FireflyIII\User;
use Illuminate\Database\Eloquent\Casts\Attribute;
use Illuminate\Database\Eloquent\Collection; use Illuminate\Database\Eloquent\Collection;
use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\BelongsTo; use Illuminate\Database\Eloquent\Relations\BelongsTo;
@@ -223,4 +224,28 @@ class Bill extends Model
{ {
return $this->belongsTo(User::class); return $this->belongsTo(User::class);
} }
/**
* Get the max amount
*
* @return Attribute
*/
protected function amountMax(): Attribute
{
return Attribute::make(
get: fn($value) => (string) $value,
);
}
/**
* Get the min amount
*
* @return Attribute
*/
protected function amountMin(): Attribute
{
return Attribute::make(
get: fn($value) => (string) $value,
);
}
} }

View File

@@ -24,6 +24,7 @@ namespace FireflyIII\Models;
use Eloquent; use Eloquent;
use Illuminate\Database\Eloquent\Builder; use Illuminate\Database\Eloquent\Builder;
use Illuminate\Database\Eloquent\Casts\Attribute;
use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\BelongsTo; use Illuminate\Database\Eloquent\Relations\BelongsTo;
use Illuminate\Support\Carbon; use Illuminate\Support\Carbon;
@@ -119,4 +120,16 @@ class BudgetLimit extends Model
{ {
return $this->belongsTo(TransactionCurrency::class); return $this->belongsTo(TransactionCurrency::class);
} }
/**
* Get the amount
*
* @return Attribute
*/
protected function amount(): Attribute
{
return Attribute::make(
get: fn($value) => (string) $value,
);
}
} }

View File

@@ -24,6 +24,7 @@ namespace FireflyIII\Models;
use Eloquent; use Eloquent;
use Illuminate\Database\Eloquent\Builder; use Illuminate\Database\Eloquent\Builder;
use Illuminate\Database\Eloquent\Casts\Attribute;
use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\BelongsTo; use Illuminate\Database\Eloquent\Relations\BelongsTo;
use Illuminate\Support\Carbon; use Illuminate\Support\Carbon;
@@ -97,4 +98,16 @@ class PiggyBankEvent extends Model
{ {
return $this->belongsTo(TransactionJournal::class); return $this->belongsTo(TransactionJournal::class);
} }
/**
* Get the amount
*
* @return Attribute
*/
protected function amount(): Attribute
{
return Attribute::make(
get: fn($value) => (string) $value,
);
}
} }

View File

@@ -25,6 +25,7 @@ namespace FireflyIII\Models;
use Carbon\Carbon; use Carbon\Carbon;
use Eloquent; use Eloquent;
use Illuminate\Database\Eloquent\Builder as EloquentBuilder; use Illuminate\Database\Eloquent\Builder as EloquentBuilder;
use Illuminate\Database\Eloquent\Casts\Attribute;
use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\BelongsTo; use Illuminate\Database\Eloquent\Relations\BelongsTo;
@@ -126,4 +127,16 @@ class PiggyBankRepetition extends Model
{ {
$this->attributes['currentamount'] = (string) $value; $this->attributes['currentamount'] = (string) $value;
} }
/**
* Get the amount
*
* @return Attribute
*/
protected function currentamount(): Attribute
{
return Attribute::make(
get: fn($value) => (string) $value,
);
}
} }

View File

@@ -25,6 +25,7 @@ namespace FireflyIII\Models;
use Carbon\Carbon; use Carbon\Carbon;
use Eloquent; use Eloquent;
use Illuminate\Database\Eloquent\Builder; use Illuminate\Database\Eloquent\Builder;
use Illuminate\Database\Eloquent\Casts\Attribute;
use Illuminate\Database\Eloquent\Collection; use Illuminate\Database\Eloquent\Collection;
use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Model;
@@ -256,4 +257,28 @@ class Transaction extends Model
{ {
return $this->belongsTo(TransactionJournal::class); return $this->belongsTo(TransactionJournal::class);
} }
/**
* Get the amount
*
* @return Attribute
*/
protected function amount(): Attribute
{
return Attribute::make(
get: fn($value) => (string) $value,
);
}
/**
* Get the foreign amount
*
* @return Attribute
*/
protected function foreignAmount(): Attribute
{
return Attribute::make(
get: fn($value) => (string) $value,
);
}
} }

View File

@@ -64,7 +64,6 @@ class AuthServiceProvider extends ServiceProvider
); );
$this->registerPolicies(); $this->registerPolicies();
Passport::routes();
Passport::tokensExpireIn(now()->addDays(14)); Passport::tokensExpireIn(now()->addDays(14));
} }
} }

View File

@@ -49,6 +49,7 @@ use Laravel\Passport\Events\AccessTokenCreated;
use Log; use Log;
use Mail; use Mail;
use Session; use Session;
use TypeError;
/** /**
* Class EventServiceProvider. * Class EventServiceProvider.
@@ -189,7 +190,7 @@ class EventServiceProvider extends ServiceProvider
try { try {
Log::debug('Trying to send message...'); Log::debug('Trying to send message...');
Mail::to($email)->send(new OAuthTokenCreatedMail($oauthClient)); Mail::to($email)->send(new OAuthTokenCreatedMail($oauthClient));
} catch (Exception $e) { // @phpstan-ignore-line } catch (TypeError|Exception $e) { // @phpstan-ignore-line
Log::debug('Send message failed! :('); Log::debug('Send message failed! :(');
Log::error($e->getMessage()); Log::error($e->getMessage());
Log::error($e->getTraceAsString()); Log::error($e->getTraceAsString());

View File

@@ -438,7 +438,7 @@ class BillRepository implements BillRepositoryInterface
//Log::debug(sprintf('Dates = %d, journalCount = %d, total = %d', $dates->count(), $count, $total)); //Log::debug(sprintf('Dates = %d, journalCount = %d, total = %d', $dates->count(), $count, $total));
if ($total > 0) { if ($total > 0) {
$average = bcdiv(bcadd($bill->amount_max, $bill->amount_min), '2'); $average = bcdiv(bcadd((string) $bill->amount_max, (string) $bill->amount_min), '2');
$multi = bcmul($average, (string) $total); $multi = bcmul($average, (string) $total);
$return[$currencyId] = $return[$currencyId] ?? '0'; $return[$currencyId] = $return[$currencyId] ?? '0';
$return[$currencyId] = bcadd($return[$currencyId], $multi); $return[$currencyId] = bcadd($return[$currencyId], $multi);

View File

@@ -238,6 +238,13 @@ class PiggyBankRepository implements PiggyBankRepositoryInterface
Log::debug(sprintf('The currency is %s and the amount is %s', $currency->code, $amount)); Log::debug(sprintf('The currency is %s and the amount is %s', $currency->code, $amount));
$room = bcsub((string) $piggyBank->targetamount, (string) $repetition->currentamount); $room = bcsub((string) $piggyBank->targetamount, (string) $repetition->currentamount);
$compare = bcmul($repetition->currentamount, '-1'); $compare = bcmul($repetition->currentamount, '-1');
if(bccomp((string) $piggyBank->targetamount,'0') === 0) {
// amount is zero? then the "room" is positive amount of we wish to add or remove.
$room = app('steam')->positive($amount);
Log::debug(sprintf('Room is now %s', $room));
}
Log::debug(sprintf('Will add/remove %f to piggy bank #%d ("%s")', $amount, $piggyBank->id, $piggyBank->name)); Log::debug(sprintf('Will add/remove %f to piggy bank #%d ("%s")', $amount, $piggyBank->id, $piggyBank->name));
// if the amount is positive, make sure it fits in piggy bank: // if the amount is positive, make sure it fits in piggy bank:
@@ -334,7 +341,8 @@ class PiggyBankRepository implements PiggyBankRepositoryInterface
} }
if (null !== $piggyBank->targetdate && $repetition->currentamount < $piggyBank->targetamount) { if (null !== $piggyBank->targetdate && $repetition->currentamount < $piggyBank->targetamount) {
$now = Carbon::now(); $now = Carbon::now();
$diffInMonths = $now->diffInMonths($piggyBank->targetdate, false); $startDate = null !== $piggyBank->startdate && $piggyBank->startdate->gte($now) ? $piggyBank->startdate : $now;
$diffInMonths = $startDate->diffInMonths($piggyBank->targetdate, false);
$remainingAmount = bcsub($piggyBank->targetamount, $repetition->currentamount); $remainingAmount = bcsub($piggyBank->targetamount, $repetition->currentamount);
// more than 1 month to go and still need money to save: // more than 1 month to go and still need money to save:

Some files were not shown because too many files have changed in this diff Show More