Compare commits

...

642 Commits
4.6.5 ... 4.6.9

Author SHA1 Message Date
James Cole
869845f32a Merge branch 'release/4.6.9' 2017-10-22 06:39:49 +02:00
James Cole
d79493b84c Updated file list. 2017-10-22 06:35:53 +02:00
James Cole
ebe275c37b Update composer file. 2017-10-22 06:35:04 +02:00
James Cole
8f728633ba Small layout changes. 2017-10-22 06:12:24 +02:00
James Cole
1b23bd1e98 Update issue template 2017-10-22 06:11:58 +02:00
James Cole
b2a0e22c48 Update changelog. 2017-10-22 06:11:44 +02:00
James Cole
578252a2c7 Merge pull request #930 from firefly-iii/l10n_develop
New Crowdin translations
2017-10-22 05:52:39 +02:00
James Cole
f326c5ec19 Fix #944 2017-10-22 05:47:07 +02:00
James Cole
0358d45614 Make new Sandstorm user an admin. 2017-10-21 21:51:09 +02:00
James Cole
69b26fcb5d Updated readme. 2017-10-21 20:50:15 +02:00
James Cole
2197438e3d Add sandstorm reference to read me. 2017-10-21 20:46:34 +02:00
James Cole
779c8b6753 Remove upstream author. 2017-10-21 20:45:08 +02:00
James Cole
dc784b346f Fix intro box thing. 2017-10-21 12:19:39 +02:00
James Cole
33fbf4c939 File list 2017-10-21 10:03:34 +02:00
James Cole
3d9f9770b4 More stuff for Sandstorm. 2017-10-21 09:58:44 +02:00
James Cole
a3d23aa43c Update license for Sandstorm file. 2017-10-21 08:50:47 +02:00
James Cole
ac461d64a8 New copyright notice. 2017-10-21 08:40:00 +02:00
James Cole
2e40ec5d4b Some new files. Updated composer file. 2017-10-20 21:18:27 +02:00
James Cole
72cf4c26f2 Push some stuff over get, not post. 2017-10-20 20:23:45 +02:00
James Cole
b6add99654 Expand capnp file. [skip ci] 2017-10-20 19:28:39 +02:00
James Cole
b07f732daa Update Sandstorm things 2017-10-20 18:50:54 +02:00
James Cole
a67037d586 Update sandstorm files. 2017-10-20 14:21:47 +02:00
James Cole
a352423cf8 Fix account display. 2017-10-20 13:35:54 +02:00
James Cole
b0be407c7c Updated read me file. [skip ci] 2017-10-20 10:07:53 +02:00
James Cole
4bacbae68a Updated read me file. [skip ci] 2017-10-20 10:06:13 +02:00
James Cole
87987f2a2e Less popups for #943 2017-10-20 08:00:13 +02:00
James Cole
30bfdda2b0 Fix view of #942 2017-10-20 07:55:04 +02:00
James Cole
4d6c679b0e Fix #942 2017-10-20 07:51:53 +02:00
James Cole
de15ca01e3 Fix #895 2017-10-19 20:51:15 +02:00
James Cole
c53618d0e2 Fix #942 2017-10-19 20:37:39 +02:00
James Cole
7d921d648d Remove exclamation mark. 2017-10-19 20:32:41 +02:00
James Cole
7e8e766ab4 Fix #902 2017-10-19 18:58:54 +02:00
James Cole
7f5134f758 Clean up routine for #938 2017-10-19 18:35:19 +02:00
James Cole
bcc8e84a73 tpl 2017-10-19 18:11:45 +02:00
James Cole
eec076c745 Fixed #940 2017-10-19 18:08:50 +02:00
James Cole
34bf5f7bfd Create PULL_REQUEST_TEMPLATE.md 2017-10-19 11:13:04 +02:00
James Cole
e0e2b79c1a Create ISSUE_TEMPLATE.md 2017-10-19 11:12:20 +02:00
James Cole
783f587a8a Fix #933 2017-10-16 19:01:26 +02:00
James Cole
95c3f52144 Fix #932 2017-10-16 15:53:55 +02:00
James Cole
b36fc067c9 Set environment to local. 2017-10-15 16:25:26 +02:00
James Cole
dc48335ed9 Remove double budget limits. 2017-10-15 14:38:12 +02:00
James Cole
dad1ee6edd Fix bars #916 2017-10-15 14:37:58 +02:00
James Cole
5c0bb34d77 Code for #916 2017-10-15 14:05:31 +02:00
James Cole
3e85e4180a New translations firefly.php (Spanish) 2017-10-15 11:20:28 +02:00
James Cole
99500a1ee2 New translations firefly.php (Portuguese, Brazilian) 2017-10-15 11:20:24 +02:00
James Cole
4945356665 New translations config.php (Portuguese, Brazilian) 2017-10-15 10:50:26 +02:00
James Cole
2190fb972c New translations csv.php (Portuguese, Brazilian) 2017-10-15 10:50:23 +02:00
James Cole
dfa7e94f87 New translations bank.php (Slovenian) 2017-10-15 10:50:19 +02:00
James Cole
aa6a0f6e83 New translations breadcrumbs.php (Portuguese, Brazilian) 2017-10-15 10:50:13 +02:00
James Cole
02203fb38a New translations intro.php (French) 2017-10-15 10:50:12 +02:00
James Cole
64b957fda6 New translations bank.php (Slovenian) 2017-10-15 10:40:22 +02:00
James Cole
f82880a519 New translations firefly.php (Portuguese, Brazilian) 2017-10-15 10:40:16 +02:00
James Cole
e7a782359d New translations csv.php (Portuguese, Brazilian) 2017-10-15 10:40:14 +02:00
James Cole
7f9f83bb3f New translations config.php (Portuguese, Brazilian) 2017-10-15 10:40:12 +02:00
James Cole
7dca784091 New translations breadcrumbs.php (Portuguese, Brazilian) 2017-10-15 10:40:11 +02:00
James Cole
c633c800a5 New translations intro.php (French) 2017-10-15 10:10:09 +02:00
James Cole
9277ba60aa New translations firefly.php (Spanish) 2017-10-15 10:10:07 +02:00
James Cole
b30f76ccf5 Merge branch 'release/4.6.8' 2017-10-15 08:57:11 +02:00
James Cole
7ff19a8419 Updated changelog. 2017-10-15 08:52:36 +02:00
James Cole
b28c3a64fa Updated version. 2017-10-15 08:45:12 +02:00
James Cole
6fedf1eec0 Fixed tests 2017-10-15 08:44:16 +02:00
James Cole
e47911ef43 Merge branch 'develop' of https://github.com/firefly-iii/firefly-iii into develop
* 'develop' of https://github.com/firefly-iii/firefly-iii: (30 commits)
  New translations firefly.php (French)
  New translations csv.php (French)
  New translations firefly.php (German)
  New translations intro.php (German)
  New translations intro.php (German)
  New translations intro.php (German)
  New translations list.php (German)
  New translations firefly.php (Slovenian)
  New translations firefly.php (Slovenian)
  New translations firefly.php (Slovenian)
  New translations csv.php (Slovenian)
  New translations csv.php (Slovenian)
  New translations list.php (Slovenian)
  New translations csv.php (Slovenian)
  New translations bank.php (Slovenian)
  New translations list.php (Slovenian)
  New translations breadcrumbs.php (Slovenian)
  New translations intro.php (French)
  New translations firefly.php (French)
  New translations firefly.php (French)
  ...
2017-10-15 08:31:17 +02:00
James Cole
7a873c6ee7 Merge pull request #918 from firefly-iii/l10n_develop
New Crowdin translations
2017-10-15 08:30:57 +02:00
James Cole
c6c76ac710 New lock file 2017-10-15 08:30:32 +02:00
James Cole
2dae7f40e1 Small updates in change log [skip ci] 2017-10-15 08:26:13 +02:00
James Cole
918ebafd7c Update changelog formatting. 2017-10-15 08:24:21 +02:00
James Cole
466ff4fe3c Solution for #926 2017-10-15 07:52:15 +02:00
James Cole
353b3fcba7 Fix invalid JSON. 2017-10-14 08:08:14 +02:00
James Cole
da980bcf9c Remove dev package from wrong section. 2017-10-14 08:06:34 +02:00
James Cole
ed237476fa Correct environment in example .env file. #925 2017-10-14 08:06:24 +02:00
James Cole
401ae92a62 Various fixes for #916 2017-10-14 07:58:29 +02:00
James Cole
70ab42bc43 Will correctly join budget tables. #916 2017-10-13 18:26:22 +02:00
James Cole
15e060ea9e Won’t set budget for anything other then withdrawals. #916 2017-10-13 18:26:05 +02:00
James Cole
4c834467ae Get all fields 2017-10-13 17:34:19 +02:00
James Cole
7bf691e2bd Verify deposits with budget. 2017-10-13 17:32:14 +02:00
James Cole
f63bf12733 New translations firefly.php (French) 2017-10-11 18:10:29 +02:00
James Cole
65f0acbd10 New translations csv.php (French) 2017-10-11 18:00:21 +02:00
James Cole
6dd0c2612b New translations firefly.php (German) 2017-10-11 14:31:30 +02:00
James Cole
21701fd5f2 New translations intro.php (German) 2017-10-11 14:20:21 +02:00
James Cole
beabed1c1b New translations intro.php (German) 2017-10-11 14:10:11 +02:00
James Cole
ece042b468 New translations intro.php (German) 2017-10-11 14:00:18 +02:00
James Cole
668e36ccf6 New translations list.php (German) 2017-10-11 14:00:17 +02:00
James Cole
27d533dd5b New docker things. 2017-10-11 10:07:09 +02:00
James Cole
011e28e8c2 Updated docker file. 2017-10-11 09:34:03 +02:00
James Cole
dadeb4616e Updated docker file. 2017-10-11 09:14:34 +02:00
James Cole
bea0c8dd55 Update docker files. #919 and #915 2017-10-11 08:16:57 +02:00
James Cole
31b92fe594 New translations firefly.php (Slovenian) 2017-10-10 17:32:09 +02:00
James Cole
1753b58ec9 New translations firefly.php (Slovenian) 2017-10-10 17:20:14 +02:00
James Cole
ade8bbb221 New translations firefly.php (Slovenian) 2017-10-10 17:10:10 +02:00
James Cole
c31160f82d New translations csv.php (Slovenian) 2017-10-10 17:10:08 +02:00
James Cole
d161c9850a New translations csv.php (Slovenian) 2017-10-10 17:00:07 +02:00
James Cole
a3b8cb25ca New translations list.php (Slovenian) 2017-10-10 16:50:12 +02:00
James Cole
6c5f915751 New translations csv.php (Slovenian) 2017-10-10 16:50:10 +02:00
James Cole
1bb3581fef New translations bank.php (Slovenian) 2017-10-10 14:00:44 +02:00
James Cole
d9e8036dda New translations list.php (Slovenian) 2017-10-10 14:00:43 +02:00
James Cole
b754c9d8a3 New translations breadcrumbs.php (Slovenian) 2017-10-10 14:00:41 +02:00
James Cole
b9679284d0 New translations intro.php (French) 2017-10-10 10:20:32 +02:00
James Cole
3fa5f1cff6 New translations firefly.php (French) 2017-10-10 10:20:31 +02:00
James Cole
dea2b055ae New translations firefly.php (French) 2017-10-10 10:11:05 +02:00
James Cole
84b20f3f32 New translations csv.php (French) 2017-10-10 10:11:02 +02:00
James Cole
dce39066ad New translations breadcrumbs.php (French) 2017-10-10 10:11:01 +02:00
James Cole
6b82679f78 New translations firefly.php (French) 2017-10-10 10:00:36 +02:00
James Cole
1f26b26a16 New translations intro.php (German) 2017-10-10 08:50:20 +02:00
James Cole
c5de4338e1 New translations firefly.php (German) 2017-10-10 08:50:18 +02:00
James Cole
41d12f4f2f New translations intro.php (German) 2017-10-10 08:40:16 +02:00
James Cole
055b80cf7a New translations intro.php (German) 2017-10-10 08:30:07 +02:00
James Cole
1187169dbd New translations bank.php (German) 2017-10-10 08:20:08 +02:00
James Cole
ca548e166f New translations intro.php (German) 2017-10-10 08:20:07 +02:00
James Cole
7b3ca053a5 New translations firefly.php (Polish) 2017-10-09 21:00:17 +02:00
James Cole
110d9278c4 Merge branch 'release/4.6.7' 2017-10-09 20:51:03 +02:00
James Cole
b6245d4b0b Updated composer lock file. 2017-10-09 20:43:36 +02:00
James Cole
74494a0df6 Added language. 2017-10-09 20:43:25 +02:00
James Cole
9cdd79ee30 Updated changelog. 2017-10-09 20:43:19 +02:00
James Cole
9b30bbcf92 Merge pull request #898 from firefly-iii/l10n_develop
New Crowdin translations
2017-10-09 20:42:55 +02:00
James Cole
c64c5495f2 New translations firefly.php (Dutch) 2017-10-09 20:42:28 +02:00
James Cole
a6855349e8 New translations firefly.php (Polish) 2017-10-09 20:40:27 +02:00
James Cole
c02bb617cd New translations firefly.php (Portuguese, Brazilian) 2017-10-09 20:40:24 +02:00
James Cole
a95ff75531 New translations firefly.php (Slovenian) 2017-10-09 20:40:22 +02:00
James Cole
e726364eb7 New translations firefly.php (Spanish) 2017-10-09 20:40:19 +02:00
James Cole
301d76c1c5 New translations firefly.php (German) 2017-10-09 20:40:15 +02:00
James Cole
4cdf2184c3 New translations firefly.php (French) 2017-10-09 20:40:09 +02:00
James Cole
4d8736b3cf New translations firefly.php (Dutch) 2017-10-09 20:40:03 +02:00
James Cole
2a5182ba54 New translations firefly.php (Indonesian) 2017-10-09 20:39:54 +02:00
James Cole
4f307cf3ca New translations firefly.php (Russian) 2017-10-09 20:39:44 +02:00
James Cole
26ab5fea7b Merge pull request #912 from pkoziol/develop
Added missing translations in link type overview.
2017-10-09 20:38:16 +02:00
James Cole
f90a27ce59 Remove twig clean from test script 2017-10-09 20:30:57 +02:00
James Cole
624b654fa6 Fix #917 2017-10-09 20:30:46 +02:00
James Cole
09118013c9 Update for #915 2017-10-08 18:35:24 +02:00
James Cole
e934d8943f Fix #915 2017-10-08 18:27:51 +02:00
James Cole
9a8ddf5c05 Some debug for #916 2017-10-08 10:14:26 +02:00
James Cole
d5eb0c5724 New translations firefly.php (French) 2017-10-08 10:10:07 +02:00
James Cole
70d5737d83 Fix #910 2017-10-08 06:08:20 +02:00
James Cole
b1b2bb4cc9 Fix #911 2017-10-08 06:07:15 +02:00
James Cole
3d6acf264c New translations form.php (Polish) 2017-10-06 23:50:19 +02:00
koziolek
730d5d72f3 Added missing translations in link type overview. 2017-10-06 23:39:15 +02:00
James Cole
81e86c9b81 New translations firefly.php (Polish) 2017-10-06 23:30:34 +02:00
James Cole
2215deb7a6 New translations list.php (Polish) 2017-10-06 23:20:27 +02:00
James Cole
950d5892c0 New translations form.php (Polish) 2017-10-06 23:20:26 +02:00
James Cole
8947226064 New translations firefly.php (Polish) 2017-10-06 23:20:25 +02:00
James Cole
42b5df48d3 New translations form.php (Polish) 2017-10-06 23:10:18 +02:00
James Cole
733d67defc New translations firefly.php (Polish) 2017-10-06 23:10:17 +02:00
James Cole
20cb3ff065 New translations list.php (Polish) 2017-10-06 23:00:18 +02:00
James Cole
ecd7aa95da New translations firefly.php (Polish) 2017-10-06 23:00:17 +02:00
James Cole
e4b2142dbf New translations firefly.php (Polish) 2017-10-06 22:50:18 +02:00
James Cole
4fd4d5b571 New translations firefly.php (Polish) 2017-10-06 22:30:21 +02:00
James Cole
511d2c8d1e Update log thing. 2017-10-06 16:16:01 +02:00
James Cole
9aaee0a951 Met coverage enabled this time. 2017-10-06 15:55:28 +02:00
James Cole
a606a3eef4 Test code coverage. 2017-10-06 15:52:06 +02:00
James Cole
67ed6e14aa New tests. 2017-10-06 15:41:21 +02:00
James Cole
f737a4914b New translations csv.php (Indonesian) 2017-10-06 10:40:06 +02:00
James Cole
d1c6e2f8b1 New translations csv.php (Indonesian) 2017-10-06 10:30:06 +02:00
James Cole
3dcf6d892b New translations csv.php (Indonesian) 2017-10-06 10:20:11 +02:00
James Cole
29e02ce31f A longer search string will no longer partly match on account name! 2017-10-06 07:07:12 +02:00
James Cole
e5514bc61a Fix #904 2017-10-06 06:36:00 +02:00
James Cole
c50e180a4e Merge pull request #903 from hduijn/develop
Added SNS specifics code for removing quotes from description
2017-10-05 16:18:03 +02:00
Hugo van Duijn
a1e2814990 Added SNS specifics code for removing quotes from description 2017-10-05 16:00:03 +02:00
James Cole
e68594a93b Various code cleanup. 2017-10-05 11:49:06 +02:00
James Cole
9859541927 New translations config.php (Indonesian) 2017-10-05 10:30:17 +02:00
James Cole
1c124aec0d New translations bank.php (Indonesian) 2017-10-05 10:20:19 +02:00
James Cole
425d6d17f4 New translations config.php (Indonesian) 2017-10-05 10:20:18 +02:00
James Cole
6203139cb9 New translations breadcrumbs.php (Indonesian) 2017-10-05 10:20:17 +02:00
James Cole
e0e3d79ee5 New translations auth.php (Indonesian) 2017-10-05 10:20:16 +02:00
James Cole
b18012a36c Fix tests 2017-10-05 08:26:08 +02:00
James Cole
ef0bee6874 New translations list.php (Dutch) 2017-10-05 07:40:07 +02:00
James Cole
61eeb84db6 Merge branch 'develop' of https://github.com/firefly-iii/firefly-iii into develop
* 'develop' of https://github.com/firefly-iii/firefly-iii:
  Add missing translations strings in search
2017-10-05 07:34:04 +02:00
James Cole
0520b91c71 New translations firefly.php (Dutch) 2017-10-05 07:30:06 +02:00
James Cole
e4c883018b New translations firefly.php (Polish) 2017-10-05 07:21:04 +02:00
James Cole
c2f774ea7c New translations firefly.php (Portuguese, Brazilian) 2017-10-05 07:21:01 +02:00
James Cole
8302518a4f New translations firefly.php (Slovenian) 2017-10-05 07:20:58 +02:00
James Cole
357b258332 New translations firefly.php (Spanish) 2017-10-05 07:20:55 +02:00
James Cole
3fd72d0584 New translations firefly.php (German) 2017-10-05 07:20:47 +02:00
James Cole
91075084c7 New translations firefly.php (French) 2017-10-05 07:20:41 +02:00
James Cole
687dd0e659 New translations firefly.php (Dutch) 2017-10-05 07:20:34 +02:00
James Cole
f919769bcd New translations firefly.php (Indonesian) 2017-10-05 07:20:25 +02:00
James Cole
8c109fc212 New translations firefly.php (Russian) 2017-10-05 07:20:13 +02:00
James Cole
1ba304462f make search query a string 2017-10-05 07:19:23 +02:00
James Cole
b92222b8e5 Merge pull request #900 from pkoziol/develop
Add missing translations strings in search
2017-10-05 07:15:10 +02:00
koziolek
8cb2a47a38 Add missing translations strings in search
firefly-iii/firefly-iii#899
2017-10-04 21:39:08 +02:00
James Cole
035ef6035d New translations intro.php (Polish) 2017-10-04 21:10:11 +02:00
James Cole
e74793ccbc New translations form.php (Polish) 2017-10-04 21:10:10 +02:00
James Cole
b89e7f9307 New translations firefly.php (Polish) 2017-10-04 21:10:08 +02:00
James Cole
5e6fbdad1a New translations firefly.php (Polish) 2017-10-04 21:00:08 +02:00
James Cole
f18aeee1fb New translations bank.php (Polish) 2017-10-04 20:50:09 +02:00
James Cole
cea4db785e New translations firefly.php (Polish) 2017-10-04 20:50:08 +02:00
James Cole
3ab0a44bd9 New translations form.php (Polish) 2017-10-04 20:40:09 +02:00
James Cole
9d2fdb8f07 New translations firefly.php (Polish) 2017-10-04 20:40:07 +02:00
James Cole
1e0806efa7 New translations list.php (Polish) 2017-10-04 20:30:19 +02:00
James Cole
c596506d37 New translations form.php (Polish) 2017-10-04 20:30:17 +02:00
James Cole
f1081d78ea New translations firefly.php (Polish) 2017-10-04 20:30:16 +02:00
James Cole
8202cd8e22 New translations list.php (Polish) 2017-10-04 20:20:08 +02:00
James Cole
b56d1a2a2b New translations firefly.php (Polish) 2017-10-04 20:20:07 +02:00
James Cole
3eb96ff593 New translations firefly.php (Polish) 2017-10-04 20:10:15 +02:00
James Cole
c6f521ec1b Merge pull request #879 from firefly-iii/l10n_develop
New Crowdin translations
2017-10-04 16:44:37 +02:00
James Cole
fb4df3484c New tests 2017-10-04 16:43:01 +02:00
James Cole
c17a278e57 New unit tests. 2017-10-04 15:27:20 +02:00
James Cole
6770b8396a Fix sprintf error #893 2017-10-04 14:58:03 +02:00
James Cole
81da87287e Make French a completed language. 2017-10-04 14:53:16 +02:00
James Cole
8267678593 New translations intro.php (French) 2017-10-04 12:20:15 +02:00
James Cole
675be5fb57 New translations intro.php (French) 2017-10-04 12:10:52 +02:00
James Cole
8058a8dfce New translations intro.php (French) 2017-10-04 12:01:43 +02:00
James Cole
5182a5cdc0 New translations list.php (French) 2017-10-04 12:01:41 +02:00
James Cole
ca86b81448 New translations intro.php (French) 2017-10-04 11:50:28 +02:00
James Cole
44e1262447 New translations form.php (French) 2017-10-04 11:50:27 +02:00
James Cole
d37a443854 New translations firefly.php (French) 2017-10-04 11:50:25 +02:00
James Cole
d426d7ddd1 New translations firefly.php (French) 2017-10-04 11:40:20 +02:00
James Cole
156ecf98f6 New translations firefly.php (French) 2017-10-04 11:30:49 +02:00
James Cole
f022789342 New translations firefly.php (French) 2017-10-04 11:25:33 +02:00
James Cole
593e9b5946 New translations bank.php (French) 2017-10-04 11:13:40 +02:00
James Cole
95ac1f5013 New translations firefly.php (French) 2017-10-04 11:13:39 +02:00
James Cole
35a5310485 Fix #893 2017-10-04 07:19:19 +02:00
James Cole
3b9ec379b5 New translations firefly.php (Polish) 2017-10-03 13:41:06 +02:00
James Cole
7df0230777 New translations firefly.php (Portuguese, Brazilian) 2017-10-03 13:41:03 +02:00
James Cole
66d36850a4 New translations firefly.php (Slovenian) 2017-10-03 13:41:01 +02:00
James Cole
97a655016f New translations firefly.php (Spanish) 2017-10-03 13:40:58 +02:00
James Cole
35bac16ccc New translations firefly.php (German) 2017-10-03 13:40:51 +02:00
James Cole
cb593da5b7 New translations firefly.php (French) 2017-10-03 13:40:49 +02:00
James Cole
2b09a00d3a New translations firefly.php (Dutch) 2017-10-03 13:40:42 +02:00
James Cole
f2383513e2 New translations firefly.php (Indonesian) 2017-10-03 13:40:32 +02:00
James Cole
25aaeead0e New translations firefly.php (Russian) 2017-10-03 13:40:23 +02:00
James Cole
a22a2fb4ef Fix #891 and 892 [skip ci] 2017-10-03 13:30:43 +02:00
James Cole
995fd0cfb9 New translations auth.php (Indonesian) 2017-10-03 12:30:31 +02:00
James Cole
011e0b1f29 New translations form.php (Indonesian) 2017-10-03 12:30:30 +02:00
James Cole
3c964e81de New translations firefly.php (Indonesian) 2017-10-03 12:30:29 +02:00
James Cole
b4f28504a3 New translations csv.php (Indonesian) 2017-10-03 12:30:26 +02:00
James Cole
92f22abb01 New translations breadcrumbs.php (Indonesian) 2017-10-03 12:30:25 +02:00
James Cole
7bdb8bd162 New translations config.php (Indonesian) 2017-10-03 12:30:24 +02:00
James Cole
9b687b3566 New translations list.php (Indonesian) 2017-10-03 12:30:23 +02:00
James Cole
9f622285ca New translations pagination.php (Indonesian) 2017-10-03 12:30:22 +02:00
James Cole
cbe123c25d New translations bank.php (Indonesian) 2017-10-03 12:30:21 +02:00
James Cole
3d30502dd9 New translations intro.php (Indonesian) 2017-10-03 12:30:20 +02:00
James Cole
7547e944a1 New translations demo.php (Indonesian) 2017-10-03 12:30:19 +02:00
James Cole
bed5e630af New translations passwords.php (Indonesian) 2017-10-03 12:30:18 +02:00
James Cole
418d75ad60 New translations validation.php (Indonesian) 2017-10-03 12:30:17 +02:00
James Cole
c000fe4557 Update tests 2017-10-03 10:41:48 +02:00
James Cole
dd9528f531 Migrate notes in upgrade database routine. 2017-10-03 10:41:29 +02:00
James Cole
d1a6b37eb3 Use note object instead of field #888 2017-10-03 10:30:56 +02:00
James Cole
4b3814d33a New translations list.php (Slovenian) 2017-10-03 05:41:19 +02:00
James Cole
c691957c54 New translations list.php (Spanish) 2017-10-03 05:41:18 +02:00
James Cole
2c26c42339 New translations list.php (Portuguese, Brazilian) 2017-10-03 05:41:16 +02:00
James Cole
ccd93bc442 New translations list.php (Polish) 2017-10-03 05:41:14 +02:00
James Cole
5b21cebec8 New translations list.php (Dutch) 2017-10-03 05:41:13 +02:00
James Cole
f2d1436b82 New translations list.php (German) 2017-10-03 05:41:12 +02:00
James Cole
2d1f6a22d3 New translations list.php (French) 2017-10-03 05:41:10 +02:00
James Cole
484d70ca86 New translations list.php (Russian) 2017-10-03 05:40:59 +02:00
James Cole
4af0c18020 Add missing translation [skip ci] 2017-10-03 05:31:48 +02:00
James Cole
a4b6589cbd New translations firefly.php (Spanish) 2017-10-03 05:31:05 +02:00
James Cole
b4affabb67 New translations firefly.php (Slovenian) 2017-10-03 05:31:02 +02:00
James Cole
1cb29ff395 New translations firefly.php (Portuguese, Brazilian) 2017-10-03 05:30:59 +02:00
James Cole
55739c801c New translations firefly.php (Dutch) 2017-10-03 05:30:56 +02:00
James Cole
c68777f385 New translations firefly.php (French) 2017-10-03 05:30:54 +02:00
James Cole
4f1d545468 New translations firefly.php (Polish) 2017-10-03 05:30:51 +02:00
James Cole
0f9220edc9 New translations firefly.php (German) 2017-10-03 05:30:48 +02:00
James Cole
6696513ef9 New translations firefly.php (Russian) 2017-10-03 05:30:35 +02:00
James Cole
95b5793f63 New triggers and actions for notes. #872 2017-10-03 05:28:00 +02:00
James Cole
7a57c60891 Add config value to .env value. #882 2017-10-02 18:20:03 +02:00
James Cole
ebcd8dbd7c Set trusted proxies value from config if present. #882 2017-10-02 18:19:17 +02:00
James Cole
1bfa8f0139 Expand test coverage. 2017-10-02 16:27:21 +02:00
James Cole
2dfe2ddaf3 Attempt to cover all cases in amount converter, this fixes #840 2017-10-02 16:25:48 +02:00
James Cole
03f33c5e7e Remove routes (for help) 2017-10-02 16:24:31 +02:00
James Cole
2b73747ecf Button instead of a link #884 2017-10-02 14:41:06 +02:00
James Cole
174d01292f Fix #881 2017-10-02 08:47:57 +02:00
James Cole
782d675259 New translations firefly.php (Dutch) 2017-10-01 08:30:07 +02:00
James Cole
158ebdad30 New translations form.php (Dutch) 2017-10-01 08:30:05 +02:00
James Cole
9addbb979a Merge pull request #878 from Findus23/master
fix typo in nofollow
2017-09-30 18:03:02 +02:00
James Cole
b5375a5629 New translations firefly.php (Spanish) 2017-09-30 18:01:01 +02:00
James Cole
04200203a4 New translations form.php (Dutch) 2017-09-30 18:00:59 +02:00
James Cole
05a0dfdc2e New translations form.php (French) 2017-09-30 18:00:58 +02:00
James Cole
543a1d7835 New translations form.php (German) 2017-09-30 18:00:57 +02:00
James Cole
ec87651123 New translations firefly.php (Slovenian) 2017-09-30 18:00:55 +02:00
James Cole
c4bb05caf5 New translations firefly.php (Portuguese, Brazilian) 2017-09-30 18:00:53 +02:00
James Cole
52fdd35a66 New translations firefly.php (Dutch) 2017-09-30 18:00:50 +02:00
James Cole
6ee40342dc New translations firefly.php (French) 2017-09-30 18:00:48 +02:00
James Cole
42b7ae096c New translations firefly.php (Polish) 2017-09-30 18:00:45 +02:00
James Cole
95acbf69d3 New translations firefly.php (German) 2017-09-30 18:00:42 +02:00
James Cole
19326bb8ff New translations form.php (Polish) 2017-09-30 18:00:40 +02:00
James Cole
c208ba4d8f New translations form.php (Portuguese, Brazilian) 2017-09-30 18:00:39 +02:00
James Cole
9c4d3134ef New translations form.php (Slovenian) 2017-09-30 18:00:36 +02:00
James Cole
6b61883281 New translations form.php (Spanish) 2017-09-30 18:00:35 +02:00
James Cole
6bec07bdd3 New translations firefly.php (Russian) 2017-09-30 18:00:24 +02:00
James Cole
28b68bf0fd New translations form.php (Russian) 2017-09-30 18:00:21 +02:00
Lukas Winkler
85797a5d70 fix typo in nofollow 2017-09-30 17:56:51 +02:00
James Cole
cc61281523 Add openstreetmap with a mapbox.com layer. #420 2017-09-30 17:50:22 +02:00
James Cole
c0d62dfc86 Merge branch 'develop' of https://github.com/firefly-iii/firefly-iii into develop
* 'develop' of https://github.com/firefly-iii/firefly-iii:
  Fix dates in CHANGELOG. [skip ci]
2017-09-30 13:17:45 +02:00
James Cole
134f21bada Fix for #825 2017-09-30 13:16:12 +02:00
James Cole
73f3675966 Merge pull request #877 from pkoziol/develop
Fix dates in CHANGELOG
2017-09-30 12:38:55 +02:00
koziolek
5a28b285c2 Fix dates in CHANGELOG. [skip ci] 2017-09-30 12:36:56 +02:00
James Cole
aea6575358 Merge branch 'release/4.6.6' 2017-09-30 09:11:16 +02:00
James Cole
d0054e657e Updated composer file. 2017-09-30 09:03:13 +02:00
James Cole
d2e312e1c3 Update changelog. [skip ci] 2017-09-30 08:40:36 +02:00
James Cole
8678f9af65 Add redirect for tag thing. See #875 2017-09-29 16:54:23 +02:00
James Cole
cca29bcdfe Take redirect uri from controller class. 2017-09-29 16:53:09 +02:00
James Cole
40f2659b91 Smooth error catching. 2017-09-29 15:32:47 +02:00
James Cole
d306183c95 Catch exceptions in FixerIO 2017-09-29 15:32:35 +02:00
James Cole
a34d888024 Merge pull request #874 from firefly-iii/l10n_develop
New Crowdin translations
2017-09-29 15:02:54 +02:00
James Cole
2932689c53 New translations form.php (Dutch) 2017-09-29 14:50:26 +02:00
James Cole
b0b8a8cc25 New translations intro.php (Dutch) 2017-09-29 14:50:24 +02:00
James Cole
ce8056424f New translations bank.php (Dutch) 2017-09-29 14:50:23 +02:00
James Cole
1567a0181b Merge pull request #821 from firefly-iii/l10n_develop
New Crowdin translations
2017-09-29 14:49:39 +02:00
James Cole
b60ad97150 New translations firefly.php (Dutch) 2017-09-29 14:40:08 +02:00
James Cole
cc93e4442b New translations firefly.php (Spanish) 2017-09-29 14:30:58 +02:00
James Cole
1f4ec8211e New translations firefly.php (Slovenian) 2017-09-29 14:30:51 +02:00
James Cole
3a9cbcc565 New translations firefly.php (Portuguese, Brazilian) 2017-09-29 14:30:49 +02:00
James Cole
fe6cce7495 New translations firefly.php (Dutch) 2017-09-29 14:30:45 +02:00
James Cole
f98e24e443 New translations firefly.php (French) 2017-09-29 14:30:43 +02:00
James Cole
4ffbc0932c New translations firefly.php (Polish) 2017-09-29 14:30:40 +02:00
James Cole
9eec12a4de New translations firefly.php (German) 2017-09-29 14:30:37 +02:00
James Cole
40d1011c37 New translations firefly.php (Russian) 2017-09-29 14:30:23 +02:00
James Cole
aa4682af6a Expand budget box and clear some languages. 2017-09-29 14:22:40 +02:00
James Cole
47bea97c96 New translations firefly.php (Spanish) 2017-09-29 09:02:15 +02:00
James Cole
78b76d0f65 New translations firefly.php (Slovenian) 2017-09-29 09:02:05 +02:00
James Cole
3a70a85283 New translations firefly.php (Portuguese, Brazilian) 2017-09-29 09:01:59 +02:00
James Cole
aa7e6166c1 New translations firefly.php (Dutch) 2017-09-29 09:01:51 +02:00
James Cole
08dcd9407b New translations firefly.php (French) 2017-09-29 09:01:47 +02:00
James Cole
2c263d6e82 New translations firefly.php (Polish) 2017-09-29 09:01:41 +02:00
James Cole
ca9a4e44b4 New translations firefly.php (German) 2017-09-29 09:01:35 +02:00
James Cole
a1b74eaa8e New translations intro.php (Dutch) 2017-09-29 09:01:14 +02:00
James Cole
a3732a65c9 New translations intro.php (French) 2017-09-29 09:01:13 +02:00
James Cole
f6a162def1 New translations intro.php (German) 2017-09-29 09:01:11 +02:00
James Cole
7e96f212c6 New translations firefly.php (Russian) 2017-09-29 09:01:08 +02:00
James Cole
67c4ae5d49 New translations intro.php (Polish) 2017-09-29 09:01:01 +02:00
James Cole
c0ce65e71f New translations intro.php (Portuguese, Brazilian) 2017-09-29 09:00:59 +02:00
James Cole
77cc04d9b3 New translations intro.php (Russian) 2017-09-29 09:00:56 +02:00
James Cole
5c8ed110f5 New translations intro.php (Slovenian) 2017-09-29 09:00:54 +02:00
James Cole
3104ee1263 New translations intro.php (Spanish) 2017-09-29 09:00:53 +02:00
James Cole
76ed261441 A basic box for #786 2017-09-29 08:52:15 +02:00
James Cole
0b36facec3 New translations firefly.php (Spanish) 2017-09-28 09:01:14 +02:00
James Cole
2a4f6d6f1f New translations firefly.php (Slovenian) 2017-09-28 09:01:10 +02:00
James Cole
ffe9eaaae5 New translations firefly.php (Portuguese, Brazilian) 2017-09-28 09:01:07 +02:00
James Cole
2a2c6335a5 New translations firefly.php (Dutch) 2017-09-28 09:01:04 +02:00
James Cole
8b36c17e30 New translations firefly.php (French) 2017-09-28 09:01:00 +02:00
James Cole
dae3c4ccc7 New translations firefly.php (Polish) 2017-09-28 09:00:57 +02:00
James Cole
0514258290 New translations firefly.php (German) 2017-09-28 09:00:54 +02:00
James Cole
c5fdeacc87 New translations firefly.php (Russian) 2017-09-28 09:00:30 +02:00
James Cole
b11ea13b1d New translations bank.php (Portuguese, Brazilian) 2017-09-28 09:00:24 +02:00
James Cole
9823603a0c New translations bank.php (Russian) 2017-09-28 09:00:23 +02:00
James Cole
366a618d00 New translations bank.php (Slovenian) 2017-09-28 09:00:22 +02:00
James Cole
dee681ed2a New translations bank.php (Spanish) 2017-09-28 09:00:22 +02:00
James Cole
8c116862e2 New translations bank.php (Polish) 2017-09-28 09:00:20 +02:00
James Cole
9a86b907d7 New translations bank.php (German) 2017-09-28 09:00:19 +02:00
James Cole
b70861df30 New translations bank.php (French) 2017-09-28 09:00:18 +02:00
James Cole
f8a1e9b6d5 New translations bank.php (Dutch) 2017-09-28 09:00:17 +02:00
James Cole
aaac47ebfc Icons will not break [skip ci] 2017-09-28 08:59:59 +02:00
James Cole
fd1feadc67 Fix #826 2017-09-28 08:59:40 +02:00
James Cole
1fc54f5207 New translations form.php (Dutch) 2017-09-28 08:20:50 +02:00
James Cole
04efdf75db New translations form.php (French) 2017-09-28 08:20:49 +02:00
James Cole
eee4909755 New translations form.php (German) 2017-09-28 08:20:48 +02:00
James Cole
c8bf7e9c28 New translations form.php (Polish) 2017-09-28 08:20:35 +02:00
James Cole
07e2c1000c New translations form.php (Portuguese, Brazilian) 2017-09-28 08:20:34 +02:00
James Cole
e9afd21375 New translations form.php (Slovenian) 2017-09-28 08:20:31 +02:00
James Cole
b1ea6f5595 New translations form.php (Spanish) 2017-09-28 08:20:30 +02:00
James Cole
69b454da7d New translations form.php (Russian) 2017-09-28 08:20:17 +02:00
James Cole
c19c7c680b Small improvements to bunq import. 2017-09-28 08:17:32 +02:00
James Cole
12ceecd57b New translations firefly.php (Polish) 2017-09-27 15:52:11 +02:00
James Cole
75f64225ee New translations firefly.php (Portuguese, Brazilian) 2017-09-27 15:52:07 +02:00
James Cole
f157eff2c3 New translations firefly.php (Slovenian) 2017-09-27 15:52:01 +02:00
James Cole
95a185ec39 New translations firefly.php (Spanish) 2017-09-27 15:51:55 +02:00
James Cole
7963e511b9 New translations firefly.php (German) 2017-09-27 15:51:50 +02:00
James Cole
2608e1ae74 New translations firefly.php (French) 2017-09-27 15:51:43 +02:00
James Cole
13a6dd56a3 New translations firefly.php (Dutch) 2017-09-27 15:51:35 +02:00
James Cole
a7969dd4b4 New translations firefly.php (Russian) 2017-09-27 15:51:06 +02:00
James Cole
b80b026246 Fix tests. 2017-09-27 15:46:08 +02:00
James Cole
a1a93d9bbb Send test message from admin. 2017-09-27 15:45:55 +02:00
James Cole
12df3d7b8e New translations firefly.php (Polish) 2017-09-27 14:52:47 +02:00
James Cole
e564a4a0d3 New translations firefly.php (Portuguese, Brazilian) 2017-09-27 14:52:40 +02:00
James Cole
b2a9128b2b New translations firefly.php (Slovenian) 2017-09-27 14:52:33 +02:00
James Cole
866bcbf702 New translations firefly.php (Spanish) 2017-09-27 14:52:27 +02:00
James Cole
6d538dc568 New translations firefly.php (German) 2017-09-27 14:52:20 +02:00
James Cole
c5737c7fc9 New translations firefly.php (French) 2017-09-27 14:52:12 +02:00
James Cole
c60c0a93a4 New translations firefly.php (Dutch) 2017-09-27 14:52:02 +02:00
James Cole
ed7119bae5 New translations firefly.php (Russian) 2017-09-27 14:51:30 +02:00
James Cole
c9cb310a2f Remove crappy translation of link types. Still needs a solution. 2017-09-27 14:50:04 +02:00
James Cole
fdfe18a952 Fix code for boxes. 2017-09-27 14:42:12 +02:00
James Cole
5631daa173 New translations firefly.php (Polish) 2017-09-27 14:42:02 +02:00
James Cole
38aa22fa5f New translations firefly.php (Portuguese, Brazilian) 2017-09-27 14:41:55 +02:00
James Cole
eab7d400e5 New translations firefly.php (Slovenian) 2017-09-27 14:41:50 +02:00
James Cole
29e6fba089 New translations firefly.php (Spanish) 2017-09-27 14:41:44 +02:00
James Cole
979cb605f5 New translations firefly.php (German) 2017-09-27 14:41:39 +02:00
James Cole
be4db5983d New translations firefly.php (French) 2017-09-27 14:41:31 +02:00
James Cole
aabcbaa665 New translations firefly.php (Dutch) 2017-09-27 14:41:23 +02:00
James Cole
dc18db5a17 New translations firefly.php (Russian) 2017-09-27 14:40:56 +02:00
James Cole
fb140b1379 Missing language strings [skip ci] 2017-09-27 14:31:02 +02:00
James Cole
97be088716 Add FF version in CSS for easier updates [skip ci] 2017-09-27 08:49:59 +02:00
James Cole
3e39deec36 Updated website boxes. 2017-09-27 08:45:27 +02:00
James Cole
6f55049fb6 Complex but workable code for #865 2017-09-26 10:59:17 +02:00
James Cole
066d114dfe New translations firefly.php (Polish) 2017-09-26 09:21:11 +02:00
James Cole
acb8bd7244 New translations firefly.php (Portuguese, Brazilian) 2017-09-26 09:21:08 +02:00
James Cole
d75a1583cc New translations firefly.php (Slovenian) 2017-09-26 09:21:05 +02:00
James Cole
c553f9eee0 New translations firefly.php (Spanish) 2017-09-26 09:21:02 +02:00
James Cole
117059077f New translations firefly.php (German) 2017-09-26 09:20:58 +02:00
James Cole
c3555bae1f New translations firefly.php (French) 2017-09-26 09:20:55 +02:00
James Cole
2c7ab07b41 New translations firefly.php (Dutch) 2017-09-26 09:20:51 +02:00
James Cole
12f31ffb81 New translations form.php (Dutch) 2017-09-26 09:20:48 +02:00
James Cole
3cb4cc88e8 New translations form.php (French) 2017-09-26 09:20:47 +02:00
James Cole
82ea17d2eb New translations form.php (Spanish) 2017-09-26 09:20:43 +02:00
James Cole
61ac8adc7d New translations form.php (German) 2017-09-26 09:20:42 +02:00
James Cole
7681a2a544 New translations form.php (Polish) 2017-09-26 09:20:40 +02:00
James Cole
5a5bce953c New translations form.php (Portuguese, Brazilian) 2017-09-26 09:20:39 +02:00
James Cole
1263fd7b98 New translations form.php (Slovenian) 2017-09-26 09:20:38 +02:00
James Cole
c3ea62aa44 New translations firefly.php (Russian) 2017-09-26 09:20:29 +02:00
James Cole
82ebf92b06 New translations form.php (Russian) 2017-09-26 09:20:26 +02:00
James Cole
d99adb515a More code for #857 2017-09-26 09:15:21 +02:00
James Cole
5ca239e177 New translations firefly.php (Polish) 2017-09-26 09:01:19 +02:00
James Cole
b525893c39 New translations firefly.php (Portuguese, Brazilian) 2017-09-26 09:01:16 +02:00
James Cole
7cdc159a50 New translations firefly.php (Slovenian) 2017-09-26 09:01:13 +02:00
James Cole
0f441aef42 New translations firefly.php (Spanish) 2017-09-26 09:01:11 +02:00
James Cole
6497dc1701 New translations firefly.php (German) 2017-09-26 09:01:08 +02:00
James Cole
bbe13487d3 New translations firefly.php (French) 2017-09-26 09:01:05 +02:00
James Cole
8fc6f82a04 New translations firefly.php (Dutch) 2017-09-26 09:01:01 +02:00
James Cole
e791215bb8 New translations form.php (Dutch) 2017-09-26 09:00:59 +02:00
James Cole
db83d541b4 New translations form.php (French) 2017-09-26 09:00:58 +02:00
James Cole
08bc3e7596 New translations form.php (Spanish) 2017-09-26 09:00:55 +02:00
James Cole
9c47c6173f New translations form.php (German) 2017-09-26 09:00:53 +02:00
James Cole
1458300768 New translations form.php (Polish) 2017-09-26 09:00:52 +02:00
James Cole
1752ea527d New translations form.php (Portuguese, Brazilian) 2017-09-26 09:00:50 +02:00
James Cole
acea869a98 New translations form.php (Slovenian) 2017-09-26 09:00:49 +02:00
James Cole
91426b9491 New translations firefly.php (Russian) 2017-09-26 09:00:41 +02:00
James Cole
0491623313 New translations form.php (Russian) 2017-09-26 09:00:38 +02:00
James Cole
91e96aa4b9 New code for email address change in profile. See #857 2017-09-26 08:52:16 +02:00
James Cole
c099572fd8 New translations firefly.php (Polish) 2017-09-25 09:31:43 +02:00
James Cole
7d481efff9 New translations firefly.php (Portuguese, Brazilian) 2017-09-25 09:31:41 +02:00
James Cole
a210112dc6 New translations firefly.php (Slovenian) 2017-09-25 09:31:38 +02:00
James Cole
04e4eea735 New translations firefly.php (Spanish) 2017-09-25 09:31:35 +02:00
James Cole
3e0fb03a0b New translations firefly.php (German) 2017-09-25 09:31:32 +02:00
James Cole
17d042d4a2 New translations firefly.php (French) 2017-09-25 09:31:28 +02:00
James Cole
a54883ab91 New translations firefly.php (Dutch) 2017-09-25 09:31:24 +02:00
James Cole
dfb3f81b69 New translations firefly.php (Russian) 2017-09-25 09:31:10 +02:00
James Cole
ea1d543795 Fix #853 2017-09-25 09:28:16 +02:00
James Cole
c917d2b1c4 Improve readme [skip ci] 2017-09-25 07:40:49 +02:00
James Cole
96419fb359 Fix #847 2017-09-25 07:32:29 +02:00
James Cole
0b0e0054b3 Fix tests. 2017-09-25 07:01:52 +02:00
James Cole
1199a44f92 New translations firefly.php (Dutch) 2017-09-25 06:20:08 +02:00
James Cole
1a81cd45f2 Fix #866 2017-09-25 06:14:37 +02:00
James Cole
6134372101 New translations list.php (Dutch) 2017-09-25 06:10:05 +02:00
James Cole
4ec830a2e3 Fix list overview [skip ci] 2017-09-25 06:10:04 +02:00
James Cole
73df3040ca Fix list overview [skip ci] 2017-09-25 06:04:37 +02:00
James Cole
0dc5282898 New translations firefly.php (Polish) 2017-09-24 21:20:58 +02:00
James Cole
fafa0bfeef New translations firefly.php (Portuguese, Brazilian) 2017-09-24 21:20:55 +02:00
James Cole
e7e512e2f8 New translations firefly.php (Slovenian) 2017-09-24 21:20:52 +02:00
James Cole
467571d3bb New translations firefly.php (Spanish) 2017-09-24 21:20:50 +02:00
James Cole
11b01f0cd8 New translations firefly.php (German) 2017-09-24 21:20:47 +02:00
James Cole
f069ee1b0f New translations firefly.php (French) 2017-09-24 21:20:44 +02:00
James Cole
e51ff88671 New translations firefly.php (Dutch) 2017-09-24 21:20:42 +02:00
James Cole
ee68f1df3e New translations list.php (French) 2017-09-24 21:20:39 +02:00
James Cole
456ec4ee0a New translations list.php (German) 2017-09-24 21:20:37 +02:00
James Cole
9c17594c34 New translations list.php (Polish) 2017-09-24 21:20:36 +02:00
James Cole
2dfc37c1d8 New translations list.php (Portuguese, Brazilian) 2017-09-24 21:20:35 +02:00
James Cole
1d36221607 New translations list.php (Dutch) 2017-09-24 21:20:34 +02:00
James Cole
388c886552 New translations list.php (Slovenian) 2017-09-24 21:20:26 +02:00
James Cole
fde2dd1c92 New translations list.php (Spanish) 2017-09-24 21:20:25 +02:00
James Cole
42898846c6 New translations firefly.php (Russian) 2017-09-24 21:20:24 +02:00
James Cole
a475c99987 New translations list.php (Russian) 2017-09-24 21:20:21 +02:00
James Cole
ac0e2c9885 Merge branch 'develop' of https://github.com/firefly-iii/firefly-iii into develop
* 'develop' of https://github.com/firefly-iii/firefly-iii:
  New translation strings.
  Update JournalRepository.php
  Update Amount.php
  Update ImportStorage.php
  Fix #854
  Enable mod_ssl by default
2017-09-24 21:18:57 +02:00
James Cole
260ef1a07e Tag view update. 2017-09-24 21:18:43 +02:00
James Cole
9d59a9b83e New translations form.php (Dutch) 2017-09-21 09:00:21 +02:00
James Cole
c5434aba13 New translations firefly.php (Polish) 2017-09-21 07:00:59 +02:00
James Cole
dd33b96c12 New translations firefly.php (Portuguese, Brazilian) 2017-09-21 07:00:57 +02:00
James Cole
349e449cb8 New translations firefly.php (Slovenian) 2017-09-21 07:00:54 +02:00
James Cole
0524ca0297 New translations firefly.php (Spanish) 2017-09-21 07:00:51 +02:00
James Cole
7bdaf8bac3 New translations firefly.php (German) 2017-09-21 07:00:48 +02:00
James Cole
1dd62a1934 New translations firefly.php (French) 2017-09-21 07:00:45 +02:00
James Cole
0a4c4729cf New translations firefly.php (Dutch) 2017-09-21 07:00:42 +02:00
James Cole
daf4c2ad49 New translations form.php (Dutch) 2017-09-21 07:00:40 +02:00
James Cole
2e60ab8763 New translations form.php (French) 2017-09-21 07:00:39 +02:00
James Cole
62d58afb68 New translations form.php (Spanish) 2017-09-21 07:00:36 +02:00
James Cole
93cd7310f4 New translations form.php (German) 2017-09-21 07:00:34 +02:00
James Cole
1b8f4f7735 New translations form.php (Polish) 2017-09-21 07:00:33 +02:00
James Cole
d446c1c5e7 New translations form.php (Portuguese, Brazilian) 2017-09-21 07:00:32 +02:00
James Cole
d5bfe682fe New translations form.php (Slovenian) 2017-09-21 07:00:31 +02:00
James Cole
47fc3398e0 New translations firefly.php (Russian) 2017-09-21 07:00:24 +02:00
James Cole
62bd6d13d1 New translations form.php (Russian) 2017-09-21 07:00:21 +02:00
James Cole
9f1ea0807b Merge branch 'develop' of github.com:JC5/firefly-iii into develop 2017-09-21 06:51:31 +02:00
James Cole
9c5b639986 New translation strings. 2017-09-21 06:50:58 +02:00
James Cole
ec73607974 Update JournalRepository.php
Fix #860
2017-09-20 08:35:20 +02:00
James Cole
e442eb6ce2 Update Amount.php
Fix null pointer #854
2017-09-20 08:31:00 +02:00
James Cole
a7e5072c8e New translations firefly.php (Dutch) 2017-09-19 08:00:07 +02:00
James Cole
db9c0600a8 Update ImportStorage.php
Fix for #854
2017-09-19 07:51:16 +02:00
James Cole
cea1673058 New translations list.php (Dutch) 2017-09-18 14:40:07 +02:00
James Cole
3f93941dd9 Fix #854 2017-09-17 19:21:03 +02:00
James Cole
4fa33c892a Merge pull request #855 from ms32035/mod_ssl
Enable mod_ssl in docker container
2017-09-17 19:14:26 +02:00
Marcin Szymanski
fb3230845d Enable mod_ssl by default 2017-09-17 14:42:29 +01:00
James Cole
37250cbde3 Various code cleanup. 2017-09-16 09:24:48 +02:00
James Cole
3424ec1c27 Various code cleanup. 2017-09-16 07:41:03 +02:00
James Cole
fe9adba7fb Reinstate secure pw check and single user verification. 2017-09-16 07:18:15 +02:00
James Cole
b1135cee60 Various code cleanup 2017-09-16 07:17:58 +02:00
James Cole
d44347d7d6 New translations firefly.php (Polish) 2017-09-16 07:00:54 +02:00
James Cole
f04a28215e New translations firefly.php (Portuguese, Brazilian) 2017-09-16 07:00:51 +02:00
James Cole
7b54d93c52 New translations firefly.php (Slovenian) 2017-09-16 07:00:48 +02:00
James Cole
a61999baff New translations firefly.php (Spanish) 2017-09-16 07:00:46 +02:00
James Cole
fbeb4b60a3 New translations firefly.php (German) 2017-09-16 07:00:43 +02:00
James Cole
91b7c307b6 New translations firefly.php (French) 2017-09-16 07:00:40 +02:00
James Cole
92239322f9 New translations firefly.php (Dutch) 2017-09-16 07:00:37 +02:00
James Cole
128f9cc9eb New translations firefly.php (Russian) 2017-09-16 07:00:22 +02:00
James Cole
bbab89d884 Fixes #848 2017-09-16 06:52:53 +02:00
James Cole
6fd040d420 Fix null pointer exception. #846 2017-09-15 17:35:44 +02:00
James Cole
c8cec91a93 Add debug info to job change status [skip ci] 2017-09-15 07:00:53 +02:00
James Cole
38bb074751 Fix storage bug in #845 2017-09-15 06:26:09 +02:00
James Cole
337088b567 New translations firefly.php (Portuguese, Brazilian) 2017-09-14 21:21:18 +02:00
James Cole
1727273d98 New translations firefly.php (Spanish) 2017-09-14 21:21:14 +02:00
James Cole
adeb569d84 New translations firefly.php (German) 2017-09-14 21:21:11 +02:00
James Cole
dd8142e26a New translations firefly.php (French) 2017-09-14 21:21:08 +02:00
James Cole
50df395f72 New translations firefly.php (Dutch) 2017-09-14 21:21:04 +02:00
James Cole
519ca4b2af Improve export routine and cron job for #837 2017-09-14 21:17:19 +02:00
James Cole
f54b4c3abc Implement access token for command line things. 2017-09-14 18:27:22 +02:00
James Cole
43a66fd378 Export job. 2017-09-14 18:10:38 +02:00
James Cole
f4938cfed7 Debug text in import routine. 2017-09-14 18:10:31 +02:00
James Cole
6badf101d7 Small cosmetic changes to export routine. 2017-09-14 18:03:39 +02:00
James Cole
3d27f22d2e New translations firefly.php (Polish) 2017-09-14 17:51:05 +02:00
James Cole
acac5f8ea2 New translations firefly.php (Portuguese, Brazilian) 2017-09-14 17:51:02 +02:00
James Cole
1d1b3afab5 New translations firefly.php (Slovenian) 2017-09-14 17:50:59 +02:00
James Cole
ad2c6390a6 New translations firefly.php (Spanish) 2017-09-14 17:50:56 +02:00
James Cole
c16bcf7b57 New translations firefly.php (German) 2017-09-14 17:50:51 +02:00
James Cole
7ecf5804bc New translations firefly.php (French) 2017-09-14 17:50:48 +02:00
James Cole
b43e197dde New translations firefly.php (Dutch) 2017-09-14 17:50:44 +02:00
James Cole
48bd80d4c4 New translations firefly.php (Russian) 2017-09-14 17:50:28 +02:00
James Cole
fc67c9a476 Add missing translation for #843 2017-09-14 17:45:43 +02:00
James Cole
ca861e2a5d New translations list.php (French) 2017-09-14 17:42:53 +02:00
James Cole
a626f71b9f New translations list.php (German) 2017-09-14 17:42:52 +02:00
James Cole
d0f1509a9e New translations list.php (Polish) 2017-09-14 17:42:50 +02:00
James Cole
64194da2f2 New translations list.php (Portuguese, Brazilian) 2017-09-14 17:42:49 +02:00
James Cole
f4ac589eab New translations list.php (Dutch) 2017-09-14 17:42:48 +02:00
James Cole
96b2184d27 New translations list.php (Slovenian) 2017-09-14 17:42:39 +02:00
James Cole
e196ff7281 New translations list.php (Spanish) 2017-09-14 17:42:38 +02:00
James Cole
bc05afeabb New translations list.php (Russian) 2017-09-14 17:42:35 +02:00
James Cole
5e900736f8 Various code cleanup. 2017-09-14 17:40:02 +02:00
James Cole
761e9effae Fix tests 2017-09-14 17:34:22 +02:00
James Cole
e0f1211896 Update config to account for namespace. 2017-09-14 17:29:21 +02:00
James Cole
fc5494e7f4 Restore test env. file. 2017-09-14 17:10:33 +02:00
James Cole
45a05111e6 New translations firefly.php (Dutch) 2017-09-14 16:40:12 +02:00
James Cole
afe9d109b3 Small layout change [skip ci] 2017-09-14 16:13:25 +02:00
James Cole
768c7e53b4 Show message when locale is invalid. 2017-09-14 16:12:07 +02:00
James Cole
a20d9fa8f1 Add missing translations #843 2017-09-14 16:11:55 +02:00
James Cole
d60ae63153 New translations firefly.php (Polish) 2017-09-14 16:11:24 +02:00
James Cole
1a1c85b268 New translations firefly.php (Portuguese, Brazilian) 2017-09-14 16:11:20 +02:00
James Cole
dd3ddaa838 New translations firefly.php (Slovenian) 2017-09-14 16:11:16 +02:00
James Cole
56fcf73ce1 New translations firefly.php (Spanish) 2017-09-14 16:11:13 +02:00
James Cole
c9e7018490 Fix null pointer 2017-09-14 16:11:10 +02:00
James Cole
bc6a34bb47 New translations firefly.php (German) 2017-09-14 16:11:09 +02:00
James Cole
fcf350b06b New translations firefly.php (French) 2017-09-14 16:11:03 +02:00
James Cole
6c393fb8e0 New translations firefly.php (Dutch) 2017-09-14 16:10:57 +02:00
James Cole
d7ef5df8c3 New translations firefly.php (Russian) 2017-09-14 16:10:37 +02:00
James Cole
e250ffbd18 Add missing translations #843 2017-09-14 16:03:27 +02:00
James Cole
4b5f500dc1 Filter out opening balances. #839 2017-09-14 10:39:24 +02:00
James Cole
6d69832711 Extra big buttons for ##838 2017-09-14 10:32:58 +02:00
James Cole
233305ecb4 Change namespace of rules. 2017-09-13 07:49:58 +02:00
James Cole
78f9fbae40 New translations firefly.php (Polish) 2017-09-12 23:10:10 +02:00
James Cole
be46aa77f2 New translations firefly.php (Polish) 2017-09-12 22:41:07 +02:00
James Cole
e741ba2f65 New translations firefly.php (Portuguese, Brazilian) 2017-09-12 22:41:03 +02:00
James Cole
3203f7e1b7 New translations firefly.php (Slovenian) 2017-09-12 22:40:59 +02:00
James Cole
f4aa982247 New translations firefly.php (Spanish) 2017-09-12 22:40:55 +02:00
James Cole
27c1f1d0d5 New translations firefly.php (German) 2017-09-12 22:40:51 +02:00
James Cole
e291e32a29 New translations firefly.php (French) 2017-09-12 22:40:48 +02:00
James Cole
9072388dd0 New translations firefly.php (Dutch) 2017-09-12 22:40:44 +02:00
James Cole
5f4da0f6a4 New translations firefly.php (Russian) 2017-09-12 22:40:26 +02:00
James Cole
0583aa53a9 Fix typo [skip ci] #836 2017-09-12 22:30:48 +02:00
James Cole
1d3ace5f21 Fix for #835 2017-09-12 22:28:14 +02:00
James Cole
3e8fe70915 Update error handler. 2017-09-12 22:14:43 +02:00
James Cole
bf8ce5471e Fix bug in #836 2017-09-12 22:11:45 +02:00
James Cole
262f8a33c6 Fixed validation rules. 2017-09-12 21:44:31 +02:00
James Cole
4f934e54cf Easier upgrade, include FF version in JS 2017-09-12 19:59:07 +02:00
James Cole
158bf06efb Update version (is also a test) 2017-09-12 19:57:56 +02:00
James Cole
436017baee Introduce version to template. Rename Javascript URI 2017-09-12 19:57:41 +02:00
James Cole
05e55696bb New translations firefly.php (Polish) 2017-09-12 19:51:09 +02:00
James Cole
f825b5923c New translations firefly.php (Portuguese, Brazilian) 2017-09-12 19:51:06 +02:00
James Cole
9a9893236e New translations firefly.php (Slovenian) 2017-09-12 19:51:02 +02:00
James Cole
0ee843988f New translations firefly.php (Spanish) 2017-09-12 19:50:59 +02:00
James Cole
adf7e10879 New translations firefly.php (German) 2017-09-12 19:50:56 +02:00
James Cole
59e449c806 New translations firefly.php (French) 2017-09-12 19:50:52 +02:00
James Cole
cc05bfa181 New translations firefly.php (Dutch) 2017-09-12 19:50:49 +02:00
James Cole
b8c7aa68b4 New translations firefly.php (Russian) 2017-09-12 19:50:31 +02:00
James Cole
6e80b2f4c8 Update tests. 2017-09-12 19:47:29 +02:00
James Cole
ce205ab413 Various small fixes. 2017-09-12 18:24:42 +02:00
James Cole
626a9aac4b Update gitignore. 2017-09-12 18:24:19 +02:00
James Cole
73d85ca8c6 Update kernel so it works. 2017-09-12 18:24:12 +02:00
James Cole
96795fe197 New translations form.php (French) 2017-09-12 17:30:17 +02:00
James Cole
5cacf15322 New translations firefly.php (French) 2017-09-12 17:30:11 +02:00
James Cole
590ce971bf New translations firefly.php (French) 2017-09-12 17:20:12 +02:00
James Cole
7d5e93650b New translations firefly.php (French) 2017-09-12 15:20:12 +02:00
James Cole
561dc57c03 New translations firefly.php (French) 2017-09-12 15:10:14 +02:00
James Cole
625d626b25 New translations firefly.php (French) 2017-09-12 15:00:15 +02:00
James Cole
dcfec9bd89 New translations firefly.php (French) 2017-09-12 14:50:11 +02:00
James Cole
f1ff681b06 New translations firefly.php (French) 2017-09-12 14:40:14 +02:00
James Cole
9bc9aa0bb0 Add bcscale again. 2017-09-10 09:54:00 +02:00
James Cole
24ea20f769 Various changes to make things work again. 2017-09-10 09:46:50 +02:00
James Cole
1faa520168 Update composer files. 2017-09-10 08:43:03 +02:00
James Cole
7e30d761c5 No longer necessary 2017-09-10 08:42:48 +02:00
James Cole
750aa80b7c Updated docker example file. 2017-09-10 08:40:02 +02:00
James Cole
861941353b Update env example file. 2017-09-10 08:39:00 +02:00
James Cole
3fda7aa1e5 Update Kernel file to work with Laravel 5.5 2017-09-10 08:33:51 +02:00
James Cole
6f886e6eaa Changes required to make FF work again. 2017-09-10 08:30:27 +02:00
James Cole
9223f3ef71 Various updated files. 2017-09-09 22:32:11 +02:00
James Cole
6dbf4a3e49 New translations firefly.php (Polish) 2017-09-09 22:30:07 +02:00
James Cole
3b9b74b5ea Example test should point to /login 2017-09-09 22:11:33 +02:00
James Cole
418a6ab5ad This removes the bcscale thing which is very necessary. 2017-09-09 22:10:56 +02:00
James Cole
2268155994 Various files 2017-09-09 22:10:43 +02:00
James Cole
b219283d66 New validation thing is taking my namespace 2017-09-09 22:06:30 +02:00
James Cole
f077adaefd Separated providers. 2017-09-09 22:06:13 +02:00
James Cole
8823666aa9 CSRF middleware separated. 2017-09-09 22:03:54 +02:00
James Cole
ff9146ab91 Authentication in separate commit. 2017-09-09 22:03:27 +02:00
James Cole
c40be5299c Kernel middleware in separate commit. 2017-09-09 22:02:20 +02:00
James Cole
dcb2f45124 New translations firefly.php (Polish) 2017-09-09 22:00:55 +02:00
James Cole
f6322440cf New translations firefly.php (Portuguese, Brazilian) 2017-09-09 22:00:52 +02:00
James Cole
21e4108fd8 New translations firefly.php (Slovenian) 2017-09-09 22:00:49 +02:00
James Cole
8e33688268 New translations firefly.php (Spanish) 2017-09-09 22:00:47 +02:00
James Cole
a3fb2717cb New translations firefly.php (German) 2017-09-09 22:00:44 +02:00
James Cole
8017cf9d34 New translations firefly.php (French) 2017-09-09 22:00:41 +02:00
James Cole
8fe304e65b New translations firefly.php (Dutch) 2017-09-09 22:00:38 +02:00
James Cole
28485e461e New translations firefly.php (Russian) 2017-09-09 22:00:23 +02:00
James Cole
bf270745f0 Separate commit for error handler. 2017-09-09 21:57:45 +02:00
James Cole
d1e60cd546 First step towards Laravel 5.5 2017-09-09 21:57:24 +02:00
James Cole
834db4d02f New sentence for journal links. 2017-09-09 21:52:12 +02:00
James Cole
2f8d75eb73 Fix for #827 2017-09-09 18:44:05 +02:00
James Cole
53eef3fda7 Catch for #822 2017-09-09 18:37:47 +02:00
James Cole
0bcc010de8 Create link types when they do not exist in verify routine. #826 2017-09-09 18:36:17 +02:00
James Cole
b43bf35e98 Merge pull request #824 from DieBauer/823-dockerfile
Docker: Use working directory instead of hardcoded dist version
2017-09-09 18:22:59 +02:00
James Cole
769023e36c New translations firefly.php (Polish) 2017-09-09 17:20:07 +02:00
Jens Kat
2bf47f6d58 Use environment variable for install dir 2017-09-09 13:17:01 +02:00
Jens Kat
a3e1821ca0 Docker: Use working directory instead of hardcoded dist version
- By using the current (.) working directory, we can get the latest changes in the Docker image.
  If the building of Docker images is automated, it will automatically pick up the checked out version.
- Rearrange some Docker layers things that don't invalidate that much.
2017-09-09 12:51:37 +02:00
James Cole
dc1754bca7 New translations firefly.php (Polish) 2017-09-09 08:41:03 +02:00
James Cole
8879d76dd9 New translations firefly.php (Portuguese, Brazilian) 2017-09-09 08:41:01 +02:00
James Cole
cec99b83a0 New translations firefly.php (Slovenian) 2017-09-09 08:40:59 +02:00
James Cole
498873c208 New translations firefly.php (Spanish) 2017-09-09 08:40:56 +02:00
James Cole
80c8f131c8 New translations firefly.php (German) 2017-09-09 08:40:53 +02:00
James Cole
7344bd9054 New translations firefly.php (French) 2017-09-09 08:40:49 +02:00
James Cole
44b4e146eb New translations firefly.php (Dutch) 2017-09-09 08:40:45 +02:00
James Cole
e330eafc91 New translations form.php (Dutch) 2017-09-09 08:40:44 +02:00
James Cole
b9e7541cf6 New translations form.php (French) 2017-09-09 08:40:43 +02:00
James Cole
0d595d576a New translations list.php (French) 2017-09-09 08:40:41 +02:00
James Cole
ab602c98d9 New translations list.php (German) 2017-09-09 08:40:40 +02:00
James Cole
a0722fe022 New translations list.php (Polish) 2017-09-09 08:40:39 +02:00
James Cole
4454c0b911 New translations list.php (Portuguese, Brazilian) 2017-09-09 08:40:38 +02:00
James Cole
ae61064029 New translations list.php (Dutch) 2017-09-09 08:40:37 +02:00
James Cole
21168b8a49 New translations form.php (Spanish) 2017-09-09 08:40:36 +02:00
James Cole
077a3fb5a8 New translations form.php (German) 2017-09-09 08:40:35 +02:00
James Cole
8266cdba66 New translations form.php (Polish) 2017-09-09 08:40:34 +02:00
James Cole
aa0d3fd54c New translations form.php (Portuguese, Brazilian) 2017-09-09 08:40:32 +02:00
James Cole
86080ad871 New translations form.php (Slovenian) 2017-09-09 08:40:31 +02:00
James Cole
6b8144e8af New translations list.php (Slovenian) 2017-09-09 08:40:26 +02:00
James Cole
10ab561fbb New translations list.php (Spanish) 2017-09-09 08:40:24 +02:00
James Cole
5d3606c12d New translations firefly.php (Russian) 2017-09-09 08:40:23 +02:00
James Cole
e8d74bd735 New translations form.php (Russian) 2017-09-09 08:40:20 +02:00
James Cole
7c791d4fbf New translations list.php (Russian) 2017-09-09 08:40:19 +02:00
James Cole
ee2fba415a Remove unused translations. 2017-09-09 08:32:45 +02:00
869 changed files with 47151 additions and 13223 deletions

4
.dockerignore Normal file
View File

@@ -0,0 +1,4 @@
# Ignore composer specific files and vendor folder
composer.phar
composer.lock
vendor

View File

@@ -1,7 +1,6 @@
APP_ENV=${FF_APP_ENV}
APP_DEBUG=false
APP_FORCE_SSL=false
APP_FORCE_ROOT=
APP_NAME=FireflyIII
APP_KEY=${FF_APP_KEY}
APP_LOG=daily
APP_LOG_LEVEL=warning
@@ -28,7 +27,7 @@ REDIS_PASSWORD=null
REDIS_PORT=6379
MAIL_DRIVER=smtp
MAIL_HOST=mailtrap.io
MAIL_HOST=smtp.mailtrap.io
MAIL_PORT=2525
MAIL_FROM=changeme@example.com
MAIL_USERNAME=null
@@ -41,6 +40,8 @@ SHOW_INCOMPLETE_TRANSLATIONS=false
CACHE_PREFIX=firefly
EXCHANGE_RATE_SERVICE=fixerio
GOOGLE_MAPS_API_KEY=
ANALYTICS_ID=
SITE_OWNER=mail@example.com
@@ -48,7 +49,7 @@ USE_ENCRYPTION=true
PUSHER_KEY=
PUSHER_SECRET=
PUSHER_APP_ID=
PUSHER_ID=
DEMO_USERNAME=
DEMO_PASSWORD=

12
.env.example Executable file → Normal file
View File

@@ -1,11 +1,11 @@
APP_ENV=production
APP_ENV=local
APP_DEBUG=false
APP_FORCE_SSL=false
APP_FORCE_ROOT=
APP_NAME=FireflyIII
APP_KEY=SomeRandomStringOf32CharsExactly
APP_LOG=daily
APP_LOG_LEVEL=warning
APP_URL=http://localhost
TRUSTED_PROXIES=
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
@@ -28,7 +28,7 @@ REDIS_PASSWORD=null
REDIS_PORT=6379
MAIL_DRIVER=smtp
MAIL_HOST=mailtrap.io
MAIL_HOST=smtp.mailtrap.io
MAIL_PORT=2525
MAIL_FROM=changeme@example.com
MAIL_USERNAME=null
@@ -43,14 +43,14 @@ CACHE_PREFIX=firefly
EXCHANGE_RATE_SERVICE=fixerio
GOOGLE_MAPS_API_KEY=
MAPBOX_API_KEY=
ANALYTICS_ID=
SITE_OWNER=mail@example.com
USE_ENCRYPTION=true
PUSHER_KEY=
PUSHER_SECRET=
PUSHER_APP_ID=
PUSHER_ID=
DEMO_USERNAME=
DEMO_PASSWORD=

View File

@@ -1,7 +1,6 @@
APP_ENV=production
APP_ENV=local
APP_DEBUG=true
APP_FORCE_SSL=false
APP_FORCE_ROOT=
APP_NAME=FireflyIII
APP_KEY=SomeRandomStringOf32CharsExactly
APP_LOG=syslog
APP_LOG_LEVEL=debug
@@ -28,7 +27,7 @@ REDIS_PASSWORD=null
REDIS_PORT=6379
MAIL_DRIVER=smtp
MAIL_HOST=mailtrap.io
MAIL_HOST=smtp.mailtrap.io
MAIL_PORT=2525
MAIL_FROM=changeme@example.com
MAIL_USERNAME=null
@@ -41,6 +40,8 @@ SHOW_INCOMPLETE_TRANSLATIONS=false
CACHE_PREFIX=firefly
EXCHANGE_RATE_SERVICE=fixerio
GOOGLE_MAPS_API_KEY=
ANALYTICS_ID=
SITE_OWNER=mail@example.com
@@ -48,8 +49,7 @@ USE_ENCRYPTION=true
PUSHER_KEY=
PUSHER_SECRET=
PUSHER_APP_ID=
PUSHER_ID=
DEMO_USERNAME=
DEMO_PASSWORD=

21
.env.testing Executable file → Normal file
View File

@@ -1,7 +1,6 @@
APP_ENV=testing
APP_DEBUG=true
APP_FORCE_SSL=false
APP_FORCE_ROOT=
APP_NAME=FireflyIII
APP_KEY=TestTestTestTestTestTestTestTest
APP_LOG=daily
APP_LOG_LEVEL=debug
@@ -11,7 +10,7 @@ DB_CONNECTION=sqlite
DB_HOST=127.0.0.1
DB_PORT=3306
DB_USERNAME=homestead
DB_PASSWORD=secret
DB_PASSWORD=
BROADCAST_DRIVER=log
CACHE_DRIVER=file
@@ -26,8 +25,8 @@ REDIS_HOST=127.0.0.1
REDIS_PASSWORD=null
REDIS_PORT=6379
MAIL_DRIVER=log
MAIL_HOST=mailtrap.io
MAIL_DRIVER=smtp
MAIL_HOST=smtp.mailtrap.io
MAIL_PORT=2525
MAIL_FROM=changeme@example.com
MAIL_USERNAME=null
@@ -38,9 +37,19 @@ SEND_REGISTRATION_MAIL=true
SEND_ERROR_MESSAGE=true
SHOW_INCOMPLETE_TRANSLATIONS=false
CACHE_PREFIX=firefly
EXCHANGE_RATE_SERVICE=fixerio
GOOGLE_MAPS_API_KEY=
ANALYTICS_ID=
SITE_OWNER=mail@example.com
USE_ENCRYPTION=true
PUSHER_KEY=
PUSHER_SECRET=
PUSHER_APP_ID=
PUSHER_ID=
DEMO_USERNAME=
DEMO_PASSWORD=

2
.gitattributes vendored Executable file → Normal file
View File

@@ -1,3 +1,5 @@
* text=auto
*.css linguist-vendored
*.scss linguist-vendored
*.js linguist-vendored
CHANGELOG.md export-ignore

9
.github/ISSUE_TEMPLATE.md vendored Normal file
View File

@@ -0,0 +1,9 @@
I am running Firefly III version x.x.x
#### Description of my issue:
#### Steps to reproduce
(please include if this problem also exists on the demo site)
#### Other important details (log files, system info):

9
.github/PULL_REQUEST_TEMPLATE.md vendored Normal file
View File

@@ -0,0 +1,9 @@
Fixes # (if relevant)
Changes in this pull request:
-
-
-
@JC5

6
.gitignore vendored Executable file → Normal file
View File

@@ -1,8 +1,14 @@
/node_modules
/public/hot
/public/storage
/storage/*.key
/vendor
/.vagrant
Homestead.json
Homestead.yaml
npm-debug.log
yarn-error.log
.env
public/google*.html
report.html
composer.phar

Binary file not shown.

Before

Width:  |  Height:  |  Size: 14 KiB

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 15 KiB

After

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.5 KiB

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.7 KiB

After

Width:  |  Height:  |  Size: 5.4 KiB

View File

@@ -1,3 +1,12 @@
# 4.6.9.1
* Updated license
* Updated file list
# 4.6.9
* First version that works!
# 3.4.3
* Initial release on Sandstorm.io

View File

@@ -37,15 +37,15 @@ HOME=/etc/mysql /usr/bin/mysql_install_db --force
# Spawn mysqld, php
HOME=/etc/mysql /usr/sbin/mysqld &
/usr/sbin/php-fpm7.0 --nodaemonize --fpm-config /etc/php/7.0/fpm/php-fpm.conf &
/usr/sbin/php-fpm7.1 --nodaemonize --fpm-config /etc/php/7.1/fpm/php-fpm.conf &
# Wait until mysql and php have bound their sockets, indicating readiness
while [ ! -e /var/run/mysqld/mysqld.sock ] ; do
echo "waiting for mysql to be available at /var/run/mysqld/mysqld.sock"
sleep .5
done
while [ ! -e /var/run/php7.0-fpm.sock ] ; do
echo "waiting for php7.0-fpm to be available at /var/run/php7.0-fpm.sock"
while [ ! -e /var/run/php7.1-fpm.sock ] ; do
echo "waiting for php7.1-fpm to be available at /var/run/php7.1-fpm.sock"
sleep .5
done

File diff suppressed because it is too large Load Diff

View File

@@ -1,4 +1,4 @@
@0x9411e6c8b3c8a4b6;
@0xb0032512fca90cd9;
using Spk = import "/sandstorm/package.capnp";
# This imports:
@@ -16,7 +16,8 @@ const pkgdef :Spk.PackageDefinition = (
manifest = (
appTitle = (defaultText = "Firefly III"),
appVersion = 1,
appMarketingVersion = (defaultText = "3.4.6"),
appMarketingVersion = (defaultText = "4.6.9.1"),
actions = [
# Define your "new document" handlers here.
( nounPhrase = (defaultText = "administration"),
@@ -42,8 +43,7 @@ const pkgdef :Spk.PackageDefinition = (
website = "https://firefly-iii.github.io/",
codeUrl = "https://github.com/firefly-iii/firefly-iii",
#license = (openSource = mit),
license = (proprietary = (defaultText = embed "../LICENSE")),
license = (openSource = gpl3),
# The license this package is distributed under. See
# https://docs.sandstorm.io/en/latest/developing/publishing-apps/#license
@@ -54,7 +54,6 @@ const pkgdef :Spk.PackageDefinition = (
author = (
contactEmail = "thegrumpydictator@gmail.com",
upstreamAuthor = "James Cole",
pgpSignature = embed "pgp-signature",
),
@@ -66,9 +65,9 @@ const pkgdef :Spk.PackageDefinition = (
# Sizes are given in device-independent pixels, so if you took these
# screenshots on a Retina-style high DPI screen, divide each dimension by two.
(width = 1200, height = 1000, png = embed "screenshots/screenshot-1.png"),
(width = 1200, height = 1000, png = embed "screenshots/screenshot-2.png"),
(width = 1200, height = 1518, png = embed "screenshots/screenshot-3.png"),
(width = 1291, height = 800, png = embed "screenshots/screenshot-1.png"),
(width = 1291, height = 800, png = embed "screenshots/screenshot-2.png"),
(width = 1291, height = 800, png = embed "screenshots/screenshot-3.png"),
],
changeLog = (defaultText = embed "changelog.md"),
@@ -97,7 +96,7 @@ const pkgdef :Spk.PackageDefinition = (
# `spk dev` will write a list of all the files your app uses to this file.
# You should review it later, before shipping your app.
alwaysInclude = ["app","bootstrap","config","database","public","resources","routes"],
alwaysInclude = ["opt/app/app","opt/app/bootstrap","opt/app/config","opt/app/database","opt/app/public","opt/app/resources","opt/app/routes","opt/app/vendor"],
# Fill this list with more names of files or directories that should be
# included in your package, even if not listed in sandstorm-files.list.
# Use this to force-include stuff that you know you need but which may
@@ -176,7 +175,7 @@ const pkgdef :Spk.PackageDefinition = (
const myCommand :Spk.Manifest.Command = (
# Here we define the command used to start up your server.
argv = ["/sandstorm-http-bridge", "8000", "--", "/opt/app/.sandstorm/launcher.sh"],
argv = ["/sandstorm-http-bridge", "8000", "--", "/bin/bash", "/opt/app/.sandstorm/launcher.sh"],
environ = [
# Note that this defines the *entire* environment seen by your app.
(key = "PATH", value = "/usr/local/bin:/usr/bin:/bin"),

Binary file not shown.

Before

Width:  |  Height:  |  Size: 177 KiB

After

Width:  |  Height:  |  Size: 120 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 222 KiB

After

Width:  |  Height:  |  Size: 122 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 280 KiB

After

Width:  |  Height:  |  Size: 107 KiB

View File

@@ -53,7 +53,7 @@ http {
}
location ~ \.php$ {
try_files $uri =404;
fastcgi_pass unix:/var/run/php7.0-fpm.sock;
fastcgi_pass unix:/var/run/php7.1-fpm.sock;
fastcgi_index index.php;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

View File

@@ -15,35 +15,40 @@ apt-get install -y python-software-properties software-properties-common
apt-key adv --keyserver keyserver.ubuntu.com --recv-keys E9C74FEEA2098A6E
add-apt-repository "deb http://packages.dotdeb.org jessie all"
# add another repos
apt-get install apt-transport-https lsb-release ca-certificates
wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg
echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/php.list
# install packages.
apt-get update
apt-get install -y nginx php7.0-fpm php7.0-mysql php7.0-cli php7.0-curl git php7.0-dev php7.0-intl php7.0-dom php7.0-mbstring php7.0-bcmath mysql-server
apt-get install -y nginx php7.1-fpm php7.1-mysql php7.1-gd php7.1-cli php7.1-curl git php7.1-dev php7.1-zip php7.1-intl php7.1-dom php7.1-mbstring php7.1-bcmath mysql-server
service nginx stop
service php7.0-fpm stop
service php7.1-fpm stop
service mysql stop
systemctl disable nginx
systemctl disable php7.0-fpm
systemctl disable php7.1-fpm
systemctl disable mysql
# patch /etc/php/7.0/fpm/pool.d/www.conf to not change uid/gid to www-data
# patch /etc/php/7.1/fpm/pool.d/www.conf to not change uid/gid to www-data
sed --in-place='' \
--expression='s/^listen.owner = www-data/;listen.owner = www-data/' \
--expression='s/^listen.group = www-data/;listen.group = www-data/' \
/etc/php/7.0/fpm/pool.d/www.conf
# patch /etc/php/7.0/fpm/php-fpm.conf to not have a pidfile
/etc/php/7.1/fpm/pool.d/www.conf
# patch /etc/php/7.1/fpm/php-fpm.conf to not have a pidfile
sed --in-place='' \
--expression='s/^pid =/;pid =/' \
/etc/php/7.0/fpm/php-fpm.conf
/etc/php/7.1/fpm/php-fpm.conf
# move sock file to better dir:
sed --in-place='' \
--expression='s/^listen = \/run\/php\/php7.0-fpm.sock/listen = \/var\/run\/php7.0-fpm.sock/' \
/etc/php/7.0/fpm/pool.d/www.conf
--expression='s/^listen = \/run\/php\/php7.1-fpm.sock/listen = \/var\/run\/php7.1-fpm.sock/' \
/etc/php/7.1/fpm/pool.d/www.conf
# patch /etc/php/7.0/fpm/pool.d/www.conf to no clear environment variables
# patch /etc/php/7.1/fpm/pool.d/www.conf to no clear environment variables
# so we can pass in SANDSTORM=1 to apps
sed --in-place='' \
--expression='s/^;clear_env = no/clear_env=no/' \
/etc/php/7.0/fpm/pool.d/www.conf
/etc/php/7.1/fpm/pool.d/www.conf
# patch mysql conf to not change uid, and to use /var/tmp over /tmp
# for secure-file-priv see https://github.com/sandstorm-io/vagrant-spk/issues/195
sed --in-place='' \

View File

@@ -19,10 +19,10 @@ install:
- mkdir -p build/logs
script:
- phpunit -c phpunit.xml
- phpunit -c phpunit.coverage.xml
#after_success:
# - travis_retry php vendor/bin/coveralls -x storage/build/clover.xml
after_success:
- travis_retry php vendor/bin/coveralls -x storage/build/clover-all.xml
# safelist
branches:

View File

@@ -2,47 +2,140 @@
All notable changes to this project will be documented in this file.
This project adheres to [Semantic Versioning](http://semver.org/).
## [4.6.9] - 2017-10-22
### Added
- Firefly III is now available on the [Sandstorm.io](https://apps.sandstorm.io/app/uws252ya9mep4t77tevn85333xzsgrpgth8q4y1rhknn1hammw70) market.
- Issue template
- Pull request template
- Clean up routine to remove double budget limits (see [issue 932](https://github.com/firefly-iii/firefly-iii/issues/932))
### Changed
- Changed license to GPLv3.
### Fixed
- [Issue 895](https://github.com/firefly-iii/firefly-iii/issues/895), as reported by [gavu](https://github.com/gavu)
- [Issue 902](https://github.com/firefly-iii/firefly-iii/issues/902), as reported by [gavu](https://github.com/gavu)
- [Issue 916](https://github.com/firefly-iii/firefly-iii/issues/916), as reported by [gavu](https://github.com/gavu)
- [Issue 942](https://github.com/firefly-iii/firefly-iii/issues/942), as reported by [pkoziol](https://github.com/pkoziol)
- [Issue 943](https://github.com/firefly-iii/firefly-iii/issues/943), as reported by [aclex](https://github.com/aclex)
- [Issue 944](https://github.com/firefly-iii/firefly-iii/issues/944), as reported by [gavu](https://github.com/gavu)
- [Issue 932](https://github.com/firefly-iii/firefly-iii/issues/932), as reported by [nicoschreiner](https://github.com/nicoschreiner)
- [Issue 933](https://github.com/firefly-iii/firefly-iii/issues/933), as reported by [nicoschreiner](https://github.com/nicoschreiner)
## [4.6.8] - 2017-10-15
### Added
- Verify routine will check if deposits have a budget (they shouldn't).
- New translations!
### Changed
- Changed docker files for [issue 919](https://github.com/firefly-iii/firefly-iii/issues/919) and [issue 915](https://github.com/firefly-iii/firefly-iii/issues/915)
### Fixed
- [Issue 917](https://github.com/firefly-iii/firefly-iii/issues/917), as reported by [Wr0ngName](https://github.com/Wr0ngName)
- Rules can no longer set a budget for a transfer or a deposit ([issue 916](https://github.com/firefly-iii/firefly-iii/issues/916))
- Fixed [issue 925](https://github.com/firefly-iii/firefly-iii/issues/925), [issue 928](https://github.com/firefly-iii/firefly-iii/issues/928) as reported by [dzaikos](https://github.com/dzaikos) and [DeltaKiloz](https://github.com/DeltaKiloz)
- A fix for [issue 926](https://github.com/firefly-iii/firefly-iii/issues/926), as reported by [Aquariu](https://github.com/Aquariu)
## [4.6.7] - 2017-10-09
### Added
- [Issue 872](https://github.com/firefly-iii/firefly-iii/issues/872), reported [gavu](https://github.com/gavu)
### Fixed
- [Issue 878](https://github.com/firefly-iii/firefly-iii/issues/878), fixed by [Findus23](https://github.com/Findus23)
- [Issue 881](https://github.com/firefly-iii/firefly-iii/issues/881), reported by [nicoschreiner](https://github.com/nicoschreiner)
- [Issue 884](https://github.com/firefly-iii/firefly-iii/issues/884), by [gavu](https://github.com/gavu)
- [Issue 840](https://github.com/firefly-iii/firefly-iii/issues/840), reported by [MacPaille](https://github.com/MacPaille)
- [Issue 882](https://github.com/firefly-iii/firefly-iii/issues/882), reported by [nicoschreiner](https://github.com/nicoschreiner)
- [Issue 891](https://github.com/firefly-iii/firefly-iii/issues/891), [issue 892](https://github.com/firefly-iii/firefly-iii/issues/892), reported by [nicoschreiner](https://github.com/nicoschreiner)
- [Issue 891](https://github.com/firefly-iii/firefly-iii/issues/891), reported by [gavu](https://github.com/gavu)
- [Issue 827](https://github.com/firefly-iii/firefly-iii/issues/827), fixed by [pkoziol](https://github.com/pkoziol)
- [Issue 903](https://github.com/firefly-iii/firefly-iii/issues/903), fixed by [hduijn](https://github.com/hduijn)
- [Issue 904](https://github.com/firefly-iii/firefly-iii/issues/904), reported by [gavu](https://github.com/gavu)
- [Issue 910](https://github.com/firefly-iii/firefly-iii/issues/910), reported by [gavu](https://github.com/gavu)
- [Issue 911](https://github.com/firefly-iii/firefly-iii/issues/911), reported by [gavu](https://github.com/gavu)
- [Issue 915](https://github.com/firefly-iii/firefly-iii/issues/915), reported by [TomWis97](https://github.com/TomWis97)
- [Issue 917](https://github.com/firefly-iii/firefly-iii/issues/917), reported by [Wr0ngName](https://github.com/Wr0ngName)
## [4.6.6] - 2017-09-30
### Added
- [Issue 826](https://github.com/firefly-iii/firefly-iii/issues/826), reported by [pkoziol](https://github.com/pkoziol).
- [Issue 855](https://github.com/firefly-iii/firefly-iii/issues/855), by [ms32035](https://github.com/ms32035)
- [Issue 786](https://github.com/firefly-iii/firefly-iii/issues/786), by [SmilingWorlock](https://github.com/SmilingWorlock)
- [Issue 875](https://github.com/firefly-iii/firefly-iii/issues/875), by [gavu](https://github.com/gavu)
- [Issue 834](https://github.com/firefly-iii/firefly-iii/issues/834), by [gavu](https://github.com/gavu) (and others)
### Changed
- Upgraded to Laravel 5.5
- Add version parameter to CSS and JS files
- [Issue 823](https://github.com/firefly-iii/firefly-iii/issues/823), [issue 824](https://github.com/firefly-iii/firefly-iii/issues/824) fixed Docker config by [DieBauer](https://github.com/DieBauer)
### Fixed
- [Issue 830](https://github.com/firefly-iii/firefly-iii/issues/830)
- [Issue 822](https://github.com/firefly-iii/firefly-iii/issues/822), reported by [gazben](https://github.com/gazben)
- [Issue 827](https://github.com/firefly-iii/firefly-iii/issues/827), reported by [pkoziol](https://github.com/pkoziol)
- [Issue 835](https://github.com/firefly-iii/firefly-iii/issues/835), reported by [gavu](https://github.com/gavu)
- [Issue 836](https://github.com/firefly-iii/firefly-iii/issues/836), reported by [pkoziol](https://github.com/pkoziol)
- [Issue 838](https://github.com/firefly-iii/firefly-iii/issues/838), reported by [gavu](https://github.com/gavu)
- [Issue 839](https://github.com/firefly-iii/firefly-iii/issues/839), reported by [gavu](https://github.com/gavu)
- [Issue 843](https://github.com/firefly-iii/firefly-iii/issues/843), reported by [gavu](https://github.com/gavu)
- [Issue 837](https://github.com/firefly-iii/firefly-iii/issues/837), reported by [gavu](https://github.com/gavu)
- [Issue 845](https://github.com/firefly-iii/firefly-iii/issues/845), reported by [gavu](https://github.com/gavu)
- [Issue 846](https://github.com/firefly-iii/firefly-iii/issues/846), reported by [gavu](https://github.com/gavu)
- [Issue 848](https://github.com/firefly-iii/firefly-iii/issues/848), reported by [gavu](https://github.com/gavu)
- [Issue 854](https://github.com/firefly-iii/firefly-iii/issues/854), reported by [gavu](https://github.com/gavu)
- [Issue 866](https://github.com/firefly-iii/firefly-iii/issues/866), reported by [pkoziol](https://github.com/pkoziol)
- [Issue 847](https://github.com/firefly-iii/firefly-iii/issues/847), reported by [gavu](https://github.com/gavu)
- [Issue 853](https://github.com/firefly-iii/firefly-iii/issues/853), reported by [gavu](https://github.com/gavu)
- [Issue 857](https://github.com/firefly-iii/firefly-iii/issues/857), reported by [pkoziol](https://github.com/pkoziol)
- [Issue 865](https://github.com/firefly-iii/firefly-iii/issues/865), reported by [simonsmiley](https://github.com/simonsmiley)
- [Issue 826](https://github.com/firefly-iii/firefly-iii/issues/826), reported by [pkoziol](https://github.com/pkoziol)
- [Issue 856](https://github.com/firefly-iii/firefly-iii/issues/856), reported by [ms32035](https://github.com/ms32035)
- [Issue 860](https://github.com/firefly-iii/firefly-iii/issues/860), reported by [gavu](https://github.com/gavu)
- [Issue 861](https://github.com/firefly-iii/firefly-iii/issues/861), reported by [gavu](https://github.com/gavu)
- [Issue 870](https://github.com/firefly-iii/firefly-iii/issues/870), reported by [gavu](https://github.com/gavu)
## [4.6.5] - 2017-09-09
### Added
- #616, The ability to link transactions
- #763, as suggested by @tannie
- #770, as suggested by @skibbipl
- #780, as suggested by @skibbipl
- #784, as suggested by @SmilingWorlock
- [Issue 616](https://github.com/firefly-iii/firefly-iii/issues/616), The ability to link transactions
- [Issue 763](https://github.com/firefly-iii/firefly-iii/issues/763), as suggested by [tannie](https://github.com/tannie)
- [Issue 770](https://github.com/firefly-iii/firefly-iii/issues/770), as suggested by [skibbipl](https://github.com/skibbipl)
- [Issue 780](https://github.com/firefly-iii/firefly-iii/issues/780), as suggested by [skibbipl](https://github.com/skibbipl)
- [Issue 784](https://github.com/firefly-iii/firefly-iii/issues/784), as suggested by [SmilingWorlock](https://github.com/SmilingWorlock)
- Lots of code for future support of automated Bunq imports
### Changed
- Rewrote the export routine
- #782, as suggested by @NiceGuyIT
- #800, as suggested by @jleeong
- [Issue 782](https://github.com/firefly-iii/firefly-iii/issues/782), as suggested by [NiceGuyIT](https://github.com/NiceGuyIT)
- [Issue 800](https://github.com/firefly-iii/firefly-iii/issues/800), as suggested by [jleeong](https://github.com/jleeong)
### Fixed
- #724, reported by @skibbipl
- #738, reported by @skibbipl
- #760, reported by @leander091
- #764, reported by @tannie
- #792, reported by @jleeong
- #793, reported by @nicoschreiner
- #797, reported by @leander091
- #801, reported by @pkoziol
- #803, reported by @pkoziol
- #805, reported by @pkoziol
- #806, reported by @pkoziol
- #807, reported by @pkoziol
- #808, reported by @pkoziol
- #809, reported by @pkoziol
- #814, reported by @nicoschreiner
- #818, reported by @gavu
- #819, reported by @DieBauer
- #820, reported by @simonsmiley
- [Issue 724](https://github.com/firefly-iii/firefly-iii/issues/724), reported by [skibbipl](https://github.com/skibbipl)
- [Issue 738](https://github.com/firefly-iii/firefly-iii/issues/738), reported by [skibbipl](https://github.com/skibbipl)
- [Issue 760](https://github.com/firefly-iii/firefly-iii/issues/760), reported by [leander091](https://github.com/leander091)
- [Issue 764](https://github.com/firefly-iii/firefly-iii/issues/764), reported by [tannie](https://github.com/tannie)
- [Issue 792](https://github.com/firefly-iii/firefly-iii/issues/792), reported by [jleeong](https://github.com/jleeong)
- [Issue 793](https://github.com/firefly-iii/firefly-iii/issues/793), reported by [nicoschreiner](https://github.com/nicoschreiner)
- [Issue 797](https://github.com/firefly-iii/firefly-iii/issues/797), reported by [leander091](https://github.com/leander091)
- [Issue 801](https://github.com/firefly-iii/firefly-iii/issues/801), reported by [pkoziol](https://github.com/pkoziol)
- [Issue 803](https://github.com/firefly-iii/firefly-iii/issues/803), reported by [pkoziol](https://github.com/pkoziol)
- [Issue 805](https://github.com/firefly-iii/firefly-iii/issues/805), reported by [pkoziol](https://github.com/pkoziol)
- [Issue 806](https://github.com/firefly-iii/firefly-iii/issues/806), reported by [pkoziol](https://github.com/pkoziol)
- [Issue 807](https://github.com/firefly-iii/firefly-iii/issues/807), reported by [pkoziol](https://github.com/pkoziol)
- [Issue 808](https://github.com/firefly-iii/firefly-iii/issues/808), reported by [pkoziol](https://github.com/pkoziol)
- [Issue 809](https://github.com/firefly-iii/firefly-iii/issues/809), reported by [pkoziol](https://github.com/pkoziol)
- [Issue 814](https://github.com/firefly-iii/firefly-iii/issues/814), reported by [nicoschreiner](https://github.com/nicoschreiner)
- [Issue 818](https://github.com/firefly-iii/firefly-iii/issues/818), reported by [gavu](https://github.com/gavu)
- [Issue 819](https://github.com/firefly-iii/firefly-iii/issues/819), reported by [DieBauer](https://github.com/DieBauer)
- [Issue 820](https://github.com/firefly-iii/firefly-iii/issues/820), reported by [simonsmiley](https://github.com/simonsmiley)
- Various other fixes
## [4.6.4] - 2017-08-13
### Added
- PHP7.1 support
- Routine to decrypt attachments from the command line, for issue #671
- Routine to decrypt attachments from the command line, for [issue 671](https://github.com/firefly-iii/firefly-iii/issues/671)
- A routine that can check if your password has been stolen in the past.
- Split transaction shows amount left to be split
@@ -51,9 +144,6 @@ This project adheres to [Semantic Versioning](http://semver.org/).
- Importer can (potentially) handle new import routines such as banks.
- Importer can fall back from JSON errors
### Deprecated
- Initial release.
### Removed
- PHP7.0 support
- Support for extended tag modes
@@ -61,27 +151,23 @@ This project adheres to [Semantic Versioning](http://semver.org/).
### Fixed
- #717, reported by @NiceGuyIT
- #718, reported by @wtercato
- #722, reported by @simonsmiley
- #648, reported by @skibbipl
- #730, reported by @ragnarkarlsson
- #733, reported by @xpfgsyb
- #735, reported by @kristophr
- #739, reported by @skibbipl
- #515, reported by @schwalberich
- #743, reported by @simonsmiley
- #746, reported by @tannie
- #747, reported by @tannie
### Security
- Initial release.
- [Issue 717](https://github.com/firefly-iii/firefly-iii/issues/717), reported by [NiceGuyIT](https://github.com/NiceGuyIT)
- [Issue 718](https://github.com/firefly-iii/firefly-iii/issues/718), reported by [wtercato](https://github.com/wtercato)
- [Issue 722](https://github.com/firefly-iii/firefly-iii/issues/722), reported by [simonsmiley](https://github.com/simonsmiley)
- [Issue 648](https://github.com/firefly-iii/firefly-iii/issues/648), reported by [skibbipl](https://github.com/skibbipl)
- [Issue 730](https://github.com/firefly-iii/firefly-iii/issues/730), reported by [ragnarkarlsson](https://github.com/ragnarkarlsson)
- [Issue 733](https://github.com/firefly-iii/firefly-iii/issues/733), reported by [xpfgsyb](https://github.com/xpfgsyb)
- [Issue 735](https://github.com/firefly-iii/firefly-iii/issues/735), reported by [kristophr](https://github.com/kristophr)
- [Issue 739](https://github.com/firefly-iii/firefly-iii/issues/739), reported by [skibbipl](https://github.com/skibbipl)
- [Issue 515](https://github.com/firefly-iii/firefly-iii/issues/515), reported by [schwalberich](https://github.com/schwalberich)
- [Issue 743](https://github.com/firefly-iii/firefly-iii/issues/743), reported by [simonsmiley](https://github.com/simonsmiley)
- [Issue 746](https://github.com/firefly-iii/firefly-iii/issues/746), reported by [tannie](https://github.com/tannie)
- [Issue 747](https://github.com/firefly-iii/firefly-iii/issues/747), reported by [tannie](https://github.com/tannie)
## [4.6.3.1] - 2017-07-23
### Fixed
- Hotfix to close issue #715
- Hotfix to close [issue 715](https://github.com/firefly-iii/firefly-iii/issues/715)
## [4.6.3] - 2017-07-23
@@ -98,23 +184,18 @@ This will be the last release to support PHP 7.0.
- Improved command line import responsiveness and speed.
- All code comparisons are now strict.
- Improve search page.
- Charts are easier to read thanks to @simonsmiley
- Fixed #708.
- Charts are easier to read thanks to [simonsmiley](https://github.com/simonsmiley)
- Fixed [issue 708](https://github.com/firefly-iii/firefly-iii/issues/708).
### Fixed
- Fixed bug where import would not respect default account. #694
- Fixed bug where import would not respect default account. [issue 694](https://github.com/firefly-iii/firefly-iii/issues/694)
- Fixed various broken paths
- Fixed several import inconsistencies.
- Various bug fixes.
### Security
- Initial release.
## [4.6.2] - 2017-07-08
### Added
- Links added to boxes, idea by @simonsmiley
- Links added to boxes, idea by [simonsmiley](https://github.com/simonsmiley)
### Fixed
- Various bugs in import routine
@@ -129,11 +210,10 @@ This will be the last release to support PHP 7.0.
- Revamped import routine. Will be buggy.
### Fixed
- Issue #667, postgresql reported by @skibbipl.
- Issue #680 by @Xeli
- Fixed #660
- Fixes #672, reported by @dzaikos
- Translation error fixed by
- [Issue 667](https://github.com/firefly-iii/firefly-iii/issues/667), postgresql reported by [skibbipl](https://github.com/skibbipl).
- [Issue 680](https://github.com/firefly-iii/firefly-iii/issues/680), fixed by [Xeli](https://github.com/Xeli)
- Fixed [issue 660](https://github.com/firefly-iii/firefly-iii/issues/660)
- Fixes [issue 672](https://github.com/firefly-iii/firefly-iii/issues/672), reported by [dzaikos](https://github.com/dzaikos)
- Fix a bug where the balance routine forgot to account for accounts without a currency preference.
- Various other bugfixes.
@@ -143,11 +223,11 @@ This will be the last release to support PHP 7.0.
- Better support for multi-currency transactions and display of transactions, accounts and everything. This requires a database overhaul (moving the currency information to specific transactions) so be careful when upgrading.
- Translations for Spanish and Slovenian.
- New interface for budget page, ~~stolen from~~ inspired by YNAB.
- Expanded Docker to work with postgresql as well, thanks to @kressh
- Expanded Docker to work with postgresql as well, thanks to [kressh](https://github.com/kressh)
### Fixed
- PostgreSQL support in database upgrade routine (#644, reported by @skibbipl)
- Frontpage budget chart was off, fix by @nhaarman
- PostgreSQL support in database upgrade routine ([issue 644](https://github.com/firefly-iii/firefly-iii/issues/644), reported by [skibbipl](https://github.com/skibbipl))
- Frontpage budget chart was off, fix by [nhaarman](https://github.com/nhaarman)
- Was not possible to remove opening balance.
## [4.4.3] - 2017-05-03
@@ -162,8 +242,8 @@ This will be the last release to support PHP 7.0.
- The journal collector, an internal piece of code to collect transactions, now uses a slightly different method of collecting journals. This may cause problems.
### Fixed
- Issue #638 as reported by [worldworm](https://github.com/worldworm).
- Possible fix for #624
- [Issue 638](https://github.com/firefly-iii/firefly-iii/issues/638) as reported by [worldworm](https://github.com/worldworm).
- Possible fix for [issue 624](https://github.com/firefly-iii/firefly-iii/issues/624)
## [4.4.2] - 2017-04-27
### Fixed
@@ -180,24 +260,24 @@ This will be the last release to support PHP 7.0.
## [4.4.0] - 2017-04-23
### Added
- Firefly III can now handle foreign currencies better, including some code to get the exchange rate live from the web.
- Can now make rules for attachments, see #608, as suggested by dzaikos.
- Can now make rules for attachments, see [issue 608](https://github.com/firefly-iii/firefly-iii/issues/608), as suggested by [dzaikos](https://github.com/dzaikos).
### Fixed
- Fixed #629, reported by forcaeluz
- Fixed #630, reported by welbert
- Fixed [issue 629](https://github.com/firefly-iii/firefly-iii/issues/629), reported by forcaeluz
- Fixed [issue 630](https://github.com/firefly-iii/firefly-iii/issues/630), reported by welbert
- And more various bug fixes.
## [4.3.8] - 2017-04-08
### Added
- Better overview / show pages.
- #628, as reported by [xzaz](https://github.com/xzaz).
- [Issue 628](https://github.com/firefly-iii/firefly-iii/issues/628), as reported by [xzaz](https://github.com/xzaz).
- Greatly expanded test coverage
### Fixed
- #619, as reported by [dfiel](https://github.com/dfiel).
- #620, as reported by [forcaeluz](https://github.com/forcaeluz).
- Attempt to fix #624, as reported by [TheSerenin](https://github.com/TheSerenin).
- [Issue 619](https://github.com/firefly-iii/firefly-iii/issues/619), as reported by [dfiel](https://github.com/dfiel).
- [Issue 620](https://github.com/firefly-iii/firefly-iii/issues/620), as reported by [forcaeluz](https://github.com/forcaeluz).
- Attempt to fix [issue 624](https://github.com/firefly-iii/firefly-iii/issues/624), as reported by [TheSerenin](https://github.com/TheSerenin).
- Favicon link is relative now, fixed by [welbert](https://github.com/welbert).
- Some search bugs
@@ -215,61 +295,61 @@ This will be the last release to support PHP 7.0.
- Slightly changed account overview.
### Removed
- Removed IDE specific views from .gitignore, issue #598
- Removed IDE specific views from .gitignore, [issue 598](https://github.com/firefly-iii/firefly-iii/issues/598)
### Fixed
- Force key generation during installation.
- The `date` function takes the fieldname where a date is stored, not the literal date by [Zsub](https://github.com/Zsub)
- Improved budget frontpage chart, as suggested by [skibbipl](https://github.com/skibbipl)
- Issue #602 and #607, as reported by [skibbipl](https://github.com/skibbipl) and [dzaikos](https://github.com/dzaikos).
- Issue #605, as reported by [Zsub](https://github.com/Zsub).
- Issue #599, as reported by [leander091](https://github.com/leander091).
- Issue #610, as reported by [skibbipl](https://github.com/skibbipl).
- Issue #611, as reported by [ragnarkarlsson](https://github.com/ragnarkarlsson).
- Issue #612, as reported by [ragnarkarlsson](https://github.com/ragnarkarlsson).
- Issue #614, as reported by [worldworm](https://github.com/worldworm).
- [Issue 602](https://github.com/firefly-iii/firefly-iii/issues/602) and [issue 607](https://github.com/firefly-iii/firefly-iii/issues/607), as reported by [skibbipl](https://github.com/skibbipl) and [dzaikos](https://github.com/dzaikos).
- [Issue 605](https://github.com/firefly-iii/firefly-iii/issues/605), as reported by [Zsub](https://github.com/Zsub).
- [Issue 599](https://github.com/firefly-iii/firefly-iii/issues/599), as reported by [leander091](https://github.com/leander091).
- [Issue 610](https://github.com/firefly-iii/firefly-iii/issues/610), as reported by [skibbipl](https://github.com/skibbipl).
- [Issue 611](https://github.com/firefly-iii/firefly-iii/issues/611), as reported by [ragnarkarlsson](https://github.com/ragnarkarlsson).
- [Issue 612](https://github.com/firefly-iii/firefly-iii/issues/612), as reported by [ragnarkarlsson](https://github.com/ragnarkarlsson).
- [Issue 614](https://github.com/firefly-iii/firefly-iii/issues/614), as reported by [worldworm](https://github.com/worldworm).
- Various other bug fixes.
## [4.3.6] - 2017-02-20
### Fixed
- #578, reported by [xpfgsyb](https://github.com/xpfgsyb).
- [Issue 578](https://github.com/firefly-iii/firefly-iii/issues/578), reported by [xpfgsyb](https://github.com/xpfgsyb).
## [4.3.5] - 2017-02-19
### Added
- Beta support for Sandstorm.IO
- Docker support by [@schoentoon](https://github.com/schoentoon), [@elohmeier](https://github.com/elohmeier), [@patrickkostjens](https://github.com/patrickkostjens) and [@crash7](https://github.com/crash7)!
- Docker support by [schoentoon](https://github.com/schoentoon), [elohmeier](https://github.com/elohmeier), [patrickkostjens](https://github.com/patrickkostjens) and [crash7](https://github.com/crash7)!
- Can now use special keywords in the search to search for specic dates, categories, etc.
### Changed
- Updated to laravel 5.4!
- User friendly error message
- Updated locales to support more operating systems, first reported in #536 by [dabenzel](https://github.com/dabenzel)
- Updated locales to support more operating systems, first reported in [issue 536](https://github.com/firefly-iii/firefly-iii/issues/536) by [dabenzel](https://github.com/dabenzel)
- Updated budget report
- Improved 404 page
- Smooth curves, improved by [elamperti](https://github.com/elamperti).
### Fixed
- #549
- #553
- Fixed #559 reported by [elamperti](https://github.com/elamperti).
- #565, as reported by a user over the mail
- #566, as reported by [dspeckmann](https://github.com/dspeckmann)
- #567, as reported by [winsomniak](https://github.com/winsomniak)
- #569, as reported by [winsomniak](https://github.com/winsomniak)
- #572, as reported by [zjean](https://github.com/zjean)
- [Issue 549](https://github.com/firefly-iii/firefly-iii/issues/549)
- [Issue 553](https://github.com/firefly-iii/firefly-iii/issues/553)
- Fixed [issue 559](https://github.com/firefly-iii/firefly-iii/issues/559) reported by [elamperti](https://github.com/elamperti).
- [Issue 565](https://github.com/firefly-iii/firefly-iii/issues/565), as reported by a user over the mail
- [Issue 566](https://github.com/firefly-iii/firefly-iii/issues/566), as reported by [dspeckmann](https://github.com/dspeckmann)
- [Issue 567](https://github.com/firefly-iii/firefly-iii/issues/567), as reported by [winsomniak](https://github.com/winsomniak)
- [Issue 569](https://github.com/firefly-iii/firefly-iii/issues/569), as reported by [winsomniak](https://github.com/winsomniak)
- [Issue 572](https://github.com/firefly-iii/firefly-iii/issues/572), as reported by [zjean](https://github.com/zjean)
- Many issues with the transaction filters which will fix reports (they tended to display the wrong amount).
## [4.3.4] - 2017-02-02
### Fixed
- Fixed bug #550, reported by [worldworm](https://github.com/worldworm)!
- Fixed bug #551, reported by [t-me](https://github.com/t-me)!
- Fixed bug [issue 550](https://github.com/firefly-iii/firefly-iii/issues/550), reported by [worldworm](https://github.com/worldworm)!
- Fixed bug [issue 551](https://github.com/firefly-iii/firefly-iii/issues/551), reported by [t-me](https://github.com/t-me)!
## [4.3.3] - 2017-01-30
_The 100th release of Firefly!_
### Added
- Add locales to Docker (#534) by [elohmeier](https://github.com/elohmeier).
- Add locales to Docker ([issue 534](https://github.com/firefly-iii/firefly-iii/issues/534)) by [elohmeier](https://github.com/elohmeier).
- Optional database encryption. On by default.
- Datepicker for Firefox and other browsers.
- New instruction block for updating and installing.
@@ -292,7 +372,7 @@ _The 100th release of Firefly!_
An intermediate release because something in the Twig and Twigbridge libraries is broken and I have to make sure it doesn't affect you guys. But some cool features were on their way so there's that oo.
### Added
- Some code for issue #475, consistent overviews.
- Some code for [issue 475](https://github.com/firefly-iii/firefly-iii/issues/475), consistent overviews.
- Better currency display. Make sure you have locale packages installed.
### Changed
@@ -300,56 +380,56 @@ An intermediate release because something in the Twig and Twigbridge libraries i
### Fixed
- The password reset routine was broken.
- Issue #522, thanks to [xpfgsyb](https://github.com/xpfgsyb)
- Issue #524, thanks to [worldworm](https://github.com/worldworm)
- Issue #526, thanks to [worldworm](https://github.com/worldworm)
- Issue #528, thanks to [skibbipl](https://github.com/skibbipl)
- [Issue 522](https://github.com/firefly-iii/firefly-iii/issues/522), thanks to [xpfgsyb](https://github.com/xpfgsyb)
- [Issue 524](https://github.com/firefly-iii/firefly-iii/issues/524), thanks to [worldworm](https://github.com/worldworm)
- [Issue 526](https://github.com/firefly-iii/firefly-iii/issues/526), thanks to [worldworm](https://github.com/worldworm)
- [Issue 528](https://github.com/firefly-iii/firefly-iii/issues/528), thanks to [skibbipl](https://github.com/skibbipl)
- Various other fixes.
## [4.3.1] - 2017-01-04
### Added
- Support for Russian and Polish.
- Support for a proper demo website.
- Support for custom decimal places in currencies (#506, suggested by [xpfgsyb](https://github.com/xpfgsyb)).
- Most amounts are now right-aligned (#511, suggested by [xpfgsyb](https://github.com/xpfgsyb)).
- Support for custom decimal places in currencies ([issue 506](https://github.com/firefly-iii/firefly-iii/issues/506), suggested by [xpfgsyb](https://github.com/xpfgsyb)).
- Most amounts are now right-aligned ([issue 511](https://github.com/firefly-iii/firefly-iii/issues/511), suggested by [xpfgsyb](https://github.com/xpfgsyb)).
- German is now a "complete" language, more than 75% translated!
### Changed
- **[New Github repository!](github.com/firefly-iii/firefly-iii)**
- Better category overview.
- #502, thanks to [zjean](https://github.com/zjean)
- [Issue 502](https://github.com/firefly-iii/firefly-iii/issues/502), thanks to [zjean](https://github.com/zjean)
### Removed
- Removed a lot of administration functions.
- Removed ability to activate users.
### Fixed
- #501, thanks to [zjean](https://github.com/zjean)
- #513, thanks to [skibbipl](https://github.com/skibbipl)
- [Issue 501](https://github.com/firefly-iii/firefly-iii/issues/501), thanks to [zjean](https://github.com/zjean)
- [Issue 513](https://github.com/firefly-iii/firefly-iii/issues/513), thanks to [skibbipl](https://github.com/skibbipl)
### Security
- #519, thanks to [xpfgsyb](https://github.com/xpfgsyb)
- [Issue 519](https://github.com/firefly-iii/firefly-iii/issues/519), thanks to [xpfgsyb](https://github.com/xpfgsyb)
## [4.3.0] - 2015-12-26
## [4.3.0] - 2016-12-26
### Added
- New method of keeping track of available budget, see issue #489
- New method of keeping track of available budget, see [issue 489](https://github.com/firefly-iii/firefly-iii/issues/489)
- Support for Spanish
- Firefly III now has an extended demo mode. Will expand further in the future.
### Changed
- New favicon
- Import routine no longer gives transactions a description #483
- Import routine no longer gives transactions a description [issue 483](https://github.com/firefly-iii/firefly-iii/issues/483)
### Removed
- All test data generation code.
### Fixed
- Removed import accounts from search results #478
- Redirect after delete will no longer go back to deleted item #477
- Cannot math #482
- Fixed bug in virtual balance field #479
- Removed import accounts from search results [issue 478](https://github.com/firefly-iii/firefly-iii/issues/478)
- Redirect after delete will no longer go back to deleted item [issue 477](https://github.com/firefly-iii/firefly-iii/issues/477)
- Cannot math [issue 482](https://github.com/firefly-iii/firefly-iii/issues/482)
- Fixed bug in virtual balance field [issue 479](https://github.com/firefly-iii/firefly-iii/issues/479)
## [4.2.2] - 2016-12-18
### Added
@@ -361,25 +441,25 @@ An intermediate release because something in the Twig and Twigbridge libraries i
### Fixed
- Various bugs
- Issue #472 thanks to [zjean](https://github.com/zjean)
- [Issue 472](https://github.com/firefly-iii/firefly-iii/issues/472) thanks to [zjean](https://github.com/zjean)
## [4.2.1] - 2016-12-09
### Added
- BIC support (see #430)
- BIC support (see [issue 430](https://github.com/firefly-iii/firefly-iii/issues/430))
- New category report section and chart (see the general financial report)
### Changed
- Date range picker now also available on mobile devices (see #435)
- Extended range of amounts for issue #439
- Date range picker now also available on mobile devices (see [issue 435](https://github.com/firefly-iii/firefly-iii/issues/435))
- Extended range of amounts for [issue 439](https://github.com/firefly-iii/firefly-iii/issues/439)
- Rewrote all routes. Old bookmarks may break.
## [4.2.0] - 2016-11-27
### Added
- Lots of (empty) tests
- Expanded transaction lists (#377)
- Expanded transaction lists ([issue 377](https://github.com/firefly-iii/firefly-iii/issues/377))
- New charts at account view
- First code for #305
- First code for [issue 305](https://github.com/firefly-iii/firefly-iii/issues/305)
### Changed
@@ -387,12 +467,12 @@ An intermediate release because something in the Twig and Twigbridge libraries i
- Made some fonts local
### Fixed
- Issue #408
- [Issue 408](https://github.com/firefly-iii/firefly-iii/issues/408)
- Various issues with split journals
- Issue #414, thx [zjean](https://github.com/zjean)
- Issue #419, thx [schwalberich](https://github.com/schwalberich)
- Issue #422, thx [xzaz](https://github.com/xzaz)
- Various import bugs, such as #416 ([zjean](https://github.com/zjean))
- [Issue 414](https://github.com/firefly-iii/firefly-iii/issues/414), thx [zjean](https://github.com/zjean)
- [Issue 419](https://github.com/firefly-iii/firefly-iii/issues/419), thx [schwalberich](https://github.com/schwalberich)
- [Issue 422](https://github.com/firefly-iii/firefly-iii/issues/422), thx [xzaz](https://github.com/xzaz)
- Various import bugs, such as [issue 416](https://github.com/firefly-iii/firefly-iii/issues/416) ([zjean](https://github.com/zjean))
## [4.1.7] - 2016-11-19
### Added
@@ -409,9 +489,9 @@ An intermediate release because something in the Twig and Twigbridge libraries i
### Fixed
- Made all pages more mobile friendly.
- Fixed #395 found by [marcoveeneman](https://github.com/marcoveeneman).
- Fixed #398 found by [marcoveeneman](https://github.com/marcoveeneman).
- Fixed #401 found by [marcoveeneman](https://github.com/marcoveeneman).
- Fixed [issue 395](https://github.com/firefly-iii/firefly-iii/issues/395) found by [marcoveeneman](https://github.com/marcoveeneman).
- Fixed [issue 398](https://github.com/firefly-iii/firefly-iii/issues/398) found by [marcoveeneman](https://github.com/marcoveeneman).
- Fixed [issue 401](https://github.com/firefly-iii/firefly-iii/issues/401) found by [marcoveeneman](https://github.com/marcoveeneman).
- Many optimizations.
- Updated many libraries.
- Various bugs found by myself.
@@ -427,9 +507,9 @@ An intermediate release because something in the Twig and Twigbridge libraries i
- Rebuilt seach engine.
### Fixed
- #375, thanks to [schoentoon](https://github.com/schoentoon) which made it impossible to resurrect currencies.
- #370 thanks to [ksmolder](https://github.com/ksmolder)
- #378, thanks to [HomelessAvatar](https://github.com/HomelessAvatar)
- [Issue 375](https://github.com/firefly-iii/firefly-iii/issues/375), thanks to [schoentoon](https://github.com/schoentoon) which made it impossible to resurrect currencies.
- [Issue 370](https://github.com/firefly-iii/firefly-iii/issues/370) thanks to [ksmolder](https://github.com/ksmolder)
- [Issue 378](https://github.com/firefly-iii/firefly-iii/issues/378), thanks to [HomelessAvatar](https://github.com/HomelessAvatar)
## [4.1.5] - 2016-11-01
### Changed
@@ -438,7 +518,7 @@ An intermediate release because something in the Twig and Twigbridge libraries i
- Help content is translated through Crowdin.
### Fixed
- Issue #370
- [Issue 370](https://github.com/firefly-iii/firefly-iii/issues/370)
## [4.1.4] - 2016-10-30
### Added
@@ -455,10 +535,10 @@ An intermediate release because something in the Twig and Twigbridge libraries i
- Change error message to refer to solution.
### Fixed
- #367 thanks to [HungryFeline](https://github.com/HungryFeline)
- #366 thanks to [3mz3t](https://github.com/3mz3t)
- #362 and #341 thanks to [bnw](https://github.com/bnw)
- #355 thanks to [roberthorlings](https://github.com/roberthorlings)
- [Issue 367](https://github.com/firefly-iii/firefly-iii/issues/367) thanks to [HungryFeline](https://github.com/HungryFeline)
- [Issue 366](https://github.com/firefly-iii/firefly-iii/issues/366) thanks to [3mz3t](https://github.com/3mz3t)
- [Issue 362](https://github.com/firefly-iii/firefly-iii/issues/362) and [issue 341](https://github.com/firefly-iii/firefly-iii/issues/341) thanks to [bnw](https://github.com/bnw)
- [Issue 355](https://github.com/firefly-iii/firefly-iii/issues/355) thanks to [roberthorlings](https://github.com/roberthorlings)
## [4.1.3] - 2016-10-22
### Fixed
@@ -489,7 +569,7 @@ An intermediate release because something in the Twig and Twigbridge libraries i
- Lots of old code
### Fixed
- #357, where non utf-8 files would break Firefly.
- [Issue 357](https://github.com/firefly-iii/firefly-iii/issues/357), where non utf-8 files would break Firefly.
- Tab delimiter is not properly loaded from import configuration ([roberthorlings](https://github.com/roberthorlings))
- System response to yearly bills
@@ -500,9 +580,9 @@ An intermediate release because something in the Twig and Twigbridge libraries i
### Changed
- Updated all copyright notices to refer to the [Creative Commons Attribution-ShareAlike 4.0 International License](https://creativecommons.org/licenses/by-sa/4.0/)
- Fixed #344
- Fixed #346, thanks to [SanderKleykens](https://github.com/SanderKleykens)
- #351
- Fixed [issue 344](https://github.com/firefly-iii/firefly-iii/issues/344)
- Fixed [issue 346](https://github.com/firefly-iii/firefly-iii/issues/346), thanks to [SanderKleykens](https://github.com/SanderKleykens)
- [Issue 351](https://github.com/firefly-iii/firefly-iii/issues/351)
- Did some internal remodelling.
### Fixed
@@ -513,17 +593,17 @@ An intermediate release because something in the Twig and Twigbridge libraries i
## [4.0.1] - 2016-10-04
### Added
- New ING import specific by [tomwerf](https://github.com/tomwerf)
- New Presidents Choice specific to fix #307
- Added some trimming (#335)
- New Presidents Choice specific to fix [issue 307](https://github.com/firefly-iii/firefly-iii/issues/307)
- Added some trimming ([issue 335](https://github.com/firefly-iii/firefly-iii/issues/335))
### Fixed
- Fixed a bug where incoming transactions would not be properly filtered in several reports.
- #334 by [cyberkov](https://github.com/cyberkov)
- #337
- #336
- #338 found by [roberthorlings](https://github.com/roberthorlings)
- [Issue 334](https://github.com/firefly-iii/firefly-iii/issues/334) by [cyberkov](https://github.com/cyberkov)
- [Issue 337](https://github.com/firefly-iii/firefly-iii/issues/337)
- [Issue 336](https://github.com/firefly-iii/firefly-iii/issues/336)
- [Issue 338](https://github.com/firefly-iii/firefly-iii/issues/338) found by [roberthorlings](https://github.com/roberthorlings)
## [4.0.0] - 2015-09-26
## [4.0.0] - 2016-09-26
### Added
- Upgraded to Laravel 5.3, most other libraries upgraded as well.
- Added GBP as currency, thanks to [Mortalife](https://github.com/Mortalife)
@@ -538,7 +618,7 @@ An intermediate release because something in the Twig and Twigbridge libraries i
- Various bugs, thanks to [fuf](https://github.com/fuf), [sandermulders](https://github.com/sandermulders) and [vissert](https://github.com/vissert)
- Various queries optimized for MySQL 5.7
## [3.10.4] - 2015-09-14
## [3.10.4] - 2016-09-14
### Fixed
- Migration fix by [sandermulders](https://github.com/sandermulders)
- Tricky import bug fix thanks to [vissert](https://github.com/vissert)
@@ -548,7 +628,7 @@ An intermediate release because something in the Twig and Twigbridge libraries i
## [3.10.3] - 2016-08-29
### Added
- More fields for mass-edit, thanks to [vissert](https://github.com/vissert) (#282)
- More fields for mass-edit, thanks to [vissert](https://github.com/vissert) ([issue 282](https://github.com/firefly-iii/firefly-iii/issues/282))
- First start of German translation
### Changed
@@ -579,7 +659,7 @@ An intermediate release because something in the Twig and Twigbridge libraries i
### Fixed
- Bug in the mass edit routines.
- Firefly III over a proxy will now work (see [issue #290](https://github.com/firefly-iii/firefly-iii/issues/290)), thanks [dfiel](https://github.com/dfiel) for reporting.
- Firefly III over a proxy will now work (see [issue 290](https://github.com/firefly-iii/firefly-iii/issues/290), thanks [dfiel](https://github.com/dfiel) for reporting.
- Sneaky bug in the import routine, fixed by [Bonno](https://github.com/Bonno)
## [3.10.1] - 2016-08-25
@@ -602,7 +682,7 @@ An intermediate release because something in the Twig and Twigbridge libraries i
- Fixed various bugs in the piggy banks pages.
- Fixed a bug in the `firefly:verify` routine
## [3.10] - 2015-05-25
## [3.10] - 2016-08-12
### Added
- New charts in year report
- Can add / remove money from piggy bank on mobile device.
@@ -613,27 +693,27 @@ An intermediate release because something in the Twig and Twigbridge libraries i
### Changed
- Rewrote the import routine.
- The date picker now supports more ranges and periods.
- Rewrote all migrations. #272
- Rewrote all migrations. [issue 272](https://github.com/firefly-iii/firefly-iii/issues/272)
### Fixed
- Issue #264
- Issue #265
- Fixed amount calculation problems, #266, thanks [xzaz](https://github.com/xzaz)
- Issue #271
- Issue #278, #273, thanks [StevenReitsma](https://github.com/StevenReitsma) and [rubella](https://github.com/rubella)
- [Issue 264](https://github.com/firefly-iii/firefly-iii/issues/264)
- [Issue 265](https://github.com/firefly-iii/firefly-iii/issues/265)
- Fixed amount calculation problems, [issue 266](https://github.com/firefly-iii/firefly-iii/issues/266), thanks [xzaz](https://github.com/xzaz)
- [Issue 271](https://github.com/firefly-iii/firefly-iii/issues/271)
- [Issue 278](https://github.com/firefly-iii/firefly-iii/issues/278), [issue 273](https://github.com/firefly-iii/firefly-iii/issues/273), thanks [StevenReitsma](https://github.com/StevenReitsma) and [rubella](https://github.com/rubella)
- Bug in attachment download routine would report the wrong size to the user's browser.
- Various NULL errors fixed.
- Various strict typing errors fixed.
- Fixed pagination problems, #276, thanks [xzaz](https://github.com/xzaz)
- Fixed pagination problems, [issue 276](https://github.com/firefly-iii/firefly-iii/issues/276), thanks [xzaz](https://github.com/xzaz)
- Fixed a bug where an expense would be assigned to a piggy bank if you created a transfer first.
- Bulk update problems, #280, thanks [stickgrinder](https://github.com/stickgrinder)
- Bulk update problems, [issue 280](https://github.com/firefly-iii/firefly-iii/issues/280), thanks [stickgrinder](https://github.com/stickgrinder)
- Fixed various problems with amount reporting of split transactions.
## [3.9.1]
## [3.9.1] - 2016-06-06
### Fixed
- Fixed a bug where removing money from a piggy bank would not work. See issue #265 and #269
- Fixed a bug where removing money from a piggy bank would not work. See [issue 265](https://github.com/firefly-iii/firefly-iii/issues/265) and [issue 269](https://github.com/firefly-iii/firefly-iii/issues/269)
## [3.9.0]
## [3.9.0] - 2016-05-22
### Added
- [zjean](https://github.com/zjean) has added code that allows you to force "https://"-URL's.
- [tonicospinelli](https://github.com/tonicospinelli) has added Portuguese (Brazil) translations.

View File

@@ -23,18 +23,31 @@ RUN docker-php-ext-install -j$(nproc) curl gd intl json mcrypt readline tidy zip
# Generate locales supported by firefly
RUN echo "en_US.UTF-8 UTF-8\nde_DE.UTF-8 UTF-8\nnl_NL.UTF-8 UTF-8\npt_BR.UTF-8 UTF-8" > /etc/locale.gen && locale-gen
COPY docker/apache2.conf /etc/apache2/apache2.conf
COPY ./docker/apache2.conf /etc/apache2/apache2.conf
# Enable apache mod rewrite..
RUN a2enmod rewrite
# Enable apache mod ssl..
RUN a2enmod ssl
# Setup the Composer installer
run curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer
RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer
RUN cd /var/www && composer create-project grumpydictator/firefly-iii --no-dev --prefer-dist firefly-iii 4.6.4
COPY docker/entrypoint.sh /var/www/firefly-iii/docker/entrypoint.sh
ADD docker/apache-firefly.conf /etc/apache2/sites-available/000-default.conf
RUN chown -R www-data:www-data /var/www && chmod -R 775 /var/www/firefly-iii/storage
# Copy Apache Configs
COPY ./docker/apache-firefly.conf /etc/apache2/sites-available/000-default.conf
ENV FIREFLY_PATH /var/www/firefly-iii
WORKDIR $FIREFLY_PATH
# The working directory
COPY . $FIREFLY_PATH
RUN chown -R www-data:www-data /var/www && chmod -R 775 $FIREFLY_PATH/storage
RUN composer install --prefer-dist --no-dev --no-scripts
WORKDIR /var/www/firefly-iii
EXPOSE 80
ENTRYPOINT ["/var/www/firefly-iii/docker/entrypoint.sh"]
ENTRYPOINT ["docker/entrypoint.sh"]

675
LICENSE
View File

@@ -1,7 +1,674 @@
Copyright (C) 2016 thegrumpydictator@gmail.com
GNU GENERAL PUBLIC LICENSE
Version 3, 29 June 2007
This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.
Copyright (C) 2007 Free Software Foundation, Inc. <https://fsf.org/>
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
https://creativecommons.org/licenses/by-sa/4.0/
Preamble
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
The GNU General Public License is a free, copyleft license for
software and other kinds of works.
The licenses for most software and other practical works are designed
to take away your freedom to share and change the works. By contrast,
the GNU General Public License is intended to guarantee your freedom to
share and change all versions of a program--to make sure it remains free
software for all its users. We, the Free Software Foundation, use the
GNU General Public License for most of our software; it applies also to
any other work released this way by its authors. You can apply it to
your programs, too.
When we speak of free software, we are referring to freedom, not
price. Our General Public Licenses are designed to make sure that you
have the freedom to distribute copies of free software (and charge for
them if you wish), that you receive source code or can get it if you
want it, that you can change the software or use pieces of it in new
free programs, and that you know you can do these things.
To protect your rights, we need to prevent others from denying you
these rights or asking you to surrender the rights. Therefore, you have
certain responsibilities if you distribute copies of the software, or if
you modify it: responsibilities to respect the freedom of others.
For example, if you distribute copies of such a program, whether
gratis or for a fee, you must pass on to the recipients the same
freedoms that you received. You must make sure that they, too, receive
or can get the source code. And you must show them these terms so they
know their rights.
Developers that use the GNU GPL protect your rights with two steps:
(1) assert copyright on the software, and (2) offer you this License
giving you legal permission to copy, distribute and/or modify it.
For the developers' and authors' protection, the GPL clearly explains
that there is no warranty for this free software. For both users' and
authors' sake, the GPL requires that modified versions be marked as
changed, so that their problems will not be attributed erroneously to
authors of previous versions.
Some devices are designed to deny users access to install or run
modified versions of the software inside them, although the manufacturer
can do so. This is fundamentally incompatible with the aim of
protecting users' freedom to change the software. The systematic
pattern of such abuse occurs in the area of products for individuals to
use, which is precisely where it is most unacceptable. Therefore, we
have designed this version of the GPL to prohibit the practice for those
products. If such problems arise substantially in other domains, we
stand ready to extend this provision to those domains in future versions
of the GPL, as needed to protect the freedom of users.
Finally, every program is threatened constantly by software patents.
States should not allow patents to restrict development and use of
software on general-purpose computers, but in those that do, we wish to
avoid the special danger that patents applied to a free program could
make it effectively proprietary. To prevent this, the GPL assures that
patents cannot be used to render the program non-free.
The precise terms and conditions for copying, distribution and
modification follow.
TERMS AND CONDITIONS
0. Definitions.
"This License" refers to version 3 of the GNU General Public License.
"Copyright" also means copyright-like laws that apply to other kinds of
works, such as semiconductor masks.
"The Program" refers to any copyrightable work licensed under this
License. Each licensee is addressed as "you". "Licensees" and
"recipients" may be individuals or organizations.
To "modify" a work means to copy from or adapt all or part of the work
in a fashion requiring copyright permission, other than the making of an
exact copy. The resulting work is called a "modified version" of the
earlier work or a work "based on" the earlier work.
A "covered work" means either the unmodified Program or a work based
on the Program.
To "propagate" a work means to do anything with it that, without
permission, would make you directly or secondarily liable for
infringement under applicable copyright law, except executing it on a
computer or modifying a private copy. Propagation includes copying,
distribution (with or without modification), making available to the
public, and in some countries other activities as well.
To "convey" a work means any kind of propagation that enables other
parties to make or receive copies. Mere interaction with a user through
a computer network, with no transfer of a copy, is not conveying.
An interactive user interface displays "Appropriate Legal Notices"
to the extent that it includes a convenient and prominently visible
feature that (1) displays an appropriate copyright notice, and (2)
tells the user that there is no warranty for the work (except to the
extent that warranties are provided), that licensees may convey the
work under this License, and how to view a copy of this License. If
the interface presents a list of user commands or options, such as a
menu, a prominent item in the list meets this criterion.
1. Source Code.
The "source code" for a work means the preferred form of the work
for making modifications to it. "Object code" means any non-source
form of a work.
A "Standard Interface" means an interface that either is an official
standard defined by a recognized standards body, or, in the case of
interfaces specified for a particular programming language, one that
is widely used among developers working in that language.
The "System Libraries" of an executable work include anything, other
than the work as a whole, that (a) is included in the normal form of
packaging a Major Component, but which is not part of that Major
Component, and (b) serves only to enable use of the work with that
Major Component, or to implement a Standard Interface for which an
implementation is available to the public in source code form. A
"Major Component", in this context, means a major essential component
(kernel, window system, and so on) of the specific operating system
(if any) on which the executable work runs, or a compiler used to
produce the work, or an object code interpreter used to run it.
The "Corresponding Source" for a work in object code form means all
the source code needed to generate, install, and (for an executable
work) run the object code and to modify the work, including scripts to
control those activities. However, it does not include the work's
System Libraries, or general-purpose tools or generally available free
programs which are used unmodified in performing those activities but
which are not part of the work. For example, Corresponding Source
includes interface definition files associated with source files for
the work, and the source code for shared libraries and dynamically
linked subprograms that the work is specifically designed to require,
such as by intimate data communication or control flow between those
subprograms and other parts of the work.
The Corresponding Source need not include anything that users
can regenerate automatically from other parts of the Corresponding
Source.
The Corresponding Source for a work in source code form is that
same work.
2. Basic Permissions.
All rights granted under this License are granted for the term of
copyright on the Program, and are irrevocable provided the stated
conditions are met. This License explicitly affirms your unlimited
permission to run the unmodified Program. The output from running a
covered work is covered by this License only if the output, given its
content, constitutes a covered work. This License acknowledges your
rights of fair use or other equivalent, as provided by copyright law.
You may make, run and propagate covered works that you do not
convey, without conditions so long as your license otherwise remains
in force. You may convey covered works to others for the sole purpose
of having them make modifications exclusively for you, or provide you
with facilities for running those works, provided that you comply with
the terms of this License in conveying all material for which you do
not control copyright. Those thus making or running the covered works
for you must do so exclusively on your behalf, under your direction
and control, on terms that prohibit them from making any copies of
your copyrighted material outside their relationship with you.
Conveying under any other circumstances is permitted solely under
the conditions stated below. Sublicensing is not allowed; section 10
makes it unnecessary.
3. Protecting Users' Legal Rights From Anti-Circumvention Law.
No covered work shall be deemed part of an effective technological
measure under any applicable law fulfilling obligations under article
11 of the WIPO copyright treaty adopted on 20 December 1996, or
similar laws prohibiting or restricting circumvention of such
measures.
When you convey a covered work, you waive any legal power to forbid
circumvention of technological measures to the extent such circumvention
is effected by exercising rights under this License with respect to
the covered work, and you disclaim any intention to limit operation or
modification of the work as a means of enforcing, against the work's
users, your or third parties' legal rights to forbid circumvention of
technological measures.
4. Conveying Verbatim Copies.
You may convey verbatim copies of the Program's source code as you
receive it, in any medium, provided that you conspicuously and
appropriately publish on each copy an appropriate copyright notice;
keep intact all notices stating that this License and any
non-permissive terms added in accord with section 7 apply to the code;
keep intact all notices of the absence of any warranty; and give all
recipients a copy of this License along with the Program.
You may charge any price or no price for each copy that you convey,
and you may offer support or warranty protection for a fee.
5. Conveying Modified Source Versions.
You may convey a work based on the Program, or the modifications to
produce it from the Program, in the form of source code under the
terms of section 4, provided that you also meet all of these conditions:
a) The work must carry prominent notices stating that you modified
it, and giving a relevant date.
b) The work must carry prominent notices stating that it is
released under this License and any conditions added under section
7. This requirement modifies the requirement in section 4 to
"keep intact all notices".
c) You must license the entire work, as a whole, under this
License to anyone who comes into possession of a copy. This
License will therefore apply, along with any applicable section 7
additional terms, to the whole of the work, and all its parts,
regardless of how they are packaged. This License gives no
permission to license the work in any other way, but it does not
invalidate such permission if you have separately received it.
d) If the work has interactive user interfaces, each must display
Appropriate Legal Notices; however, if the Program has interactive
interfaces that do not display Appropriate Legal Notices, your
work need not make them do so.
A compilation of a covered work with other separate and independent
works, which are not by their nature extensions of the covered work,
and which are not combined with it such as to form a larger program,
in or on a volume of a storage or distribution medium, is called an
"aggregate" if the compilation and its resulting copyright are not
used to limit the access or legal rights of the compilation's users
beyond what the individual works permit. Inclusion of a covered work
in an aggregate does not cause this License to apply to the other
parts of the aggregate.
6. Conveying Non-Source Forms.
You may convey a covered work in object code form under the terms
of sections 4 and 5, provided that you also convey the
machine-readable Corresponding Source under the terms of this License,
in one of these ways:
a) Convey the object code in, or embodied in, a physical product
(including a physical distribution medium), accompanied by the
Corresponding Source fixed on a durable physical medium
customarily used for software interchange.
b) Convey the object code in, or embodied in, a physical product
(including a physical distribution medium), accompanied by a
written offer, valid for at least three years and valid for as
long as you offer spare parts or customer support for that product
model, to give anyone who possesses the object code either (1) a
copy of the Corresponding Source for all the software in the
product that is covered by this License, on a durable physical
medium customarily used for software interchange, for a price no
more than your reasonable cost of physically performing this
conveying of source, or (2) access to copy the
Corresponding Source from a network server at no charge.
c) Convey individual copies of the object code with a copy of the
written offer to provide the Corresponding Source. This
alternative is allowed only occasionally and noncommercially, and
only if you received the object code with such an offer, in accord
with subsection 6b.
d) Convey the object code by offering access from a designated
place (gratis or for a charge), and offer equivalent access to the
Corresponding Source in the same way through the same place at no
further charge. You need not require recipients to copy the
Corresponding Source along with the object code. If the place to
copy the object code is a network server, the Corresponding Source
may be on a different server (operated by you or a third party)
that supports equivalent copying facilities, provided you maintain
clear directions next to the object code saying where to find the
Corresponding Source. Regardless of what server hosts the
Corresponding Source, you remain obligated to ensure that it is
available for as long as needed to satisfy these requirements.
e) Convey the object code using peer-to-peer transmission, provided
you inform other peers where the object code and Corresponding
Source of the work are being offered to the general public at no
charge under subsection 6d.
A separable portion of the object code, whose source code is excluded
from the Corresponding Source as a System Library, need not be
included in conveying the object code work.
A "User Product" is either (1) a "consumer product", which means any
tangible personal property which is normally used for personal, family,
or household purposes, or (2) anything designed or sold for incorporation
into a dwelling. In determining whether a product is a consumer product,
doubtful cases shall be resolved in favor of coverage. For a particular
product received by a particular user, "normally used" refers to a
typical or common use of that class of product, regardless of the status
of the particular user or of the way in which the particular user
actually uses, or expects or is expected to use, the product. A product
is a consumer product regardless of whether the product has substantial
commercial, industrial or non-consumer uses, unless such uses represent
the only significant mode of use of the product.
"Installation Information" for a User Product means any methods,
procedures, authorization keys, or other information required to install
and execute modified versions of a covered work in that User Product from
a modified version of its Corresponding Source. The information must
suffice to ensure that the continued functioning of the modified object
code is in no case prevented or interfered with solely because
modification has been made.
If you convey an object code work under this section in, or with, or
specifically for use in, a User Product, and the conveying occurs as
part of a transaction in which the right of possession and use of the
User Product is transferred to the recipient in perpetuity or for a
fixed term (regardless of how the transaction is characterized), the
Corresponding Source conveyed under this section must be accompanied
by the Installation Information. But this requirement does not apply
if neither you nor any third party retains the ability to install
modified object code on the User Product (for example, the work has
been installed in ROM).
The requirement to provide Installation Information does not include a
requirement to continue to provide support service, warranty, or updates
for a work that has been modified or installed by the recipient, or for
the User Product in which it has been modified or installed. Access to a
network may be denied when the modification itself materially and
adversely affects the operation of the network or violates the rules and
protocols for communication across the network.
Corresponding Source conveyed, and Installation Information provided,
in accord with this section must be in a format that is publicly
documented (and with an implementation available to the public in
source code form), and must require no special password or key for
unpacking, reading or copying.
7. Additional Terms.
"Additional permissions" are terms that supplement the terms of this
License by making exceptions from one or more of its conditions.
Additional permissions that are applicable to the entire Program shall
be treated as though they were included in this License, to the extent
that they are valid under applicable law. If additional permissions
apply only to part of the Program, that part may be used separately
under those permissions, but the entire Program remains governed by
this License without regard to the additional permissions.
When you convey a copy of a covered work, you may at your option
remove any additional permissions from that copy, or from any part of
it. (Additional permissions may be written to require their own
removal in certain cases when you modify the work.) You may place
additional permissions on material, added by you to a covered work,
for which you have or can give appropriate copyright permission.
Notwithstanding any other provision of this License, for material you
add to a covered work, you may (if authorized by the copyright holders of
that material) supplement the terms of this License with terms:
a) Disclaiming warranty or limiting liability differently from the
terms of sections 15 and 16 of this License; or
b) Requiring preservation of specified reasonable legal notices or
author attributions in that material or in the Appropriate Legal
Notices displayed by works containing it; or
c) Prohibiting misrepresentation of the origin of that material, or
requiring that modified versions of such material be marked in
reasonable ways as different from the original version; or
d) Limiting the use for publicity purposes of names of licensors or
authors of the material; or
e) Declining to grant rights under trademark law for use of some
trade names, trademarks, or service marks; or
f) Requiring indemnification of licensors and authors of that
material by anyone who conveys the material (or modified versions of
it) with contractual assumptions of liability to the recipient, for
any liability that these contractual assumptions directly impose on
those licensors and authors.
All other non-permissive additional terms are considered "further
restrictions" within the meaning of section 10. If the Program as you
received it, or any part of it, contains a notice stating that it is
governed by this License along with a term that is a further
restriction, you may remove that term. If a license document contains
a further restriction but permits relicensing or conveying under this
License, you may add to a covered work material governed by the terms
of that license document, provided that the further restriction does
not survive such relicensing or conveying.
If you add terms to a covered work in accord with this section, you
must place, in the relevant source files, a statement of the
additional terms that apply to those files, or a notice indicating
where to find the applicable terms.
Additional terms, permissive or non-permissive, may be stated in the
form of a separately written license, or stated as exceptions;
the above requirements apply either way.
8. Termination.
You may not propagate or modify a covered work except as expressly
provided under this License. Any attempt otherwise to propagate or
modify it is void, and will automatically terminate your rights under
this License (including any patent licenses granted under the third
paragraph of section 11).
However, if you cease all violation of this License, then your
license from a particular copyright holder is reinstated (a)
provisionally, unless and until the copyright holder explicitly and
finally terminates your license, and (b) permanently, if the copyright
holder fails to notify you of the violation by some reasonable means
prior to 60 days after the cessation.
Moreover, your license from a particular copyright holder is
reinstated permanently if the copyright holder notifies you of the
violation by some reasonable means, this is the first time you have
received notice of violation of this License (for any work) from that
copyright holder, and you cure the violation prior to 30 days after
your receipt of the notice.
Termination of your rights under this section does not terminate the
licenses of parties who have received copies or rights from you under
this License. If your rights have been terminated and not permanently
reinstated, you do not qualify to receive new licenses for the same
material under section 10.
9. Acceptance Not Required for Having Copies.
You are not required to accept this License in order to receive or
run a copy of the Program. Ancillary propagation of a covered work
occurring solely as a consequence of using peer-to-peer transmission
to receive a copy likewise does not require acceptance. However,
nothing other than this License grants you permission to propagate or
modify any covered work. These actions infringe copyright if you do
not accept this License. Therefore, by modifying or propagating a
covered work, you indicate your acceptance of this License to do so.
10. Automatic Licensing of Downstream Recipients.
Each time you convey a covered work, the recipient automatically
receives a license from the original licensors, to run, modify and
propagate that work, subject to this License. You are not responsible
for enforcing compliance by third parties with this License.
An "entity transaction" is a transaction transferring control of an
organization, or substantially all assets of one, or subdividing an
organization, or merging organizations. If propagation of a covered
work results from an entity transaction, each party to that
transaction who receives a copy of the work also receives whatever
licenses to the work the party's predecessor in interest had or could
give under the previous paragraph, plus a right to possession of the
Corresponding Source of the work from the predecessor in interest, if
the predecessor has it or can get it with reasonable efforts.
You may not impose any further restrictions on the exercise of the
rights granted or affirmed under this License. For example, you may
not impose a license fee, royalty, or other charge for exercise of
rights granted under this License, and you may not initiate litigation
(including a cross-claim or counterclaim in a lawsuit) alleging that
any patent claim is infringed by making, using, selling, offering for
sale, or importing the Program or any portion of it.
11. Patents.
A "contributor" is a copyright holder who authorizes use under this
License of the Program or a work on which the Program is based. The
work thus licensed is called the contributor's "contributor version".
A contributor's "essential patent claims" are all patent claims
owned or controlled by the contributor, whether already acquired or
hereafter acquired, that would be infringed by some manner, permitted
by this License, of making, using, or selling its contributor version,
but do not include claims that would be infringed only as a
consequence of further modification of the contributor version. For
purposes of this definition, "control" includes the right to grant
patent sublicenses in a manner consistent with the requirements of
this License.
Each contributor grants you a non-exclusive, worldwide, royalty-free
patent license under the contributor's essential patent claims, to
make, use, sell, offer for sale, import and otherwise run, modify and
propagate the contents of its contributor version.
In the following three paragraphs, a "patent license" is any express
agreement or commitment, however denominated, not to enforce a patent
(such as an express permission to practice a patent or covenant not to
sue for patent infringement). To "grant" such a patent license to a
party means to make such an agreement or commitment not to enforce a
patent against the party.
If you convey a covered work, knowingly relying on a patent license,
and the Corresponding Source of the work is not available for anyone
to copy, free of charge and under the terms of this License, through a
publicly available network server or other readily accessible means,
then you must either (1) cause the Corresponding Source to be so
available, or (2) arrange to deprive yourself of the benefit of the
patent license for this particular work, or (3) arrange, in a manner
consistent with the requirements of this License, to extend the patent
license to downstream recipients. "Knowingly relying" means you have
actual knowledge that, but for the patent license, your conveying the
covered work in a country, or your recipient's use of the covered work
in a country, would infringe one or more identifiable patents in that
country that you have reason to believe are valid.
If, pursuant to or in connection with a single transaction or
arrangement, you convey, or propagate by procuring conveyance of, a
covered work, and grant a patent license to some of the parties
receiving the covered work authorizing them to use, propagate, modify
or convey a specific copy of the covered work, then the patent license
you grant is automatically extended to all recipients of the covered
work and works based on it.
A patent license is "discriminatory" if it does not include within
the scope of its coverage, prohibits the exercise of, or is
conditioned on the non-exercise of one or more of the rights that are
specifically granted under this License. You may not convey a covered
work if you are a party to an arrangement with a third party that is
in the business of distributing software, under which you make payment
to the third party based on the extent of your activity of conveying
the work, and under which the third party grants, to any of the
parties who would receive the covered work from you, a discriminatory
patent license (a) in connection with copies of the covered work
conveyed by you (or copies made from those copies), or (b) primarily
for and in connection with specific products or compilations that
contain the covered work, unless you entered into that arrangement,
or that patent license was granted, prior to 28 March 2007.
Nothing in this License shall be construed as excluding or limiting
any implied license or other defenses to infringement that may
otherwise be available to you under applicable patent law.
12. No Surrender of Others' Freedom.
If conditions are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this License, they do not
excuse you from the conditions of this License. If you cannot convey a
covered work so as to satisfy simultaneously your obligations under this
License and any other pertinent obligations, then as a consequence you may
not convey it at all. For example, if you agree to terms that obligate you
to collect a royalty for further conveying from those to whom you convey
the Program, the only way you could satisfy both those terms and this
License would be to refrain entirely from conveying the Program.
13. Use with the GNU Affero General Public License.
Notwithstanding any other provision of this License, you have
permission to link or combine any covered work with a work licensed
under version 3 of the GNU Affero General Public License into a single
combined work, and to convey the resulting work. The terms of this
License will continue to apply to the part which is the covered work,
but the special requirements of the GNU Affero General Public License,
section 13, concerning interaction through a network will apply to the
combination as such.
14. Revised Versions of this License.
The Free Software Foundation may publish revised and/or new versions of
the GNU General Public License from time to time. Such new versions will
be similar in spirit to the present version, but may differ in detail to
address new problems or concerns.
Each version is given a distinguishing version number. If the
Program specifies that a certain numbered version of the GNU General
Public License "or any later version" applies to it, you have the
option of following the terms and conditions either of that numbered
version or of any later version published by the Free Software
Foundation. If the Program does not specify a version number of the
GNU General Public License, you may choose any version ever published
by the Free Software Foundation.
If the Program specifies that a proxy can decide which future
versions of the GNU General Public License can be used, that proxy's
public statement of acceptance of a version permanently authorizes you
to choose that version for the Program.
Later license versions may give you additional or different
permissions. However, no additional obligations are imposed on any
author or copyright holder as a result of your choosing to follow a
later version.
15. Disclaimer of Warranty.
THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
16. Limitation of Liability.
IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
SUCH DAMAGES.
17. Interpretation of Sections 15 and 16.
If the disclaimer of warranty and limitation of liability provided
above cannot be given local legal effect according to their terms,
reviewing courts shall apply local law that most closely approximates
an absolute waiver of all civil liability in connection with the
Program, unless a warranty or assumption of liability accompanies a
copy of the Program in return for a fee.
END OF TERMS AND CONDITIONS
How to Apply These Terms to Your New Programs
If you develop a new program, and you want it to be of the greatest
possible use to the public, the best way to achieve this is to make it
free software which everyone can redistribute and change under these terms.
To do so, attach the following notices to the program. It is safest
to attach them to the start of each source file to most effectively
state the exclusion of warranty; and each file should have at least
the "copyright" line and a pointer to where the full notice is found.
<one line to give the program's name and a brief idea of what it does.>
Copyright (C) <year> <name of author>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <https://www.gnu.org/licenses/>.
Also add information on how to contact you by electronic and paper mail.
If the program does terminal interaction, make it output a short
notice like this when it starts in an interactive mode:
<program> Copyright (C) <year> <name of author>
This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
This is free software, and you are welcome to redistribute it
under certain conditions; type `show c' for details.
The hypothetical commands `show w' and `show c' should show the appropriate
parts of the General Public License. Of course, your program's commands
might be different; for a GUI interface, you would use an "about box".
You should also get your employer (if you work as a programmer) or school,
if any, to sign a "copyright disclaimer" for the program, if necessary.
For more information on this, and how to apply and follow the GNU GPL, see
<https://www.gnu.org/licenses/>.
The GNU General Public License does not permit incorporating your program
into proprietary programs. If your program is a subroutine library, you
may consider it more useful to permit linking proprietary applications with
the library. If this is what you want to do, use the GNU Lesser General
Public License instead of this License. But first, please read
<https://www.gnu.org/licenses/why-not-lgpl.html>.

View File

@@ -1,26 +1,45 @@
# Firefly III: A personal finances manager
[![Requires PHP7.1](https://img.shields.io/badge/php-7.1-red.svg)](https://secure.php.net/downloads.php) [![Latest Stable Version](https://poser.pugx.org/grumpydictator/firefly-iii/v/stable)](https://packagist.org/packages/grumpydictator/firefly-iii) [![License](https://img.shields.io/badge/license-CC%20BY--SA%204.0-lightgrey.svg)](https://creativecommons.org/licenses/by-sa/4.0/) [![Donate](https://img.shields.io/badge/Donate-PayPal-green.svg)](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=44UKUT455HUFA)
[![Requires PHP7.1](https://img.shields.io/badge/php-7.1-red.svg)](https://secure.php.net/downloads.php) [![Latest Stable Version](https://poser.pugx.org/grumpydictator/firefly-iii/v/stable)](https://packagist.org/packages/grumpydictator/firefly-iii) [![License](https://img.shields.io/badge/license-GPL-lightgrey.svg)](https://www.gnu.org/licenses/gpl.html) [![Donate](https://img.shields.io/badge/Donate-PayPal-green.svg)](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=44UKUT455HUFA)
[![The index of Firefly III](https://i.nder.be/hurdhgyg/400)](https://i.nder.be/h2b37243) [![The account overview of Firefly III](https://i.nder.be/hnkfkdpr/400)](https://i.nder.be/hv70pbwc)
[![The index of Firefly III](https://i.nder.be/ccynyxy0/400)](https://i.nder.be/h327vx3y) [![The account overview of Firefly III](https://i.nder.be/g8v86y2g/400)](https://i.nder.be/hkpynqr9)
[![The useful financial reports of Firefly III](https://i.nder.be/h7sk6nb7/400)](https://i.nder.be/ccn0u2mp) [![Even more useful reports in Firefly III](https://i.nder.be/g237hr35/400)](https://i.nder.be/gm8hbh7z)
[![The useful financial reports of Firefly III](https://i.nder.be/cs3qx4f3/400)](https://i.nder.be/cwznmryd) [![Saving money is easy!](https://i.nder.be/gpq6ykym/400)](https://i.nder.be/gum2qf8z)
"Firefly III" is a financial manager. It can help you keep track of expenses, income, budgets and everything in between. It even supports credit cards, shared household accounts and savings accounts! It's pretty fancy. You should use it to save and organise money.
"Firefly III" is a financial manager for your personal finances. It can help you keep track of your expenses and income.
Firefly III supports the use of budgets. You can categorize and tag your transactions.
It also supports credit cards, shared household accounts and savings accounts.
There are many financial reports available.
## Try it out!
## Want to try Firefly III?
There is a **[demo site](https://firefly-iii.nder.be)** with an example financial administration already present. You can use Docker, Heroku or Sandstorm.io (see below) to quickly setup your own instance.
## Install Firefly III
### Using docker
You can use docker-compose to [set up your personal secure](https://firefly-iii.github.io/using-docker.html) Firefly III environment. Advanced users can use the Dockerfile directly.
### Using vagrant (or other VMs)
You can install Firefly III on any Linux or Windows machine. You'll need a web server (preferrably on Linux) and access to the command line. Please read the [installation guide](https://firefly-iii.github.io/using-installing.html).
### Using Heroku
[![Deploy](https://www.herokucdn.com/deploy/button.svg)](https://heroku.com/deploy?template=https://github.com/firefly-iii/firefly-iii/tree/master)
Firefly III can be run on Heroku. Register for a free Heroku account and instantly run Firefly III on your very own cloud instance. There is also a [demo site](https://firefly-iii.nder.be) with an example financial administration already present.
Register for a free Heroku account and instantly run Firefly III on your very own cloud instance.
## Getting started
### Using Sandstorm.io
To install Firefly III, you'll need a web server (preferrably on Linux) and access to the command line. Then, please read the [installation guide](https://firefly-iii.github.io/using-installing.html).
You can find Firefly III in [the Sandstorm.io marketplace](https://apps.sandstorm.io/app/uws252ya9mep4t77tevn85333xzsgrpgth8q4y1rhknn1hammw70). You can run it on your own installation or on Oasis.
## More about Firefly III
Personal financial management is pretty difficult, and everybody has their own approach to it. Some people make budgets, other people limit their cashflow by throwing away their credit cards, others try to increase their current cashflow. There are tons of ways to save and earn money.
Personal financial management is pretty difficult, and everybody has their own approach to it.
Some people make budgets, other people limit their cashflow by throwing away their credit cards,
others try to increase their current cashflow. There are tons of ways to save and earn money.
Firefly works on the principle that if you know where you're money is going, you can stop it from going there.
@@ -31,7 +50,8 @@ Firefly works on the principle that if you know where you're money is going, you
- Firefly has lots of features without being fancy or bloated.
- If you feel you're missing something you can just ask me and I'll add it!
Firefly is pretty awesome. [You can read more about Firefly III, and its features, on the Github Pages](https://firefly-iii.github.io/).
Firefly III has become pretty awesome over the years! (but please excuse me for bragging, it's just that I'm proud of it).
[You can read more about Firefly III, and its features, on the Github Pages](https://firefly-iii.github.io/).
### Contributing
@@ -48,7 +68,7 @@ We use [SemVer](http://semver.org/) for versioning. For the versions available,
### License
This work [is licensed](https://github.com/firefly-iii/firefly-iii/blob/master/LICENSE) under a [Creative Commons Attribution-ShareAlike 4.0 International License](https://creativecommons.org/licenses/by-sa/4.0/).
This work [is licensed](https://github.com/firefly-iii/firefly-iii/blob/master/LICENSE) under the [GPL v3](https://www.gnu.org/licenses/gpl.html).
### Other stuff

View File

@@ -0,0 +1,154 @@
<?php
/**
* CreateExport.php
* Copyright (c) 2017 thegrumpydictator@gmail.com
*
* This file is part of Firefly III.
*
* Firefly III is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* Firefly III is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with Firefly III. If not, see <http://www.gnu.org/licenses/>.
*/
declare(strict_types=1);
namespace FireflyIII\Console\Commands;
use Carbon\Carbon;
use FireflyIII\Export\ProcessorInterface;
use FireflyIII\Models\AccountType;
use FireflyIII\Repositories\Account\AccountRepositoryInterface;
use FireflyIII\Repositories\ExportJob\ExportJobRepositoryInterface;
use FireflyIII\Repositories\Journal\JournalRepositoryInterface;
use FireflyIII\Repositories\User\UserRepositoryInterface;
use Illuminate\Console\Command;
use Storage;
/**
* Class CreateExport
*
* Generates export from the command line.
*
* @package FireflyIII\Console\Commands
*/
class CreateExport extends Command
{
use VerifiesAccessToken;
/**
* The console command description.
*
* @var string
*/
protected $description = 'Use this command to create a new import. Your user ID can be found on the /profile page.';
/**
* The name and signature of the console command.
*
* @var string
*/
protected $signature
= 'firefly:create-export
{--user= : The user ID that the import should import for.}
{--token= : The user\'s access token.}
{--with_attachments : Include user\'s attachments?}
{--with_uploads : Include user\'s uploads?}';
/**
* Create a new command instance.
*
*/
public function __construct()
{
parent::__construct();
}
/**
*
* @SuppressWarnings(PHPMD.CyclomaticComplexity) // it's five its fine.
* @SuppressWarnings(PHPMD.ExcessiveMethodLength)
*
* Execute the console command.
*
* @return mixed
*/
public function handle()
{
if (!$this->verifyAccessToken()) {
$this->error('Invalid access token.');
return;
}
$this->line('Full export is running...');
// make repositories
/** @var UserRepositoryInterface $userRepository */
$userRepository = app(UserRepositoryInterface::class);
/** @var ExportJobRepositoryInterface $jobRepository */
$jobRepository = app(ExportJobRepositoryInterface::class);
/** @var AccountRepositoryInterface $accountRepository */
$accountRepository = app(AccountRepositoryInterface::class);
/** @var JournalRepositoryInterface $journalRepository */
$journalRepository = app(JournalRepositoryInterface::class);
// set user
$user = $userRepository->find(intval($this->option('user')));
$jobRepository->setUser($user);
$journalRepository->setUser($user);
$accountRepository->setUser($user);
// first date
$firstJournal = $journalRepository->first();
$first = new Carbon;
if (!is_null($firstJournal->id)) {
$first = $firstJournal->date;
}
// create job and settings.
$job = $jobRepository->create();
$settings = [
'accounts' => $accountRepository->getAccountsByType([AccountType::ASSET, AccountType::DEFAULT]),
'startDate' => $first,
'endDate' => new Carbon,
'exportFormat' => 'csv',
'includeAttachments' => $this->option('with_attachments'),
'includeOldUploads' => $this->option('with_uploads'),
'job' => $job,
];
/** @var ProcessorInterface $processor */
$processor = app(ProcessorInterface::class);
$processor->setSettings($settings);
$processor->collectJournals();
$processor->convertJournals();
$processor->exportJournals();
if ($settings['includeAttachments']) {
$processor->collectAttachments();
}
if ($settings['includeOldUploads']) {
$processor->collectOldUploads();
}
$processor->createZipFile();
$disk = Storage::disk('export');
$fileName = sprintf('export-%s.zip', date('Y-m-d_H-i-s'));
$disk->move($job->key . '.zip', $fileName);
$this->line('The export has finished! You can find the ZIP file in this location:');
$this->line(storage_path(sprintf('export/%s', $fileName)));
return;
}
}

View File

@@ -1,12 +1,22 @@
<?php
/**
* CreateImport.php
* Copyright (C) 2016 thegrumpydictator@gmail.com
* Copyright (c) 2017 thegrumpydictator@gmail.com
*
* This software may be modified and distributed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International License.
* This file is part of Firefly III.
*
* See the LICENSE file for details.
* Firefly III is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* Firefly III is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with Firefly III. If not, see <http://www.gnu.org/licenses/>.
*/
declare(strict_types=1);
@@ -30,6 +40,7 @@ use Monolog\Formatter\LineFormatter;
*/
class CreateImport extends Command
{
use VerifiesAccessToken;
/**
* The console command description.
*
@@ -42,7 +53,14 @@ class CreateImport extends Command
*
* @var string
*/
protected $signature = 'firefly:create-import {file} {configuration} {--user=1} {--type=csv} {--start}';
protected $signature
= 'firefly:create-import
{file : The file to import.}
{configuration : The configuration file to use for the import/}
{--type=csv : The file type of the import.}
{--user= : The user ID that the import should import for.}
{--token= : The user\'s access token.}
{--start : Starts the job immediately.}';
/**
* Create a new command instance.
@@ -61,6 +79,11 @@ class CreateImport extends Command
*/
public function handle()
{
if (!$this->verifyAccessToken()) {
$this->error('Invalid access token.');
return;
}
/** @var UserRepositoryInterface $userRepository */
$userRepository = app(UserRepositoryInterface::class);
$file = $this->argument('file');
@@ -150,12 +173,12 @@ class CreateImport extends Command
$cwd = getcwd();
$validTypes = array_keys(config('firefly.import_formats'));
$type = strtolower($this->option('type'));
if (is_null($user->id)) {
$this->error(sprintf('There is no user with ID %d.', $this->option('user')));
return false;
}
if (!in_array($type, $validTypes)) {
$this->error(sprintf('Cannot import file of type "%s"', $type));

View File

@@ -2,9 +2,21 @@
/**
* DecryptAttachment.php
* Copyright (c) 2017 thegrumpydictator@gmail.com
* This software may be modified and distributed under the terms of the Creative Commons Attribution-ShareAlike 4.0 International License.
*
* See the LICENSE file for details.
* This file is part of Firefly III.
*
* Firefly III is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* Firefly III is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with Firefly III. If not, see <http://www.gnu.org/licenses/>.
*/
declare(strict_types=1);
@@ -51,6 +63,10 @@ class DecryptAttachment extends Command
/**
* Execute the console command.
*
* @SuppressWarnings(PHPMD.CyclomaticComplexity) // it's five its fine.
* @SuppressWarnings(PHPMD.ExcessiveMethodLength)
*
*/
public function handle()
{

View File

@@ -1,12 +1,22 @@
<?php
/**
* EncryptFile.php
* Copyright (C) 2016 thegrumpydictator@gmail.com
* Copyright (c) 2017 thegrumpydictator@gmail.com
*
* This software may be modified and distributed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International License.
* This file is part of Firefly III.
*
* See the LICENSE file for details.
* Firefly III is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* Firefly III is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with Firefly III. If not, see <http://www.gnu.org/licenses/>.
*/
declare(strict_types=1);

View File

@@ -1,12 +1,22 @@
<?php
/**
* Import.php
* Copyright (C) 2016 thegrumpydictator@gmail.com
* Copyright (c) 2017 thegrumpydictator@gmail.com
*
* This software may be modified and distributed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International License.
* This file is part of Firefly III.
*
* See the LICENSE file for details.
* Firefly III is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* Firefly III is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with Firefly III. If not, see <http://www.gnu.org/licenses/>.
*/
declare(strict_types=1);

View File

@@ -1,12 +1,22 @@
<?php
/**
* ScanAttachments.php
* Copyright (C) 2016 thegrumpydictator@gmail.com
* Copyright (c) 2017 thegrumpydictator@gmail.com
*
* This software may be modified and distributed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International License.
* This file is part of Firefly III.
*
* See the LICENSE file for details.
* Firefly III is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* Firefly III is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with Firefly III. If not, see <http://www.gnu.org/licenses/>.
*/
declare(strict_types=1);

View File

@@ -1,12 +1,22 @@
<?php
/**
* UpgradeDatabase.php
* Copyright (C) 2016 thegrumpydictator@gmail.com
* Copyright (c) 2017 thegrumpydictator@gmail.com
*
* This software may be modified and distributed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International License.
* This file is part of Firefly III.
*
* See the LICENSE file for details.
* Firefly III is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* Firefly III is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with Firefly III. If not, see <http://www.gnu.org/licenses/>.
*/
declare(strict_types=1);
@@ -20,9 +30,11 @@ use FireflyIII\Models\AccountMeta;
use FireflyIII\Models\AccountType;
use FireflyIII\Models\BudgetLimit;
use FireflyIII\Models\LimitRepetition;
use FireflyIII\Models\Note;
use FireflyIII\Models\Transaction;
use FireflyIII\Models\TransactionCurrency;
use FireflyIII\Models\TransactionJournal;
use FireflyIII\Models\TransactionJournalMeta;
use FireflyIII\Models\TransactionType;
use FireflyIII\Repositories\Currency\CurrencyRepositoryInterface;
use Illuminate\Console\Command;
@@ -35,8 +47,10 @@ use Schema;
/**
* Class UpgradeDatabase
*
* @SuppressWarnings(PHPMD.CouplingBetweenObjects) // it just touches a lot of things.
* Upgrade user database.
*
*
* @SuppressWarnings(PHPMD.CouplingBetweenObjects) // it just touches a lot of things.
* @package FireflyIII\Console\Commands
*/
class UpgradeDatabase extends Command
@@ -74,6 +88,8 @@ class UpgradeDatabase extends Command
$this->line('Updating currency information..');
$this->updateTransferCurrencies();
$this->updateOtherCurrencies();
$this->line('Done updating currency information..');
$this->migrateNotes();
$this->info('Firefly III database is up to date.');
return;
@@ -138,6 +154,9 @@ class UpgradeDatabase extends Command
/**
* Each (asset) account must have a reference to a preferred currency. If the account does not have one, it's forced upon the account.
*
* @SuppressWarnings(PHPMD.CyclomaticComplexity) // it's seven but it can't really be helped.
* @SuppressWarnings(PHPMD.ExcessiveMethodLength)
*/
public function updateAccountCurrencies(): void
{
@@ -192,6 +211,8 @@ class UpgradeDatabase extends Command
*
* Both source and destination must match the respective currency preference of the related asset account.
* So FF3 must verify all transactions.
*
* @SuppressWarnings(PHPMD.ExcessiveMethodLength)
*/
public function updateOtherCurrencies(): void
{
@@ -210,6 +231,9 @@ class UpgradeDatabase extends Command
->leftJoin('accounts', 'accounts.id', '=', 'transactions.account_id')
->leftJoin('account_types', 'account_types.id', '=', 'accounts.account_type_id')
->whereIn('account_types.type', [AccountType::DEFAULT, AccountType::ASSET])->first(['transactions.*']);
if (is_null($transaction)) {
return;
}
/** @var Account $account */
$account = $transaction->account;
$currency = $repository->find(intval($account->getMeta('currency_id')));
@@ -251,7 +275,7 @@ class UpgradeDatabase extends Command
*/
public function updateTransferCurrencies()
{
$set = TransactionJournal
$set = TransactionJournal
::leftJoin('transaction_types', 'transaction_types.id', '=', 'transaction_journals.transaction_type_id')
->where('transaction_types.type', TransactionType::TRANSFER)
->get(['transaction_journals.*']);
@@ -271,6 +295,29 @@ class UpgradeDatabase extends Command
);
}
/**
* Move all the journal_meta notes to their note object counter parts.
*/
private function migrateNotes(): void
{
$set = TransactionJournalMeta::whereName('notes')->get();
/** @var TransactionJournalMeta $meta */
foreach ($set as $meta) {
$journal = $meta->transactionJournal;
$note = $journal->notes()->first();
if (is_null($note)) {
$note = new Note;
$note->noteable()->associate($journal);
}
$note->text = $meta->data;
$note->save();
Log::debug(sprintf('Migrated meta note #%d to Note #%d', $meta->id, $note->id));
$meta->delete();
}
}
/**
* This method makes sure that the transaction journal uses the currency given in the transaction.
@@ -350,6 +397,12 @@ class UpgradeDatabase extends Command
*
* The transaction that is sent to this function MUST be the source transaction (amount negative).
*
* Method is long and complex bit I'm taking it for granted.
*
* @SuppressWarnings(PHPMD.ExcessiveMethodLength)
* @SuppressWarnings(PHPMD.NPathComplexity)
* @SuppressWarnings(PHPMD.CyclomaticComplexity)
*
* @param Transaction $transaction
*/
private function updateTransactionCurrency(Transaction $transaction): void

View File

@@ -1,12 +1,22 @@
<?php
/**
* UpgradeFireflyInstructions.php
* Copyright (C) 2016 thegrumpydictator@gmail.com
* Copyright (c) 2017 thegrumpydictator@gmail.com
*
* This software may be modified and distributed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International License.
* This file is part of Firefly III.
*
* See the LICENSE file for details.
* Firefly III is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* Firefly III is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with Firefly III. If not, see <http://www.gnu.org/licenses/>.
*/
declare(strict_types=1);

View File

@@ -3,10 +3,21 @@
/**
* UseEncryption.php
* Copyright (c) 2017 thegrumpydictator@gmail.com
* This software may be modified and distributed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International License.
*
* See the LICENSE file for details.
* This file is part of Firefly III.
*
* Firefly III is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* Firefly III is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with Firefly III. If not, see <http://www.gnu.org/licenses/>.
*/
declare(strict_types=1);

View File

@@ -0,0 +1,81 @@
<?php
/**
* VerifiesAccessToken.php
* Copyright (c) 2017 thegrumpydictator@gmail.com
*
* This file is part of Firefly III.
*
* Firefly III is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* Firefly III is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with Firefly III. If not, see <http://www.gnu.org/licenses/>.
*/
declare(strict_types=1);
namespace FireflyIII\Console\Commands;
use FireflyIII\Repositories\User\UserRepositoryInterface;
use Log;
use Preferences;
/**
* Trait VerifiesAccessToken
*
* Verifies user access token for sensitive commands.
*
* @package FireflyIII\Console\Commands
*/
trait VerifiesAccessToken
{
/**
* Abstract method to make sure trait knows about method "option".
*
* @param null $key
*
* @return mixed
*/
abstract public function option($key = null);
/**
* Returns false when given token does not match given user token.
*
* @return bool
*/
protected function verifyAccessToken(): bool
{
$userId = intval($this->option('user'));
$token = strval($this->option('token'));
/** @var UserRepositoryInterface $repository */
$repository = app(UserRepositoryInterface::class);
$user = $repository->find($userId);
if (is_null($user->id)) {
Log::error(sprintf('verifyAccessToken(): no such user for input "%d"', $userId));
return false;
}
$accessToken = Preferences::getForUser($user, 'access_token', null);
if (is_null($accessToken)) {
Log::error(sprintf('User #%d has no access token, so cannot access command line options.', $userId));
return false;
}
if (!($accessToken->data === $token)) {
Log::error(sprintf('Invalid access token for user #%d.', $userId));
return false;
}
return true;
}
}

View File

@@ -1,12 +1,22 @@
<?php
/**
* VerifyDatabase.php
* Copyright (C) 2016 thegrumpydictator@gmail.com
* Copyright (c) 2017 thegrumpydictator@gmail.com
*
* This software may be modified and distributed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International License.
* This file is part of Firefly III.
*
* See the LICENSE file for details.
* Firefly III is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* Firefly III is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with Firefly III. If not, see <http://www.gnu.org/licenses/>.
*/
declare(strict_types=1);
@@ -17,6 +27,7 @@ use Crypt;
use FireflyIII\Models\Account;
use FireflyIII\Models\AccountType;
use FireflyIII\Models\Budget;
use FireflyIII\Models\LinkType;
use FireflyIII\Models\PiggyBankEvent;
use FireflyIII\Models\Transaction;
use FireflyIII\Models\TransactionJournal;
@@ -26,12 +37,15 @@ use FireflyIII\User;
use Illuminate\Console\Command;
use Illuminate\Contracts\Encryption\DecryptException;
use Illuminate\Database\Eloquent\Builder;
use Preferences;
use Schema;
use stdClass;
/**
* Class VerifyDatabase
*
* @SuppressWarnings(PHPMD.CouplingBetweenObjects)
*
* @package FireflyIII\Console\Commands
*/
class VerifyDatabase extends Command
@@ -70,38 +84,64 @@ class VerifyDatabase extends Command
$this->reportObject('budget');
$this->reportObject('category');
$this->reportObject('tag');
// accounts with no transactions.
$this->reportAccounts();
// budgets with no limits
$this->reportBudgetLimits();
// budgets with no transactions
// sum of transactions is not zero.
$this->reportSum();
// any deleted transaction journals that have transactions that are NOT deleted:
$this->reportJournals();
// deleted transactions that are connected to a not deleted journal.
$this->reportTransactions();
// deleted accounts that still have not deleted transactions or journals attached to them.
$this->reportDeletedAccounts();
// report on journals with no transactions at all.
$this->reportNoTransactions();
// transfers with budgets.
$this->reportTransfersBudgets();
// report on journals with the wrong types of accounts.
$this->reportIncorrectJournals();
// report (and fix) piggy banks
$this->repairPiggyBanks();
$this->createLinkTypes();
$this->createAccessTokens();
}
/**
* Make sure there are only transfers linked to piggy bank events.
* Create user access tokens, if not present already.
*/
private function createAccessTokens()
{
$users = User::get();
/** @var User $user */
foreach ($users as $user) {
$pref = Preferences::getForUser($user, 'access_token', null);
if (is_null($pref)) {
$token = $user->generateAccessToken();
Preferences::setForUser($user, 'access_token', $token);
$this->line(sprintf('Generated access token for user %s', $user->email));
}
}
}
/**
* Create default link types if necessary.
*/
private function createLinkTypes()
{
$set = [
'Related' => ['relates to', 'relates to'],
'Refund' => ['(partially) refunds', 'is (partially) refunded by'],
'Paid' => ['(partially) pays for', 'is (partially) paid for by'],
'Reimbursement' => ['(partially) reimburses', 'is (partially) reimbursed by'],
];
foreach ($set as $name => $values) {
$link = LinkType::where('name', $name)->where('outward', $values[0])->where('inward', $values[1])->first();
if (is_null($link)) {
$link = new LinkType;
$link->name = $name;
$link->outward = $values[0];
$link->inward = $values[1];
}
$link->editable = false;
$link->save();
}
}
/**
* Eeport (and fix) piggy banks. Make sure there are only transfers linked to piggy bank events.
*/
private function repairPiggyBanks(): void
{
@@ -371,15 +411,15 @@ class VerifyDatabase extends Command
$set = TransactionJournal::distinct()
->leftJoin('transaction_types', 'transaction_types.id', '=', 'transaction_journals.transaction_type_id')
->leftJoin('budget_transaction_journal', 'transaction_journals.id', '=', 'budget_transaction_journal.transaction_journal_id')
->where('transaction_types.type', TransactionType::TRANSFER)
->whereNotNull('budget_transaction_journal.budget_id')->get(['transaction_journals.id']);
->whereIn('transaction_types.type', [TransactionType::TRANSFER, TransactionType::DEPOSIT])
->whereNotNull('budget_transaction_journal.budget_id')->get(['transaction_journals.*']);
/** @var TransactionJournal $entry */
foreach ($set as $entry) {
$this->error(
sprintf(
'Error: Transaction journal #%d is a transfer, but has a budget. Edit it without changing anything, so the budget will be removed.',
$entry->id
'Error: Transaction journal #%d is a %s, but has a budget. Edit it without changing anything, so the budget will be removed.',
$entry->id, $entry->transactionType->type
)
);
}

View File

@@ -1,54 +1,46 @@
<?php
/**
* Kernel.php
* Copyright (C) 2016 thegrumpydictator@gmail.com
* Copyright (c) 2017 thegrumpydictator@gmail.com
*
* This file is part of Firefly III.
*
* Firefly III is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* Firefly III is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with Firefly III. If not, see <http://www.gnu.org/licenses/>.
*/
declare(strict_types=1);
/**
* Kernel.php
* Copyright (c) 2017 thegrumpydictator@gmail.com
* This software may be modified and distributed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International License.
*
* See the LICENSE file for details.
*/
declare(strict_types=1);
namespace FireflyIII\Console;
use FireflyIII\Console\Commands\CreateImport;
use FireflyIII\Console\Commands\DecryptAttachment;
use FireflyIII\Console\Commands\EncryptFile;
use FireflyIII\Console\Commands\Import;
use FireflyIII\Console\Commands\ScanAttachments;
use FireflyIII\Console\Commands\UpgradeDatabase;
use FireflyIII\Console\Commands\UpgradeFireflyInstructions;
use FireflyIII\Console\Commands\UseEncryption;
use FireflyIII\Console\Commands\VerifyDatabase;
use Illuminate\Console\Scheduling\Schedule;
use Illuminate\Foundation\Console\Kernel as ConsoleKernel;
/**
* Class Kernel
*
* @package FireflyIII\Console
* File to make sure commnds work.
*/
class Kernel extends ConsoleKernel
{
/**
* The bootstrap classes for the application.
*
* Next upgrade verify these are the same.
*
* @var array
*/
protected $bootstrappers
= [
'Illuminate\Foundation\Bootstrap\LoadEnvironmentVariables',
'Illuminate\Foundation\Bootstrap\LoadConfiguration',
'Illuminate\Foundation\Bootstrap\HandleExceptions',
'Illuminate\Foundation\Bootstrap\RegisterFacades',
'Illuminate\Foundation\Bootstrap\SetRequestForConsole',
'Illuminate\Foundation\Bootstrap\RegisterProviders',
'Illuminate\Foundation\Bootstrap\BootProviders',
];
/**
* The Artisan commands provided by your application.
*
@@ -56,24 +48,30 @@ class Kernel extends ConsoleKernel
*/
protected $commands
= [
UpgradeFireflyInstructions::class,
VerifyDatabase::class,
Import::class,
CreateImport::class,
EncryptFile::class,
ScanAttachments::class,
UpgradeDatabase::class,
UseEncryption::class,
DecryptAttachment::class,
//
];
/**
* Register the Closure based commands for the application.
* Register the commands for the application.
*
* @return void
*/
protected function commands()
{
$this->load(__DIR__ . '/Commands');
require base_path('routes/console.php');
}
/**
* Define the application's command schedule.
*
* @param \Illuminate\Console\Scheduling\Schedule $schedule
*
* @return void
* @SuppressWarnings(PHPMD.UnusedFormalParameter)
*/
protected function schedule(Schedule $schedule)
{
}
}

View File

@@ -0,0 +1,55 @@
<?php
/**
* AdminRequestedTestMessage.php
* Copyright (c) 2017 thegrumpydictator@gmail.com
*
* This file is part of Firefly III.
*
* Firefly III is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* Firefly III is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with Firefly III. If not, see <http://www.gnu.org/licenses/>.
*/
declare(strict_types=1);
namespace FireflyIII\Events;
use FireflyIII\User;
use Illuminate\Queue\SerializesModels;
use Log;
/**
* Class AdminRequestedTestMessage
*
* @package FireflyIII\Events
*/
class AdminRequestedTestMessage extends Event
{
use SerializesModels;
public $ipAddress;
public $user;
/**
* Create a new event instance.
*
* @param User $user
* @param string $ipAddress
*/
public function __construct(User $user, string $ipAddress)
{
Log::debug(sprintf('Triggered AdminRequestedTestMessage for user #%d (%s) and IP %s!', $user->id, $user->email, $ipAddress));
$this->user = $user;
$this->ipAddress = $ipAddress;
}
}

View File

@@ -1,12 +1,22 @@
<?php
/**
* Event.php
* Copyright (C) 2016 thegrumpydictator@gmail.com
* Copyright (c) 2017 thegrumpydictator@gmail.com
*
* This software may be modified and distributed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International License.
* This file is part of Firefly III.
*
* See the LICENSE file for details.
* Firefly III is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* Firefly III is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with Firefly III. If not, see <http://www.gnu.org/licenses/>.
*/
declare(strict_types=1);

View File

@@ -1,12 +1,22 @@
<?php
/**
* RegisteredUser.php
* Copyright (C) 2016 thegrumpydictator@gmail.com
* Copyright (c) 2017 thegrumpydictator@gmail.com
*
* This software may be modified and distributed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International License.
* This file is part of Firefly III.
*
* See the LICENSE file for details.
* Firefly III is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* Firefly III is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with Firefly III. If not, see <http://www.gnu.org/licenses/>.
*/
declare(strict_types=1);

View File

@@ -1,12 +1,22 @@
<?php
/**
* RequestedNewPassword.php
* Copyright (C) 2016 thegrumpydictator@gmail.com
* Copyright (c) 2017 thegrumpydictator@gmail.com
*
* This software may be modified and distributed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International License.
* This file is part of Firefly III.
*
* See the LICENSE file for details.
* Firefly III is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* Firefly III is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with Firefly III. If not, see <http://www.gnu.org/licenses/>.
*/
declare(strict_types=1);

View File

@@ -1,12 +1,22 @@
<?php
/**
* StoredTransactionJournal.php
* Copyright (C) 2016 thegrumpydictator@gmail.com
* Copyright (c) 2017 thegrumpydictator@gmail.com
*
* This software may be modified and distributed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International License.
* This file is part of Firefly III.
*
* See the LICENSE file for details.
* Firefly III is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* Firefly III is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with Firefly III. If not, see <http://www.gnu.org/licenses/>.
*/
declare(strict_types=1);

View File

@@ -1,12 +1,22 @@
<?php
/**
* UpdatedTransactionJournal.php
* Copyright (C) 2016 thegrumpydictator@gmail.com
* Copyright (c) 2017 thegrumpydictator@gmail.com
*
* This software may be modified and distributed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International License.
* This file is part of Firefly III.
*
* See the LICENSE file for details.
* Firefly III is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* Firefly III is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with Firefly III. If not, see <http://www.gnu.org/licenses/>.
*/
declare(strict_types=1);

View File

@@ -0,0 +1,62 @@
<?php
/**
* UserChangedEmail.php
* Copyright (c) 2017 thegrumpydictator@gmail.com
*
* This file is part of Firefly III.
*
* Firefly III is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* Firefly III is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with Firefly III. If not, see <http://www.gnu.org/licenses/>.
*/
declare(strict_types=1);
namespace FireflyIII\Events;
use FireflyIII\User;
use Illuminate\Queue\SerializesModels;
/**
* Class UserChangedEmail
*
* @package FireflyIII\Events
*/
class UserChangedEmail extends Event
{
use SerializesModels;
/** @var string */
public $ipAddress;
/** @var string */
public $newEmail;
/** @var string */
public $oldEmail;
/** @var User */
public $user;
/**
* UserChangedEmail constructor.
*
* @param User $user
* @param string $newEmail
* @param string $oldEmail
* @param string $ipAddress
*/
public function __construct(User $user, string $newEmail, string $oldEmail, string $ipAddress)
{
$this->user = $user;
$this->ipAddress = $ipAddress;
$this->oldEmail = $oldEmail;
$this->newEmail = $newEmail;
}
}

View File

@@ -1,12 +1,22 @@
<?php
/**
* FireflyException.php
* Copyright (C) 2016 thegrumpydictator@gmail.com
* Copyright (c) 2017 thegrumpydictator@gmail.com
*
* This software may be modified and distributed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International License.
* This file is part of Firefly III.
*
* See the LICENSE file for details.
* Firefly III is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* Firefly III is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with Firefly III. If not, see <http://www.gnu.org/licenses/>.
*/
declare(strict_types=1);

View File

@@ -1,50 +1,65 @@
<?php
/**
* Handler.php
* Copyright (C) 2016 thegrumpydictator@gmail.com
* Copyright (c) 2017 thegrumpydictator@gmail.com
*
* This file is part of Firefly III.
*
* Firefly III is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* Firefly III is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with Firefly III. If not, see <http://www.gnu.org/licenses/>.
*/
declare(strict_types=1);
/**
* Handler.php
* Copyright (c) 2017 thegrumpydictator@gmail.com
* This software may be modified and distributed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International License.
*
* See the LICENSE file for details.
*/
declare(strict_types=1);
namespace FireflyIII\Exceptions;
use ErrorException;
use Exception;
use FireflyIII\Jobs\MailError;
use Illuminate\Auth\Access\AuthorizationException;
use Illuminate\Auth\AuthenticationException;
use Illuminate\Database\Eloquent\ModelNotFoundException;
use Illuminate\Foundation\Exceptions\Handler as ExceptionHandler;
use Illuminate\Session\TokenMismatchException;
use Illuminate\Validation\ValidationException as ValException;
use Request;
use Symfony\Component\HttpKernel\Exception\HttpException;
/**
* Class Handler
*
* @package FireflyIII\Exceptions
*/
class Handler extends ExceptionHandler
{
/**
* A list of the exception types that should not be reported.
* A list of the inputs that are never flashed for validation exceptions.
*
* @var array
*/
protected $dontFlash
= [
'password',
'password_confirmation',
];
/**
* A list of the exception types that are not reported.
*
* @var array
*/
protected $dontReport
= [
AuthenticationException::class,
AuthorizationException::class,
HttpException::class,
ModelNotFoundException::class,
TokenMismatchException::class,
ValException::class,
//
];
/**
@@ -67,14 +82,13 @@ class Handler extends ExceptionHandler
return parent::render($request, $exception);
}
/**
* Report or log an exception.
*
* This is a great spot to send exceptions to Sentry, Bugsnag, etc.
*
* @param Exception $exception
* @SuppressWarnings(PHPMD.CyclomaticComplexity) // it's exactly five.
* @SuppressWarnings(PHPMD.CyclomaticComplexity) // it's five its fine.
* @param \Exception $exception
*
* @return void
*/
@@ -107,22 +121,7 @@ class Handler extends ExceptionHandler
dispatch($job);
}
parent::report($exception);
}
/**
* Convert an authentication exception into an unauthenticated response.
*
* @param $request
*
* @return \Illuminate\Http\JsonResponse|\Illuminate\Http\RedirectResponse
*/
protected function unauthenticated($request)
{
if ($request->expectsJson()) {
return response()->json(['error' => 'Unauthenticated.'], 401);
}
return redirect()->guest('login');
}
}

View File

@@ -1,12 +1,22 @@
<?php
/**
* NotImplementedException.php
* Copyright (C) 2016 thegrumpydictator@gmail.com
* Copyright (c) 2017 thegrumpydictator@gmail.com
*
* This software may be modified and distributed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International License.
* This file is part of Firefly III.
*
* See the LICENSE file for details.
* Firefly III is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* Firefly III is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with Firefly III. If not, see <http://www.gnu.org/licenses/>.
*/
declare(strict_types=1);

View File

@@ -1,12 +1,22 @@
<?php
/**
* ValidationException.php
* Copyright (C) 2016 thegrumpydictator@gmail.com
* Copyright (c) 2017 thegrumpydictator@gmail.com
*
* This software may be modified and distributed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International License.
* This file is part of Firefly III.
*
* See the LICENSE file for details.
* Firefly III is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* Firefly III is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with Firefly III. If not, see <http://www.gnu.org/licenses/>.
*/
declare(strict_types=1);

View File

@@ -1,12 +1,22 @@
<?php
/**
* AttachmentCollector.php
* Copyright (C) 2016 thegrumpydictator@gmail.com
* Copyright (c) 2017 thegrumpydictator@gmail.com
*
* This software may be modified and distributed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International License.
* This file is part of Firefly III.
*
* See the LICENSE file for details.
* Firefly III is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* Firefly III is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with Firefly III. If not, see <http://www.gnu.org/licenses/>.
*/
declare(strict_types=1);
@@ -122,6 +132,7 @@ class AttachmentCollector extends BasicCollector implements CollectorInterface
*/
private function getAttachments(): Collection
{
$this->repository->setUser($this->user);
$attachments = $this->repository->getBetween($this->start, $this->end);
return $attachments;

View File

@@ -1,12 +1,22 @@
<?php
/**
* BasicCollector.php
* Copyright (C) 2016 thegrumpydictator@gmail.com
* Copyright (c) 2017 thegrumpydictator@gmail.com
*
* This software may be modified and distributed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International License.
* This file is part of Firefly III.
*
* See the LICENSE file for details.
* Firefly III is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* Firefly III is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with Firefly III. If not, see <http://www.gnu.org/licenses/>.
*/
declare(strict_types=1);
@@ -15,6 +25,7 @@ namespace FireflyIII\Export\Collector;
use FireflyIII\Models\ExportJob;
use FireflyIII\User;
use Illuminate\Support\Collection;
/**
@@ -26,6 +37,8 @@ class BasicCollector
{
/** @var ExportJob */
protected $job;
/** @var User */
protected $user;
/** @var Collection */
private $entries;
@@ -58,7 +71,16 @@ class BasicCollector
*/
public function setJob(ExportJob $job)
{
$this->job = $job;
$this->job = $job;
$this->user = $job->user;
}
/**
* @param User $user
*/
public function setUser(User $user)
{
$this->user = $user;
}

View File

@@ -1,12 +1,22 @@
<?php
/**
* CollectorInterface.php
* Copyright (C) 2016 thegrumpydictator@gmail.com
* Copyright (c) 2017 thegrumpydictator@gmail.com
*
* This software may be modified and distributed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International License.
* This file is part of Firefly III.
*
* See the LICENSE file for details.
* Firefly III is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* Firefly III is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with Firefly III. If not, see <http://www.gnu.org/licenses/>.
*/
declare(strict_types=1);

View File

@@ -1,347 +0,0 @@
<?php
/**
* JournalExportCollector.php
* Copyright (C) 2016 thegrumpydictator@gmail.com
*
* This software may be modified and distributed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International License.
*
* See the LICENSE file for details.
*/
declare(strict_types=1);
namespace FireflyIII\Export\Collector;
use Carbon\Carbon;
use DB;
use FireflyIII\Models\Transaction;
use Illuminate\Database\Query\JoinClause;
use Illuminate\Support\Collection;
use Steam;
/**
* Class JournalExportCollector
*
* @package FireflyIII\Export\Collector
*/
class JournalExportCollector extends BasicCollector implements CollectorInterface
{
/** @var Collection */
private $accounts;
/** @var Carbon */
private $end;
/** @var Carbon */
private $start;
/** @var Collection */
private $workSet;
/**
* @return bool
*/
public function run(): bool
{
/*
* Instead of collecting journals we collect transactions for the given accounts.
* We left join the OPPOSING transaction AND some journal data.
* After that we complement this info with budgets, categories, etc.
*
* This is way more efficient and will also work on split journals.
*/
$this->getWorkSet();
/*
* Extract:
* possible budget ids for journals
* possible category ids journals
* possible budget ids for transactions
* possible category ids for transactions
*
* possible IBAN and account numbers?
*
*/
$journals = $this->extractJournalIds();
$transactions = $this->extractTransactionIds();
// extend work set with category data from journals:
$this->categoryDataForJournals($journals);
// extend work set with category cate from transactions (overrules journals):
$this->categoryDataForTransactions($transactions);
// same for budgets:
$this->budgetDataForJournals($journals);
$this->budgetDataForTransactions($transactions);
$this->setEntries($this->workSet);
return true;
}
/**
* @param Collection $accounts
*/
public function setAccounts(Collection $accounts)
{
$this->accounts = $accounts;
}
/**
* @param Carbon $start
* @param Carbon $end
*/
public function setDates(Carbon $start, Carbon $end)
{
$this->start = $start;
$this->end = $end;
}
/**
* @param array $journals
*
* @return bool
*/
private function budgetDataForJournals(array $journals): bool
{
$set = DB::table('budget_transaction_journal')
->leftJoin('budgets', 'budgets.id', '=', 'budget_transaction_journal.budget_id')
->whereIn('budget_transaction_journal.transaction_journal_id', $journals)
->get(
[
'budget_transaction_journal.budget_id',
'budget_transaction_journal.transaction_journal_id',
'budgets.name',
'budgets.encrypted',
]
);
$set->each(
function ($obj) {
$obj->name = Steam::decrypt(intval($obj->encrypted), $obj->name);
}
);
$array = [];
foreach ($set as $obj) {
$array[$obj->transaction_journal_id] = ['id' => $obj->budget_id, 'name' => $obj->name];
}
$this->workSet->each(
function ($obj) use ($array) {
if (isset($array[$obj->transaction_journal_id])) {
$obj->budget_id = $array[$obj->transaction_journal_id]['id'];
$obj->budget_name = $array[$obj->transaction_journal_id]['name'];
}
}
);
return true;
}
/**
* @param array $transactions
*
* @return bool
*/
private function budgetDataForTransactions(array $transactions): bool
{
$set = DB::table('budget_transaction')
->leftJoin('budgets', 'budgets.id', '=', 'budget_transaction.budget_id')
->whereIn('budget_transaction.transaction_id', $transactions)
->get(
[
'budget_transaction.budget_id',
'budget_transaction.transaction_id',
'budgets.name',
'budgets.encrypted',
]
);
$set->each(
function ($obj) {
$obj->name = Steam::decrypt(intval($obj->encrypted), $obj->name);
}
);
$array = [];
foreach ($set as $obj) {
$array[$obj->transaction_id] = ['id' => $obj->budget_id, 'name' => $obj->name];
}
$this->workSet->each(
function ($obj) use ($array) {
// first transaction
if (isset($array[$obj->id])) {
$obj->budget_id = $array[$obj->id]['id'];
$obj->budget_name = $array[$obj->id]['name'];
}
}
);
return true;
}
/**
* @param array $journals
*
* @return bool
*/
private function categoryDataForJournals(array $journals): bool
{
$set = DB::table('category_transaction_journal')
->leftJoin('categories', 'categories.id', '=', 'category_transaction_journal.category_id')
->whereIn('category_transaction_journal.transaction_journal_id', $journals)
->get(
[
'category_transaction_journal.category_id',
'category_transaction_journal.transaction_journal_id',
'categories.name',
'categories.encrypted',
]
);
$set->each(
function ($obj) {
$obj->name = Steam::decrypt(intval($obj->encrypted), $obj->name);
}
);
$array = [];
foreach ($set as $obj) {
$array[$obj->transaction_journal_id] = ['id' => $obj->category_id, 'name' => $obj->name];
}
$this->workSet->each(
function ($obj) use ($array) {
if (isset($array[$obj->transaction_journal_id])) {
$obj->category_id = $array[$obj->transaction_journal_id]['id'];
$obj->category_name = $array[$obj->transaction_journal_id]['name'];
}
}
);
return true;
}
/**
* @param array $transactions
*
* @return bool
*/
private function categoryDataForTransactions(array $transactions): bool
{
$set = DB::table('category_transaction')
->leftJoin('categories', 'categories.id', '=', 'category_transaction.category_id')
->whereIn('category_transaction.transaction_id', $transactions)
->get(
[
'category_transaction.category_id',
'category_transaction.transaction_id',
'categories.name',
'categories.encrypted',
]
);
$set->each(
function ($obj) {
$obj->name = Steam::decrypt(intval($obj->encrypted), $obj->name);
}
);
$array = [];
foreach ($set as $obj) {
$array[$obj->transaction_id] = ['id' => $obj->category_id, 'name' => $obj->name];
}
$this->workSet->each(
function ($obj) use ($array) {
// first transaction
if (isset($array[$obj->id])) {
$obj->category_id = $array[$obj->id]['id'];
$obj->category_name = $array[$obj->id]['name'];
}
}
);
return true;
}
/**
* @return array
*/
private function extractJournalIds(): array
{
return $this->workSet->pluck('transaction_journal_id')->toArray();
}
/**
* @return array
*/
private function extractTransactionIds()
{
$set = $this->workSet->pluck('id')->toArray();
$opposing = $this->workSet->pluck('opposing_id')->toArray();
$complete = $set + $opposing;
return array_unique($complete);
}
/**
* @SuppressWarnings(PHPMD.ExcessiveMethodLength)
*/
private function getWorkSet()
{
$accountIds = $this->accounts->pluck('id')->toArray();
$this->workSet = Transaction::leftJoin('transaction_journals', 'transaction_journals.id', '=', 'transactions.transaction_journal_id')
->leftJoin(
'transactions AS opposing', function (JoinClause $join) {
$join->on('opposing.transaction_journal_id', '=', 'transactions.transaction_journal_id')
->where('opposing.amount', '=', DB::raw('transactions.amount * -1'))
->where('transactions.identifier', '=', DB::raw('opposing.identifier'));
}
)
->leftJoin('accounts', 'transactions.account_id', '=', 'accounts.id')
->leftJoin('accounts AS opposing_accounts', 'opposing.account_id', '=', 'opposing_accounts.id')
->leftJoin('transaction_types', 'transaction_journals.transaction_type_id', 'transaction_types.id')
->leftJoin('transaction_currencies', 'transactions.transaction_currency_id', '=', 'transaction_currencies.id')
->whereIn('transactions.account_id', $accountIds)
->where('transaction_journals.user_id', $this->job->user_id)
->where('transaction_journals.date', '>=', $this->start->format('Y-m-d'))
->where('transaction_journals.date', '<=', $this->end->format('Y-m-d'))
->where('transaction_journals.completed', 1)
->whereNull('transaction_journals.deleted_at')
->whereNull('transactions.deleted_at')
->whereNull('opposing.deleted_at')
->orderBy('transaction_journals.date', 'DESC')
->orderBy('transactions.identifier', 'ASC')
->get(
[
'transactions.id',
'transactions.amount',
'transactions.description',
'transactions.account_id',
'accounts.name as account_name',
'accounts.encrypted as account_name_encrypted',
'transactions.identifier',
'opposing.id as opposing_id',
'opposing.amount AS opposing_amount',
'opposing.description as opposing_description',
'opposing.account_id as opposing_account_id',
'opposing_accounts.name as opposing_account_name',
'opposing_accounts.encrypted as opposing_account_encrypted',
'opposing.identifier as opposing_identifier',
'transaction_journals.id as transaction_journal_id',
'transaction_journals.date',
'transaction_journals.description as journal_description',
'transaction_journals.encrypted as journal_encrypted',
'transaction_journals.transaction_type_id',
'transaction_types.type as transaction_type',
'transactions.transaction_currency_id',
'transaction_currencies.code AS transaction_currency_code',
]
);
}
}

View File

@@ -1,12 +1,22 @@
<?php
/**
* UploadCollector.php
* Copyright (C) 2016 thegrumpydictator@gmail.com
* Copyright (c) 2017 thegrumpydictator@gmail.com
*
* This software may be modified and distributed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International License.
* This file is part of Firefly III.
*
* See the LICENSE file for details.
* Firefly III is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* Firefly III is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with Firefly III. If not, see <http://www.gnu.org/licenses/>.
*/
declare(strict_types=1);
@@ -30,8 +40,6 @@ class UploadCollector extends BasicCollector implements CollectorInterface
private $exportDisk;
/** @var \Illuminate\Contracts\Filesystem\Filesystem */
private $uploadDisk;
/** @var string */
private $vintageFormat;
/**
* AttachmentCollector constructor.

View File

@@ -1,12 +1,22 @@
<?php
/**
* Entry.php
* Copyright (C) 2016 thegrumpydictator@gmail.com
* Copyright (c) 2017 thegrumpydictator@gmail.com
*
* This software may be modified and distributed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International License.
* This file is part of Firefly III.
*
* See the LICENSE file for details.
* Firefly III is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* Firefly III is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with Firefly III. If not, see <http://www.gnu.org/licenses/>.
*/
declare(strict_types=1);
@@ -14,7 +24,6 @@ declare(strict_types=1);
namespace FireflyIII\Export\Entry;
use FireflyIII\Models\Transaction;
use Steam;
/**
* To extend the exported object, in case of new features in Firefly III for example,
@@ -31,6 +40,7 @@ use Steam;
*
* Class Entry
* @SuppressWarnings(PHPMD.LongVariable)
* @SuppressWarnings(PHPMD.TooManyFields)
*
* @package FireflyIII\Export\Entry
*/
@@ -84,40 +94,12 @@ final class Entry
{
}
/**
* @param $object
*
* @return Entry
*/
public static function fromObject($object): Entry
{
$entry = new self;
$entry->journal_id = $object->transaction_journal_id;
$entry->description = Steam::decrypt(intval($object->journal_encrypted), $object->journal_description);
$entry->amount = $object->amount;
$entry->date = $object->date;
$entry->transaction_type = $object->transaction_type;
$entry->currency_code = $object->transaction_currency_code;
$entry->asset_account_id = $object->account_id;
$entry->asset_account_name = Steam::decrypt(intval($object->account_name_encrypted), $object->account_name);
$entry->opposing_account_id = $object->opposing_account_id;
$entry->opposing_account_name = Steam::decrypt(intval($object->opposing_account_encrypted), $object->opposing_account_name);
$entry->category_id = $object->category_id ?? '';
$entry->category_name = $object->category_name ?? '';
$entry->budget_id = $object->budget_id ?? '';
$entry->budget_name = $object->budget_name ?? '';
// update description when transaction description is different:
if (!is_null($object->description) && $object->description !== $entry->description) {
$entry->description = $entry->description . ' (' . $object->description . ')';
}
return $entry;
}
/**
* Converts a given transaction (as collected by the collector) into an export entry.
*
* @SuppressWarnings(PHPMD.CyclomaticComplexity) // complex but little choice.
* @SuppressWarnings(PHPMD.ExcessiveMethodLength) // cannot be helped
*
* @param Transaction $transaction
*
* @return Entry

View File

@@ -2,10 +2,21 @@
/**
* ExpandedProcessor.php
* Copyright (c) 2017 thegrumpydictator@gmail.com
* This software may be modified and distributed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International License.
*
* See the LICENSE file for details.
* This file is part of Firefly III.
*
* Firefly III is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* Firefly III is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with Firefly III. If not, see <http://www.gnu.org/licenses/>.
*/
declare(strict_types=1);
@@ -34,6 +45,8 @@ use ZipArchive;
/**
* Class ExpandedProcessor
*
* @SuppressWarnings(PHPMD.CouplingBetweenObjects) // its doing a lot.
*
* @package FireflyIII\Export
*/
class ExpandedProcessor implements ProcessorInterface
@@ -84,13 +97,17 @@ class ExpandedProcessor implements ProcessorInterface
}
/**
* Collects all transaction journals.
*
* @return bool
* @SuppressWarnings(PHPMD.ExcessiveMethodLength)
*/
public function collectJournals(): bool
{
// use journal collector thing.
/** @var JournalCollectorInterface $collector */
$collector = app(JournalCollectorInterface::class);
$collector->setUser($this->job->user);
$collector->setAccounts($this->accounts)->setRange($this->settings['startDate'], $this->settings['endDate'])
->withOpposingAccount()->withBudgetInformation()->withCategoryInformation()
->removeFilter(InternalTransferFilter::class);
@@ -101,8 +118,9 @@ class ExpandedProcessor implements ProcessorInterface
$opposingIds = $transactions->pluck('opposing_account_id')->toArray();
$notes = $this->getNotes($ids);
$tags = $this->getTags($ids);
$ibans = $this->getIbans($assetIds) + $this->getIbans($opposingIds);
$currencies = $this->getAccountCurrencies($ibans);
/** @var array $ibans */
$ibans = $this->getIbans($assetIds) + $this->getIbans($opposingIds);
$currencies = $this->getAccountCurrencies($ibans);
$transactions->each(
function (Transaction $transaction) use ($notes, $tags, $ibans, $currencies) {
$journalId = intval($transaction->journal_id);

View File

@@ -1,12 +1,22 @@
<?php
/**
* BasicExporter.php
* Copyright (C) 2016 thegrumpydictator@gmail.com
* Copyright (c) 2017 thegrumpydictator@gmail.com
*
* This software may be modified and distributed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International License.
* This file is part of Firefly III.
*
* See the LICENSE file for details.
* Firefly III is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* Firefly III is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with Firefly III. If not, see <http://www.gnu.org/licenses/>.
*/
declare(strict_types=1);

View File

@@ -1,12 +1,22 @@
<?php
/**
* CsvExporter.php
* Copyright (C) 2016 thegrumpydictator@gmail.com
* Copyright (c) 2017 thegrumpydictator@gmail.com
*
* This software may be modified and distributed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International License.
* This file is part of Firefly III.
*
* See the LICENSE file for details.
* Firefly III is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* Firefly III is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with Firefly III. If not, see <http://www.gnu.org/licenses/>.
*/
declare(strict_types=1);

View File

@@ -1,12 +1,22 @@
<?php
/**
* ExporterInterface.php
* Copyright (C) 2016 thegrumpydictator@gmail.com
* Copyright (c) 2017 thegrumpydictator@gmail.com
*
* This software may be modified and distributed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International License.
* This file is part of Firefly III.
*
* See the LICENSE file for details.
* Firefly III is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* Firefly III is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with Firefly III. If not, see <http://www.gnu.org/licenses/>.
*/
declare(strict_types=1);

View File

@@ -1,203 +0,0 @@
<?php
/**
* Processor.php
* Copyright (C) 2016 thegrumpydictator@gmail.com
*
* This software may be modified and distributed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International License.
*
* See the LICENSE file for details.
*/
declare(strict_types=1);
namespace FireflyIII\Export;
use FireflyIII\Exceptions\FireflyException;
use FireflyIII\Export\Collector\AttachmentCollector;
use FireflyIII\Export\Collector\JournalExportCollector;
use FireflyIII\Export\Collector\UploadCollector;
use FireflyIII\Export\Entry\Entry;
use FireflyIII\Models\ExportJob;
use Illuminate\Support\Collection;
use Log;
use Storage;
use ZipArchive;
/**
* Class Processor
*
* @package FireflyIII\Export
*/
class Processor implements ProcessorInterface
{
/** @var Collection */
public $accounts;
/** @var string */
public $exportFormat;
/** @var bool */
public $includeAttachments;
/** @var bool */
public $includeOldUploads;
/** @var ExportJob */
public $job;
/** @var array */
public $settings;
/** @var Collection */
private $exportEntries;
/** @var Collection */
private $files;
/** @var Collection */
private $journals;
/**
* Processor constructor.
*/
public function __construct()
{
$this->journals = new Collection;
$this->exportEntries = new Collection;
$this->files = new Collection;
}
/**
* @return bool
*/
public function collectAttachments(): bool
{
/** @var AttachmentCollector $attachmentCollector */
$attachmentCollector = app(AttachmentCollector::class);
$attachmentCollector->setJob($this->job);
$attachmentCollector->setDates($this->settings['startDate'], $this->settings['endDate']);
$attachmentCollector->run();
$this->files = $this->files->merge($attachmentCollector->getEntries());
return true;
}
/**
* @return bool
*/
public function collectJournals(): bool
{
/** @var JournalExportCollector $collector */
$collector = app(JournalExportCollector::class);
$collector->setJob($this->job);
$collector->setDates($this->settings['startDate'], $this->settings['endDate']);
$collector->setAccounts($this->settings['accounts']);
$collector->run();
$this->journals = $collector->getEntries();
Log::debug(sprintf('Count %d journals in collectJournals() ', $this->journals->count()));
return true;
}
/**
* @return bool
*/
public function collectOldUploads(): bool
{
/** @var UploadCollector $uploadCollector */
$uploadCollector = app(UploadCollector::class);
$uploadCollector->setJob($this->job);
$uploadCollector->run();
$this->files = $this->files->merge($uploadCollector->getEntries());
return true;
}
/**
* @return bool
*/
public function convertJournals(): bool
{
$count = 0;
foreach ($this->journals as $object) {
$this->exportEntries->push(Entry::fromObject($object));
$count++;
}
Log::debug(sprintf('Count %d entries in exportEntries (convertJournals)', $this->exportEntries->count()));
return true;
}
/**
* @return bool
* @throws FireflyException
*/
public function createZipFile(): bool
{
$zip = new ZipArchive;
$file = $this->job->key . '.zip';
$fullPath = storage_path('export') . '/' . $file;
if ($zip->open($fullPath, ZipArchive::CREATE) !== true) {
throw new FireflyException('Cannot store zip file.');
}
// for each file in the collection, add it to the zip file.
$disk = Storage::disk('export');
foreach ($this->getFiles() as $entry) {
// is part of this job?
$zipFileName = str_replace($this->job->key . '-', '', $entry);
$zip->addFromString($zipFileName, $disk->get($entry));
}
$zip->close();
// delete the files:
$this->deleteFiles();
return true;
}
/**
* @return bool
*/
public function exportJournals(): bool
{
$exporterClass = config('firefly.export_formats.' . $this->exportFormat);
$exporter = app($exporterClass);
$exporter->setJob($this->job);
$exporter->setEntries($this->exportEntries);
$exporter->run();
$this->files->push($exporter->getFileName());
return true;
}
/**
* @return Collection
*/
public function getFiles(): Collection
{
return $this->files;
}
/**
* @param array $settings
*/
public function setSettings(array $settings)
{
// save settings
$this->settings = $settings;
$this->accounts = $settings['accounts'];
$this->exportFormat = $settings['exportFormat'];
$this->includeAttachments = $settings['includeAttachments'];
$this->includeOldUploads = $settings['includeOldUploads'];
$this->job = $settings['job'];
}
/**
*
*/
private function deleteFiles()
{
$disk = Storage::disk('export');
foreach ($this->getFiles() as $file) {
$disk->delete($file);
}
}
}

View File

@@ -1,12 +1,22 @@
<?php
/**
* ProcessorInterface.php
* Copyright (C) 2016 thegrumpydictator@gmail.com
* Copyright (c) 2017 thegrumpydictator@gmail.com
*
* This software may be modified and distributed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International License.
* This file is part of Firefly III.
*
* See the LICENSE file for details.
* Firefly III is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* Firefly III is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with Firefly III. If not, see <http://www.gnu.org/licenses/>.
*/
declare(strict_types=1);

View File

@@ -1,12 +1,22 @@
<?php
/**
* ChartJsGenerator.php
* Copyright (C) 2016 thegrumpydictator@gmail.com
* Copyright (c) 2017 thegrumpydictator@gmail.com
*
* This software may be modified and distributed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International License.
* This file is part of Firefly III.
*
* See the LICENSE file for details.
* Firefly III is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* Firefly III is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with Firefly III. If not, see <http://www.gnu.org/licenses/>.
*/
declare(strict_types=1);

View File

@@ -1,12 +1,22 @@
<?php
/**
* GeneratorInterface.php
* Copyright (C) 2016 thegrumpydictator@gmail.com
* Copyright (c) 2017 thegrumpydictator@gmail.com
*
* This software may be modified and distributed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International License.
* This file is part of Firefly III.
*
* See the LICENSE file for details.
* Firefly III is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* Firefly III is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with Firefly III. If not, see <http://www.gnu.org/licenses/>.
*/
declare(strict_types=1);

View File

@@ -1,12 +1,22 @@
<?php
/**
* MonthReportGenerator.php
* Copyright (C) 2016 thegrumpydictator@gmail.com
* Copyright (c) 2017 thegrumpydictator@gmail.com
*
* This software may be modified and distributed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International License.
* This file is part of Firefly III.
*
* See the LICENSE file for details.
* Firefly III is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* Firefly III is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with Firefly III. If not, see <http://www.gnu.org/licenses/>.
*/
declare(strict_types=1);
@@ -145,6 +155,9 @@ class MonthReportGenerator implements ReportGeneratorInterface
* @param Carbon $date
*
* @return array
*
* @SuppressWarnings(PHPMD.ExcessiveMethodLength) // not that long
*
*/
private function getAuditReport(Account $account, Carbon $date): array
{
@@ -175,9 +188,6 @@ class MonthReportGenerator implements ReportGeneratorInterface
$transaction->currency = $currency;
}
/*
* Reverse set again.
*/
$return = [
'journals' => $journals->reverse(),
'exists' => $journals->count() > 0,

View File

@@ -1,12 +1,22 @@
<?php
/**
* MultiYearReportGenerator.php
* Copyright (C) 2016 thegrumpydictator@gmail.com
* Copyright (c) 2017 thegrumpydictator@gmail.com
*
* This software may be modified and distributed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International License.
* This file is part of Firefly III.
*
* See the LICENSE file for details.
* Firefly III is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* Firefly III is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with Firefly III. If not, see <http://www.gnu.org/licenses/>.
*/
declare(strict_types=1);

View File

@@ -1,12 +1,22 @@
<?php
/**
* YearReportGenerator.php
* Copyright (C) 2016 thegrumpydictator@gmail.com
* Copyright (c) 2017 thegrumpydictator@gmail.com
*
* This software may be modified and distributed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International License.
* This file is part of Firefly III.
*
* See the LICENSE file for details.
* Firefly III is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* Firefly III is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with Firefly III. If not, see <http://www.gnu.org/licenses/>.
*/
declare(strict_types=1);

View File

@@ -1,12 +1,22 @@
<?php
/**
* MonthReportGenerator.php
* Copyright (C) 2016 thegrumpydictator@gmail.com
* Copyright (c) 2017 thegrumpydictator@gmail.com
*
* This software may be modified and distributed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International License.
* This file is part of Firefly III.
*
* See the LICENSE file for details.
* Firefly III is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* Firefly III is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with Firefly III. If not, see <http://www.gnu.org/licenses/>.
*/
declare(strict_types=1);

View File

@@ -1,12 +1,22 @@
<?php
/**
* MultiYearReportGenerator.php
* Copyright (C) 2016 thegrumpydictator@gmail.com
* Copyright (c) 2017 thegrumpydictator@gmail.com
*
* This software may be modified and distributed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International License.
* This file is part of Firefly III.
*
* See the LICENSE file for details.
* Firefly III is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* Firefly III is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with Firefly III. If not, see <http://www.gnu.org/licenses/>.
*/
declare(strict_types=1);

View File

@@ -1,12 +1,22 @@
<?php
/**
* YearReportGenerator.php
* Copyright (C) 2016 thegrumpydictator@gmail.com
* Copyright (c) 2017 thegrumpydictator@gmail.com
*
* This software may be modified and distributed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International License.
* This file is part of Firefly III.
*
* See the LICENSE file for details.
* Firefly III is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* Firefly III is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with Firefly III. If not, see <http://www.gnu.org/licenses/>.
*/
declare(strict_types=1);

View File

@@ -1,12 +1,22 @@
<?php
/**
* MonthReportGenerator.php
* Copyright (C) 2016 thegrumpydictator@gmail.com
* Copyright (c) 2017 thegrumpydictator@gmail.com
*
* This software may be modified and distributed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International License.
* This file is part of Firefly III.
*
* See the LICENSE file for details.
* Firefly III is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* Firefly III is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with Firefly III. If not, see <http://www.gnu.org/licenses/>.
*/
declare(strict_types=1);

View File

@@ -1,12 +1,22 @@
<?php
/**
* MultiYearReportGenerator.php
* Copyright (C) 2016 thegrumpydictator@gmail.com
* Copyright (c) 2017 thegrumpydictator@gmail.com
*
* This software may be modified and distributed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International License.
* This file is part of Firefly III.
*
* See the LICENSE file for details.
* Firefly III is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* Firefly III is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with Firefly III. If not, see <http://www.gnu.org/licenses/>.
*/
declare(strict_types=1);

View File

@@ -1,12 +1,22 @@
<?php
/**
* YearReportGenerator.php
* Copyright (C) 2016 thegrumpydictator@gmail.com
* Copyright (c) 2017 thegrumpydictator@gmail.com
*
* This software may be modified and distributed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International License.
* This file is part of Firefly III.
*
* See the LICENSE file for details.
* Firefly III is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* Firefly III is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with Firefly III. If not, see <http://www.gnu.org/licenses/>.
*/
declare(strict_types=1);

View File

@@ -1,12 +1,22 @@
<?php
/**
* ReportGeneratorFactory.php
* Copyright (C) 2016 thegrumpydictator@gmail.com
* Copyright (c) 2017 thegrumpydictator@gmail.com
*
* This software may be modified and distributed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International License.
* This file is part of Firefly III.
*
* See the LICENSE file for details.
* Firefly III is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* Firefly III is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with Firefly III. If not, see <http://www.gnu.org/licenses/>.
*/
declare(strict_types=1);

View File

@@ -1,12 +1,22 @@
<?php
/**
* ReportGeneratorInterface.php
* Copyright (C) 2016 thegrumpydictator@gmail.com
* Copyright (c) 2017 thegrumpydictator@gmail.com
*
* This software may be modified and distributed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International License.
* This file is part of Firefly III.
*
* See the LICENSE file for details.
* Firefly III is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* Firefly III is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with Firefly III. If not, see <http://www.gnu.org/licenses/>.
*/
declare(strict_types=1);

View File

@@ -1,12 +1,22 @@
<?php
/**
* MonthReportGenerator.php
* Copyright (C) 2016 thegrumpydictator@gmail.com
* Copyright (c) 2017 thegrumpydictator@gmail.com
*
* This software may be modified and distributed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International License.
* This file is part of Firefly III.
*
* See the LICENSE file for details.
* Firefly III is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* Firefly III is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with Firefly III. If not, see <http://www.gnu.org/licenses/>.
*/
declare(strict_types=1);

View File

@@ -1,12 +1,22 @@
<?php
/**
* MultiYearReportGenerator.php
* Copyright (C) 2016 thegrumpydictator@gmail.com
* Copyright (c) 2017 thegrumpydictator@gmail.com
*
* This software may be modified and distributed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International License.
* This file is part of Firefly III.
*
* See the LICENSE file for details.
* Firefly III is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* Firefly III is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with Firefly III. If not, see <http://www.gnu.org/licenses/>.
*/
declare(strict_types=1);

View File

@@ -1,12 +1,22 @@
<?php
/**
* YearReportGenerator.php
* Copyright (C) 2016 thegrumpydictator@gmail.com
* Copyright (c) 2017 thegrumpydictator@gmail.com
*
* This software may be modified and distributed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International License.
* This file is part of Firefly III.
*
* See the LICENSE file for details.
* Firefly III is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* Firefly III is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with Firefly III. If not, see <http://www.gnu.org/licenses/>.
*/
declare(strict_types=1);

View File

@@ -1,12 +1,22 @@
<?php
/**
* Support.php
* Copyright (C) 2016 thegrumpydictator@gmail.com
* Copyright (c) 2017 thegrumpydictator@gmail.com
*
* This software may be modified and distributed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International License.
* This file is part of Firefly III.
*
* See the LICENSE file for details.
* Firefly III is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* Firefly III is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with Firefly III. If not, see <http://www.gnu.org/licenses/>.
*/
declare(strict_types=1);

View File

@@ -2,9 +2,21 @@
/**
* MonthReportGenerator.php
* Copyright (c) 2017 thegrumpydictator@gmail.com
* This software may be modified and distributed under the terms of the Creative Commons Attribution-ShareAlike 4.0 International License.
*
* See the LICENSE file for details.
* This file is part of Firefly III.
*
* Firefly III is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* Firefly III is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with Firefly III. If not, see <http://www.gnu.org/licenses/>.
*/
declare(strict_types=1);

View File

@@ -2,9 +2,21 @@
/**
* MultiYearReportGenerator.php
* Copyright (c) 2017 thegrumpydictator@gmail.com
* This software may be modified and distributed under the terms of the Creative Commons Attribution-ShareAlike 4.0 International License.
*
* See the LICENSE file for details.
* This file is part of Firefly III.
*
* Firefly III is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* Firefly III is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with Firefly III. If not, see <http://www.gnu.org/licenses/>.
*/
declare(strict_types=1);

View File

@@ -2,9 +2,21 @@
/**
* YearReportGenerator.php
* Copyright (c) 2017 thegrumpydictator@gmail.com
* This software may be modified and distributed under the terms of the Creative Commons Attribution-ShareAlike 4.0 International License.
*
* See the LICENSE file for details.
* This file is part of Firefly III.
*
* Firefly III is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* Firefly III is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with Firefly III. If not, see <http://www.gnu.org/licenses/>.
*/
declare(strict_types=1);

View File

@@ -0,0 +1,67 @@
<?php
/**
* AdminEventHandler.php
* Copyright (c) 2017 thegrumpydictator@gmail.com
*
* This file is part of Firefly III.
*
* Firefly III is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* Firefly III is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with Firefly III. If not, see <http://www.gnu.org/licenses/>.
*/
declare(strict_types=1);
namespace FireflyIII\Handlers\Events;
use FireflyIII\Events\AdminRequestedTestMessage;
use FireflyIII\Mail\AdminTestMail;
use Log;
use Mail;
use Session;
use Swift_TransportException;
/**
* Class AdminEventHandler
*
* @package FireflyIII\Handlers\Events
*/
class AdminEventHandler
{
/**
* @param AdminRequestedTestMessage $event
*
* @return bool
*/
public function sendTestMessage(AdminRequestedTestMessage $event): bool
{
$email = $event->user->email;
$ipAddress = $event->ipAddress;
Log::debug(sprintf('Now in sendTestMessage event handler. Email is %s, IP is %s', $email, $ipAddress));
try {
Log::debug('Trying to send message...');
Mail::to($email)->send(new AdminTestMail($email, $ipAddress));
// @codeCoverageIgnoreStart
} catch (Swift_TransportException $e) {
Log::debug('Send message failed! :(');
Log::error($e->getMessage());
Log::error($e->getTraceAsString());
Session::flash('error', 'Possible email error: ' . $e->getMessage());
}
Log::debug('If no error above this line, message was sent.');
// @codeCoverageIgnoreEnd
return true;
}
}

View File

@@ -1,12 +1,22 @@
<?php
/**
* StoredJournalEventHandler.php
* Copyright (C) 2016 thegrumpydictator@gmail.com
* Copyright (c) 2017 thegrumpydictator@gmail.com
*
* This software may be modified and distributed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International License.
* This file is part of Firefly III.
*
* See the LICENSE file for details.
* Firefly III is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* Firefly III is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with Firefly III. If not, see <http://www.gnu.org/licenses/>.
*/
declare(strict_types=1);
@@ -19,8 +29,8 @@ use FireflyIII\Models\RuleGroup;
use FireflyIII\Repositories\Journal\JournalRepositoryInterface as JRI;
use FireflyIII\Repositories\PiggyBank\PiggyBankRepositoryInterface as PRI;
use FireflyIII\Repositories\RuleGroup\RuleGroupRepositoryInterface as RGRI;
use FireflyIII\Rules\Processor;
use FireflyIII\Support\Events\BillScanner;
use FireflyIII\TransactionRules\Processor;
use Log;
/**
@@ -57,11 +67,12 @@ class StoredJournalEventHandler
/**
* This method connects a new transfer to a piggy bank.
*
*
*
* @param StoredTransactionJournal $event
*
* @return bool
*
* @SuppressWarnings(PHPMD.CyclomaticComplexity)
* @SuppressWarnings(PHPMD.ExcessiveMethodLength)
*/
public function connectToPiggyBank(StoredTransactionJournal $event): bool
{

View File

@@ -1,12 +1,22 @@
<?php
/**
* UpdatedJournalEventHandler.php
* Copyright (C) 2016 thegrumpydictator@gmail.com
* Copyright (c) 2017 thegrumpydictator@gmail.com
*
* This software may be modified and distributed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International License.
* This file is part of Firefly III.
*
* See the LICENSE file for details.
* Firefly III is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* Firefly III is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with Firefly III. If not, see <http://www.gnu.org/licenses/>.
*/
declare(strict_types=1);
@@ -18,8 +28,8 @@ use FireflyIII\Events\UpdatedTransactionJournal;
use FireflyIII\Models\Rule;
use FireflyIII\Models\RuleGroup;
use FireflyIII\Repositories\RuleGroup\RuleGroupRepositoryInterface;
use FireflyIII\Rules\Processor;
use FireflyIII\Support\Events\BillScanner;
use FireflyIII\TransactionRules\Processor;
/**
* @codeCoverageIgnore

View File

@@ -1,12 +1,22 @@
<?php
/**
* UserEventHandler.php
* Copyright (C) 2016 thegrumpydictator@gmail.com
* Copyright (c) 2017 thegrumpydictator@gmail.com
*
* This software may be modified and distributed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International License.
* This file is part of Firefly III.
*
* See the LICENSE file for details.
* Firefly III is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* Firefly III is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with Firefly III. If not, see <http://www.gnu.org/licenses/>.
*/
declare(strict_types=1);
@@ -15,11 +25,15 @@ namespace FireflyIII\Handlers\Events;
use FireflyIII\Events\RegisteredUser;
use FireflyIII\Events\RequestedNewPassword;
use FireflyIII\Events\UserChangedEmail;
use FireflyIII\Mail\ConfirmEmailChangeMail;
use FireflyIII\Mail\RegisteredUser as RegisteredUserMail;
use FireflyIII\Mail\RequestedNewPassword as RequestedNewPasswordMail;
use FireflyIII\Mail\UndoEmailChangeMail;
use FireflyIII\Repositories\User\UserRepositoryInterface;
use Log;
use Mail;
use Preferences;
use Swift_TransportException;
/**
@@ -54,6 +68,54 @@ class UserEventHandler
return true;
}
/**
* @param UserChangedEmail $event
*
* @return bool
*/
public function sendEmailChangeConfirmMail(UserChangedEmail $event): bool
{
$newEmail = $event->newEmail;
$oldEmail = $event->oldEmail;
$user = $event->user;
$ipAddress = $event->ipAddress;
$token = Preferences::getForUser($user, 'email_change_confirm_token', 'invalid');
$uri = route('profile.confirm-email-change', [$token->data]);
try {
Mail::to($newEmail)->send(new ConfirmEmailChangeMail($newEmail, $oldEmail, $uri, $ipAddress));
// @codeCoverageIgnoreStart
} catch (Swift_TransportException $e) {
Log::error($e->getMessage());
}
// @codeCoverageIgnoreEnd
return true;
}
/**
* @param UserChangedEmail $event
*
* @return bool
*/
public function sendEmailChangeUndoMail(UserChangedEmail $event): bool
{
$newEmail = $event->newEmail;
$oldEmail = $event->oldEmail;
$user = $event->user;
$ipAddress = $event->ipAddress;
$token = Preferences::getForUser($user, 'email_change_undo_token', 'invalid');
$uri = route('profile.undo-email-change', [$token->data, hash('sha256', $oldEmail)]);
try {
Mail::to($oldEmail)->send(new UndoEmailChangeMail($newEmail, $oldEmail, $uri, $ipAddress));
// @codeCoverageIgnoreStart
} catch (Swift_TransportException $e) {
Log::error($e->getMessage());
}
// @codeCoverageIgnoreEnd
return true;
}
/**
* @param RequestedNewPassword $event
*

View File

@@ -1,12 +1,22 @@
<?php
/**
* AttachmentHelper.php
* Copyright (C) 2016 thegrumpydictator@gmail.com
* Copyright (c) 2017 thegrumpydictator@gmail.com
*
* This software may be modified and distributed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International License.
* This file is part of Firefly III.
*
* See the LICENSE file for details.
* Firefly III is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* Firefly III is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with Firefly III. If not, see <http://www.gnu.org/licenses/>.
*/
declare(strict_types=1);
@@ -169,7 +179,6 @@ class AttachmentHelper implements AttachmentHelperInterface
// store it:
$this->uploadDisk->put($attachment->fileName(), $encrypted);
$attachment->uploaded = 1; // update attachment
$attachment->save();
$this->attachments->push($attachment);
@@ -180,8 +189,6 @@ class AttachmentHelper implements AttachmentHelperInterface
// return it.
return $attachment;
}
/**

View File

@@ -1,12 +1,22 @@
<?php
/**
* AttachmentHelperInterface.php
* Copyright (C) 2016 thegrumpydictator@gmail.com
* Copyright (c) 2017 thegrumpydictator@gmail.com
*
* This software may be modified and distributed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International License.
* This file is part of Firefly III.
*
* See the LICENSE file for details.
* Firefly III is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* Firefly III is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with Firefly III. If not, see <http://www.gnu.org/licenses/>.
*/
declare(strict_types=1);

View File

@@ -2,9 +2,21 @@
/**
* MetaPieChart.php
* Copyright (c) 2017 thegrumpydictator@gmail.com
* This software may be modified and distributed under the terms of the Creative Commons Attribution-ShareAlike 4.0 International License.
*
* See the LICENSE file for details.
* This file is part of Firefly III.
*
* Firefly III is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* Firefly III is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with Firefly III. If not, see <http://www.gnu.org/licenses/>.
*/
declare(strict_types=1);
@@ -32,6 +44,8 @@ use Steam;
* Class MetaPieChart
*
* @package FireflyIII\Helpers\Chart
*
*
*/
class MetaPieChart implements MetaPieChartInterface
{
@@ -83,12 +97,15 @@ class MetaPieChart implements MetaPieChartInterface
* @param string $group
*
* @return array
*
* @SuppressWarnings(PHPMD.CyclomaticComplexity)
*/
public function generate(string $direction, string $group): array
{
$transactions = $this->getTransactions($direction);
$grouped = $this->groupByFields($transactions, $this->grouping[$group]);
$chartData = $this->organizeByType($group, $grouped);
$key = strval(trans('firefly.everything_else'));
// also collect all other transactions
if ($this->collectOtherObjects && $direction === 'expense') {
@@ -96,11 +113,12 @@ class MetaPieChart implements MetaPieChartInterface
$collector = app(JournalCollectorInterface::class);
$collector->setUser($this->user);
$collector->setAccounts($this->accounts)->setRange($this->start, $this->end)->setTypes([TransactionType::WITHDRAWAL]);
$journals = $collector->getJournals();
$sum = strval($journals->sum('transaction_amount'));
$sum = bcmul($sum, '-1');
$sum = bcsub($sum, $this->total);
$chartData[strval(trans('firefly.everything_else'))] = $sum;
$journals = $collector->getJournals();
$sum = strval($journals->sum('transaction_amount'));
$sum = bcmul($sum, '-1');
$sum = bcsub($sum, $this->total);
$chartData[$key] = $sum;
}
if ($this->collectOtherObjects && $direction === 'income') {
@@ -108,10 +126,10 @@ class MetaPieChart implements MetaPieChartInterface
$collector = app(JournalCollectorInterface::class);
$collector->setUser($this->user);
$collector->setAccounts($this->accounts)->setRange($this->start, $this->end)->setTypes([TransactionType::DEPOSIT]);
$journals = $collector->getJournals();
$sum = strval($journals->sum('transaction_amount'));
$sum = bcsub($sum, $this->total);
$chartData[strval(trans('firefly.everything_else'))] = $sum;
$journals = $collector->getJournals();
$sum = strval($journals->sum('transaction_amount'));
$sum = bcsub($sum, $this->total);
$chartData[$key] = $sum;
}
return $chartData;
@@ -258,12 +276,9 @@ class MetaPieChart implements MetaPieChartInterface
$collector->removeFilter(TransferFilter::class);
}
if ($this->budgets->count() > 0) {
$collector->setBudgets($this->budgets);
}
if ($this->categories->count() > 0) {
$collector->setCategories($this->categories);
}
$collector->setBudgets($this->budgets);
$collector->setCategories($this->categories);
if ($this->tags->count() > 0) {
$collector->setTags($this->tags);
$collector->withCategoryInformation();
@@ -278,6 +293,9 @@ class MetaPieChart implements MetaPieChartInterface
* @param array $fields
*
* @return array
*
* @SuppressWarnings(PHPMD.CyclomaticComplexity)
*
*/
protected function groupByFields(Collection $set, array $fields): array
{

View File

@@ -2,9 +2,21 @@
/**
* MetaPieChartInterface.php
* Copyright (c) 2017 thegrumpydictator@gmail.com
* This software may be modified and distributed under the terms of the Creative Commons Attribution-ShareAlike 4.0 International License.
*
* See the LICENSE file for details.
* This file is part of Firefly III.
*
* Firefly III is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* Firefly III is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with Firefly III. If not, see <http://www.gnu.org/licenses/>.
*/
declare(strict_types=1);

View File

@@ -1,12 +1,22 @@
<?php
/**
* Balance.php
* Copyright (C) 2016 thegrumpydictator@gmail.com
* Copyright (c) 2017 thegrumpydictator@gmail.com
*
* This software may be modified and distributed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International License.
* This file is part of Firefly III.
*
* See the LICENSE file for details.
* Firefly III is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* Firefly III is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with Firefly III. If not, see <http://www.gnu.org/licenses/>.
*/
declare(strict_types=1);

View File

@@ -1,12 +1,22 @@
<?php
/**
* BalanceEntry.php
* Copyright (C) 2016 thegrumpydictator@gmail.com
* Copyright (c) 2017 thegrumpydictator@gmail.com
*
* This software may be modified and distributed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International License.
* This file is part of Firefly III.
*
* See the LICENSE file for details.
* Firefly III is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* Firefly III is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with Firefly III. If not, see <http://www.gnu.org/licenses/>.
*/
declare(strict_types=1);

View File

@@ -1,12 +1,22 @@
<?php
/**
* BalanceHeader.php
* Copyright (C) 2016 thegrumpydictator@gmail.com
* Copyright (c) 2017 thegrumpydictator@gmail.com
*
* This software may be modified and distributed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International License.
* This file is part of Firefly III.
*
* See the LICENSE file for details.
* Firefly III is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* Firefly III is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with Firefly III. If not, see <http://www.gnu.org/licenses/>.
*/
declare(strict_types=1);

View File

@@ -1,12 +1,22 @@
<?php
/**
* BalanceLine.php
* Copyright (C) 2016 thegrumpydictator@gmail.com
* Copyright (c) 2017 thegrumpydictator@gmail.com
*
* This software may be modified and distributed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International License.
* This file is part of Firefly III.
*
* See the LICENSE file for details.
* Firefly III is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* Firefly III is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with Firefly III. If not, see <http://www.gnu.org/licenses/>.
*/
declare(strict_types=1);

View File

@@ -1,12 +1,22 @@
<?php
/**
* Bill.php
* Copyright (C) 2016 thegrumpydictator@gmail.com
* Copyright (c) 2017 thegrumpydictator@gmail.com
*
* This software may be modified and distributed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International License.
* This file is part of Firefly III.
*
* See the LICENSE file for details.
* Firefly III is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* Firefly III is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with Firefly III. If not, see <http://www.gnu.org/licenses/>.
*/
declare(strict_types=1);

View File

@@ -1,12 +1,22 @@
<?php
/**
* BillLine.php
* Copyright (C) 2016 thegrumpydictator@gmail.com
* Copyright (c) 2017 thegrumpydictator@gmail.com
*
* This software may be modified and distributed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International License.
* This file is part of Firefly III.
*
* See the LICENSE file for details.
* Firefly III is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* Firefly III is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with Firefly III. If not, see <http://www.gnu.org/licenses/>.
*/
declare(strict_types=1);

View File

@@ -1,12 +1,22 @@
<?php
/**
* Category.php
* Copyright (C) 2016 thegrumpydictator@gmail.com
* Copyright (c) 2017 thegrumpydictator@gmail.com
*
* This software may be modified and distributed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International License.
* This file is part of Firefly III.
*
* See the LICENSE file for details.
* Firefly III is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* Firefly III is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with Firefly III. If not, see <http://www.gnu.org/licenses/>.
*/
declare(strict_types=1);

View File

@@ -1,12 +1,22 @@
<?php
/**
* JournalCollector.php
* Copyright (C) 2016 thegrumpydictator@gmail.com
* Copyright (c) 2017 thegrumpydictator@gmail.com
*
* This software may be modified and distributed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International License.
* This file is part of Firefly III.
*
* See the LICENSE file for details.
* Firefly III is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* Firefly III is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with Firefly III. If not, see <http://www.gnu.org/licenses/>.
*/
declare(strict_types=1);
@@ -43,6 +53,9 @@ use Steam;
* Class JournalCollector
*
* @package FireflyIII\Helpers\Collector
*
* @SuppressWarnings(PHPMD.ExcessiveClassComplexity)
* @SuppressWarnings(PHPMD.CouplingBetweenObjects)
*/
class JournalCollector implements JournalCollectorInterface
{
@@ -88,8 +101,6 @@ class JournalCollector implements JournalCollectorInterface
'account_types.type as account_type',
];
/** @var bool */
private $filterTransfers = false;
/** @var array */
private $filters = [InternalTransferFilter::class];
@@ -122,7 +133,7 @@ class JournalCollector implements JournalCollectorInterface
public function addFilter(string $filter): JournalCollectorInterface
{
$interfaces = class_implements($filter);
if (in_array(FilterInterface::class, $interfaces)) {
if (in_array(FilterInterface::class, $interfaces) && !in_array($filter, $this->filters) ) {
Log::debug(sprintf('Enabled filter %s', $filter));
$this->filters[] = $filter;
}
@@ -234,7 +245,6 @@ class JournalCollector implements JournalCollectorInterface
if ($accounts->count() > 1) {
$this->addFilter(TransferFilter::class);
$this->filterTransfers = true;
}
@@ -258,7 +268,6 @@ class JournalCollector implements JournalCollectorInterface
if ($accounts->count() > 1) {
$this->addFilter(TransferFilter::class);
$this->filterTransfers = true;
}
return $this;
@@ -311,6 +320,7 @@ class JournalCollector implements JournalCollectorInterface
return $this;
}
$this->joinBudgetTables();
Log::debug('Journal collector will filter for budgets', $budgetIds);
$this->query->where(
function (EloquentBuilder $q) use ($budgetIds) {
@@ -413,10 +423,10 @@ class JournalCollector implements JournalCollectorInterface
$this->offset = $offset;
$this->query->skip($offset);
Log::debug(sprintf('Changed offset to %d', $offset));
return $this;
}
if (is_null($this->limit)) {
Log::debug('The limit is zero, cannot set the page.');
}
Log::debug('The limit is zero, cannot set the page.');
return $this;
}
@@ -430,8 +440,11 @@ class JournalCollector implements JournalCollectorInterface
public function setRange(Carbon $start, Carbon $end): JournalCollectorInterface
{
if ($start <= $end) {
$this->query->where('transaction_journals.date', '>=', $start->format('Y-m-d'));
$this->query->where('transaction_journals.date', '<=', $end->format('Y-m-d'));
$startStr = $start->format('Y-m-d');
$endStr = $end->format('Y-m-d');
$this->query->where('transaction_journals.date', '>=', $startStr);
$this->query->where('transaction_journals.date', '<=', $endStr);
Log::debug(sprintf('JournalCollector range is now %s - %s (inclusive)', $startStr, $endStr));
}
return $this;
@@ -509,7 +522,8 @@ class JournalCollector implements JournalCollectorInterface
->orderBy('transaction_journals.date', 'DESC')
->orderBy('transaction_journals.order', 'ASC')
->orderBy('transaction_journals.id', 'DESC')
->orderBy('transaction_journals.description', 'DESC');
->orderBy('transaction_journals.description', 'DESC')
->orderBy('transactions.amount','DESC');
$this->query = $query;

View File

@@ -1,12 +1,22 @@
<?php
/**
* JournalCollectorInterface.php
* Copyright (C) 2016 thegrumpydictator@gmail.com
* Copyright (c) 2017 thegrumpydictator@gmail.com
*
* This software may be modified and distributed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International License.
* This file is part of Firefly III.
*
* See the LICENSE file for details.
* Firefly III is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* Firefly III is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with Firefly III. If not, see <http://www.gnu.org/licenses/>.
*/
declare(strict_types=1);

View File

@@ -2,9 +2,21 @@
/**
* AmountFilter.php
* Copyright (c) 2017 thegrumpydictator@gmail.com
* This software may be modified and distributed under the terms of the Creative Commons Attribution-ShareAlike 4.0 International License.
*
* See the LICENSE file for details.
* This file is part of Firefly III.
*
* Firefly III is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* Firefly III is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with Firefly III. If not, see <http://www.gnu.org/licenses/>.
*/
declare(strict_types=1);

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