mirror of
https://gitlab.com/Chill-Projet/chill-bundles.git
synced 2025-09-19 13:15:00 +00:00
Compare commits
955 Commits
Author | SHA1 | Date | |
---|---|---|---|
559901e528 | |||
05bc69fd33 | |||
49da62d364 | |||
3af7824d01
|
|||
033053c437
|
|||
633bb00154
|
|||
f5c1b5cf8a | |||
ccd71da4e4
|
|||
1eadb3bbdb
|
|||
|
0bb5a79cae
|
||
|
bd3198e42b
|
||
|
96dfddc55f
|
||
|
da37a3db5f
|
||
|
c2882b1079
|
||
b9e515f4e6 | |||
|
df2ea7e1ba
|
||
|
d59cda9cc4
|
||
7a98bb5a06
|
|||
2ce8f540fe
|
|||
6c4d8990cc | |||
351e9c3fcc
|
|||
1b65cac1df
|
|||
4ebec02178
|
|||
6aceec6df7 | |||
b0f1cf272f | |||
486ad3bb41
|
|||
a4cd15d2f5 | |||
4bc92a61ca
|
|||
6ebab8e4fb
|
|||
9c918a151c
|
|||
5eec4f1281
|
|||
b01c9b86db
|
|||
55c4ba3f04
|
|||
9698a5e987
|
|||
31912b9b91
|
|||
a97a586b9d
|
|||
ddc48db06f
|
|||
fa8f6d6f15
|
|||
877c33e4ce
|
|||
a604f3947c
|
|||
82cb359072
|
|||
de711181df
|
|||
f2eaf23c2a
|
|||
e043b0cf12 | |||
0fb822e7c1 | |||
a4510e2697 | |||
f820273dd7 | |||
19e6ceba28 | |||
0ac49d1fde | |||
c147d267d9 | |||
fa767110e8 | |||
11ba2cf889 | |||
d68de96004 | |||
8a16030b49 | |||
5866496f49 | |||
f6387212cb | |||
a869e5a78b | |||
401db94d6c | |||
cd99633d15 | |||
3e355a6465 | |||
5afb92d549 | |||
f4f5153ed0 | |||
0382f5ef61 | |||
8f34c841f3 | |||
e339623e2d | |||
a9384bf734 | |||
83ef12a2ef
|
|||
0b22250dd5 | |||
b9b5c4aa74 | |||
1f306a7270 | |||
20d8cc2d17 | |||
e340be512c | |||
63ed046c9a | |||
b52532eb82 | |||
81da34f1b6
|
|||
8a2272f93b
|
|||
f1e5ccd432
|
|||
9225077ec4
|
|||
b92e60fa26
|
|||
16cd63ec84
|
|||
b59b4a644b
|
|||
40fec3c530
|
|||
3e0731f06e
|
|||
9ef884349a
|
|||
5acf9432d6
|
|||
4fdb722dc6 | |||
e113e3dce5 | |||
6536662aba | |||
4127ce1d97 | |||
b327f65ef8 | |||
0f1604817b | |||
63fc4f1089 | |||
ba3fe6af8c | |||
bc4c2c1471 | |||
3f381c207d | |||
df30ca2c4f | |||
2573c32160 | |||
38886cd0b6 | |||
875d3293d2 | |||
16d5f121db | |||
10999a2077 | |||
128f8b8852
|
|||
6ca4b91e1e
|
|||
3a1947df9e
|
|||
9012e68b70 | |||
04b2def8a5 | |||
39b918e7eb | |||
4be6c09d4d
|
|||
1961bf36e2 | |||
9a44cf060f
|
|||
723ca8db6a
|
|||
52f06e2142 | |||
6ded75119c | |||
89fa10cede | |||
f04ef3c3e3 | |||
b5f1f3153f
|
|||
03fe9a6d86
|
|||
a312b45777
|
|||
5d5150faa7
|
|||
9b661c3b8f
|
|||
f90fae4e14 | |||
b7e27536bd
|
|||
887f3e0aa2 | |||
829fb669fe
|
|||
a8660ecdb2 | |||
903a87c589
|
|||
aad10cc61f
|
|||
c99dda0126
|
|||
94f9ebd726
|
|||
5ad11041e0
|
|||
d50b169ab8
|
|||
ba2d8663f1
|
|||
d6c55c830b
|
|||
937caa878e
|
|||
21ec3121ec | |||
261d47a8a4
|
|||
6453237340
|
|||
79621e8ab7
|
|||
bfa58177e0
|
|||
ddf73e1a48
|
|||
c3cc6c8353
|
|||
3ec0d26001
|
|||
64d91e2afe
|
|||
5339d4f5d9
|
|||
0439c29305
|
|||
8e34f6962a
|
|||
e5148f603b
|
|||
e2e24090ab | |||
b6c141a785
|
|||
db4d7669f1
|
|||
9526d016c6 | |||
b2f6dbbe30
|
|||
5447ad2961
|
|||
d2b3ee0a2f | |||
66b87358c8 | |||
83f0044eba | |||
ac353ec3bc
|
|||
7aca08c89e
|
|||
4d53c8a295 | |||
1ac9d32565 | |||
63c2578012 | |||
884b3684fe | |||
456d29e605 | |||
8cb2bb1ef4 | |||
cc7e9235b5 | |||
973ffcbffa | |||
8c3de682d6 | |||
e71c2f162c | |||
43b70fd773
|
|||
5c0a383909
|
|||
4dc2348893
|
|||
32459e6092 | |||
1e02fed32b | |||
2c3818258a | |||
64f3b40694 | |||
|
76458cf375 | ||
|
5259ea71a1 | ||
1cadc71d5a | |||
2b45a51f57 | |||
4c66adee86 | |||
6c8fd99cd1 | |||
e886387f17 | |||
c79f030310 | |||
a648fd09b0 | |||
1bd5e6d582 | |||
80940a7b19 | |||
7541238c1e | |||
34748dca76 | |||
12bb264eb5 | |||
ac3ac432e1 | |||
a00f47c312 | |||
b503f58089 | |||
5629a0c124 | |||
|
3bc6595f58 | ||
989fdad561
|
|||
d7174cdb95
|
|||
182e2fc3af
|
|||
7df5a22b14 | |||
f750cfecac
|
|||
bf85e9bb71
|
|||
97729de66d
|
|||
4e0a421a03
|
|||
00408b91a9 | |||
fd69568842
|
|||
71aaf01687 | |||
a256307b82
|
|||
a6480191e5 | |||
19eb6f7ebb
|
|||
261bc88b5e
|
|||
4f18b1d2b2
|
|||
968835a262
|
|||
85dc9bdb2f
|
|||
c877076429
|
|||
d04f9ae9ff | |||
086f391dc9 | |||
06cbfdd0c3 | |||
f1844ae02b | |||
73b0dd6009 | |||
4d8bcc5a5a | |||
5dfa5e1e7f | |||
588f02cdf4 | |||
30b66d5806 | |||
5786759daa | |||
0c1c1cbf8b | |||
9741794f7a | |||
5ca558bba3 | |||
9d05f2ac2b | |||
566c40dd84 | |||
418794e586 | |||
fd66dbf26e
|
|||
fde74b190d
|
|||
527cf23d4f
|
|||
1d708a481d
|
|||
ff5640e193
|
|||
d45de5405b
|
|||
7b322d7bab
|
|||
0d2e0b4e91 | |||
30ebd00693 | |||
8b1d73356f | |||
ddfaa2861e | |||
9416a19d85 | |||
34bbee2031 | |||
7f1764658a | |||
43c3cc26ea | |||
74593a7d28 | |||
daef18408a
|
|||
91a4b45607
|
|||
29fa086fde
|
|||
508c4cd674
|
|||
9fe20b5e81
|
|||
d8ded80582
|
|||
d283d62049
|
|||
6cd336922f
|
|||
13dbbb6741
|
|||
1313b6f138
|
|||
3d53e7da65
|
|||
8589bada3f
|
|||
292034d64d
|
|||
3f7c5d23dc
|
|||
78445f0d65
|
|||
c329a1f1f8
|
|||
9d722110a6
|
|||
82e2b9a0f6
|
|||
e629dbf994 | |||
8e02db6c85 | |||
7183d9a3b1 | |||
70335a6360 | |||
fa64f44cf1 | |||
f34c94fd65 | |||
73d80af80a | |||
363cbc8a76 | |||
9f3893243e | |||
7520d746e8 | |||
052e09cf64 | |||
77ece243c0 | |||
a47c8d916b | |||
5fce9ee9fb | |||
47d954fe9f | |||
d9dc2d1f4e | |||
37cfc035a3 | |||
2eb686ffdb | |||
34e2a26d1e | |||
789c977aba | |||
0ba93ec7c6 | |||
b9d2f5efa3 | |||
567c01f395 | |||
67a6eb17db | |||
b78f0980f5 | |||
f428afc7ca | |||
18899d665d | |||
59f9ac25ba | |||
2da6b746fb | |||
11f75bf6f1 | |||
a1db1a1d65 | |||
bdfdabe10e | |||
40b8fae8ba
|
|||
b99ea3b17a
|
|||
3f80d62ca2
|
|||
118ae291e2
|
|||
b0b1a28f50 | |||
760f74b386 | |||
5c0f3cb317
|
|||
a0b5c208eb
|
|||
7913a377c8
|
|||
7cd638c5fc
|
|||
071c5e3c55
|
|||
da6589ba87
|
|||
a563ba644e
|
|||
2213f6f429
|
|||
9a9d14eb5a
|
|||
4cc001a070
|
|||
6c52ff84a8 | |||
d82a3af063 | |||
843a2a4b5b | |||
818d800384
|
|||
cef641ee24
|
|||
c4c7280b52
|
|||
d8ad8c3605
|
|||
803332ba5f
|
|||
479651b31e
|
|||
7bedf1b5b8
|
|||
6b764114e4
|
|||
03a150aa16
|
|||
81706a61ef
|
|||
debca1f474
|
|||
6781fdbd9b | |||
e6102d339b | |||
06cb3ddcd1 | |||
05d56c6eeb | |||
23e7f4a120 | |||
3eeb105913 | |||
726cdb385f | |||
406eba80d2 | |||
236e8117d4 | |||
e6bfcddae2 | |||
d61c090cee | |||
43dd94dad6 | |||
f7f8319749 | |||
376ce59917 | |||
2e71808be1
|
|||
0c1d9ee4be
|
|||
87599425df
|
|||
06d6227d0e | |||
86ec6f82da
|
|||
de914f4f17 | |||
17f4c85fa5
|
|||
82cd77678b
|
|||
9e69c97250
|
|||
e831cb1656 | |||
94875d83b3 | |||
b4fa478177
|
|||
8e30873001 | |||
42438d5bb5 | |||
5287824dbe
|
|||
cfce531754
|
|||
83121c2a83
|
|||
5a467ae38d
|
|||
7edd644963 | |||
077163a774 | |||
75005b4ed6 | |||
90c5b0341a
|
|||
5a5d259d18
|
|||
758a14366e
|
|||
e91fce524e
|
|||
7b06c80c2a | |||
cf2fe1bba7
|
|||
9c963a2122 | |||
27df3b2c9b
|
|||
b350c0cfe8 | |||
611a968162
|
|||
ce80207d98
|
|||
5fc5369db6
|
|||
20e8b03588
|
|||
4b65ec9b54
|
|||
c1c632dcb0 | |||
9732b80298 | |||
c602c27b39 | |||
41f13e29e0 | |||
a8c5d1f660
|
|||
5f67a7aadc
|
|||
77d06d756a
|
|||
c4c5c860f0 | |||
47f575de92
|
|||
5906171041
|
|||
b0e2e65885
|
|||
dd3f6fb0ab
|
|||
5fa5a2349e
|
|||
48f727dcfd
|
|||
6a0e26ec31
|
|||
943a42cd38
|
|||
d9b36533a2
|
|||
611261c863 | |||
5921404712 | |||
23d882d4cd | |||
3697aee584 | |||
33cc308e1e
|
|||
7206e13984
|
|||
4d8de46ac9
|
|||
4696332a46
|
|||
0d54637d35
|
|||
7a7d1d5b16
|
|||
e5737b0c49
|
|||
45323e9136
|
|||
9f1afb8423
|
|||
1494c7ecd7 | |||
911dfc2878
|
|||
8e984f2006
|
|||
f0e8df38af
|
|||
1c0d334b91
|
|||
|
59c34dabd7 | ||
|
119668e415 | ||
|
2b516629f6 | ||
|
092b5c4f90 | ||
|
ae1459cf77 | ||
|
57d2929ecd | ||
bc34d84d63
|
|||
f0f651edea
|
|||
|
3c987e0b8d | ||
f8a986d59b
|
|||
09563979a2
|
|||
|
0ee91800ab | ||
|
d08212df46
|
||
|
4933238f3f
|
||
|
c23568032c
|
||
18af2ca70b
|
|||
f1505a9d15
|
|||
4e588ed0e0
|
|||
70671dadac
|
|||
f0d581b7f8 | |||
|
1197a46f5f
|
||
00e878892e | |||
941444b7d5
|
|||
a60ea0e066
|
|||
1ddd283f26
|
|||
669b967899
|
|||
d33da6519a
|
|||
f5ba5d574b
|
|||
ccc11b1c1d | |||
2fb46c65c2
|
|||
f4356ac249
|
|||
d152efe084
|
|||
ee9530d03f
|
|||
b97eabf0d2
|
|||
2e69d2df90
|
|||
cb446edd18
|
|||
5d84e997c1
|
|||
35199b6993
|
|||
dab68fb409
|
|||
6001bb6447
|
|||
29fec50515
|
|||
34edb02cd0
|
|||
860ae5cedf
|
|||
bf056046ab
|
|||
4d73f9b81a
|
|||
dd159f4379 | |||
49ad25b4c8
|
|||
ad94310981
|
|||
e8f09b507f
|
|||
e29e1db6ed
|
|||
8c4f342ca1
|
|||
745a29f742
|
|||
41ffc470a0
|
|||
46b31ae1ea
|
|||
8c5e94e295
|
|||
9c8a84cdbd
|
|||
a82b99aecc
|
|||
deb4bda16e
|
|||
c1e5f4a57e
|
|||
6fc5a10dc4
|
|||
18abc84e68
|
|||
e85c31826f
|
|||
d119ba49f7
|
|||
c21de777fd
|
|||
15eaf648df
|
|||
42471269db
|
|||
9475a708c3
|
|||
bf1af1aaad | |||
8ea87053f0
|
|||
|
479a02bbc7 | ||
|
0d62d8d1c6 | ||
|
5b90632231 | ||
3c9ee41b3b
|
|||
d0031e82e8
|
|||
20f2bc6c35
|
|||
71d3aa3969
|
|||
ce781a5b58
|
|||
2dd275a074 | |||
5f5d4b8f06 | |||
cc8214d52c
|
|||
0c797c2997
|
|||
ee6edba206
|
|||
3e6d764b9b
|
|||
3e5a558cdf
|
|||
0e6b7d76a4
|
|||
b2042bd1e4 | |||
6e9f111fd9
|
|||
313fb9ffdf
|
|||
063bc2857f
|
|||
615629d1b4
|
|||
667e144681
|
|||
e17203ca3a
|
|||
c6a6d76790
|
|||
3d49c959e0
|
|||
|
86896a12e6 | ||
|
3a959b7044 | ||
|
f8d95384ea | ||
5d0b531820 | |||
5be3cae288 | |||
4587f66402 | |||
b6edbb3eed
|
|||
00cc3b7806
|
|||
7ab52ff09e
|
|||
2d82c1e105
|
|||
e477a49c92
|
|||
0db2652f08
|
|||
c38f7c1179
|
|||
67d24cb951
|
|||
cb90261309
|
|||
2feea24c41
|
|||
1b16d4fe3b
|
|||
ce5659219a
|
|||
5fefe09a39
|
|||
e21db73b84
|
|||
3978ea9a47
|
|||
4fbb7811ac
|
|||
2b7ea4178b
|
|||
8a374864fa
|
|||
bb848746d5
|
|||
3738c110f8
|
|||
f57fdb2b4c
|
|||
b57824fc7e
|
|||
6b4e1ed2d3
|
|||
b0485dbcc8
|
|||
c16219dc6d
|
|||
ad47804c91 | |||
85e2466611 | |||
94d6b5eff8 | |||
d87f380f16 | |||
58bf722fae | |||
50fb79ebbf | |||
58912f1d98 | |||
9604ba5f4b | |||
b689a51a48 | |||
8c0d2f58ba | |||
212230448b | |||
2bfb8fe387 | |||
6362b98a00 | |||
6e2a08cae8 | |||
155066be13 | |||
a5329c5d69 | |||
305105faae | |||
85811cc6ae | |||
7eee995627 | |||
c0c448fb39 | |||
6445342136 | |||
d52e54fd2a | |||
547a9d1369 | |||
288a02f5b7 | |||
2f9884072c | |||
ee45ff61a6 | |||
5dfd8daf3a | |||
564813ef3d
|
|||
5fed42a623
|
|||
a46e987f81 | |||
81220b5b22 | |||
5b0019cde7 | |||
b19dd4fc11 | |||
44226d6f7f
|
|||
d75607a1d2 | |||
bf66af0f25 | |||
15f3e474a0 | |||
5623cf946e | |||
0a6f3a99da | |||
b42473b01d | |||
be19d09bad | |||
50bd9f32c3 | |||
1396304af5 | |||
c33e4adeec | |||
7351a35c42 | |||
72e3325626 | |||
0a46b5304d | |||
|
e57d52d00e | ||
64e527672d | |||
123168a5ee
|
|||
3836d0dc9b
|
|||
51ab4bef38
|
|||
|
567ca8a26f | ||
|
111305d09c | ||
|
67395f52b5 | ||
|
421226c0dc | ||
|
77da2c1ac6 | ||
|
39d3ba2f40 | ||
|
fb62e54d63 | ||
|
c968d6c541 | ||
|
c428e6665f | ||
|
5b7e3f0336 | ||
|
0c8ef37860 | ||
|
794c479b9e | ||
|
1bee3114ac | ||
|
1344b65dd4 | ||
|
68dcf4dd28 | ||
|
b0a8fd54a8 | ||
|
0f589ec57e | ||
|
2d4fc45a0c | ||
|
c80f23f0db | ||
|
c950400fe2 | ||
|
21c1e77d36 | ||
|
bbfd0caf10 | ||
|
9192883217 | ||
3836622d27 | |||
cc2c4be1b0 | |||
873940786f | |||
c82991674e | |||
3fc3f32c5f | |||
20af766cdf | |||
681f637d13 | |||
fb8a6d960e | |||
a2310a662f | |||
dd7d126bec | |||
29f6a43288 | |||
74be6460d4 | |||
c8e87ced35 | |||
b8002d56ec | |||
a80b36bb31 | |||
116fe35ad2 | |||
5b95336bac | |||
f9d5ba7778 | |||
f76379551c | |||
15094d5a91 | |||
db73dcffc7 | |||
8aec69f0f9
|
|||
9f88eef249
|
|||
d689ce9aef
|
|||
d5e4991982
|
|||
1079c7e394 | |||
ca68b58246
|
|||
747a1de321
|
|||
9e92ede16f
|
|||
31f842471a
|
|||
7d0f9175be
|
|||
e83307ca6d
|
|||
bc2dfd159c | |||
b100792a34 | |||
00ceee1fd5 | |||
215eba41b7 | |||
52a3d1be1b | |||
8d543be5cc | |||
0474b25859 | |||
db94af0958
|
|||
3e8805bdda | |||
a887602f4f
|
|||
c1cf27c42d
|
|||
fe6b4848e6
|
|||
b5af9f7b63
|
|||
7f3de62b2c
|
|||
cfa51cd659 | |||
facc4affed | |||
f9122341d1 | |||
7dd5f542a6 | |||
3b80d9a93b | |||
790576863f | |||
25e89571f7 | |||
435836c7d1 | |||
af4db22184 | |||
724b98e8c5 | |||
2adc8b3bf6 | |||
21b79c1981 | |||
428494ca1f | |||
5d57ec8a3b | |||
719fabc878 | |||
e9a9a3430f | |||
ead1abb825
|
|||
54d045f261
|
|||
c648a560cc | |||
3d7c8596ee | |||
345f379650 | |||
3262a1dd02 | |||
a9f4f8c973 | |||
c19c597ba0 | |||
03800029c9 | |||
064dfc5a56 | |||
ba95687f46 | |||
a309cc0774
|
|||
5b0babb9b0 | |||
ac2f314395 | |||
8c92d11722 | |||
3db4fff80d
|
|||
fb743b522d | |||
d1653a074b | |||
254122d125 | |||
c9d2e37cee | |||
2c99ea17d4 | |||
c9d54a5fea
|
|||
86c862e69d
|
|||
d88b5a0098
|
|||
9bc6fe6aff
|
|||
18a03fd740
|
|||
e9d4b9e2ab | |||
efaad1981d | |||
742f2540f6 | |||
bab6528ed6 | |||
a25f2c7539 | |||
c06e76a0ee | |||
4607c36b57 | |||
7c03a25f1a | |||
cce04ee490 | |||
e54633d14d | |||
d9892f6822 | |||
f75c7a0232 | |||
062afd6695 | |||
830dace1ba | |||
2ce9810243 | |||
26b3d84d62 | |||
30078db841 | |||
aaac80be84 | |||
a0fead48e1 | |||
2d09efb2e0 | |||
3a87513a11 | |||
d3956319ca | |||
bd36735cb1 | |||
1310d53589 | |||
e38d47ec5e | |||
36f2275a56 | |||
9a34064b23 | |||
4c3bfc90b5 | |||
1812e84c92 | |||
dfa7de4f38 | |||
610239930b
|
|||
b65e2c62c4 | |||
89f5231649
|
|||
bd41308bbd
|
|||
f8fa96d836
|
|||
d28cec3786
|
|||
7cd36cd483
|
|||
d3d98cdec2
|
|||
49dd7f94fa
|
|||
916724c0c5
|
|||
|
102d0dad94 | ||
|
8d225dd68c | ||
|
61d0005be8 | ||
73797b98f6 | |||
3d40db7493 | |||
760d65b972 | |||
d26fa6bde6 | |||
427f232ab8 | |||
99818c211d
|
|||
a9f0059743
|
|||
5bc542a567
|
|||
482f279dc5 | |||
e0828b1f0f | |||
e015f71bb0 | |||
04a48f22ad | |||
ad4fe80240 | |||
4b82e67952 | |||
c8ccce83fd
|
|||
e9a9262fae | |||
d9e37d0958 | |||
65c41e6fa9 | |||
7923b5a1ef | |||
4a229ebf6b | |||
635b1ee537 | |||
6db36d5ab6
|
|||
59f721934e
|
|||
84ce8a93f3
|
|||
ab5f2ffb65
|
|||
73bae8ccb9
|
|||
dcfa569e3a
|
|||
4b07fe3622
|
|||
3fd6e52e9d | |||
f60a595ab6 | |||
48bf359d2e
|
|||
60c7ea601c
|
|||
785c01d42d
|
|||
06dd7dd4f5
|
|||
84f515d451
|
|||
436ef33dbc | |||
405aad7333 | |||
a5c2576124 | |||
33a6f9996e | |||
b96cbc5594 | |||
854d72fa42 | |||
cd6fd091dc | |||
cb5ade3d14 | |||
dddb6d66bc | |||
d34f9450b8 | |||
9ce1788a14 | |||
2895638f3b | |||
2708bafb1f | |||
7d309136b1 | |||
82d3ec4d6f | |||
cad2dea148 | |||
bff14aa700 | |||
66570cd430 | |||
53df2ec9ba | |||
068503a830 | |||
c07a728f1d | |||
b7e61c6747 | |||
97846a5877 | |||
4ed9d3d8e2 | |||
d0e27d51fe | |||
d63e1a15bd | |||
d82d534a4c | |||
684f28291a | |||
5334779b55
|
|||
1230b7f4c0
|
|||
394c752fc3 | |||
43c846d02e | |||
e24c4dc2e8 | |||
0c75514ec4
|
|||
526882a5b6 | |||
9a010f76cc
|
|||
73d6578a3a
|
|||
422b6b99eb | |||
02b150b0a5 | |||
20c27c100c | |||
12a22bcc13 | |||
cba8a342d5 | |||
6f55ba15d6 | |||
454ab73303 | |||
800942bc92 | |||
c4e7683e48 | |||
28c986fddf | |||
adca4f0d6a | |||
7b25c8e390 | |||
0b5be0419b | |||
650e85c481 | |||
56d5d08ed3 | |||
d3390ca334 | |||
511c0af5fa | |||
4c354c47c9 | |||
d8b6cef7b4 | |||
e312929d86 | |||
20b38af812 | |||
2f07be0843 | |||
11c069a2ff | |||
3929602f59 | |||
38fcccfd83 | |||
deaab80270 | |||
a71573136a | |||
b1082f6a55 | |||
dcc285e976 | |||
ed3e0f889e | |||
63fe8070c4 | |||
8e3322f578 | |||
00756a3bde | |||
2c68224e9c | |||
ce655ed435
|
|||
b2eb2b0968
|
|||
ca398195b0
|
|||
38e5d9c7cc
|
|||
680513a3a6
|
|||
3df57c1569
|
|||
0b40d807bc
|
|||
a3efae7831
|
|||
76fdd6d889
|
|||
78a3dfd65e
|
|||
29d53c53a4
|
|||
e3bd68112e
|
|||
8700352cf8
|
|||
2b3f8948f8
|
|||
19ffef156b
|
|||
e8c7623a1e
|
|||
5be85a4fc6
|
|||
0ff4593863
|
|||
a3f775a69b
|
|||
72016e1a21
|
|||
579bd829f8
|
|||
1ee3b9e2f0
|
|||
e5e9ba6d31
|
|||
3e676c235e
|
|||
a497c3ffca
|
|||
553fb271e4
|
|||
92800f5dd0
|
|||
409a571010
|
|||
828304d983
|
|||
931c69eee4
|
|||
d6a6cc2572
|
|||
166d7fe0b0
|
|||
ab9d5439c1
|
|||
0737838dd6
|
|||
88bac5b5d8
|
|||
0081146a78
|
|||
d0f23eb6b1
|
|||
d135b2ba0a
|
|||
bb4b7e9735
|
|||
07f03ab715
|
|||
b9ae878791
|
|||
94725bc92f
|
|||
11f6b78b26
|
|||
35d55cced4
|
|||
1f460916b6
|
|||
fa0204adbc
|
|||
edcf78d6cc
|
|||
f251e6f100
|
|||
d5115b3718
|
|||
9064356bd1
|
|||
8a2f3d3dd0
|
|||
510023d630
|
|||
2ddfd56401
|
|||
f889d67e94
|
|||
37af488f69
|
|||
cf1df462dc
|
|||
a0328b9d68
|
|||
813a80d6f9
|
|||
ab95bb157e
|
|||
18fd1dbc4a
|
|||
a35f7656cb
|
|||
ff05f9f48a
|
|||
482c494034
|
|||
825cd127d1
|
|||
a63b40fb6c
|
|||
5703fd0046
|
|||
655dc02538
|
|||
1098bafd3d
|
|||
4a99480f50
|
|||
8fcdb58556
|
|||
4e1f46154c
|
|||
312eb5ec7c
|
|||
2dd1b7c943
|
|||
d5476df14c
|
|||
7ba3435c41
|
|||
5030b67c5d
|
|||
d6ff3f422f
|
|||
912f7d3211
|
|||
47c3be6217
|
|||
9c17261175
|
|||
8c2dc490d0
|
|||
b4063bf1df
|
|||
de6277494a
|
|||
da997badd9
|
|||
af663cf27c
|
|||
ac98ba4555
|
|||
f35f5f0876
|
|||
99b7b2ec88
|
|||
e2a37fd80b
|
|||
b64ac8fd20
|
|||
f68deca992
|
|||
f9a2d7f2d5
|
|||
2f8de4bf01
|
|||
c6bb7b1d98
|
|||
4c52aa366a
|
|||
ceaabfb034
|
|||
16a5745df9
|
|||
3fb04594eb
|
|||
1065706e60
|
|||
f131572344
|
|||
45e1ce034a
|
|||
82ca321715
|
|||
28d09a8206
|
|||
1195767eb3
|
|||
4fd5a37df3
|
|||
450e7c348b
|
|||
a70572266f
|
|||
d688022825
|
|||
264fff5c36
|
@@ -1,6 +0,0 @@
|
|||||||
kind: Fixed
|
|
||||||
body: Show only the current referrer in the page "show" for an accompanying period
|
|
||||||
workf
|
|
||||||
time: 2024-09-16T15:18:43.017401122+02:00
|
|
||||||
custom:
|
|
||||||
Issue: "308"
|
|
@@ -1,6 +0,0 @@
|
|||||||
kind: Fixed
|
|
||||||
body: |
|
|
||||||
Correctly compute the grouping by referrer aggregator
|
|
||||||
time: 2024-09-16T15:51:50.268336979+02:00
|
|
||||||
custom:
|
|
||||||
Issue: "309"
|
|
@@ -1,5 +1,11 @@
|
|||||||
## v2.23.0 - 2024-07-19
|
## v2.23.0 - 2024-07-23 & 2024-07-19
|
||||||
### Feature
|
### Feature
|
||||||
|
* ([#221](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/221)) [DX] move async-upload-bundle features into chill-bundles
|
||||||
|
* Add job bundle (module emploi)
|
||||||
|
* Upgrade import of address list to the last version of compiled addresses of belgian-best-address
|
||||||
|
|
||||||
|
* Upgrade CKEditor and refactor configuration with use of typescript
|
||||||
|
|
||||||
* ([#123](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/123)) Add a button to duplicate calendar ranges from a week to another one
|
* ([#123](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/123)) Add a button to duplicate calendar ranges from a week to another one
|
||||||
* [admin] filter users by active / inactive in the admin user's list
|
* [admin] filter users by active / inactive in the admin user's list
|
||||||
* ([#273](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/273)) Add the possibility to mark all notifications as read
|
* ([#273](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/273)) Add the possibility to mark all notifications as read
|
||||||
@@ -9,6 +15,8 @@
|
|||||||
* Do not update the "createdAt" column when importing postal code which does not change
|
* Do not update the "createdAt" column when importing postal code which does not change
|
||||||
* Display filename on file upload within the UI interface
|
* Display filename on file upload within the UI interface
|
||||||
### Fixed
|
### Fixed
|
||||||
|
* Fix resolving of centers for an household, which will fix in turn the access control
|
||||||
|
* Resolved type hinting error in activity list export
|
||||||
* ([#271](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/271)) Take into account the acp closing date in the acp works date filter
|
* ([#271](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/271)) Take into account the acp closing date in the acp works date filter
|
||||||
|
|
||||||
### Traduction française des principaux changements
|
### Traduction française des principaux changements
|
||||||
|
5
.changes/v3.0.0.md
Normal file
5
.changes/v3.0.0.md
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
## v3.0.0 - 2024-08-26
|
||||||
|
### Fixed
|
||||||
|
* Fix delete action for accompanying periods in draft state
|
||||||
|
* Fix connection to azure when making an calendar event in chill
|
||||||
|
* CollectionType js fixes for remove button and adding multiple entries
|
3
.changes/v3.1.0.md
Normal file
3
.changes/v3.1.0.md
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
## v3.1.0 - 2024-08-30
|
||||||
|
### Feature
|
||||||
|
* Add export aggregator to aggregate activities by household + filter persons that are not part of an accompanyingperiod during a certain timeframe.
|
6
.changes/v3.1.1.md
Normal file
6
.changes/v3.1.1.md
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
## v3.1.1 - 2024-10-01
|
||||||
|
### Fixed
|
||||||
|
* ([#308](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/308)) Show only the current referrer in the page "show" for an accompanying period workf
|
||||||
|
* ([#309](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/309)) Correctly compute the grouping by referrer aggregator
|
||||||
|
|
||||||
|
* Fixed typing of custom field long choice and custom field group
|
3
.changes/v3.2.0.md
Normal file
3
.changes/v3.2.0.md
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
## v3.2.0 - 2024-10-30
|
||||||
|
### Feature
|
||||||
|
* Introduce a gender entity
|
4
.changes/v3.2.1.md
Normal file
4
.changes/v3.2.1.md
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
## v3.2.1 - 2024-10-31
|
||||||
|
### Fixed
|
||||||
|
* Add the possibility of unknown to the gender entity
|
||||||
|
* Fix the fusion of person doubles by excluding accompanyingPeriod work entities to be deleted. They are moved instead.
|
3
.changes/v3.2.2.md
Normal file
3
.changes/v3.2.2.md
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
## v3.2.2 - 2024-10-31
|
||||||
|
### Fixed
|
||||||
|
* Fix gender translation for unknown
|
4
.changes/v3.2.3.md
Normal file
4
.changes/v3.2.3.md
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
## v3.2.3 - 2024-11-05
|
||||||
|
### Fixed
|
||||||
|
* ([#315](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/315)) Fix display of accompanying period work referrers. Only current referrers should be displayed.
|
||||||
|
Fix color of Chill footer
|
3
.changes/v3.2.4.md
Normal file
3
.changes/v3.2.4.md
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
## v3.2.4 - 2024-11-06
|
||||||
|
### Fixed
|
||||||
|
* Fix compilation of chill assets
|
13
.changes/v3.3.0.md
Normal file
13
.changes/v3.3.0.md
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
## v3.3.0 - 2024-11-20
|
||||||
|
### Feature
|
||||||
|
* Electronic signature
|
||||||
|
|
||||||
|
Implementation of the electronic signature for documents within chill.
|
||||||
|
* ([#286](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/286)) The behavoir of the voters for stored objects is adjusted so as to limit edit and delete possibilities to users related to the activity, social action or workflow entity.
|
||||||
|
* ([#288](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/288)) Metadata form added for person signatures
|
||||||
|
* Add a signature step in workflow, which allow to apply an electronic signature on documents
|
||||||
|
* Keep an history of each version of a stored object.
|
||||||
|
* Add a "send external" step in workflow, which allow to send stored objects and other elements to remote people, by sending them a public url
|
||||||
|
### Fixed
|
||||||
|
* Adjust household list export to include households even if their address is NULL
|
||||||
|
* Remove validation of date string on deathDate
|
4
.changes/v3.4.0.md
Normal file
4
.changes/v3.4.0.md
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
## v3.4.0 - 2024-11-20
|
||||||
|
### Feature
|
||||||
|
* ([#314](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/314)) Admin: improve document type admin form with a select field for related class.
|
||||||
|
Admin: Allow administrator to assign multiple group centers in one go to a user.
|
3
.changes/v3.4.1.md
Normal file
3
.changes/v3.4.1.md
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
## v3.4.1 - 2024-11-22
|
||||||
|
### Fixed
|
||||||
|
* Set the workflow's title to notification content and subject
|
6
.changes/v3.4.2.md
Normal file
6
.changes/v3.4.2.md
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
## v3.4.2 - 2024-12-05
|
||||||
|
### Fixed
|
||||||
|
* ([#329](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/329)) Fix the serialization of gender for the generation of documents
|
||||||
|
* ([#337](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/337)) Enforce unique contraint on activity storedobject
|
||||||
|
### DX
|
||||||
|
* ([#310](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/310)) Clean migrations, to reduce the number of bloated migration when running diff on schema
|
4
.changes/v3.4.3.md
Normal file
4
.changes/v3.4.3.md
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
## v3.4.3 - 2024-12-05
|
||||||
|
### Fixed
|
||||||
|
* Remove the "not null" constraint on person supplementary phones
|
||||||
|
* Remove doctrine annotation that prevent from adding documents to activities
|
6
.changes/v3.5.0.md
Normal file
6
.changes/v3.5.0.md
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
## v3.5.0 - 2024-12-09
|
||||||
|
### Feature
|
||||||
|
* ([#318](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/318)) Show all the pages of the documents in the signature app
|
||||||
|
### Fixed
|
||||||
|
* Wrap the signature's change state into a transaction, to avoid race conditions
|
||||||
|
* Fix display of gender label
|
90
.env
Normal file
90
.env
Normal file
@@ -0,0 +1,90 @@
|
|||||||
|
# * .env contains default values for the environment variables needed by the app
|
||||||
|
# * .env.local uncommitted file with local overrides
|
||||||
|
# * .env.$APP_ENV committed environment-specific defaults
|
||||||
|
# * .env.$APP_ENV.local uncommitted environment-specific overrides
|
||||||
|
#
|
||||||
|
# Real environment variables win over .env files.
|
||||||
|
#
|
||||||
|
# DO NOT DEFINE PRODUCTION SECRETS IN THIS FILE NOR IN ANY OTHER COMMITTED FILES.
|
||||||
|
# https://symfony.com/doc/current/configuration/secrets.html
|
||||||
|
#
|
||||||
|
# Run "composer dump-env prod" to compile .env files for production use (requires symfony/flex >=1.2).
|
||||||
|
# https://symfony.com/doc/current/best_practices.html#use-environment-variables-for-infrastructure-configuration
|
||||||
|
|
||||||
|
###> symfony/framework-bundle ###
|
||||||
|
APP_ENV=prod
|
||||||
|
APP_SECRET=!ChangeMeInAppEnv!
|
||||||
|
###< symfony/framework-bundle ###
|
||||||
|
|
||||||
|
## Wopi server for editing documents online
|
||||||
|
EDITOR_SERVER=http://collabora:9980
|
||||||
|
|
||||||
|
# must be manually set in .env.local
|
||||||
|
# ADMIN_PASSWORD=
|
||||||
|
|
||||||
|
###> symfony/mailer ###
|
||||||
|
# MAILER_DSN=null://null
|
||||||
|
###< symfony/mailer ###
|
||||||
|
|
||||||
|
|
||||||
|
###> symfony/messenger ###
|
||||||
|
# Choose one of the transports below
|
||||||
|
# MESSENGER_TRANSPORT_DSN=amqp://guest:guest@localhost:5672/%2f/messages
|
||||||
|
# MESSENGER_TRANSPORT_DSN=redis://localhost:6379/messages
|
||||||
|
# MESSENGER_TRANSPORT_DSN=sync://
|
||||||
|
# MESSENGER_TRANSPORT_DSN=doctrine://default?auto_setup=0
|
||||||
|
MESSENGER_TRANSPORT_DSN=${RABBITMQ_URL}/%2f
|
||||||
|
###< symfony/messenger ###
|
||||||
|
|
||||||
|
###> doctrine/doctrine-bundle ###
|
||||||
|
# Format described at https://www.doctrine-project.org/projects/doctrine-dbal/en/latest/reference/configuration.html#connecting-using-a-url
|
||||||
|
# IMPORTANT: You MUST configure your server version, either here or in config/packages/doctrine.yaml
|
||||||
|
#
|
||||||
|
DATABASE_URL="postgresql://postgres:postgres@db:5432/postgres?serverVersion=14&charset=utf8"
|
||||||
|
###< doctrine/doctrine-bundle ###
|
||||||
|
|
||||||
|
###> lexik/jwt-authentication-bundle ###
|
||||||
|
JWT_SECRET_KEY=%kernel.project_dir%/config/jwt/private.pem
|
||||||
|
JWT_PUBLIC_KEY=%kernel.project_dir%/config/jwt/public.pem
|
||||||
|
JWT_PASSPHRASE=2a30f6ba26521a2613821da35f28386e
|
||||||
|
###< lexik/jwt-authentication-bundle ###
|
||||||
|
|
||||||
|
###> chill-project/chill-bundles ###
|
||||||
|
# Generate a password using `symfony console security:hash-password --empty-salt <password> 'Symfony\Component\Security\Core\User\User'` and paste it into .env.local file
|
||||||
|
# ADMIN_PASSWORD=
|
||||||
|
# Add a configuration for sending SMS (before calendar appointments, aka "Rendez-vous"). See https://symfony.com/doc/current/notifier.html#sms-channel
|
||||||
|
# Configuration for using ovh custom notifier
|
||||||
|
# SHORT_MESSAGE_DSN="ovh://user:password@ovh-eu?consumer_key=123456&sender=%2B32475123456&service_name=sms-xx123456-1"
|
||||||
|
SHORT_MESSAGE_DSN=null://null
|
||||||
|
# Default locale for the project
|
||||||
|
LOCALE=fr
|
||||||
|
# Those keys are required to configure the access to store documents
|
||||||
|
ASYNC_UPLOAD_TEMP_URL_KEY=
|
||||||
|
ASYNC_UPLOAD_TEMP_URL_BASE_PATH=
|
||||||
|
ASYNC_UPLOAD_TEMP_URL_CONTAINER=
|
||||||
|
# Twilio configuration, to check for the existence of phonenumber in a directory (may be deprecated in a near future)
|
||||||
|
TWILIO_SID=
|
||||||
|
TWILIO_SECRET=
|
||||||
|
# Default carrier code will replace all leading zero by an international code. Set here the country as two letters
|
||||||
|
DEFAULT_CARRIER_CODE=FR
|
||||||
|
# Configuration for the notification emails
|
||||||
|
NOTIFICATION_FROM_EMAIL=chill@instance.com
|
||||||
|
NOTIFICATION_FROM_NAME=Chill
|
||||||
|
# Will set the default host when sending email from command or services (see https://symfony.com/doc/5.x/routing.html#generating-urls-in-commands)
|
||||||
|
NOTIFICATION_HOST=my.chill.social
|
||||||
|
# Variables for relatorio host, which generates documents
|
||||||
|
RELATORIO_HOST=
|
||||||
|
RELATORIO_PORT=
|
||||||
|
# Address for your collabora server
|
||||||
|
#EDITOR_SERVER=https://code.example.com
|
||||||
|
EDITOR_SERVER=https://collabora.champs-libres.be
|
||||||
|
# center address widget when empty
|
||||||
|
ADD_ADDRESS_DEFAULT_COUNTRY=BE
|
||||||
|
ADD_ADDRESS_MAP_CENTER_X=50.8443
|
||||||
|
ADD_ADDRESS_MAP_CENTER_Y=4.3523
|
||||||
|
ADD_ADDRESS_MAP_CENTER_Z=15
|
||||||
|
## Redis Cache & redis database
|
||||||
|
REDIS_HOST=redis
|
||||||
|
REDIS_PORT=6379
|
||||||
|
REDIS_URL=redis://${REDIS_HOST}:${REDIS_PORT}
|
||||||
|
###< chill-project/chill-bundles ###
|
14
.env.test
14
.env.test
@@ -6,11 +6,6 @@ APP_SECRET='$ecretf0rt3st'
|
|||||||
|
|
||||||
ADMIN_PASSWORD=password
|
ADMIN_PASSWORD=password
|
||||||
|
|
||||||
LOCALE=fr
|
|
||||||
REDIS_URL=redis
|
|
||||||
REDIS_PORT=6379
|
|
||||||
REDIS_URL=redis://${REDIS_HOST}:${REDIS_PORT}
|
|
||||||
|
|
||||||
JWT_SECRET_KEY=%kernel.project_dir%/config/jwt/private.pem
|
JWT_SECRET_KEY=%kernel.project_dir%/config/jwt/private.pem
|
||||||
JWT_PUBLIC_KEY=%kernel.project_dir%/config/jwt/public.pem
|
JWT_PUBLIC_KEY=%kernel.project_dir%/config/jwt/public.pem
|
||||||
JWT_PASSPHRASE=2a30f6ba26521a2613821da35f28386e
|
JWT_PASSPHRASE=2a30f6ba26521a2613821da35f28386e
|
||||||
@@ -20,22 +15,25 @@ TWILIO_SECRET=~
|
|||||||
DEFAULT_CARRIER_CODE=BE
|
DEFAULT_CARRIER_CODE=BE
|
||||||
|
|
||||||
ADD_ADDRESS_DEFAULT_COUNTRY=BE
|
ADD_ADDRESS_DEFAULT_COUNTRY=BE
|
||||||
|
|
||||||
ADD_ADDRESS_MAP_CENTER_X=50.8443
|
ADD_ADDRESS_MAP_CENTER_X=50.8443
|
||||||
ADD_ADDRESS_MAP_CENTER_Y=4.3523
|
ADD_ADDRESS_MAP_CENTER_Y=4.3523
|
||||||
ADD_ADDRESS_MAP_CENTER_Z=15
|
ADD_ADDRESS_MAP_CENTER_Z=15
|
||||||
|
|
||||||
SHORT_MESSAGE_DSN=null://null
|
SHORT_MESSAGE_DSN=null://null
|
||||||
MESSENGER_TRANSPORT_DSN=sync://
|
MESSENGER_TRANSPORT_DSN=sync://
|
||||||
###< symfony/messenger ###
|
|
||||||
|
|
||||||
###> doctrine/doctrine-bundle ###
|
###> doctrine/doctrine-bundle ###
|
||||||
# Format described at https://www.doctrine-project.org/projects/doctrine-dbal/en/latest/reference/configuration.html#connecting-using-a-url
|
# Format described at https://www.doctrine-project.org/projects/doctrine-dbal/en/latest/reference/configuration.html#connecting-using-a-url
|
||||||
# IMPORTANT: You MUST configure your server version, either here or in config/packages/doctrine.yaml
|
# IMPORTANT: You MUST configure your server version, either here or in config/packages/doctrine.yaml
|
||||||
#
|
#
|
||||||
DATABASE_URL="postgresql://postgres:postgres@db:5432/test?serverVersion=14&charset=utf8"
|
DATABASE_URL="postgresql://app:!ChangeMe!@127.0.0.1:5454/test?serverVersion=14&charset=utf8"
|
||||||
###< doctrine/doctrine-bundle ###
|
###< doctrine/doctrine-bundle ###
|
||||||
|
|
||||||
ASYNC_UPLOAD_TEMP_URL_KEY=
|
ASYNC_UPLOAD_TEMP_URL_KEY=
|
||||||
ASYNC_UPLOAD_TEMP_URL_BASE_PATH=
|
ASYNC_UPLOAD_TEMP_URL_BASE_PATH=
|
||||||
ASYNC_UPLOAD_TEMP_URL_CONTAINER=
|
ASYNC_UPLOAD_TEMP_URL_CONTAINER=
|
||||||
|
|
||||||
|
MAILER_DSN=null://null
|
||||||
|
|
||||||
|
REDIS_HOST=127.0.0.1
|
||||||
|
REDIS_PORT=6363
|
||||||
|
29
.gitignore
vendored
29
.gitignore
vendored
@@ -3,10 +3,18 @@ composer
|
|||||||
composer.phar
|
composer.phar
|
||||||
composer.lock
|
composer.lock
|
||||||
docs/build/
|
docs/build/
|
||||||
node_modules/*
|
|
||||||
.php_cs.cache
|
.php_cs.cache
|
||||||
.cache/*
|
.cache/*
|
||||||
|
|
||||||
|
docker/db/data
|
||||||
|
docker/rabbitmq/data
|
||||||
|
|
||||||
|
# in this development bundle, we want to ignore directories related to a real app
|
||||||
|
assets/*
|
||||||
|
migrations/*
|
||||||
|
templates/*
|
||||||
|
translations/*
|
||||||
|
|
||||||
###> symfony/framework-bundle ###
|
###> symfony/framework-bundle ###
|
||||||
/.env.local
|
/.env.local
|
||||||
/.env.local.php
|
/.env.local.php
|
||||||
@@ -15,7 +23,6 @@ node_modules/*
|
|||||||
/public/bundles/
|
/public/bundles/
|
||||||
/var/
|
/var/
|
||||||
/vendor/
|
/vendor/
|
||||||
/bin/
|
|
||||||
###< symfony/framework-bundle ###
|
###< symfony/framework-bundle ###
|
||||||
|
|
||||||
###> phpunit/phpunit ###
|
###> phpunit/phpunit ###
|
||||||
@@ -27,4 +34,20 @@ node_modules/*
|
|||||||
/.idea/
|
/.idea/
|
||||||
/.psalm/
|
/.psalm/
|
||||||
|
|
||||||
node_modules/*
|
###> phpstan/phpstan ###
|
||||||
|
phpstan.neon
|
||||||
|
###< phpstan/phpstan ###
|
||||||
|
|
||||||
|
###> lexik/jwt-authentication-bundle ###
|
||||||
|
/config/jwt/*.pem
|
||||||
|
###< lexik/jwt-authentication-bundle ###
|
||||||
|
|
||||||
|
###> symfony/phpunit-bridge ###
|
||||||
|
###< symfony/phpunit-bridge ###
|
||||||
|
|
||||||
|
###> symfony/webpack-encore-bundle ###
|
||||||
|
/node_modules/
|
||||||
|
/public/build/
|
||||||
|
npm-debug.log
|
||||||
|
yarn-error.log
|
||||||
|
###< symfony/webpack-encore-bundle ###
|
||||||
|
@@ -9,7 +9,7 @@ cache:
|
|||||||
# Bring in any services we need http://docs.gitlab.com/ee/ci/docker/using_docker_images.html#what-is-a-service
|
# Bring in any services we need http://docs.gitlab.com/ee/ci/docker/using_docker_images.html#what-is-a-service
|
||||||
# See http://docs.gitlab.com/ee/ci/services/README.html for examples.
|
# See http://docs.gitlab.com/ee/ci/services/README.html for examples.
|
||||||
services:
|
services:
|
||||||
- name: postgis/postgis:14-3.3-alpine
|
- name: postgis/postgis:17-3.5-alpine
|
||||||
alias: db
|
alias: db
|
||||||
command:
|
command:
|
||||||
- postgres
|
- postgres
|
||||||
@@ -20,12 +20,13 @@ services:
|
|||||||
|
|
||||||
# Set any variables we need
|
# Set any variables we need
|
||||||
variables:
|
variables:
|
||||||
|
APP_ENV: test
|
||||||
GIT_DEPTH: 1
|
GIT_DEPTH: 1
|
||||||
# Configure postgres environment variables (https://hub.docker.com/r/_/postgres/)
|
# Configure postgres environment variables (https://hub.docker.com/r/_/postgres/)
|
||||||
POSTGRES_USER: postgres
|
POSTGRES_USER: postgres
|
||||||
POSTGRES_PASSWORD: postgres
|
POSTGRES_PASSWORD: postgres
|
||||||
# configure database access
|
# configure database access
|
||||||
DATABASE_URL: postgresql://postgres:postgres@db:5432/postgres?serverVersion=14&charset=utf8
|
DATABASE_URL: postgresql://postgres:postgres@db:5432/postgres?serverVersion=17&charset=utf8
|
||||||
# fetch the chill-app using git submodules
|
# fetch the chill-app using git submodules
|
||||||
# GIT_SUBMODULE_STRATEGY: recursive
|
# GIT_SUBMODULE_STRATEGY: recursive
|
||||||
REDIS_HOST: redis
|
REDIS_HOST: redis
|
||||||
@@ -35,7 +36,7 @@ variables:
|
|||||||
# force a timezone
|
# force a timezone
|
||||||
TZ: Europe/Brussels
|
TZ: Europe/Brussels
|
||||||
# avoid direct deprecations (using symfony phpunit bridge: https://symfony.com/doc/4.x/components/phpunit_bridge.html#internal-deprecations
|
# avoid direct deprecations (using symfony phpunit bridge: https://symfony.com/doc/4.x/components/phpunit_bridge.html#internal-deprecations
|
||||||
SYMFONY_DEPRECATIONS_HELPER: max[total]=99999999&max[self]=0&max[direct]=0&verbose=1
|
SYMFONY_DEPRECATIONS_HELPER: max[total]=99999999&max[self]=0&max[direct]=45&verbose=0
|
||||||
|
|
||||||
stages:
|
stages:
|
||||||
- Composer install
|
- Composer install
|
||||||
@@ -55,7 +56,6 @@ build:
|
|||||||
artifacts:
|
artifacts:
|
||||||
expire_in: 1 day
|
expire_in: 1 day
|
||||||
paths:
|
paths:
|
||||||
- bin
|
|
||||||
- vendor/
|
- vendor/
|
||||||
|
|
||||||
code_style:
|
code_style:
|
||||||
@@ -69,63 +69,56 @@ code_style:
|
|||||||
artifacts:
|
artifacts:
|
||||||
expire_in: 1 day
|
expire_in: 1 day
|
||||||
paths:
|
paths:
|
||||||
- bin
|
|
||||||
- vendor/
|
- vendor/
|
||||||
|
|
||||||
phpstan_tests:
|
phpstan_tests:
|
||||||
stage: Tests
|
stage: Tests
|
||||||
image: gitea.champs-libres.be/chill-project/chill-skeleton-basic/base-image:php82
|
image: gitea.champs-libres.be/chill-project/chill-skeleton-basic/base-image:php82
|
||||||
|
variables:
|
||||||
|
COMPOSER_MEMORY_LIMIT: 3G
|
||||||
|
before_script:
|
||||||
|
- bin/console cache:clear --env=dev
|
||||||
script:
|
script:
|
||||||
- bin/phpstan analyze --memory-limit=2G
|
- composer exec phpstan -- analyze --memory-limit=3G
|
||||||
cache:
|
cache:
|
||||||
paths:
|
paths:
|
||||||
- .cache/
|
- .cache/
|
||||||
artifacts:
|
artifacts:
|
||||||
expire_in: 1 day
|
expire_in: 1 day
|
||||||
paths:
|
paths:
|
||||||
- bin
|
|
||||||
- vendor/
|
- vendor/
|
||||||
|
|
||||||
rector_tests:
|
rector_tests:
|
||||||
stage: Tests
|
stage: Tests
|
||||||
image: gitea.champs-libres.be/chill-project/chill-skeleton-basic/base-image:php82
|
image: gitea.champs-libres.be/chill-project/chill-skeleton-basic/base-image:php82
|
||||||
|
before_script:
|
||||||
|
- bin/console cache:clear --env=dev
|
||||||
script:
|
script:
|
||||||
- tests/console cache:clear
|
- composer exec rector -- process --dry-run
|
||||||
- bin/rector process --dry-run
|
|
||||||
cache:
|
cache:
|
||||||
paths:
|
paths:
|
||||||
- .cache/
|
- .cache/
|
||||||
artifacts:
|
artifacts:
|
||||||
expire_in: 1 day
|
expire_in: 1 day
|
||||||
paths:
|
paths:
|
||||||
- bin
|
|
||||||
- vendor/
|
- vendor/
|
||||||
|
|
||||||
# psalm_tests:
|
|
||||||
# stage: Tests
|
|
||||||
# image: gitea.champs-libres.be/chill-project/chill-skeleton-basic/base-image:php82
|
|
||||||
# script:
|
|
||||||
# - bin/psalm
|
|
||||||
# allow_failure: true
|
|
||||||
# artifacts:
|
|
||||||
# expire_in: 30 min
|
|
||||||
# paths:
|
|
||||||
# - bin
|
|
||||||
# - tests/app/vendor/
|
|
||||||
|
|
||||||
unit_tests:
|
unit_tests:
|
||||||
stage: Tests
|
stage: Tests
|
||||||
image: gitea.champs-libres.be/chill-project/chill-skeleton-basic/base-image:php82
|
image: gitea.champs-libres.be/chill-project/chill-skeleton-basic/base-image:php82
|
||||||
|
variables:
|
||||||
|
COMPOSER_MEMORY_LIMIT: 3G
|
||||||
|
before_script:
|
||||||
|
- php bin/console doctrine:database:create -n --env=test
|
||||||
|
- php bin/console doctrine:migrations:migrate -n --env=test
|
||||||
|
- php bin/console chill:db:sync-views --env=test
|
||||||
|
- php bin/console cache:clear --env=test
|
||||||
|
- php bin/console doctrine:fixtures:load -n --env=test
|
||||||
script:
|
script:
|
||||||
- php tests/console doctrine:migrations:migrate -n --env=test
|
- composer exec phpunit -- --colors=never --exclude-group dbIntensive,openstack-integration
|
||||||
- php tests/console chill:db:sync-views --env=test
|
|
||||||
- php -d memory_limit=2G tests/console cache:clear --env=test
|
|
||||||
- php -d memory_limit=3G tests/console doctrine:fixtures:load -n
|
|
||||||
- php -d memory_limit=4G bin/phpunit --colors=never --exclude-group dbIntensive
|
|
||||||
artifacts:
|
artifacts:
|
||||||
expire_in: 1 day
|
expire_in: 1 day
|
||||||
paths:
|
paths:
|
||||||
- bin
|
|
||||||
- vendor/
|
- vendor/
|
||||||
|
|
||||||
release:
|
release:
|
||||||
@@ -137,4 +130,4 @@ release:
|
|||||||
- echo "running release_job"
|
- echo "running release_job"
|
||||||
release:
|
release:
|
||||||
tag_name: '$CI_COMMIT_TAG'
|
tag_name: '$CI_COMMIT_TAG'
|
||||||
description: "./.changes/v$CI_COMMIT_TAG.md"
|
description: "./.changes/$CI_COMMIT_TAG.md"
|
||||||
|
@@ -27,6 +27,7 @@ $config
|
|||||||
->setRiskyAllowed(true)
|
->setRiskyAllowed(true)
|
||||||
->setCacheFile('.cache/php-cs-fixer.cache')
|
->setCacheFile('.cache/php-cs-fixer.cache')
|
||||||
->setUsingCache(true)
|
->setUsingCache(true)
|
||||||
|
->setParallelConfig(PhpCsFixer\Runner\Parallel\ParallelConfigFactory::detect())
|
||||||
;
|
;
|
||||||
|
|
||||||
$rules = $config->getRules();
|
$rules = $config->getRules();
|
||||||
@@ -112,12 +113,13 @@ $rules = array_merge(
|
|||||||
],
|
],
|
||||||
'sort_algorithm' => 'alpha',
|
'sort_algorithm' => 'alpha',
|
||||||
],
|
],
|
||||||
|
'single_line_empty_body' => true,
|
||||||
],
|
],
|
||||||
$rules,
|
$rules,
|
||||||
$riskyRules,
|
$riskyRules,
|
||||||
$untilFullSwitchToPhp8,
|
$untilFullSwitchToPhp8,
|
||||||
);
|
);
|
||||||
|
|
||||||
$rules['header_comment']['header'] = trim(file_get_contents(__DIR__.'/resource/header.txt'));
|
$rules['header_comment']['header'] = trim(file_get_contents(__DIR__.'/resources/header.txt'));
|
||||||
|
|
||||||
return $config->setRules($rules);
|
return $config->setRules($rules);
|
||||||
|
2
.symfony.local.yaml
Normal file
2
.symfony.local.yaml
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
workers:
|
||||||
|
docker_compose: ~
|
91
CHANGELOG.md
91
CHANGELOG.md
@@ -6,12 +6,99 @@ adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html),
|
|||||||
and is generated by [Changie](https://github.com/miniscruff/changie).
|
and is generated by [Changie](https://github.com/miniscruff/changie).
|
||||||
|
|
||||||
|
|
||||||
|
## v3.5.0 - 2024-12-09
|
||||||
|
### Feature
|
||||||
|
* ([#318](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/318)) Show all the pages of the documents in the signature app
|
||||||
|
### Fixed
|
||||||
|
* Wrap the signature's change state into a transaction, to avoid race conditions
|
||||||
|
* Fix display of gender label
|
||||||
|
|
||||||
|
## v3.4.3 - 2024-12-05
|
||||||
|
### Fixed
|
||||||
|
* Remove the "not null" constraint on person supplementary phones
|
||||||
|
* Remove doctrine annotation that prevent from adding documents to activities
|
||||||
|
|
||||||
|
## v3.4.2 - 2024-12-05
|
||||||
|
### Fixed
|
||||||
|
* ([#329](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/329)) Fix the serialization of gender for the generation of documents
|
||||||
|
* ([#337](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/337)) Enforce unique contraint on activity storedobject
|
||||||
|
### DX
|
||||||
|
* ([#310](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/310)) Clean migrations, to reduce the number of bloated migration when running diff on schema
|
||||||
|
|
||||||
|
## v3.4.1 - 2024-11-22
|
||||||
|
### Fixed
|
||||||
|
* Set the workflow's title to notification content and subject
|
||||||
|
|
||||||
|
## v3.4.0 - 2024-11-20
|
||||||
|
### Feature
|
||||||
|
* ([#314](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/314)) Admin: improve document type admin form with a select field for related class.
|
||||||
|
Admin: Allow administrator to assign multiple group centers in one go to a user.
|
||||||
|
|
||||||
|
## v3.3.0 - 2024-11-20
|
||||||
|
### Feature
|
||||||
|
* Electronic signature
|
||||||
|
|
||||||
|
Implementation of the electronic signature for documents within chill.
|
||||||
|
* ([#286](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/286)) The behavoir of the voters for stored objects is adjusted so as to limit edit and delete possibilities to users related to the activity, social action or workflow entity.
|
||||||
|
* ([#288](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/288)) Metadata form added for person signatures
|
||||||
|
* Add a signature step in workflow, which allow to apply an electronic signature on documents
|
||||||
|
* Keep an history of each version of a stored object.
|
||||||
|
* Add a "send external" step in workflow, which allow to send stored objects and other elements to remote people, by sending them a public url
|
||||||
|
### Fixed
|
||||||
|
* Adjust household list export to include households even if their address is NULL
|
||||||
|
* Remove validation of date string on deathDate
|
||||||
|
|
||||||
|
## v3.2.4 - 2024-11-06
|
||||||
|
### Fixed
|
||||||
|
* Fix compilation of chill assets
|
||||||
|
|
||||||
|
## v3.2.3 - 2024-11-05
|
||||||
|
### Fixed
|
||||||
|
* ([#315](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/315)) Fix display of accompanying period work referrers. Only current referrers should be displayed.
|
||||||
|
Fix color of Chill footer
|
||||||
|
|
||||||
|
## v3.2.2 - 2024-10-31
|
||||||
|
### Fixed
|
||||||
|
* Fix gender translation for unknown
|
||||||
|
|
||||||
|
## v3.2.1 - 2024-10-31
|
||||||
|
### Fixed
|
||||||
|
* Add the possibility of unknown to the gender entity
|
||||||
|
* Fix the fusion of person doubles by excluding accompanyingPeriod work entities to be deleted. They are moved instead.
|
||||||
|
|
||||||
|
## v3.2.0 - 2024-10-30
|
||||||
|
### Feature
|
||||||
|
* Introduce a gender entity
|
||||||
|
|
||||||
|
## v3.1.1 - 2024-10-01
|
||||||
|
### Fixed
|
||||||
|
* ([#308](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/308)) Show only the current referrer in the page "show" for an accompanying period workf
|
||||||
|
* ([#309](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/309)) Correctly compute the grouping by referrer aggregator
|
||||||
|
|
||||||
|
* Fixed typing of custom field long choice and custom field group
|
||||||
|
|
||||||
|
## v3.1.0 - 2024-08-30
|
||||||
|
### Feature
|
||||||
|
* Add export aggregator to aggregate activities by household + filter persons that are not part of an accompanyingperiod during a certain timeframe.
|
||||||
|
|
||||||
|
## v3.0.0 - 2024-08-26
|
||||||
|
### Fixed
|
||||||
|
* Fix delete action for accompanying periods in draft state
|
||||||
|
* Fix connection to azure when making an calendar event in chill
|
||||||
|
* CollectionType js fixes for remove button and adding multiple entries
|
||||||
|
|
||||||
## v2.24.0 - 2024-09-11
|
## v2.24.0 - 2024-09-11
|
||||||
### Feature
|
### Feature
|
||||||
* ([#306](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/306)) When a document is converted or downloaded in the browser, this document is removed from the browser memory after 45s. Future click on the button re-download the document.
|
* ([#306](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/306)) When a document is converted or downloaded in the browser, this document is removed from the browser memory after 45s. Future click on the button re-download the document.
|
||||||
|
|
||||||
## v2.23.0 - 2024-07-19
|
## v2.23.0 - 2024-07-23 & 2024-07-19
|
||||||
### Feature
|
### Feature
|
||||||
|
* ([#221](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/221)) [DX] move async-upload-bundle features into chill-bundles
|
||||||
|
* Add job bundle (module emploi)
|
||||||
|
* Upgrade import of address list to the last version of compiled addresses of belgian-best-address
|
||||||
|
|
||||||
|
* Upgrade CKEditor and refactor configuration with use of typescript
|
||||||
|
|
||||||
* ([#123](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/123)) Add a button to duplicate calendar ranges from a week to another one
|
* ([#123](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/123)) Add a button to duplicate calendar ranges from a week to another one
|
||||||
* [admin] filter users by active / inactive in the admin user's list
|
* [admin] filter users by active / inactive in the admin user's list
|
||||||
* ([#273](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/273)) Add the possibility to mark all notifications as read
|
* ([#273](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/273)) Add the possibility to mark all notifications as read
|
||||||
@@ -21,6 +108,8 @@ and is generated by [Changie](https://github.com/miniscruff/changie).
|
|||||||
* Do not update the "createdAt" column when importing postal code which does not change
|
* Do not update the "createdAt" column when importing postal code which does not change
|
||||||
* Display filename on file upload within the UI interface
|
* Display filename on file upload within the UI interface
|
||||||
### Fixed
|
### Fixed
|
||||||
|
* Fix resolving of centers for an household, which will fix in turn the access control
|
||||||
|
* Resolved type hinting error in activity list export
|
||||||
* ([#271](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/271)) Take into account the acp closing date in the acp works date filter
|
* ([#271](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/271)) Take into account the acp closing date in the acp works date filter
|
||||||
|
|
||||||
### Traduction française des principaux changements
|
### Traduction française des principaux changements
|
||||||
|
117
MIGRATION.md
Normal file
117
MIGRATION.md
Normal file
@@ -0,0 +1,117 @@
|
|||||||
|
|
||||||
|
# Switch to symfony 5.0
|
||||||
|
|
||||||
|
- the tag `chill.role` is now renamed to `chill_main.provide_role`.
|
||||||
|
|
||||||
|
**Note**: It is not necessary to apply this tag on service definition: the tag is automatically applyied if the
|
||||||
|
service implements `\Chill\MainBundle\Security\ProvideRoleInterface`.
|
||||||
|
|
||||||
|
- those annotation can be converted to attribute:
|
||||||
|
|
||||||
|
- `Chill\PersonBundle\Validator\Constraints\AccompanyingPeriod\AccompanyingPeriodValidity`
|
||||||
|
- `Chill\PersonBundle\Validator\Constraints\Household\HouseholdMembershipSequential`
|
||||||
|
- `Chill\PersonBundle\Validator\Constraints\Household\MaxHolder`
|
||||||
|
- `Chill\PersonBundle\Validator\Constraints\AccompanyingPeriod\ConfidentialCourseMustHaveReferrer`
|
||||||
|
- `Chill\PersonBundle\Validator\Constraints\AccompanyingPeriod\LocationValidity`
|
||||||
|
- `Chill\PersonBundle\Validator\Constraints\AccompanyingPeriod\ParticipationOverlap`
|
||||||
|
- `Chill\PersonBundle\Validator\Constraints\AccompanyingPeriod\ResourceDuplicateCheck`
|
||||||
|
- `Chill\PersonBundle\Validator\Constraints\Person\Birthdate`
|
||||||
|
- `Chill\PersonBundle\Validator\Constraints\Person\PersonHasCenter`
|
||||||
|
- `Chill\PersonBundle\Validator\Constraints\Relationship\RelationshipNoDuplicate`
|
||||||
|
- `Chill\ActivityBundle\Validator\Constraints\ActivityValidity`
|
||||||
|
- `Chill\DocStoreBundle\Validator\Constraints\AsyncFileExists`
|
||||||
|
- `Chill\MainBundle\Validation\Constraint\PhonenumberConstraint`
|
||||||
|
- `Chill\MainBundle\Validator\Constraints\Entity\UserCircleConsistency`
|
||||||
|
- `Chill\MainBundle\Workflow\Validator\EntityWorkflowCreation`
|
||||||
|
|
||||||
|
Here is the rector rule that can be used to switch attributes to annotations:
|
||||||
|
|
||||||
|
```php
|
||||||
|
$rectorConfig->ruleWithConfiguration(\Rector\Php80\Rector\Class_\AnnotationToAttributeRector::class, [
|
||||||
|
new \Rector\Php80\ValueObject\AnnotationToAttribute('Chill\PersonBundle\Validator\Constraints\AccompanyingPeriod\AccompanyingPeriodValidity'),
|
||||||
|
new \Rector\Php80\ValueObject\AnnotationToAttribute('Chill\PersonBundle\Validator\Constraints\Household\HouseholdMembershipSequential'),
|
||||||
|
new \Rector\Php80\ValueObject\AnnotationToAttribute('Chill\PersonBundle\Validator\Constraints\Household\MaxHolder'),
|
||||||
|
new \Rector\Php80\ValueObject\AnnotationToAttribute('Chill\PersonBundle\Validator\Constraints\AccompanyingPeriod\ConfidentialCourseMustHaveReferrer'),
|
||||||
|
new \Rector\Php80\ValueObject\AnnotationToAttribute('Chill\PersonBundle\Validator\Constraints\AccompanyingPeriod\LocationValidity'),
|
||||||
|
new \Rector\Php80\ValueObject\AnnotationToAttribute('Chill\PersonBundle\Validator\Constraints\AccompanyingPeriod\ParticipationOverlap'),
|
||||||
|
new \Rector\Php80\ValueObject\AnnotationToAttribute('Chill\PersonBundle\Validator\Constraints\AccompanyingPeriod\ResourceDuplicateCheck'),
|
||||||
|
new \Rector\Php80\ValueObject\AnnotationToAttribute('Chill\PersonBundle\Validator\Constraints\Person\Birthdate'),
|
||||||
|
new \Rector\Php80\ValueObject\AnnotationToAttribute('Chill\PersonBundle\Validator\Constraints\Person\PersonHasCenter'),
|
||||||
|
new \Rector\Php80\ValueObject\AnnotationToAttribute('Chill\PersonBundle\Validator\Constraints\Relationship\RelationshipNoDuplicate'),
|
||||||
|
new \Rector\Php80\ValueObject\AnnotationToAttribute('Chill\ActivityBundle\Validator\Constraints\ActivityValidity'),
|
||||||
|
new \Rector\Php80\ValueObject\AnnotationToAttribute('Chill\DocStoreBundle\Validator\Constraints\AsyncFileExists'),
|
||||||
|
new \Rector\Php80\ValueObject\AnnotationToAttribute('Chill\MainBundle\Validation\Constraint\PhonenumberConstraint'),
|
||||||
|
new \Rector\Php80\ValueObject\AnnotationToAttribute('Chill\MainBundle\Validator\Constraints\Entity\UserCircleConsistency'),
|
||||||
|
new \Rector\Php80\ValueObject\AnnotationToAttribute('Chill\MainBundle\Workflow\Validator\EntityWorkflowCreation'),
|
||||||
|
]);
|
||||||
|
```
|
||||||
|
|
||||||
|
- to keep cleaner definition in container's dependency injection and framework bundle, the definition of crud or api
|
||||||
|
requires to define explicitly a controller.
|
||||||
|
|
||||||
|
Before:
|
||||||
|
|
||||||
|
```php
|
||||||
|
$container->prependExtensionConfig('chill_main', [
|
||||||
|
'apis' => [
|
||||||
|
[
|
||||||
|
'class' => ThirdParty::class,
|
||||||
|
'name' => 'thirdparty',
|
||||||
|
'base_path' => '/api/1.0/thirdparty/thirdparty',
|
||||||
|
'actions' => [
|
||||||
|
'_entity' => [
|
||||||
|
'methods' => [
|
||||||
|
Request::METHOD_GET => true,
|
||||||
|
Request::METHOD_HEAD => true,
|
||||||
|
Request::METHOD_POST => true,
|
||||||
|
Request::METHOD_PUT => true,
|
||||||
|
Request::METHOD_PATCH => true,
|
||||||
|
],
|
||||||
|
'roles' => [
|
||||||
|
Request::METHOD_GET => ThirdPartyVoter::SHOW,
|
||||||
|
Request::METHOD_HEAD => ThirdPartyVoter::SHOW,
|
||||||
|
Request::METHOD_POST => ThirdPartyVoter::CREATE,
|
||||||
|
Request::METHOD_PUT => ThirdPartyVoter::CREATE,
|
||||||
|
Request::METHOD_PATCH => ThirdPartyVoter::CREATE,
|
||||||
|
],
|
||||||
|
],
|
||||||
|
],
|
||||||
|
],
|
||||||
|
],
|
||||||
|
]);
|
||||||
|
|
||||||
|
After:
|
||||||
|
|
||||||
|
```php
|
||||||
|
$container->prependExtensionConfig('chill_main', [
|
||||||
|
'apis' => [
|
||||||
|
[
|
||||||
|
'class' => ThirdParty::class,
|
||||||
|
'controller' => ThirdPartyApiController::class,
|
||||||
|
'name' => 'thirdparty',
|
||||||
|
'base_path' => '/api/1.0/thirdparty/thirdparty',
|
||||||
|
'actions' => [
|
||||||
|
'_entity' => [
|
||||||
|
'methods' => [
|
||||||
|
Request::METHOD_GET => true,
|
||||||
|
Request::METHOD_HEAD => true,
|
||||||
|
Request::METHOD_POST => true,
|
||||||
|
Request::METHOD_PUT => true,
|
||||||
|
Request::METHOD_PATCH => true,
|
||||||
|
],
|
||||||
|
'roles' => [
|
||||||
|
Request::METHOD_GET => ThirdPartyVoter::SHOW,
|
||||||
|
Request::METHOD_HEAD => ThirdPartyVoter::SHOW,
|
||||||
|
Request::METHOD_POST => ThirdPartyVoter::CREATE,
|
||||||
|
Request::METHOD_PUT => ThirdPartyVoter::CREATE,
|
||||||
|
Request::METHOD_PATCH => ThirdPartyVoter::CREATE,
|
||||||
|
],
|
||||||
|
],
|
||||||
|
],
|
||||||
|
],
|
||||||
|
],
|
||||||
|
]);
|
||||||
|
|
||||||
|
```
|
||||||
|
|
||||||
|
|
16
README.md
16
README.md
@@ -1,9 +1,15 @@
|
|||||||
# Chill framework
|
# Main Chill Bundles and Chill framework
|
||||||
|
|
||||||
Documentation of the Chill software.
|
Chill is a software for social workers. It allows them to keep track of the social work they do.
|
||||||
|
|
||||||
The online documentation can be found at http://docs.chill.social
|
See our website for more information https://www.chill.social
|
||||||
|
|
||||||
See the [`docs`][1] directory for more.
|
## Installation
|
||||||
|
|
||||||
[1]: docs/README.md
|
Chill-bundles is a set of bundles that should be used within a Symfony application.
|
||||||
|
|
||||||
|
A symfony application will help you to customize all the configuration options, change the behaviour of some parts of the usual-way that chill works, … without to have to fork this repository !
|
||||||
|
|
||||||
|
See [the instructions in the docs](./docs/source/installation/index.rst).
|
||||||
|
|
||||||
|
Those instructions are also built [online](https://docs.chill.social).
|
||||||
|
21
bin/console
Executable file
21
bin/console
Executable file
@@ -0,0 +1,21 @@
|
|||||||
|
#!/usr/bin/env php
|
||||||
|
<?php
|
||||||
|
|
||||||
|
use App\Kernel;
|
||||||
|
use Symfony\Bundle\FrameworkBundle\Console\Application;
|
||||||
|
|
||||||
|
if (!is_dir(dirname(__DIR__).'/vendor')) {
|
||||||
|
throw new LogicException('Dependencies are missing. Try running "composer install".');
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!is_file(dirname(__DIR__).'/vendor/autoload_runtime.php')) {
|
||||||
|
throw new LogicException('Symfony Runtime is missing. Try running "composer require symfony/runtime".');
|
||||||
|
}
|
||||||
|
|
||||||
|
require_once dirname(__DIR__).'/vendor/autoload_runtime.php';
|
||||||
|
|
||||||
|
return function (array $context) {
|
||||||
|
$kernel = new Kernel($context['APP_ENV'], (bool) $context['APP_DEBUG']);
|
||||||
|
|
||||||
|
return new Application($kernel);
|
||||||
|
};
|
34
compose.override.yaml
Normal file
34
compose.override.yaml
Normal file
@@ -0,0 +1,34 @@
|
|||||||
|
services:
|
||||||
|
###> doctrine/doctrine-bundle ###
|
||||||
|
database:
|
||||||
|
ports:
|
||||||
|
- "127.0.0.1:5454:5432"
|
||||||
|
###< doctrine/doctrine-bundle ###
|
||||||
|
|
||||||
|
###> symfony/mailer ###
|
||||||
|
mailer:
|
||||||
|
image: axllent/mailpit
|
||||||
|
ports:
|
||||||
|
- "1025"
|
||||||
|
- "8025"
|
||||||
|
environment:
|
||||||
|
MP_SMTP_AUTH_ACCEPT_ANY: 1
|
||||||
|
MP_SMTP_AUTH_ALLOW_INSECURE: 1
|
||||||
|
###< symfony/mailer ###
|
||||||
|
|
||||||
|
|
||||||
|
redis:
|
||||||
|
ports:
|
||||||
|
- 127.0.0.1:6363:6379
|
||||||
|
relatorio:
|
||||||
|
ports:
|
||||||
|
- 8888
|
||||||
|
|
||||||
|
rabbitmq:
|
||||||
|
ports:
|
||||||
|
- 127.0.0.1:5689:5672
|
||||||
|
- 127.0.0.1:15689:15672
|
||||||
|
# required to make data persistent
|
||||||
|
hostname: my-rabbit
|
||||||
|
volumes:
|
||||||
|
- ./docker/rabbitmq/data:/var/lib/rabbitmq
|
56
compose.yaml
Normal file
56
compose.yaml
Normal file
@@ -0,0 +1,56 @@
|
|||||||
|
services:
|
||||||
|
###> doctrine/doctrine-bundle ###
|
||||||
|
database:
|
||||||
|
image: postgis/postgis:${POSTGRES_VERSION:-16}-3.4-alpine
|
||||||
|
environment:
|
||||||
|
POSTGRES_DB: ${POSTGRES_DB:-app}
|
||||||
|
# You should definitely change the password in production
|
||||||
|
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:-!ChangeMe!}
|
||||||
|
POSTGRES_USER: ${POSTGRES_USER:-app}
|
||||||
|
volumes:
|
||||||
|
# - database_data:/var/lib/postgresql/data:rw
|
||||||
|
# You may use a bind-mounted host directory instead, so that it is harder to accidentally remove the volume and lose all your data!
|
||||||
|
- ./docker/db/data:/var/lib/postgresql/data:rw
|
||||||
|
###< doctrine/doctrine-bundle ###
|
||||||
|
|
||||||
|
redis:
|
||||||
|
image: redis
|
||||||
|
relatorio:
|
||||||
|
image: registry.gitlab.com/champs-libres/public/relatorio-tornado/app:latest
|
||||||
|
|
||||||
|
sign-worker:
|
||||||
|
image: h3m6q87t.gra7.container-registry.ovh.net/sign-pdf-worker/worker:latest
|
||||||
|
environment:
|
||||||
|
AMQP_URL: amqp://guest:guest@rabbitmq:5672/%2f/to_python_sign
|
||||||
|
LOG_LEVEL: INFO
|
||||||
|
PKCS12_PATH: /etc/sign-pdf/dummy.p12
|
||||||
|
TIMESTAMP_URL: http://freetsa.org/tsr
|
||||||
|
QUEUE_IN: to_python_sign
|
||||||
|
EXCHANGE_OUT: signed_docs
|
||||||
|
OUT_ROUTING_KEY: signed_doc
|
||||||
|
TSA_CERT_CHAIN: /etc/sign-pdf/tsa/tsa-chain.pem
|
||||||
|
TSA_CONFIG_PATH: /etc/sign-pdf/rootca.conf
|
||||||
|
TSA_KEY_PASSWORD: "5678"
|
||||||
|
volumes:
|
||||||
|
- "./resources/dev-certificate/dummy.p12:/etc/sign-pdf/dummy.p12:ro"
|
||||||
|
- "./resources/dev-certificate/rootca.conf:/etc/sign-pdf/rootca.conf:ro"
|
||||||
|
- "./resources/dev-certificate/tsa:/etc/sign-pdf/tsa:ro"
|
||||||
|
- "./resources/dev-certificate/tsa_serial:/var/lib/tsa/tsa_serial:rw"
|
||||||
|
links:
|
||||||
|
- rabbitmq
|
||||||
|
depends_on:
|
||||||
|
rabbitmq:
|
||||||
|
condition: service_healthy
|
||||||
|
|
||||||
|
rabbitmq:
|
||||||
|
image: rabbitmq:3-management-alpine
|
||||||
|
healthcheck:
|
||||||
|
test: rabbitmq-diagnostics -q ping
|
||||||
|
interval: 30s
|
||||||
|
timeout: 30s
|
||||||
|
retries: 3
|
||||||
|
|
||||||
|
volumes:
|
||||||
|
###> doctrine/doctrine-bundle ###
|
||||||
|
database_data:
|
||||||
|
###< doctrine/doctrine-bundle ###
|
@@ -13,14 +13,12 @@
|
|||||||
"ext-json": "*",
|
"ext-json": "*",
|
||||||
"ext-openssl": "*",
|
"ext-openssl": "*",
|
||||||
"ext-redis": "*",
|
"ext-redis": "*",
|
||||||
"champs-libres/async-uploader-bundle": "dev-sf4#d57134aee8e504a83c902ff0cf9f8d36ac418290",
|
|
||||||
"champs-libres/wopi-bundle": "dev-master@dev",
|
"champs-libres/wopi-bundle": "dev-master@dev",
|
||||||
"champs-libres/wopi-lib": "dev-master@dev",
|
"champs-libres/wopi-lib": "dev-master@dev",
|
||||||
"doctrine/doctrine-bundle": "^2.1",
|
"doctrine/doctrine-bundle": "^2.1",
|
||||||
"doctrine/doctrine-migrations-bundle": "^3.0",
|
"doctrine/doctrine-migrations-bundle": "^3.0",
|
||||||
"doctrine/orm": "^2.13.0",
|
"doctrine/orm": "^2.13.0",
|
||||||
"erusev/parsedown": "^1.7",
|
"erusev/parsedown": "^1.7",
|
||||||
"graylog2/gelf-php": "^1.5",
|
|
||||||
"knplabs/knp-menu-bundle": "^3.0",
|
"knplabs/knp-menu-bundle": "^3.0",
|
||||||
"knplabs/knp-time-bundle": "^1.12",
|
"knplabs/knp-time-bundle": "^1.12",
|
||||||
"knpuniversity/oauth2-client-bundle": "^2.10",
|
"knpuniversity/oauth2-client-bundle": "^2.10",
|
||||||
@@ -33,28 +31,50 @@
|
|||||||
"phpoffice/phpspreadsheet": "^1.16",
|
"phpoffice/phpspreadsheet": "^1.16",
|
||||||
"ramsey/uuid-doctrine": "^1.7",
|
"ramsey/uuid-doctrine": "^1.7",
|
||||||
"sensio/framework-extra-bundle": "^5.5",
|
"sensio/framework-extra-bundle": "^5.5",
|
||||||
|
"smalot/pdfparser": "^2.10",
|
||||||
"spomky-labs/base64url": "^2.0",
|
"spomky-labs/base64url": "^2.0",
|
||||||
"symfony/browser-kit": "^4.4",
|
"symfony/asset": "^5.4",
|
||||||
|
"symfony/browser-kit": "^5.4",
|
||||||
|
"symfony/cache": "^5.4",
|
||||||
"symfony/clock": "^6.2",
|
"symfony/clock": "^6.2",
|
||||||
"symfony/css-selector": "^4.4",
|
"symfony/config": "^5.4",
|
||||||
"symfony/expression-language": "^4.4",
|
"symfony/console": "^5.4",
|
||||||
"symfony/form": "^4.4",
|
"symfony/css-selector": "^5.4",
|
||||||
"symfony/framework-bundle": "^4.4",
|
"symfony/dom-crawler": "^5.4",
|
||||||
"symfony/http-client": "^4.4 || ^5",
|
"symfony/error-handler": "^5.4",
|
||||||
"symfony/http-foundation": "^4.4",
|
"symfony/event-dispatcher": "^5.4",
|
||||||
"symfony/intl": "^4.4",
|
"symfony/event-dispatcher-contracts": "^2.4",
|
||||||
|
"symfony/expression-language": "^5.4",
|
||||||
|
"symfony/filesystem": "^5.4",
|
||||||
|
"symfony/finder": "^5.4",
|
||||||
|
"symfony/form": "^5.4",
|
||||||
|
"symfony/framework-bundle": "^5.4",
|
||||||
|
"symfony/http-client": "^5.4",
|
||||||
|
"symfony/http-foundation": "^5.4",
|
||||||
|
"symfony/intl": "^5.4",
|
||||||
"symfony/mailer": "^5.4",
|
"symfony/mailer": "^5.4",
|
||||||
"symfony/messenger": "^5.4",
|
"symfony/messenger": "^5.4",
|
||||||
"symfony/mime": "^5.4",
|
"symfony/mime": "^5.4",
|
||||||
"symfony/monolog-bundle": "^3.5",
|
"symfony/monolog-bundle": "^3.5",
|
||||||
"symfony/security-bundle": "^4.4",
|
"symfony/options-resolver": "^5.4",
|
||||||
"symfony/serializer": "^5.3",
|
"symfony/process": "^5.4",
|
||||||
"symfony/translation": "^4.4",
|
"symfony/property-access": "^5.4",
|
||||||
"symfony/twig-bundle": "^4.4",
|
"symfony/property-info": "^5.4",
|
||||||
"symfony/validator": "^4.4",
|
"symfony/routing": "^5.4",
|
||||||
|
"symfony/security-bundle": "^5.4",
|
||||||
|
"symfony/security-core": "^5.4",
|
||||||
|
"symfony/security-csrf": "^5.4",
|
||||||
|
"symfony/security-guard": "^5.4",
|
||||||
|
"symfony/security-http": "^5.4",
|
||||||
|
"symfony/serializer": "^5.4",
|
||||||
|
"symfony/string": "^5.4",
|
||||||
|
"symfony/templating": "^5.4",
|
||||||
|
"symfony/translation": "^5.4",
|
||||||
|
"symfony/twig-bundle": "^5.4",
|
||||||
|
"symfony/validator": "^5.4",
|
||||||
"symfony/webpack-encore-bundle": "^1.11",
|
"symfony/webpack-encore-bundle": "^1.11",
|
||||||
"symfony/workflow": "^4.4",
|
"symfony/workflow": "^5.4",
|
||||||
"symfony/yaml": "^4.4",
|
"symfony/yaml": "^5.4",
|
||||||
"thenetworg/oauth2-azure": "^2.0",
|
"thenetworg/oauth2-azure": "^2.0",
|
||||||
"twig/extra-bundle": "^3.0",
|
"twig/extra-bundle": "^3.0",
|
||||||
"twig/intl-extra": "^3.0",
|
"twig/intl-extra": "^3.0",
|
||||||
@@ -73,17 +93,18 @@
|
|||||||
"phpstan/phpstan": "^1.9",
|
"phpstan/phpstan": "^1.9",
|
||||||
"phpstan/phpstan-deprecation-rules": "^1.1",
|
"phpstan/phpstan-deprecation-rules": "^1.1",
|
||||||
"phpstan/phpstan-strict-rules": "^1.0",
|
"phpstan/phpstan-strict-rules": "^1.0",
|
||||||
"phpunit/phpunit": ">= 7.5",
|
"phpunit/phpunit": "^10.5.24",
|
||||||
"psalm/plugin-phpunit": "^0.18.4",
|
"rector/rector": "^1.1.0",
|
||||||
"psalm/plugin-symfony": "^4.0.2",
|
"symfony/amqp-messenger": "^5.4.45",
|
||||||
"rector/rector": "1.1.1",
|
"symfony/debug-bundle": "^5.4",
|
||||||
"symfony/debug-bundle": "^5.1",
|
"symfony/dotenv": "^5.4",
|
||||||
"symfony/dotenv": "^4.4",
|
"symfony/flex": "^2.4",
|
||||||
"symfony/maker-bundle": "^1.20",
|
"symfony/maker-bundle": "^1.20",
|
||||||
"symfony/phpunit-bridge": "^4.4",
|
"symfony/phpunit-bridge": "^7.1",
|
||||||
"symfony/stopwatch": "^4.4",
|
"symfony/runtime": "^5.4",
|
||||||
"symfony/var-dumper": "^4.4",
|
"symfony/stopwatch": "^5.4",
|
||||||
"vimeo/psalm": "^4.30.0"
|
"symfony/var-dumper": "^5.4",
|
||||||
|
"symfony/web-profiler-bundle": "^5.4"
|
||||||
},
|
},
|
||||||
"conflict": {
|
"conflict": {
|
||||||
"symfony/symfony": "*"
|
"symfony/symfony": "*"
|
||||||
@@ -98,6 +119,8 @@
|
|||||||
"Chill\\DocGeneratorBundle\\": "src/Bundle/ChillDocGeneratorBundle",
|
"Chill\\DocGeneratorBundle\\": "src/Bundle/ChillDocGeneratorBundle",
|
||||||
"Chill\\DocStoreBundle\\": "src/Bundle/ChillDocStoreBundle",
|
"Chill\\DocStoreBundle\\": "src/Bundle/ChillDocStoreBundle",
|
||||||
"Chill\\EventBundle\\": "src/Bundle/ChillEventBundle",
|
"Chill\\EventBundle\\": "src/Bundle/ChillEventBundle",
|
||||||
|
"Chill\\FranceTravailApiBundle\\": "src/Bundle/ChillFranceTravailApiBundle/src",
|
||||||
|
"Chill\\JobBundle\\": "src/Bundle/ChillJobBundle/src",
|
||||||
"Chill\\MainBundle\\": "src/Bundle/ChillMainBundle",
|
"Chill\\MainBundle\\": "src/Bundle/ChillMainBundle",
|
||||||
"Chill\\PersonBundle\\": "src/Bundle/ChillPersonBundle",
|
"Chill\\PersonBundle\\": "src/Bundle/ChillPersonBundle",
|
||||||
"Chill\\ReportBundle\\": "src/Bundle/ChillReportBundle",
|
"Chill\\ReportBundle\\": "src/Bundle/ChillReportBundle",
|
||||||
@@ -109,7 +132,7 @@
|
|||||||
},
|
},
|
||||||
"autoload-dev": {
|
"autoload-dev": {
|
||||||
"psr-4": {
|
"psr-4": {
|
||||||
"App\\": "tests/",
|
"App\\": "src/app",
|
||||||
"Chill\\DocGeneratorBundle\\Tests\\": "src/Bundle/ChillDocGeneratorBundle/tests",
|
"Chill\\DocGeneratorBundle\\Tests\\": "src/Bundle/ChillDocGeneratorBundle/tests",
|
||||||
"Chill\\WopiBundle\\Tests\\": "src/Bundle/ChillDocGeneratorBundle/tests",
|
"Chill\\WopiBundle\\Tests\\": "src/Bundle/ChillDocGeneratorBundle/tests",
|
||||||
"Chill\\Utils\\Rector\\Tests\\": "utils/rector/tests"
|
"Chill\\Utils\\Rector\\Tests\\": "utils/rector/tests"
|
||||||
@@ -123,15 +146,22 @@
|
|||||||
"phpro/grumphp": true,
|
"phpro/grumphp": true,
|
||||||
"phpstan/extension-installer": true,
|
"phpstan/extension-installer": true,
|
||||||
"roave/you-are-using-it-wrong": true,
|
"roave/you-are-using-it-wrong": true,
|
||||||
"symfony/runtime": true
|
"symfony/runtime": true,
|
||||||
|
"symfony/flex": true
|
||||||
},
|
},
|
||||||
"bin-dir": "bin",
|
|
||||||
"optimize-autoloader": true,
|
"optimize-autoloader": true,
|
||||||
"sort-packages": true
|
"sort-packages": true
|
||||||
},
|
},
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"auto-scripts": {
|
"auto-scripts": {
|
||||||
"cache:clear": "symfony-cmd"
|
"cache:clear": "symfony-cmd",
|
||||||
|
"assets:install %PUBLIC_DIR%": "symfony-cmd"
|
||||||
|
},
|
||||||
|
"php-cs-fixer": "php-cs-fixer fix --config=./.php-cs-fixer.dist.php --show-progress=none"
|
||||||
|
},
|
||||||
|
"extra": {
|
||||||
|
"symfony": {
|
||||||
|
"docker": true
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -1,16 +1,26 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
declare(strict_types=1);
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Chill is a software for social workers
|
|
||||||
*
|
|
||||||
* For the full copyright and license information, please view
|
|
||||||
* the LICENSE file that was distributed with this source code.
|
|
||||||
*/
|
|
||||||
|
|
||||||
return [
|
return [
|
||||||
ChampsLibres\AsyncUploaderBundle\ChampsLibresAsyncUploaderBundle::class => ['all' => true],
|
Symfony\Bundle\FrameworkBundle\FrameworkBundle::class => ['all' => true],
|
||||||
|
loophp\PsrHttpMessageBridgeBundle\PsrHttpMessageBridgeBundle::class => ['all' => true],
|
||||||
|
ChampsLibres\WopiBundle\WopiBundle::class => ['all' => true],
|
||||||
|
Doctrine\Bundle\DoctrineBundle\DoctrineBundle::class => ['all' => true],
|
||||||
|
Doctrine\Bundle\FixturesBundle\DoctrineFixturesBundle::class => ['dev' => true, 'test' => true],
|
||||||
|
Doctrine\Bundle\MigrationsBundle\DoctrineMigrationsBundle::class => ['all' => true],
|
||||||
|
Knp\Bundle\MenuBundle\KnpMenuBundle::class => ['all' => true],
|
||||||
|
Knp\Bundle\TimeBundle\KnpTimeBundle::class => ['all' => true],
|
||||||
|
KnpU\OAuth2ClientBundle\KnpUOAuth2ClientBundle::class => ['all' => true],
|
||||||
|
Symfony\Bundle\SecurityBundle\SecurityBundle::class => ['all' => true],
|
||||||
|
Lexik\Bundle\JWTAuthenticationBundle\LexikJWTAuthenticationBundle::class => ['all' => true],
|
||||||
|
Nelmio\Alice\Bridge\Symfony\NelmioAliceBundle::class => ['dev' => true, 'test' => true],
|
||||||
|
Misd\PhoneNumberBundle\MisdPhoneNumberBundle::class => ['all' => true],
|
||||||
|
Sensio\Bundle\FrameworkExtraBundle\SensioFrameworkExtraBundle::class => ['all' => true],
|
||||||
|
Symfony\Bundle\DebugBundle\DebugBundle::class => ['dev' => true],
|
||||||
|
Symfony\Bundle\MakerBundle\MakerBundle::class => ['dev' => true],
|
||||||
|
Symfony\Bundle\MonologBundle\MonologBundle::class => ['all' => true],
|
||||||
|
Symfony\WebpackEncoreBundle\WebpackEncoreBundle::class => ['all' => true],
|
||||||
|
Symfony\Bundle\TwigBundle\TwigBundle::class => ['all' => true],
|
||||||
|
Twig\Extra\TwigExtraBundle\TwigExtraBundle::class => ['all' => true],
|
||||||
Chill\ActivityBundle\ChillActivityBundle::class => ['all' => true],
|
Chill\ActivityBundle\ChillActivityBundle::class => ['all' => true],
|
||||||
Chill\AsideActivityBundle\ChillAsideActivityBundle::class => ['all' => true],
|
Chill\AsideActivityBundle\ChillAsideActivityBundle::class => ['all' => true],
|
||||||
Chill\CalendarBundle\ChillCalendarBundle::class => ['all' => true],
|
Chill\CalendarBundle\ChillCalendarBundle::class => ['all' => true],
|
||||||
@@ -24,26 +34,6 @@ return [
|
|||||||
Chill\TaskBundle\ChillTaskBundle::class => ['all' => true],
|
Chill\TaskBundle\ChillTaskBundle::class => ['all' => true],
|
||||||
Chill\ThirdPartyBundle\ChillThirdPartyBundle::class => ['all' => true],
|
Chill\ThirdPartyBundle\ChillThirdPartyBundle::class => ['all' => true],
|
||||||
Chill\BudgetBundle\ChillBudgetBundle::class => ['all' => true],
|
Chill\BudgetBundle\ChillBudgetBundle::class => ['all' => true],
|
||||||
Doctrine\Bundle\DoctrineBundle\DoctrineBundle::class => ['all' => true],
|
|
||||||
Doctrine\Bundle\FixturesBundle\DoctrineFixturesBundle::class => ['dev' => true, 'test' => true],
|
|
||||||
Doctrine\Bundle\MigrationsBundle\DoctrineMigrationsBundle::class => ['all' => true],
|
|
||||||
Sensio\Bundle\FrameworkExtraBundle\SensioFrameworkExtraBundle::class => ['all' => true],
|
|
||||||
Symfony\Bundle\DebugBundle\DebugBundle::class => ['dev' => true, 'test' => true],
|
|
||||||
Symfony\Bundle\FrameworkBundle\FrameworkBundle::class => ['all' => true],
|
|
||||||
Symfony\Bundle\MakerBundle\MakerBundle::class => ['dev' => true],
|
|
||||||
Symfony\Bundle\MonologBundle\MonologBundle::class => ['all' => true],
|
|
||||||
Symfony\Bundle\SecurityBundle\SecurityBundle::class => ['all' => true],
|
|
||||||
Symfony\Bundle\TwigBundle\TwigBundle::class => ['all' => true],
|
|
||||||
//Symfony\Bundle\WebProfilerBundle\WebProfilerBundle::class => ['dev' => true, 'test' => true],
|
|
||||||
Symfony\WebpackEncoreBundle\WebpackEncoreBundle::class => ['all' => true],
|
|
||||||
Knp\Bundle\MenuBundle\KnpMenuBundle::class => ['all' => true],
|
|
||||||
Knp\Bundle\TimeBundle\KnpTimeBundle::class => ['all' => true],
|
|
||||||
Twig\Extra\TwigExtraBundle\TwigExtraBundle::class => ['all' => true],
|
|
||||||
loophp\PsrHttpMessageBridgeBundle\PsrHttpMessageBridgeBundle::class => ['all' => true],
|
|
||||||
\Misd\PhoneNumberBundle\MisdPhoneNumberBundle::class => ['all' => true],
|
|
||||||
ChampsLibres\WopiBundle\WopiBundle::class => ['all' => true],
|
|
||||||
Chill\WopiBundle\ChillWopiBundle::class => ['all' => true],
|
Chill\WopiBundle\ChillWopiBundle::class => ['all' => true],
|
||||||
\Lexik\Bundle\JWTAuthenticationBundle\LexikJWTAuthenticationBundle::class => ['all' => true],
|
Symfony\Bundle\WebProfilerBundle\WebProfilerBundle::class => ['dev' => true, 'test' => true],
|
||||||
Chill\EventBundle\ChillEventBundle::class => ['all' => true],
|
|
||||||
|
|
||||||
];
|
];
|
@@ -17,17 +17,3 @@ framework:
|
|||||||
# Namespaced pools use the above "app" backend by default
|
# Namespaced pools use the above "app" backend by default
|
||||||
#pools:
|
#pools:
|
||||||
#my.dedicated.cache: null
|
#my.dedicated.cache: null
|
||||||
|
|
||||||
default_redis_provider: '%env(resolve:REDIS_URL)%'
|
|
||||||
|
|
||||||
pools:
|
|
||||||
cache.user_data:
|
|
||||||
adapter: cache.adapter.redis
|
|
||||||
public: true
|
|
||||||
default_lifetime: 300 # 5 minutes
|
|
||||||
|
|
||||||
# will be used in chill_main.tag_aware_cache service
|
|
||||||
cache.tags:
|
|
||||||
adapter: cache.adapter.redis
|
|
||||||
public: false
|
|
||||||
default_lifetime: 300
|
|
14
config/packages/cache_chill.yaml
Normal file
14
config/packages/cache_chill.yaml
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
framework:
|
||||||
|
cache:
|
||||||
|
default_redis_provider: '%env(resolve:REDIS_URL)%'
|
||||||
|
pools:
|
||||||
|
cache.user_data:
|
||||||
|
adapter: cache.adapter.redis
|
||||||
|
public: true
|
||||||
|
default_lifetime: 300 # 5 minutes
|
||||||
|
|
||||||
|
# will be used in chill_main.tag_aware_cache service
|
||||||
|
cache.tags:
|
||||||
|
adapter: cache.adapter.redis
|
||||||
|
public: false
|
||||||
|
default_lifetime: 300
|
121
config/packages/chill.yaml
Normal file
121
config/packages/chill.yaml
Normal file
@@ -0,0 +1,121 @@
|
|||||||
|
chill_main:
|
||||||
|
available_languages: [ '%env(resolve:LOCALE)%', 'en' ]
|
||||||
|
available_countries: ['BE', 'FR']
|
||||||
|
notifications:
|
||||||
|
from_email: '%env(resolve:NOTIFICATION_FROM_EMAIL)%'
|
||||||
|
from_name: '%env(resolve:NOTIFICATION_FROM_NAME)%'
|
||||||
|
host: '%env(resolve:NOTIFICATION_HOST)%'
|
||||||
|
redis:
|
||||||
|
host: '%env(resolve:REDIS_HOST)%'
|
||||||
|
port: '%env(resolve:REDIS_PORT)%'
|
||||||
|
phone_helper:
|
||||||
|
twilio_sid: '%env(resolve:TWILIO_SID)%'
|
||||||
|
twilio_secret: '%env(resolve:TWILIO_SECRET)%'
|
||||||
|
default_carrier_code: '%env(resolve:DEFAULT_CARRIER_CODE)%'
|
||||||
|
short_messages:
|
||||||
|
dsn: '%env(string:SHORT_MESSAGE_DSN)%'
|
||||||
|
acl:
|
||||||
|
form_show_scopes: true
|
||||||
|
form_show_centers: true
|
||||||
|
access_global_history: false
|
||||||
|
access_user_change_password: true
|
||||||
|
access_permissions_group_list: true
|
||||||
|
add_address:
|
||||||
|
default_country: '%env(string:ADD_ADDRESS_DEFAULT_COUNTRY)%'
|
||||||
|
map_center:
|
||||||
|
x: '%env(float:ADD_ADDRESS_MAP_CENTER_X)%'
|
||||||
|
y: '%env(float:ADD_ADDRESS_MAP_CENTER_Y)%'
|
||||||
|
z: '%env(float:ADD_ADDRESS_MAP_CENTER_Z)%'
|
||||||
|
|
||||||
|
when@test:
|
||||||
|
chill_main:
|
||||||
|
available_languages:
|
||||||
|
- 'fr'
|
||||||
|
- 'en'
|
||||||
|
|
||||||
|
chill_custom_fields:
|
||||||
|
show_empty_values_in_views: false
|
||||||
|
|
||||||
|
chill_person:
|
||||||
|
create_person_allowed: false
|
||||||
|
create_parcours_allowed: false
|
||||||
|
allow_multiple_simultaneous_accompanying_periods: true
|
||||||
|
accompanying_periods_fields:
|
||||||
|
user: visible
|
||||||
|
# createdBy, step, origin, intensity, scopes, requestor, anonymous, emergency, confidential : visible(default) | hidden
|
||||||
|
person_fields:
|
||||||
|
acceptEmail: hidden
|
||||||
|
alt_names:
|
||||||
|
- key: jeune_fille
|
||||||
|
labels:
|
||||||
|
lang: fr
|
||||||
|
label: Nom de naissance
|
||||||
|
marital_status: visible
|
||||||
|
civility: visible
|
||||||
|
deathdate: visible
|
||||||
|
validation:
|
||||||
|
center_required: true
|
||||||
|
|
||||||
|
chill_activity:
|
||||||
|
form:
|
||||||
|
time_duration:
|
||||||
|
-
|
||||||
|
label: '5 minutes'
|
||||||
|
seconds: 300
|
||||||
|
-
|
||||||
|
label: '10 minutes'
|
||||||
|
seconds: 600
|
||||||
|
-
|
||||||
|
label: '15 minutes'
|
||||||
|
seconds: 900
|
||||||
|
-
|
||||||
|
label: '20 minutes'
|
||||||
|
seconds: 1200
|
||||||
|
-
|
||||||
|
label: '25 minutes'
|
||||||
|
seconds: 1500
|
||||||
|
-
|
||||||
|
label: '30 minutes'
|
||||||
|
seconds: 1800
|
||||||
|
-
|
||||||
|
label: '45 minutes'
|
||||||
|
seconds: 2700
|
||||||
|
-
|
||||||
|
label: '1 hour'
|
||||||
|
seconds: 3600
|
||||||
|
-
|
||||||
|
label: '1 hour 15'
|
||||||
|
seconds: 4500
|
||||||
|
-
|
||||||
|
label: '1 hour 30'
|
||||||
|
seconds: 5400
|
||||||
|
-
|
||||||
|
label: '1 hour 45'
|
||||||
|
seconds: 6300
|
||||||
|
-
|
||||||
|
label: '2 hours'
|
||||||
|
seconds: 7200
|
||||||
|
-
|
||||||
|
label: '2 hours 15'
|
||||||
|
seconds: 8100
|
||||||
|
-
|
||||||
|
label: '2 hours 30'
|
||||||
|
seconds: 9000
|
||||||
|
-
|
||||||
|
label: '2 hours 45'
|
||||||
|
seconds: 9900
|
||||||
|
-
|
||||||
|
label: '3 hours'
|
||||||
|
seconds: 10800
|
||||||
|
-
|
||||||
|
label: '3 hours 30'
|
||||||
|
seconds: 12600
|
||||||
|
-
|
||||||
|
label: '4 hours'
|
||||||
|
seconds: 14400
|
||||||
|
-
|
||||||
|
label: '4 hours 30'
|
||||||
|
seconds: 16200
|
||||||
|
-
|
||||||
|
label: '5 hours'
|
||||||
|
seconds: 18000
|
85
config/packages/chill_budget.yaml
Normal file
85
config/packages/chill_budget.yaml
Normal file
@@ -0,0 +1,85 @@
|
|||||||
|
chill_budget:
|
||||||
|
resources:
|
||||||
|
- { key: fixed_contract, labels: [{ lang: fr, label: "Salarié en CDI" }]}
|
||||||
|
- { key: temporary_contract, labels: [{ lang: fr, label: "Salarié en CDD"}]}
|
||||||
|
- { key: interim, labels: [{ lang: fr, label: "Salarié en intérim"}]}
|
||||||
|
- { key: other_revenues, labels: [{ lang: fr, label: "Revenus non salariés, commerçant, artisan,..."}]}
|
||||||
|
- { key: agricultural_activity, labels: [{ lang: fr, label: "Exploitant agricole"}]}
|
||||||
|
- { key: chomage_ass, labels: [{ lang: fr, label: "Allocations chômage ASS"}]}
|
||||||
|
- { key: chomage_are, labels: [{ lang: fr, label: "Allocations chômage ARE"}]}
|
||||||
|
- { key: remuneration_stage, labels: [{ lang: fr, label: "Rémunération de stage, d’apprentissage,..."}]}
|
||||||
|
- { key: daily_allowences, labels: [{ lang: fr, label: "Indemnités journalières"}]}
|
||||||
|
- { key: others, labels: [{ lang: fr, label: "Autres"}]}
|
||||||
|
- { key: pension, labels: [{ lang: fr, label: "Pension de retraite"}]}
|
||||||
|
- { key: invalidity, labels: [{ lang: fr, label: "Pension d'invalidité"}]}
|
||||||
|
- { key: reversion, labels: [{ lang: fr, label: "Pension de réversion"}]}
|
||||||
|
- { key: widowhood, labels: [{ lang: fr, label: "Pension de veuvage"}]}
|
||||||
|
- { key: military, labels: [{ lang: fr, label: "Pension militaire"}]}
|
||||||
|
- { key: food, labels: [{ lang: fr, label: "Pension alimentaire"}]}
|
||||||
|
- { key: compensation, labels: [{ lang: fr, label: "Pension de prestation compensatoire"}]}
|
||||||
|
- { key: allocation_handicap_adult, labels: [{ lang: fr, label: "Allocation aux adultes handicapés"}]}
|
||||||
|
- { key: rsa, labels: [{ lang: fr, label: "RSA"}]}
|
||||||
|
- { key: annuity_accident, labels: [{ lang: fr, label: "Rente accident"}]}
|
||||||
|
- { key: premium_al_pl, labels: [{ lang: fr, label: "Prime d’activité AL/APL au bénéficiaire"}]}
|
||||||
|
- { key: premium_thirdparty, labels: [{ lang: fr, label: "Prime d’activité versé au tiers"}]}
|
||||||
|
- { key: other_income, labels: [{ lang: fr, label: "Autres ressources (ARS, ...)"}]}
|
||||||
|
- { key: allocation_family, labels: [{ lang: fr, label: "Allocations familiales"}]}
|
||||||
|
- { key: allocation_basic, labels: [{ lang: fr, label: "Allocation de base"}]}
|
||||||
|
- { key: free_choice_saving, labels: [{ lang: fr, label: "Complément de libre choix du mode de garde"}]}
|
||||||
|
- { key: shared_benefits_child, labels: [{ lang: fr, label: "Prestation partagée éducation de l’enfant"}]}
|
||||||
|
- { key: complimentary_family, labels: [{ lang: fr, label: "Complément familial"}]}
|
||||||
|
- { key: allocation_family_support, labels: [{ lang: fr, label: "Allocation de soutien familial"}]}
|
||||||
|
- { key: allocation_education_child_handicap, labels: [{ lang: fr, label: "Allocation d’éducation de l’enfant handicapé"}]}
|
||||||
|
|
||||||
|
charges:
|
||||||
|
- { key: rent, labels: [{ lang: fr, label: "Loyer" }]}
|
||||||
|
- { key: home_ownership, labels: [{ lang: fr, label: "Accession à la propriété" }]}
|
||||||
|
- { key: costs_accomodation, labels: [{ lang: fr, label: "Frais d’hébergement" }]}
|
||||||
|
- { key: home_insurance, labels: [{ lang: fr, label: "Assurance habitation" }]}
|
||||||
|
- { key: taxes, labels: [{ lang: fr, label: "Impôts (taxe habitation, taxe foncière, ordures ménagères, redevances incitatives)" }]}
|
||||||
|
- { key: impots, labels: [{lang: fr, label: "Impôts"}]}
|
||||||
|
- { key: electricity, labels: [{ lang: fr, label: "Electricité" }]}
|
||||||
|
- { key: gas, labels: [{ lang: fr, label: "Gaz en bouteille" }]}
|
||||||
|
- { key: heating, labels: [{ lang: fr, label: "Autre moyen de chauffage" }]}
|
||||||
|
- { key: water, labels: [{ lang: fr, label: "Eau" }]}
|
||||||
|
- { key: school_fees, labels: [ { lang: fr, label: "Frais de scolarité"}]}
|
||||||
|
- { key: alimony, labels: [ { lang: fr, label: "Pension alimentaire à reverser"}]}
|
||||||
|
- { key: child_care, labels: [ { lang: fr, label: "Frais de garde (en totalité)"}]}
|
||||||
|
- { key: telecom, labels: [ { lang: fr, label: "Frais de communication fixe"}]}
|
||||||
|
- { key: mobilephone, labels: [ { lang: fr, label: "Frais de communication mobile"}]}
|
||||||
|
- { key: internet, labels: [ { lang: fr, label: "Frais de communication internet"}]}
|
||||||
|
- { key: insurance, labels: [{ lang: fr, label: "Assurances"}]}
|
||||||
|
- { key: debt_commission, labels: [{ lang: fr, label: "Saisine de la commission surendettement"}]}
|
||||||
|
- { key: recovery_plan, labels: [{ lang: fr, label: "Plan de redressement"}]}
|
||||||
|
- { key: rpr, labels: [{ lang: fr, label: "PRP"}]}
|
||||||
|
- { key: moratoire, labels: [{lang: fr, label: "Moratoire"}]}
|
||||||
|
- { key: mutuelle, labels: [{lang: fr, label: "Mutuelle"}]}
|
||||||
|
- { key: transport, labels: [{lang: fr, label: "Frais de transport"}]}
|
||||||
|
- { key: decouvbank, labels: [{lang: fr, label: "Découvert bancaire utilisé"}]}
|
||||||
|
- { key: procsaisie, labels: [{lang: fr, label: "Procédure de saisie"}]}
|
||||||
|
- { key: indus, labels: [{lang: fr, label: "Indus"}]}
|
||||||
|
- { key: apurement, labels: [{lang: fr, label: "Plan d'apurement"}]}
|
||||||
|
- { key: debt_rent, labels: [{lang: fr, label: "Dette de loyer (hors APL)"}]}
|
||||||
|
- { key: debt_property, labels: [{lang: fr, label: "Dette d'accession à la propriété"}]}
|
||||||
|
- { key: debt_lodging, labels: [{lang: fr, label: "Dette de frais d’hébergement"}]}
|
||||||
|
- { key: debt_electricity, labels: [{lang: fr, label: "Dette d'électricité"}]}
|
||||||
|
- { key: debt_water, labels: [{lang: fr, label: "Dette d'eau"}]}
|
||||||
|
- { key: debt_heating, labels: [{lang: fr, label: "Dette d'autre moyen de chauffage"}]}
|
||||||
|
- { key: debt_gas, labels: [{lang: fr, label: "Dette de gaz en bouteille"}]}
|
||||||
|
- { key: debt_house_insurance, labels: [{lang: fr, label: "Dette d'assurance habitation"}]}
|
||||||
|
- { key: debt_housing_taxes, labels: [{lang: fr, label: "Dette d'impôts liées au logement"}]}
|
||||||
|
- { key: debt_taxes, labels: [{lang: fr, label: "Dette d'impôts autres"}]}
|
||||||
|
- { key: debt_school, labels: [{lang: fr, label: "Dette de frais de scolarité (cantine, transport, frais de scolarité, frais de garde)"}]}
|
||||||
|
- { key: debt_alimentation, labels: [{lang: fr, label: "Dette de pension alimentaire à reverser"}]}
|
||||||
|
- { key: debt_childcare, labels: [{lang: fr, label: "Dette de frais de garde (en totalité)"}]}
|
||||||
|
- { key: debt_phone, labels: [{lang: fr, label: "Dette de communication fixe"}]}
|
||||||
|
- { key: debt_mobile, labels: [{lang: fr, label: "Dette de communication portable"}]}
|
||||||
|
- { key: debt_internet, labels: [{lang: fr, label: "Dette de communication internet"}]}
|
||||||
|
- { key: debt_car_insurance, labels: [{lang: fr, label: "Dette d'assurance auto"}]}
|
||||||
|
- { key: debt_mutual, labels: [{lang: fr, label: "Dette de mutuelle"}]}
|
||||||
|
- { key: debt_transport, labels: [{lang: fr, label: "Dette de frais de transport"}]}
|
||||||
|
- { key: debt_bank, labels: [{lang: fr, label: "Dette de découvert bancaire utilisé"}]}
|
||||||
|
- { key: debt_garbage, labels: [{lang: fr, label: "Dette de taxe d’ordures ménagère"}]}
|
||||||
|
- { key: debt_other, labels: [{lang: fr, label: "Dette autre"}]}
|
||||||
|
- { key: autre, labels: [{lang: fr, label: "Autre"}]}
|
||||||
|
|
3
config/packages/chill_calendar.yaml
Normal file
3
config/packages/chill_calendar.yaml
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
chill_calendar:
|
||||||
|
remote_calendars_sync:
|
||||||
|
enabled: false
|
5
config/packages/chill_doc_generator.yaml
Normal file
5
config/packages/chill_doc_generator.yaml
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
chill_doc_generator:
|
||||||
|
driver:
|
||||||
|
type: relatorio
|
||||||
|
relatorio:
|
||||||
|
url: 'http://%env(RELATORIO_HOST)%:%env(RELATORIO_PORT)%/'
|
6
config/packages/chill_doc_store.yaml
Normal file
6
config/packages/chill_doc_store.yaml
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
chill_doc_store:
|
||||||
|
openstack:
|
||||||
|
temp_url:
|
||||||
|
temp_url_key: '%env(resolve:ASYNC_UPLOAD_TEMP_URL_KEY)%' # Required
|
||||||
|
container: '%env(resolve:ASYNC_UPLOAD_TEMP_URL_CONTAINER)%' # Required
|
||||||
|
temp_url_base_path: '%env(resolve:ASYNC_UPLOAD_TEMP_URL_BASE_PATH)%' # Required
|
11
config/packages/chill_workflow_signature_documents.yaml
Normal file
11
config/packages/chill_workflow_signature_documents.yaml
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
chill_main:
|
||||||
|
workflow_signature:
|
||||||
|
base_signer:
|
||||||
|
document_kinds:
|
||||||
|
- { key: id_card, labels: [ { lang: fr, label: "Carte d'identité" } ] }
|
||||||
|
- { key: passport, labels: [ { lang: fr, label: "Passeport" } ] }
|
||||||
|
- { key: drivers_license, labels: [ { lang: fr, label: "Permis de conduire" } ] }
|
||||||
|
- { key: visa_long_stay, labels: [ { lang: fr, label: "Visa de long séjour" } ] }
|
||||||
|
- { key: resident_permit, labels: [ { lang: fr, label: "Carte de séjour" } ] }
|
||||||
|
- { key: residency_card, labels: [ { lang: fr, label: "Carte de résident" } ] }
|
||||||
|
- { key: provisionary_residency_permit, labels: [ { lang: fr, label: "Autorisation provisoire de séjour" } ] }
|
5
config/packages/debug.yaml
Normal file
5
config/packages/debug.yaml
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
when@dev:
|
||||||
|
debug:
|
||||||
|
# Forwards VarDumper Data clones to a centralized server allowing to inspect dumps on CLI or in your browser.
|
||||||
|
# See the "server:dump" command to start a new server.
|
||||||
|
dump_destination: "tcp://%env(VAR_DUMPER_SERVER)%"
|
38
config/packages/doctrine.yaml
Normal file
38
config/packages/doctrine.yaml
Normal file
@@ -0,0 +1,38 @@
|
|||||||
|
doctrine:
|
||||||
|
dbal:
|
||||||
|
url: '%env(resolve:DATABASE_URL)%'
|
||||||
|
|
||||||
|
# IMPORTANT: You MUST configure your server version,
|
||||||
|
# either here or in the DATABASE_URL env var (see .env file)
|
||||||
|
#server_version: '16'
|
||||||
|
use_savepoints: true
|
||||||
|
orm:
|
||||||
|
auto_generate_proxy_classes: true
|
||||||
|
naming_strategy: doctrine.orm.naming_strategy.default
|
||||||
|
auto_mapping: true
|
||||||
|
|
||||||
|
when@test:
|
||||||
|
doctrine:
|
||||||
|
dbal:
|
||||||
|
# "TEST_TOKEN" is typically set by ParaTest
|
||||||
|
dbname_suffix: '_test%env(default::TEST_TOKEN)%'
|
||||||
|
|
||||||
|
when@prod:
|
||||||
|
doctrine:
|
||||||
|
orm:
|
||||||
|
auto_generate_proxy_classes: false
|
||||||
|
proxy_dir: '%kernel.build_dir%/doctrine/orm/Proxies'
|
||||||
|
query_cache_driver:
|
||||||
|
type: pool
|
||||||
|
pool: doctrine.system_cache_pool
|
||||||
|
result_cache_driver:
|
||||||
|
type: pool
|
||||||
|
pool: doctrine.result_cache_pool
|
||||||
|
|
||||||
|
framework:
|
||||||
|
cache:
|
||||||
|
pools:
|
||||||
|
doctrine.result_cache_pool:
|
||||||
|
adapter: cache.app
|
||||||
|
doctrine.system_cache_pool:
|
||||||
|
adapter: cache.system
|
2
config/packages/doctrine_migrations.yaml
Normal file
2
config/packages/doctrine_migrations.yaml
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
doctrine_migrations:
|
||||||
|
enable_profiler: false
|
@@ -7,24 +7,15 @@ doctrine_migrations:
|
|||||||
'Chill\Migrations\CustomFields': '@ChillCustomFieldsBundle/migrations'
|
'Chill\Migrations\CustomFields': '@ChillCustomFieldsBundle/migrations'
|
||||||
'Chill\Migrations\Event': '@ChillEventBundle/migrations'
|
'Chill\Migrations\Event': '@ChillEventBundle/migrations'
|
||||||
'Chill\Migrations\Person': '@ChillPersonBundle/migrations'
|
'Chill\Migrations\Person': '@ChillPersonBundle/migrations'
|
||||||
'Chill\Migrations\Report': '@ChillReportBundle/migrations'
|
|
||||||
'Chill\Migrations\Task': '@ChillTaskBundle/migrations'
|
'Chill\Migrations\Task': '@ChillTaskBundle/migrations'
|
||||||
'Chill\Migrations\ThirdParty': '@ChillThirdPartyBundle/migrations'
|
'Chill\Migrations\ThirdParty': '@ChillThirdPartyBundle/migrations'
|
||||||
'Chill\Migrations\AsideActivity': '@ChillAsideActivityBundle/migrations'
|
|
||||||
'Chill\Migrations\DocGenerator': '@ChillDocGeneratorBundle/migrations'
|
'Chill\Migrations\DocGenerator': '@ChillDocGeneratorBundle/migrations'
|
||||||
|
'Chill\Migrations\AsideActivity': '@ChillAsideActivityBundle/migrations'
|
||||||
'Chill\Migrations\Calendar': '@ChillCalendarBundle/migrations'
|
'Chill\Migrations\Calendar': '@ChillCalendarBundle/migrations'
|
||||||
'Chill\Migrations\Budget': '@ChillBudgetBundle/migrations'
|
'Chill\Migrations\Budget': '@ChillBudgetBundle/migrations'
|
||||||
|
'Chill\Migrations\Report': '@ChillReportBundle/migrations'
|
||||||
all_or_nothing:
|
all_or_nothing:
|
||||||
true
|
true
|
||||||
|
|
||||||
services:
|
services:
|
||||||
'Doctrine\Migrations\Version\Comparator': 'Chill\MainBundle\Doctrine\Migrations\VersionComparator'
|
'Doctrine\Migrations\Version\Comparator': 'Chill\MainBundle\Doctrine\Migrations\VersionComparator'
|
||||||
|
|
||||||
storage:
|
|
||||||
table_storage:
|
|
||||||
table_name: 'migration_versions'
|
|
||||||
version_column_name: 'version'
|
|
||||||
version_column_length: 1024
|
|
||||||
executed_at_column_name: 'executed_at'
|
|
||||||
execution_time_column_name: 'execution_time'
|
|
@@ -1,14 +1,8 @@
|
|||||||
# see https://symfony.com/doc/current/reference/configuration/framework.html
|
# see https://symfony.com/doc/current/reference/configuration/framework.html
|
||||||
framework:
|
framework:
|
||||||
secret: '%env(APP_SECRET)%'
|
secret: '%env(APP_SECRET)%'
|
||||||
|
|
||||||
# DIRTY FIX un bug dans symfony4 empêche de récupérer un tableau de variables depuis .env
|
|
||||||
# cfr. https://github.com/symfony/symfony/issues/28599
|
|
||||||
trusted_hosts:
|
|
||||||
- '^(localhost|127.0.0.1)$'
|
|
||||||
|
|
||||||
#csrf_protection: true
|
#csrf_protection: true
|
||||||
#http_method_override: true
|
http_method_override: false
|
||||||
|
|
||||||
# Enables session support. Note that the session will ONLY be started if you read or write from it.
|
# Enables session support. Note that the session will ONLY be started if you read or write from it.
|
||||||
# Remove or comment this section to explicitly disable session support.
|
# Remove or comment this section to explicitly disable session support.
|
||||||
@@ -16,12 +10,17 @@ framework:
|
|||||||
handler_id: null
|
handler_id: null
|
||||||
cookie_secure: auto
|
cookie_secure: auto
|
||||||
cookie_samesite: lax
|
cookie_samesite: lax
|
||||||
|
storage_factory_id: session.storage.factory.native
|
||||||
|
|
||||||
#esi: true
|
#esi: true
|
||||||
#fragments: true
|
#fragments: true
|
||||||
php_errors:
|
php_errors:
|
||||||
log: true
|
log: true
|
||||||
|
|
||||||
## sf4 check: ou à déplacer dans un chill.yaml
|
when@test:
|
||||||
assets:
|
framework:
|
||||||
json_manifest_path: '%kernel.project_dir%/public/build/manifest.json'
|
test: true
|
||||||
|
session:
|
||||||
|
storage_factory_id: session.storage.factory.mock_file
|
||||||
|
assets:
|
||||||
|
json_manifest_path: null
|
@@ -1,3 +1,8 @@
|
|||||||
framework:
|
framework:
|
||||||
assets:
|
assets:
|
||||||
json_manifest_path: '%kernel.project_dir%/public/build/manifest.json'
|
json_manifest_path: '%kernel.project_dir%/public/build/manifest.json'
|
||||||
|
|
||||||
|
when@test:
|
||||||
|
framework:
|
||||||
|
assets:
|
||||||
|
json_manifest_path: null
|
3
config/packages/knpu_oauth2_client.yaml
Normal file
3
config/packages/knpu_oauth2_client.yaml
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
knpu_oauth2_client:
|
||||||
|
clients:
|
||||||
|
# configure your clients as described here: https://github.com/knpuniversity/oauth2-client-bundle#configuration
|
4
config/packages/lexik_jwt_authentication.yaml
Normal file
4
config/packages/lexik_jwt_authentication.yaml
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
lexik_jwt_authentication:
|
||||||
|
secret_key: '%env(resolve:JWT_SECRET_KEY)%'
|
||||||
|
public_key: '%env(resolve:JWT_PUBLIC_KEY)%'
|
||||||
|
pass_phrase: '%env(JWT_PASSPHRASE)%'
|
9
config/packages/lexik_jwt_authentication_chill.yaml
Normal file
9
config/packages/lexik_jwt_authentication_chill.yaml
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
lexik_jwt_authentication:
|
||||||
|
# required for wopi - recommended duration
|
||||||
|
token_ttl: 36000
|
||||||
|
|
||||||
|
# required for wopi - token in parameter access_token
|
||||||
|
token_extractors:
|
||||||
|
query_parameter:
|
||||||
|
enabled: true
|
||||||
|
name: access_token
|
3
config/packages/mailer.yaml
Normal file
3
config/packages/mailer.yaml
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
framework:
|
||||||
|
mailer:
|
||||||
|
dsn: '%env(MAILER_DSN)%'
|
4
config/packages/mailer_chill.yaml
Normal file
4
config/packages/mailer_chill.yaml
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
framework:
|
||||||
|
mailer:
|
||||||
|
envelope:
|
||||||
|
sender: '%env(NOTIFICATION_FROM_EMAIL)%'
|
75
config/packages/messenger.yaml
Normal file
75
config/packages/messenger.yaml
Normal file
@@ -0,0 +1,75 @@
|
|||||||
|
framework:
|
||||||
|
messenger:
|
||||||
|
# reset services after consuming messages
|
||||||
|
reset_on_message: true
|
||||||
|
|
||||||
|
# Uncomment this (and the failed transport below) to send failed messages to this transport for later handling.
|
||||||
|
failure_transport: failed
|
||||||
|
|
||||||
|
transports:
|
||||||
|
# those transports are added by chill-bundles recipes
|
||||||
|
sync: sync://
|
||||||
|
async:
|
||||||
|
dsn: '%env(MESSENGER_TRANSPORT_DSN)%/async'
|
||||||
|
options:
|
||||||
|
exchange:
|
||||||
|
name: async
|
||||||
|
type: fanout
|
||||||
|
queues:
|
||||||
|
async: ~
|
||||||
|
auto_setup: true
|
||||||
|
|
||||||
|
priority: '%env(MESSENGER_TRANSPORT_DSN)%/priority'
|
||||||
|
# end of transports added by chill-bundles recipes
|
||||||
|
# https://symfony.com/doc/current/messenger.html#transport-configuration
|
||||||
|
failed: 'doctrine://default?queue_name=failed'
|
||||||
|
to_sign_worker:
|
||||||
|
dsn: '%env(MESSENGER_TRANSPORT_DSN)%/to_python_sign'
|
||||||
|
serializer: Chill\DocStoreBundle\Service\Signature\Driver\BaseSigner\RequestPdfSignMessageSerializer
|
||||||
|
options:
|
||||||
|
exchange:
|
||||||
|
name: to_python_sign
|
||||||
|
type: direct
|
||||||
|
queues:
|
||||||
|
to_python_sign: ~
|
||||||
|
signed_docs:
|
||||||
|
dsn: '%env(MESSENGER_TRANSPORT_DSN)%/signed_docs'
|
||||||
|
serializer: Chill\DocStoreBundle\Service\Signature\Driver\BaseSigner\PdfSignedMessageSerializer
|
||||||
|
options:
|
||||||
|
exchange:
|
||||||
|
name: signed_docs
|
||||||
|
type: direct
|
||||||
|
queues:
|
||||||
|
signed_docs:
|
||||||
|
binding_keys: [signed_doc]
|
||||||
|
|
||||||
|
auto_setup: false
|
||||||
|
|
||||||
|
routing:
|
||||||
|
# routes added by chill-bundles recipes
|
||||||
|
'Chill\CalendarBundle\Messenger\Message\CalendarRangeMessage': async
|
||||||
|
'Chill\CalendarBundle\Messenger\Message\CalendarRangeRemovedMessage': async
|
||||||
|
'Chill\CalendarBundle\Messenger\Message\CalendarRemovedMessage': async
|
||||||
|
'Chill\CalendarBundle\Messenger\Message\CalendarMessage': async
|
||||||
|
'Chill\CalendarBundle\Messenger\Message\InviteUpdateMessage': async
|
||||||
|
'Chill\CalendarBundle\Messenger\Message\MSGraphChangeNotificationMessage': async
|
||||||
|
'Chill\MainBundle\Service\ShortMessage\ShortMessage': async
|
||||||
|
'Chill\DocGeneratorBundle\Service\Messenger\RequestGenerationMessage': priority
|
||||||
|
'Chill\PersonBundle\AccompanyingPeriod\Lifecycle\AccompanyingPeriodStepChangeRequestMessage': async
|
||||||
|
'Chill\DocStoreBundle\Service\Signature\Driver\BaseSigner\RequestPdfSignMessage': to_sign_worker
|
||||||
|
'Chill\DocStoreBundle\Service\StoredObjectCleaner\RemoveOldVersionMessage': async
|
||||||
|
'Chill\MainBundle\Workflow\Messenger\PostSignatureStateChangeMessage': priority
|
||||||
|
'Chill\MainBundle\Workflow\Messenger\PostPublicViewMessage': async
|
||||||
|
'Chill\MainBundle\Service\Workflow\CancelStaleWorkflowMessage': async
|
||||||
|
# end of routes added by chill-bundles recipes
|
||||||
|
# Route your messages to the transports
|
||||||
|
# 'App\Message\YourMessage': async
|
||||||
|
# 'Symfony\Component\Mailer\Messenger\SendEmailMessage': async
|
||||||
|
|
||||||
|
when@test:
|
||||||
|
framework:
|
||||||
|
messenger:
|
||||||
|
transports:
|
||||||
|
async: 'in-memory://'
|
||||||
|
priority: 'in-memory://'
|
||||||
|
signed_docs: 'in-memory://'
|
13
config/packages/misd_phone_number.yaml
Normal file
13
config/packages/misd_phone_number.yaml
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
# To persist libphonenumber\PhoneNumber objects, add the Misd\PhoneNumberBundle\Doctrine\DBAL\Types\PhoneNumberType mapping to your application's config.
|
||||||
|
# This requires: doctrine/doctrine-bundle
|
||||||
|
#doctrine:
|
||||||
|
# dbal:
|
||||||
|
# types:
|
||||||
|
# phone_number: Misd\PhoneNumberBundle\Doctrine\DBAL\Types\PhoneNumberType
|
||||||
|
|
||||||
|
#misd_phone_number:
|
||||||
|
# twig: false
|
||||||
|
# form: false
|
||||||
|
# serializer: false
|
||||||
|
# validator:
|
||||||
|
# default_region: GB
|
62
config/packages/monolog.yaml
Normal file
62
config/packages/monolog.yaml
Normal file
@@ -0,0 +1,62 @@
|
|||||||
|
monolog:
|
||||||
|
channels:
|
||||||
|
- deprecation # Deprecations are logged in the dedicated "deprecation" channel when it exists
|
||||||
|
|
||||||
|
when@dev:
|
||||||
|
monolog:
|
||||||
|
handlers:
|
||||||
|
main:
|
||||||
|
type: stream
|
||||||
|
path: "%kernel.logs_dir%/%kernel.environment%.log"
|
||||||
|
level: debug
|
||||||
|
channels: ["!event"]
|
||||||
|
# uncomment to get logging in your browser
|
||||||
|
# you may have to allow bigger header sizes in your Web server configuration
|
||||||
|
#firephp:
|
||||||
|
# type: firephp
|
||||||
|
# level: info
|
||||||
|
#chromephp:
|
||||||
|
# type: chromephp
|
||||||
|
# level: info
|
||||||
|
console:
|
||||||
|
type: console
|
||||||
|
process_psr_3_messages: false
|
||||||
|
channels: ["!event", "!doctrine", "!console"]
|
||||||
|
|
||||||
|
when@test:
|
||||||
|
monolog:
|
||||||
|
handlers:
|
||||||
|
main:
|
||||||
|
type: fingers_crossed
|
||||||
|
action_level: error
|
||||||
|
handler: nested
|
||||||
|
excluded_http_codes: [404, 405]
|
||||||
|
channels: ["!event"]
|
||||||
|
nested:
|
||||||
|
type: stream
|
||||||
|
path: "%kernel.logs_dir%/%kernel.environment%.log"
|
||||||
|
level: debug
|
||||||
|
|
||||||
|
when@prod:
|
||||||
|
monolog:
|
||||||
|
handlers:
|
||||||
|
main:
|
||||||
|
type: fingers_crossed
|
||||||
|
action_level: error
|
||||||
|
handler: nested
|
||||||
|
excluded_http_codes: [404, 405]
|
||||||
|
buffer_size: 50 # How many messages should be saved? Prevent memory leaks
|
||||||
|
nested:
|
||||||
|
type: stream
|
||||||
|
path: php://stderr
|
||||||
|
level: debug
|
||||||
|
formatter: monolog.formatter.json
|
||||||
|
console:
|
||||||
|
type: console
|
||||||
|
process_psr_3_messages: false
|
||||||
|
channels: ["!event", "!doctrine"]
|
||||||
|
deprecation:
|
||||||
|
type: stream
|
||||||
|
channels: [deprecation]
|
||||||
|
path: php://stderr
|
||||||
|
formatter: monolog.formatter.json
|
12
config/packages/nelmio_alice.yaml
Normal file
12
config/packages/nelmio_alice.yaml
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
when@dev: &dev
|
||||||
|
nelmio_alice:
|
||||||
|
functions_blacklist:
|
||||||
|
- 'current'
|
||||||
|
- 'shuffle'
|
||||||
|
- 'date'
|
||||||
|
- 'time'
|
||||||
|
- 'file'
|
||||||
|
- 'md5'
|
||||||
|
- 'sha1'
|
||||||
|
|
||||||
|
when@test: *dev
|
@@ -7,15 +7,5 @@ services:
|
|||||||
Psr\Http\Message\UploadedFileFactoryInterface: '@nyholm.psr7.psr17_factory'
|
Psr\Http\Message\UploadedFileFactoryInterface: '@nyholm.psr7.psr17_factory'
|
||||||
Psr\Http\Message\UriFactoryInterface: '@nyholm.psr7.psr17_factory'
|
Psr\Http\Message\UriFactoryInterface: '@nyholm.psr7.psr17_factory'
|
||||||
|
|
||||||
# Register nyholm/psr7 services for autowiring with HTTPlug factories
|
|
||||||
Http\Message\MessageFactory: '@nyholm.psr7.httplug_factory'
|
|
||||||
Http\Message\RequestFactory: '@nyholm.psr7.httplug_factory'
|
|
||||||
Http\Message\ResponseFactory: '@nyholm.psr7.httplug_factory'
|
|
||||||
Http\Message\StreamFactory: '@nyholm.psr7.httplug_factory'
|
|
||||||
Http\Message\UriFactory: '@nyholm.psr7.httplug_factory'
|
|
||||||
|
|
||||||
nyholm.psr7.psr17_factory:
|
nyholm.psr7.psr17_factory:
|
||||||
class: Nyholm\Psr7\Factory\Psr17Factory
|
class: Nyholm\Psr7\Factory\Psr17Factory
|
||||||
|
|
||||||
nyholm.psr7.httplug_factory:
|
|
||||||
class: Nyholm\Psr7\Factory\HttplugFactory
|
|
@@ -5,3 +5,8 @@ framework:
|
|||||||
# Configure how to generate URLs in non-HTTP contexts, such as CLI commands.
|
# Configure how to generate URLs in non-HTTP contexts, such as CLI commands.
|
||||||
# See https://symfony.com/doc/current/routing.html#generating-urls-in-commands
|
# See https://symfony.com/doc/current/routing.html#generating-urls-in-commands
|
||||||
#default_uri: http://localhost
|
#default_uri: http://localhost
|
||||||
|
|
||||||
|
when@prod:
|
||||||
|
framework:
|
||||||
|
router:
|
||||||
|
strict_requirements: null
|
8
config/packages/routing_chill.yaml
Normal file
8
config/packages/routing_chill.yaml
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
parameters:
|
||||||
|
composed_uri: 'https://%env(resolve:NOTIFICATION_HOST)%'
|
||||||
|
|
||||||
|
framework:
|
||||||
|
router:
|
||||||
|
# Configure how to generate URLs in non-HTTP contexts, such as CLI commands.
|
||||||
|
# See https://symfony.com/doc/current/routing.html#generating-urls-in-commands
|
||||||
|
default_uri: '%composed_uri%'
|
91
config/packages/security.yaml
Normal file
91
config/packages/security.yaml
Normal file
@@ -0,0 +1,91 @@
|
|||||||
|
security:
|
||||||
|
enable_authenticator_manager: true
|
||||||
|
# https://symfony.com/doc/current/security.html#registering-the-user-hashing-passwords
|
||||||
|
password_hashers:
|
||||||
|
Symfony\Component\Security\Core\User\PasswordAuthenticatedUserInterface: 'auto'
|
||||||
|
# https://symfony.com/doc/current/security.html#loading-the-user-the-user-provider
|
||||||
|
providers:
|
||||||
|
# providers added by chill-bundles recipes\n
|
||||||
|
# those providers are required to make chill working
|
||||||
|
chill_chain_provider:
|
||||||
|
chain:
|
||||||
|
providers: [chill_in_memory, chill_users]
|
||||||
|
chill_in_memory:
|
||||||
|
memory:
|
||||||
|
users:
|
||||||
|
admin: { password: '%env(resolve:ADMIN_PASSWORD)%', roles: ['ROLE_ADMIN', 'ROLE_ALLOWED_TO_SWITCH', 'ROLE_USER'] }
|
||||||
|
chill_users:
|
||||||
|
id: chill.main.user_provider
|
||||||
|
# end of providers added by chill-bundles recipes\n
|
||||||
|
# all other providers might be removed, unless you have specific needs\n
|
||||||
|
firewalls:
|
||||||
|
dev:
|
||||||
|
pattern: ^/(_(profiler|wdt)|css|images|js)/
|
||||||
|
security: false
|
||||||
|
# those lines are added by chill-bundles recipe, and are requires to make chill-bundles working
|
||||||
|
# this firewall is in use for wopi endpoint, which requires
|
||||||
|
wopi:
|
||||||
|
pattern: ^/wopi
|
||||||
|
provider: chill_chain_provider
|
||||||
|
stateless: true
|
||||||
|
guard:
|
||||||
|
authenticators:
|
||||||
|
- lexik_jwt_authentication.jwt_token_authenticator
|
||||||
|
dav:
|
||||||
|
pattern: ^/dav
|
||||||
|
provider: chill_chain_provider
|
||||||
|
stateless: true
|
||||||
|
guard:
|
||||||
|
authenticators:
|
||||||
|
- Chill\DocStoreBundle\Security\Guard\JWTOnDavUrlAuthenticator
|
||||||
|
# this firewall is the main firewall for chill. It should be the last one in the stack,
|
||||||
|
# unless you have specific needs
|
||||||
|
chill_main:
|
||||||
|
provider: chill_chain_provider
|
||||||
|
entry_point: form_login
|
||||||
|
form_login:
|
||||||
|
csrf_parameter: _csrf_token
|
||||||
|
csrf_token_id: authenticate
|
||||||
|
#csrf_provider: security.csrf.token_manager
|
||||||
|
logout:
|
||||||
|
path: /logout
|
||||||
|
# uncomment to enable impersonate mode in Chill
|
||||||
|
# https://symfony.com/doc/current/security/impersonating_user.html
|
||||||
|
switch_user: true
|
||||||
|
# end of lines added by chill-bundles recipe
|
||||||
|
# activate different ways to authenticate
|
||||||
|
# https://symfony.com/doc/current/security.html#the-firewall
|
||||||
|
|
||||||
|
# https://symfony.com/doc/current/security/impersonating_user.html
|
||||||
|
# switch_user: true
|
||||||
|
|
||||||
|
# Easy way to control access for large sections of your site
|
||||||
|
# Note: Only the *first* access control that matches will be used
|
||||||
|
access_control:
|
||||||
|
# those lines are added by chill-bundles recipes, and are requires to make chill-bundles working
|
||||||
|
- { path: ^/(login|logout), roles: IS_AUTHENTICATED_ANONYMOUSLY }
|
||||||
|
- { path: ^/public, roles: IS_AUTHENTICATED_ANONYMOUSLY }
|
||||||
|
- { path: ^/wopi, roles: IS_AUTHENTICATED_FULLY }
|
||||||
|
# access for homepage, the homepage redirect admin to admin section
|
||||||
|
- { path: ^/$, roles: [ IS_AUTHENTICATED_REMEMBERED ] }
|
||||||
|
- { path: ^/homepage$, roles: [ IS_AUTHENTICATED_REMEMBERED ] }
|
||||||
|
# idem
|
||||||
|
- { path: ^/([a-z]+/)?homepage, roles: [ IS_AUTHENTICATED_REMEMBERED ] }
|
||||||
|
# admin section, only for admin
|
||||||
|
- { path: ^/([a-z]+/)?admin, roles: ROLE_ADMIN }
|
||||||
|
# other pages, only for regular user (no admin)
|
||||||
|
- { path: ^/, roles: ROLE_USER }
|
||||||
|
# this is the end of line added by chill-project/chill-bundles recipes
|
||||||
|
|
||||||
|
when@test:
|
||||||
|
security:
|
||||||
|
password_hashers:
|
||||||
|
# By default, password hashers are resource intensive and take time. This is
|
||||||
|
# important to generate secure password hashes. In tests however, secure hashes
|
||||||
|
# are not important, waste resources and increase test times. The following
|
||||||
|
# reduces the work factor to the lowest possible values.
|
||||||
|
Symfony\Component\Security\Core\User\PasswordAuthenticatedUserInterface:
|
||||||
|
algorithm: auto
|
||||||
|
cost: 4 # Lowest possible value for bcrypt
|
||||||
|
time_cost: 3 # Lowest possible value for argon
|
||||||
|
memory_cost: 10 # Lowest possible value for argon
|
9
config/packages/security_chill.yaml
Normal file
9
config/packages/security_chill.yaml
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
security:
|
||||||
|
access_decision_manager:
|
||||||
|
strategy: unanimous
|
||||||
|
allow_if_all_abstain: false
|
||||||
|
|
||||||
|
when@test:
|
||||||
|
security:
|
||||||
|
role_hierarchy:
|
||||||
|
CHILL_MASTER_ROLE: [ CHILL_INHERITED_ROLE_1 ]
|
7
config/packages/translation.yaml
Normal file
7
config/packages/translation.yaml
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
framework:
|
||||||
|
default_locale: en
|
||||||
|
translator:
|
||||||
|
default_path: '%kernel.project_dir%/translations'
|
||||||
|
fallbacks:
|
||||||
|
- en
|
||||||
|
providers:
|
4
config/packages/translation_chill.yaml
Normal file
4
config/packages/translation_chill.yaml
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
framework:
|
||||||
|
default_locale: '%env(resolve:LOCALE)%'
|
||||||
|
translator:
|
||||||
|
fallbacks: [ '%env(resolve:LOCALE)%' ]
|
6
config/packages/twig.yaml
Normal file
6
config/packages/twig.yaml
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
twig:
|
||||||
|
default_path: '%kernel.project_dir%/templates'
|
||||||
|
|
||||||
|
when@test:
|
||||||
|
twig:
|
||||||
|
strict_variables: true
|
@@ -1,9 +1,4 @@
|
|||||||
twig:
|
twig:
|
||||||
default_path: '%kernel.project_dir%/templates'
|
|
||||||
debug: '%kernel.debug%'
|
|
||||||
strict_variables: '%kernel.debug%'
|
|
||||||
exception_controller: null
|
|
||||||
|
|
||||||
## In Symfony 5, bootstrap_5 theme is supported. But not yet in sf4 !!
|
## In Symfony 5, bootstrap_5 theme is supported. But not yet in sf4 !!
|
||||||
# see sf5 https://symfony.com/doc/current/form/form_themes.html
|
# see sf5 https://symfony.com/doc/current/form/form_themes.html
|
||||||
# see sf4 https://symfony.com/doc/4.4/form/form_themes.html
|
# see sf4 https://symfony.com/doc/4.4/form/form_themes.html
|
||||||
@@ -14,4 +9,8 @@ twig:
|
|||||||
# and adapt it lightly.
|
# and adapt it lightly.
|
||||||
#
|
#
|
||||||
form_themes: ['@ChillMain/Form/bootstrap5/bootstrap_5_horizontal_layout.html.twig']
|
form_themes: ['@ChillMain/Form/bootstrap5/bootstrap_5_horizontal_layout.html.twig']
|
||||||
#form_themes: ['bootstrap_5_horizontal_layout.html.twig']
|
|
||||||
|
when@dev:
|
||||||
|
twig:
|
||||||
|
globals:
|
||||||
|
responsive_debug: false
|
@@ -6,3 +6,8 @@ framework:
|
|||||||
# For instance, basic validation constraints will be inferred from Doctrine's metadata.
|
# For instance, basic validation constraints will be inferred from Doctrine's metadata.
|
||||||
#auto_mapping:
|
#auto_mapping:
|
||||||
# App\Entity\: []
|
# App\Entity\: []
|
||||||
|
|
||||||
|
when@test:
|
||||||
|
framework:
|
||||||
|
validation:
|
||||||
|
not_compromised_password: false
|
15
config/packages/web_profiler.yaml
Normal file
15
config/packages/web_profiler.yaml
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
when@dev:
|
||||||
|
web_profiler:
|
||||||
|
toolbar: true
|
||||||
|
intercept_redirects: false
|
||||||
|
|
||||||
|
framework:
|
||||||
|
profiler: { only_exceptions: false }
|
||||||
|
|
||||||
|
when@test:
|
||||||
|
web_profiler:
|
||||||
|
toolbar: false
|
||||||
|
intercept_redirects: false
|
||||||
|
|
||||||
|
framework:
|
||||||
|
profiler: { collect: false }
|
@@ -1,16 +1,18 @@
|
|||||||
---
|
|
||||||
webpack_encore:
|
webpack_encore:
|
||||||
# The path where Encore is building the assets - i.e. Encore.setOutputPath()
|
# The path where Encore is building the assets - i.e. Encore.setOutputPath()
|
||||||
output_path: '%kernel.project_dir%/public/build'
|
output_path: '%kernel.project_dir%/public/build'
|
||||||
|
|
||||||
# If multiple builds are defined (as shown below), you can disable the default build:
|
# If multiple builds are defined (as shown below), you can disable the default build:
|
||||||
# output_path: false
|
# output_path: false
|
||||||
|
|
||||||
# Set attributes that will be rendered on all script and link tags
|
# Set attributes that will be rendered on all script and link tags
|
||||||
script_attributes:
|
script_attributes:
|
||||||
defer: true
|
defer: true
|
||||||
|
# Uncomment (also under link_attributes) if using Turbo Drive
|
||||||
|
# https://turbo.hotwired.dev/handbook/drive#reloading-when-assets-change
|
||||||
|
# 'data-turbo-track': reload
|
||||||
# link_attributes:
|
# link_attributes:
|
||||||
#
|
# Uncomment if using Turbo Drive
|
||||||
|
# 'data-turbo-track': reload
|
||||||
|
|
||||||
# If using Encore.enableIntegrityHashes() and need the crossorigin attribute (default: false, or use 'anonymous' or 'use-credentials')
|
# If using Encore.enableIntegrityHashes() and need the crossorigin attribute (default: false, or use 'anonymous' or 'use-credentials')
|
||||||
# crossorigin: 'anonymous'
|
# crossorigin: 'anonymous'
|
||||||
@@ -23,11 +25,17 @@ webpack_encore:
|
|||||||
|
|
||||||
# If you have multiple builds:
|
# If you have multiple builds:
|
||||||
# builds:
|
# builds:
|
||||||
# pass "frontend" as the 3rg arg to the Twig functions
|
|
||||||
# {{ encore_entry_script_tags('entry1', null, 'frontend') }}
|
|
||||||
|
|
||||||
# frontend: '%kernel.project_dir%/public/frontend/build'
|
# frontend: '%kernel.project_dir%/public/frontend/build'
|
||||||
|
|
||||||
# Cache the entrypoints.json (rebuild Symfony's cache when entrypoints.json changes)
|
# pass the build name as the 3rd argument to the Twig functions
|
||||||
# Put in config/packages/prod/webpack_encore.yaml
|
# {{ encore_entry_script_tags('entry1', null, 'frontend') }}
|
||||||
# cache: true
|
|
||||||
|
#when@prod:
|
||||||
|
# webpack_encore:
|
||||||
|
# # Cache the entrypoints.json (rebuild Symfony's cache when entrypoints.json changes)
|
||||||
|
# # Available in version 1.2
|
||||||
|
# cache: true
|
||||||
|
|
||||||
|
when@test:
|
||||||
|
webpack_encore:
|
||||||
|
strict_mode: false
|
2
config/packages/wopi.yaml
Normal file
2
config/packages/wopi.yaml
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
wopi:
|
||||||
|
server: "%env(resolve:EDITOR_SERVER)%"
|
346
config/packages/workflow_chill.yaml
Normal file
346
config/packages/workflow_chill.yaml
Normal file
@@ -0,0 +1,346 @@
|
|||||||
|
framework:
|
||||||
|
workflows:
|
||||||
|
vendee_internal:
|
||||||
|
type: state_machine
|
||||||
|
metadata:
|
||||||
|
related_entity:
|
||||||
|
- Chill\PersonBundle\Entity\AccompanyingPeriod\AccompanyingPeriodWorkEvaluationDocument
|
||||||
|
- Chill\PersonBundle\Entity\AccompanyingPeriod\AccompanyingPeriodWork
|
||||||
|
- Chill\DocStoreBundle\Entity\AccompanyingCourseDocument
|
||||||
|
label:
|
||||||
|
fr: 'Suivi'
|
||||||
|
support_strategy: Chill\MainBundle\Workflow\RelatedEntityWorkflowSupportsStrategy
|
||||||
|
marking_store:
|
||||||
|
service: Chill\MainBundle\Workflow\EntityWorkflowMarkingStore
|
||||||
|
initial_marking: 'initial'
|
||||||
|
places:
|
||||||
|
initial:
|
||||||
|
metadata:
|
||||||
|
label:
|
||||||
|
fr: Étape initiale
|
||||||
|
attenteModification:
|
||||||
|
metadata:
|
||||||
|
label:
|
||||||
|
fr: En attente de modification du document
|
||||||
|
validationFilterInputLabels:
|
||||||
|
forward: {fr: Modification effectuée}
|
||||||
|
backward: {fr: Pas de modification effectuée}
|
||||||
|
neutral: {fr: Autre}
|
||||||
|
attenteMiseEnForme:
|
||||||
|
metadata:
|
||||||
|
label:
|
||||||
|
fr: En attente de mise en forme
|
||||||
|
validationFilterInputLabels:
|
||||||
|
forward: {fr: Mise en forme terminée}
|
||||||
|
backward: {fr: Pas de mise en forme effectuée}
|
||||||
|
neutral: {fr: Autre}
|
||||||
|
attenteVisa:
|
||||||
|
metadata:
|
||||||
|
label:
|
||||||
|
fr: En attente de visa
|
||||||
|
validationFilterInputLabels:
|
||||||
|
forward: {fr: Visa accordé}
|
||||||
|
backward: {fr: Visa refusé}
|
||||||
|
neutral: {fr: Autre}
|
||||||
|
attenteSignature:
|
||||||
|
metadata:
|
||||||
|
isSignature: ['user', 'person']
|
||||||
|
onSignatureCompleted:
|
||||||
|
transitionName: signatureApplied
|
||||||
|
label:
|
||||||
|
fr: En attente de signature
|
||||||
|
validationFilterInputLabels:
|
||||||
|
forward: {fr: Signature accordée}
|
||||||
|
backward: {fr: Signature refusée}
|
||||||
|
neutral: {fr: Autre}
|
||||||
|
postSignature:
|
||||||
|
metadata:
|
||||||
|
label:
|
||||||
|
fr: Signatures traitées
|
||||||
|
validationFilterInputLabels:
|
||||||
|
forward: {fr: Poursuite du traitement}
|
||||||
|
backward: {fr: Annulation ou refus de signature}
|
||||||
|
neutral: {fr: Autre}
|
||||||
|
attenteTraitement:
|
||||||
|
metadata:
|
||||||
|
label:
|
||||||
|
fr: En attente de traitement
|
||||||
|
validationFilterInputLabels:
|
||||||
|
forward: {fr: Traitement terminé favorablement}
|
||||||
|
backward: {fr: Traitement terminé défavorablement}
|
||||||
|
neutral: {fr: Autre}
|
||||||
|
attenteEnvoi:
|
||||||
|
metadata:
|
||||||
|
label:
|
||||||
|
fr: En attente d'envoi
|
||||||
|
validationFilterInputLabels:
|
||||||
|
forward: {fr: Document envoyé}
|
||||||
|
backward: {fr: Document non envoyé}
|
||||||
|
neutral: {fr: Autre}
|
||||||
|
attenteValidationMiseEnForme:
|
||||||
|
metadata:
|
||||||
|
label:
|
||||||
|
fr: En attente de validation de la mise en forme
|
||||||
|
validationFilterInputLabels:
|
||||||
|
forward: {fr: Validation de la mise en forme}
|
||||||
|
backward: {fr: Refus de validation de la mise en forme}
|
||||||
|
neutral: {fr: Autre}
|
||||||
|
attenteReceptionExternal:
|
||||||
|
metadata:
|
||||||
|
isSentExternal: true
|
||||||
|
onExternalView: clotureApresLectureEnvoiExterne
|
||||||
|
label:
|
||||||
|
fr: En attente d'ouverture par un destinataire externe
|
||||||
|
validationFilterInputLabels:
|
||||||
|
forward: {fr: Document reçu par un destinataire externe}
|
||||||
|
backward: {fr: Document non reçu par un destinataire externe}
|
||||||
|
neutral: {fr: Autre}
|
||||||
|
annule:
|
||||||
|
metadata:
|
||||||
|
isFinal: true
|
||||||
|
isFinalPositive: false
|
||||||
|
label:
|
||||||
|
fr: Annulé
|
||||||
|
final:
|
||||||
|
metadata:
|
||||||
|
isFinal: true
|
||||||
|
isFinalPositive: true
|
||||||
|
label:
|
||||||
|
fr: Finalisé
|
||||||
|
transitions:
|
||||||
|
# transition qui avancent
|
||||||
|
demandeModificationDocument:
|
||||||
|
from:
|
||||||
|
- initial
|
||||||
|
to: attenteModification
|
||||||
|
metadata:
|
||||||
|
label:
|
||||||
|
fr: Demande de modification du document
|
||||||
|
isForward: true
|
||||||
|
demandeMiseEnForme:
|
||||||
|
from:
|
||||||
|
- initial
|
||||||
|
- attenteModification
|
||||||
|
to: attenteMiseEnForme
|
||||||
|
metadata:
|
||||||
|
label:
|
||||||
|
fr: Demande de mise en forme
|
||||||
|
isForward: true
|
||||||
|
demandeValidationMiseEnForme:
|
||||||
|
from:
|
||||||
|
- attenteMiseEnForme
|
||||||
|
to: attenteValidationMiseEnForme
|
||||||
|
metadata:
|
||||||
|
label:
|
||||||
|
fr: Demande de validation de la mise en forme
|
||||||
|
isForward: true
|
||||||
|
demandeVisa:
|
||||||
|
from:
|
||||||
|
- initial
|
||||||
|
- attenteModification
|
||||||
|
- attenteMiseEnForme
|
||||||
|
- attenteValidationMiseEnForme
|
||||||
|
- postSignature
|
||||||
|
- attenteTraitement
|
||||||
|
to: attenteVisa
|
||||||
|
metadata:
|
||||||
|
label:
|
||||||
|
fr: Demande de visa
|
||||||
|
isForward: true
|
||||||
|
demandeSignature:
|
||||||
|
from:
|
||||||
|
- initial
|
||||||
|
- attenteModification
|
||||||
|
- attenteMiseEnForme
|
||||||
|
- attenteValidationMiseEnForme
|
||||||
|
- attenteVisa
|
||||||
|
- attenteTraitement
|
||||||
|
to: attenteSignature
|
||||||
|
metadata:
|
||||||
|
label: {fr: Demande de signature}
|
||||||
|
isForward: true
|
||||||
|
signatureApplied:
|
||||||
|
from:
|
||||||
|
- attenteSignature
|
||||||
|
to: postSignature
|
||||||
|
metadata:
|
||||||
|
label: {fr: Signatures appliquées}
|
||||||
|
isForward: true
|
||||||
|
transitionGuard: 'system' # can be 'system+only-dest' or 'only-dest' (only-dest is default)
|
||||||
|
demandeTraitement:
|
||||||
|
from:
|
||||||
|
- initial
|
||||||
|
- attenteModification
|
||||||
|
- attenteMiseEnForme
|
||||||
|
- attenteValidationMiseEnForme
|
||||||
|
- attenteVisa
|
||||||
|
- postSignature
|
||||||
|
to: attenteTraitement
|
||||||
|
metadata:
|
||||||
|
label: {fr: Demande de traitement}
|
||||||
|
isForward: true
|
||||||
|
demandeEnvoi:
|
||||||
|
from:
|
||||||
|
- initial
|
||||||
|
- attenteModification
|
||||||
|
- attenteMiseEnForme
|
||||||
|
- attenteValidationMiseEnForme
|
||||||
|
- attenteVisa
|
||||||
|
- postSignature
|
||||||
|
- attenteTraitement
|
||||||
|
to: attenteEnvoi
|
||||||
|
metadata:
|
||||||
|
label: {fr: Demande d'envoi}
|
||||||
|
isForward: true
|
||||||
|
demandeEnvoiExterne:
|
||||||
|
from:
|
||||||
|
- initial
|
||||||
|
- attenteModification
|
||||||
|
- attenteMiseEnForme
|
||||||
|
- attenteValidationMiseEnForme
|
||||||
|
- attenteVisa
|
||||||
|
- postSignature
|
||||||
|
- attenteTraitement
|
||||||
|
to: attenteReceptionExternal
|
||||||
|
metadata:
|
||||||
|
label: {fr: Envoi sécurisé par courrier électronique}
|
||||||
|
isForward: true
|
||||||
|
clotureApresLectureEnvoiExterne:
|
||||||
|
from:
|
||||||
|
- attenteReceptionExternal
|
||||||
|
to:
|
||||||
|
- final
|
||||||
|
metadata:
|
||||||
|
transitionGuard: system
|
||||||
|
isForward: true
|
||||||
|
label: {fr: Consultation de l'envoi sécurisé}
|
||||||
|
annulation:
|
||||||
|
from:
|
||||||
|
- initial
|
||||||
|
- attenteModification
|
||||||
|
- attenteMiseEnForme
|
||||||
|
- attenteValidationMiseEnForme
|
||||||
|
- attenteVisa
|
||||||
|
- postSignature
|
||||||
|
- attenteTraitement
|
||||||
|
- attenteEnvoi
|
||||||
|
to: annule
|
||||||
|
metadata:
|
||||||
|
label: {fr: Annulation}
|
||||||
|
isForward: false
|
||||||
|
transitionGuard: 'system+only-dest' # can be 'system+only-dest' or 'only-dest' (only-dest is default)
|
||||||
|
# transitions qui répètent l'étape
|
||||||
|
demandeMiseEnFormeSupplementaire:
|
||||||
|
from:
|
||||||
|
- attenteMiseEnForme
|
||||||
|
- attenteValidationMiseEnForme
|
||||||
|
to: attenteMiseEnForme
|
||||||
|
metadata:
|
||||||
|
label: {fr: Demande de mise en forme supplémentaire}
|
||||||
|
demandeVisaSupplementaire:
|
||||||
|
from:
|
||||||
|
- attenteVisa
|
||||||
|
to: attenteVisa
|
||||||
|
metadata:
|
||||||
|
label: {fr: Demande de visa supplémentaire}
|
||||||
|
isForward: true
|
||||||
|
demandeSignatureSupplementaire:
|
||||||
|
from:
|
||||||
|
- postSignature
|
||||||
|
to: attenteSignature
|
||||||
|
metadata:
|
||||||
|
label: {fr: Demande de signature supplémentaire}
|
||||||
|
isForward: true
|
||||||
|
demandeTraitementSupplementaire:
|
||||||
|
from:
|
||||||
|
- attenteTraitement
|
||||||
|
to: attenteTraitement
|
||||||
|
metadata:
|
||||||
|
label: {fr: Demande de traitement supplémentaire}
|
||||||
|
# transitions qui renvoient vers une étape précédente
|
||||||
|
refusEtModificationDocument:
|
||||||
|
from:
|
||||||
|
- attenteVisa
|
||||||
|
- postSignature
|
||||||
|
- attenteTraitement
|
||||||
|
- attenteEnvoi
|
||||||
|
to: attenteModification
|
||||||
|
metadata:
|
||||||
|
label:
|
||||||
|
fr: Refus et demande de modification du document
|
||||||
|
isForward: false
|
||||||
|
refusEtDemandeMiseEnForme:
|
||||||
|
from:
|
||||||
|
- attenteVisa
|
||||||
|
- attenteTraitement
|
||||||
|
- attenteEnvoi
|
||||||
|
to: attenteMiseEnForme
|
||||||
|
metadata:
|
||||||
|
label: {fr: Refus et demande de mise en forme}
|
||||||
|
isForward: false
|
||||||
|
refusEtDemandeVisa:
|
||||||
|
from:
|
||||||
|
- postSignature
|
||||||
|
- attenteEnvoi
|
||||||
|
to: attenteVisa
|
||||||
|
metadata:
|
||||||
|
label: {fr: Refus et demande de visa}
|
||||||
|
isForward: false
|
||||||
|
refusEtDemandeSignature:
|
||||||
|
from:
|
||||||
|
- attenteEnvoi
|
||||||
|
to: attenteSignature
|
||||||
|
metadata:
|
||||||
|
label: {fr: Refus et demande de signature}
|
||||||
|
isForward: false
|
||||||
|
refusEtDemandeTraitement:
|
||||||
|
from:
|
||||||
|
- attenteEnvoi
|
||||||
|
to: attenteTraitement
|
||||||
|
metadata:
|
||||||
|
label: {fr: Refus et demande de traitement}
|
||||||
|
isForward: false
|
||||||
|
# transition vers final
|
||||||
|
initialToFinal:
|
||||||
|
from:
|
||||||
|
- initial
|
||||||
|
to: final
|
||||||
|
metadata:
|
||||||
|
label: {fr: Clotûre immédiate et cloture positive}
|
||||||
|
isForward: true
|
||||||
|
attenteMiseEnFormeToFinal:
|
||||||
|
from:
|
||||||
|
- attenteMiseEnForme
|
||||||
|
- attenteValidationMiseEnForme
|
||||||
|
to: final
|
||||||
|
metadata:
|
||||||
|
label: {fr: Mise en forme terminée et cloture positive}
|
||||||
|
isForward: true
|
||||||
|
attenteVisaToFinal:
|
||||||
|
from:
|
||||||
|
- attenteVisa
|
||||||
|
to: final
|
||||||
|
metadata:
|
||||||
|
label: {fr: Accorde le visa et cloture positive}
|
||||||
|
isForward: true
|
||||||
|
postSignatureToFinal:
|
||||||
|
from:
|
||||||
|
- postSignature
|
||||||
|
to: final
|
||||||
|
metadata:
|
||||||
|
label: {fr: Cloture positive}
|
||||||
|
isForward: true
|
||||||
|
attenteTraitementToFinal:
|
||||||
|
from:
|
||||||
|
- attenteTraitement
|
||||||
|
to: final
|
||||||
|
metadata:
|
||||||
|
label: {fr: Traitement terminé et cloture positive}
|
||||||
|
isForward: true
|
||||||
|
attenteEnvoiToFinal:
|
||||||
|
from:
|
||||||
|
- attenteEnvoi
|
||||||
|
to: final
|
||||||
|
metadata:
|
||||||
|
label: {fr: Envoyé et cloture positive}
|
||||||
|
isForward: true
|
5
config/preload.php
Normal file
5
config/preload.php
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
if (file_exists(dirname(__DIR__).'/var/cache/prod/App_KernelProdContainer.preload.php')) {
|
||||||
|
require dirname(__DIR__).'/var/cache/prod/App_KernelProdContainer.preload.php';
|
||||||
|
}
|
@@ -4,5 +4,5 @@
|
|||||||
|
|
||||||
#load routes for chill bundles
|
#load routes for chill bundles
|
||||||
chill_routes:
|
chill_routes:
|
||||||
resource: .
|
resource: .
|
||||||
type: chill_routes
|
type: chill_routes
|
3
config/routes/annotations.yaml
Normal file
3
config/routes/annotations.yaml
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
kernel:
|
||||||
|
resource: ../../src/app/Kernel.php
|
||||||
|
type: annotation
|
3
config/routes/chill_wopi.yaml
Normal file
3
config/routes/chill_wopi.yaml
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
chill_wopi_bundle:
|
||||||
|
resource: '@ChillWopiBundle/Resources/config/routes/routes.php'
|
||||||
|
prefix: /chill/wopi
|
4
config/routes/framework.yaml
Normal file
4
config/routes/framework.yaml
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
when@dev:
|
||||||
|
_errors:
|
||||||
|
resource: '@FrameworkBundle/Resources/config/routing/errors.xml'
|
||||||
|
prefix: /_error
|
8
config/routes/web_profiler.yaml
Normal file
8
config/routes/web_profiler.yaml
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
when@dev:
|
||||||
|
web_profiler_wdt:
|
||||||
|
resource: '@WebProfilerBundle/Resources/config/routing/wdt.xml'
|
||||||
|
prefix: /_wdt
|
||||||
|
|
||||||
|
web_profiler_profiler:
|
||||||
|
resource: '@WebProfilerBundle/Resources/config/routing/profiler.xml'
|
||||||
|
prefix: /_profiler
|
3
config/routes/wopi.yaml
Normal file
3
config/routes/wopi.yaml
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
wopi_bundle:
|
||||||
|
resource: '@WopiBundle/Resources/config/routes/routes.php'
|
||||||
|
prefix: /wopi
|
@@ -2,7 +2,7 @@
|
|||||||
# Files in the packages/ subdirectory configure your dependencies.
|
# Files in the packages/ subdirectory configure your dependencies.
|
||||||
|
|
||||||
# Put parameters here that don't need to change on each machine where the app is deployed
|
# Put parameters here that don't need to change on each machine where the app is deployed
|
||||||
# https://symfony.com/doc/current/best_practices/configuration.html#application-related-configuration
|
# https://symfony.com/doc/current/best_practices.html#use-parameters-for-application-configuration
|
||||||
parameters:
|
parameters:
|
||||||
|
|
||||||
services:
|
services:
|
||||||
@@ -11,5 +11,3 @@ services:
|
|||||||
autowire: true # Automatically injects dependencies in your services.
|
autowire: true # Automatically injects dependencies in your services.
|
||||||
autoconfigure: true # Automatically registers your services as commands, event subscribers, etc.
|
autoconfigure: true # Automatically registers your services as commands, event subscribers, etc.
|
||||||
|
|
||||||
# add more service definitions when explicit configuration is needed
|
|
||||||
# please note that last definitions always *replace* previous ones
|
|
@@ -21,7 +21,7 @@ use Symfony\Component\Validator\Context\ExecutionContextInterface;
|
|||||||
class BirthdateFilter implements ExportElementValidatedInterface, FilterInterface
|
class BirthdateFilter implements ExportElementValidatedInterface, FilterInterface
|
||||||
{
|
{
|
||||||
// add specific role for this filter
|
// add specific role for this filter
|
||||||
public function addRole()
|
public function addRole(): ?string
|
||||||
{
|
{
|
||||||
// we do not need any new role for this filter, so we return null
|
// we do not need any new role for this filter, so we return null
|
||||||
return null;
|
return null;
|
||||||
|
34
docs/source/development/code-quality.rst
Normal file
34
docs/source/development/code-quality.rst
Normal file
@@ -0,0 +1,34 @@
|
|||||||
|
Code style, code quality and other tools
|
||||||
|
########################################
|
||||||
|
|
||||||
|
PHP-cs-fixer
|
||||||
|
============
|
||||||
|
|
||||||
|
For development, you will also have to install:
|
||||||
|
|
||||||
|
- `php-cs-fixer <https://cs.symfony.com/>`_
|
||||||
|
|
||||||
|
We also encourage you to use tools like `phpstan <https://phpstan.org>`_ and `rector <https://getrector.com>`_.
|
||||||
|
|
||||||
|
For running php-cs-fixer:
|
||||||
|
|
||||||
|
.. code-block:: bash
|
||||||
|
|
||||||
|
symfony composer php-cs-fixer
|
||||||
|
|
||||||
|
Execute tests
|
||||||
|
=============
|
||||||
|
|
||||||
|
.. code-block:: bash
|
||||||
|
|
||||||
|
symfony composer exec phpunit -- /path/to_your_test.php
|
||||||
|
|
||||||
|
Note that IDE like PhpStorm should be able to run tests, even KernelTestcase or WebTestCase, `from within their interfaces <https://www.jetbrains.com/help/phpstorm/using-phpunit-framework.html#run_phpunit_tests>`_.
|
||||||
|
|
||||||
|
Execute rector
|
||||||
|
==============
|
||||||
|
|
||||||
|
.. code-block:: bash
|
||||||
|
|
||||||
|
symfony composer exec rector -- process
|
||||||
|
|
@@ -15,9 +15,12 @@ use Symfony\Bundle\FrameworkBundle\Controller\Controller;
|
|||||||
|
|
||||||
class example extends \Symfony\Bundle\FrameworkBundle\Controller\AbstractController
|
class example extends \Symfony\Bundle\FrameworkBundle\Controller\AbstractController
|
||||||
{
|
{
|
||||||
|
public function __construct(private readonly \Doctrine\Persistence\ManagerRegistry $managerRegistry)
|
||||||
|
{
|
||||||
|
}
|
||||||
public function yourAction()
|
public function yourAction()
|
||||||
{
|
{
|
||||||
$em = $this->getDoctrine()->getManager();
|
$em = $this->managerRegistry->getManager();
|
||||||
// first, get the number of total item are available
|
// first, get the number of total item are available
|
||||||
$total = $em
|
$total = $em
|
||||||
->createQuery('SELECT COUNT (item.id) FROM ChillMyBundle:Item item')
|
->createQuery('SELECT COUNT (item.id) FROM ChillMyBundle:Item item')
|
||||||
|
@@ -18,6 +18,9 @@ use Symfony\Component\Security\Core\Role\Role;
|
|||||||
|
|
||||||
class ConsultationController extends \Symfony\Bundle\FrameworkBundle\Controller\AbstractController
|
class ConsultationController extends \Symfony\Bundle\FrameworkBundle\Controller\AbstractController
|
||||||
{
|
{
|
||||||
|
public function __construct(private readonly \Doctrine\Persistence\ManagerRegistry $managerRegistry)
|
||||||
|
{
|
||||||
|
}
|
||||||
/**
|
/**
|
||||||
* @param int $id personId
|
* @param int $id personId
|
||||||
*
|
*
|
||||||
@@ -48,7 +51,7 @@ class ConsultationController extends \Symfony\Bundle\FrameworkBundle\Controller\
|
|||||||
);
|
);
|
||||||
|
|
||||||
// create a query which take circles into account
|
// create a query which take circles into account
|
||||||
$consultations = $this->getDoctrine()->getManager()
|
$consultations = $this->managerRegistry->getManager()
|
||||||
->createQuery('SELECT c FROM ChillHealthBundle:Consultation c '
|
->createQuery('SELECT c FROM ChillHealthBundle:Consultation c '
|
||||||
. 'WHERE c.patient = :person AND c.circle IN(:circles) '
|
. 'WHERE c.patient = :person AND c.circle IN(:circles) '
|
||||||
. 'ORDER BY c.date DESC')
|
. 'ORDER BY c.date DESC')
|
||||||
|
125
docs/source/installation/enable-collabora-for-dev.rst
Normal file
125
docs/source/installation/enable-collabora-for-dev.rst
Normal file
@@ -0,0 +1,125 @@
|
|||||||
|
|
||||||
|
Enable CODE for development
|
||||||
|
===========================
|
||||||
|
|
||||||
|
For editing a document, there must be a way to communicate between the collabora server and the symfony server, in
|
||||||
|
both direction. The domain name should also be the same for collabora server and for the browser which access to the
|
||||||
|
online editor.
|
||||||
|
|
||||||
|
Using ngrok (or other http tunnel)
|
||||||
|
----------------------------------
|
||||||
|
|
||||||
|
One can configure a tunnel server to expose your local install to the web, and access to your local server using the
|
||||||
|
tunnel url.
|
||||||
|
|
||||||
|
Start ngrok
|
||||||
|
^^^^^^^^^^^
|
||||||
|
|
||||||
|
This can be achieve using `ngrok <https://ngrok.com/>`_.
|
||||||
|
|
||||||
|
.. note::
|
||||||
|
|
||||||
|
The configuration of ngrok is outside of the scope of this document. Refers to the ngrok's documentation.
|
||||||
|
|
||||||
|
.. code-block:: bash
|
||||||
|
|
||||||
|
# ensuring that your server is running through http and port 8000
|
||||||
|
ngrok http 8000
|
||||||
|
# then open the link given by the ngrok utility and you should reach your app
|
||||||
|
|
||||||
|
At this step, ensure that you can reach your local app using the ngrok url.
|
||||||
|
|
||||||
|
Configure Collabora
|
||||||
|
^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
The collabora server must be executed online and configure to access to your ngrok installation. Ensure that the aliasgroup
|
||||||
|
exists for your ngrok application (`See the CODE documentation: <https://sdk.collaboraonline.com/docs/installation/Configuration.html#multihost-configuration>`_).
|
||||||
|
|
||||||
|
Configure your app
|
||||||
|
^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
Set the :code:`EDITOR_SERVER` variable to point to your collabora server, this should be done in your :code:`.env.local` file.
|
||||||
|
|
||||||
|
At this point, everything must be fine. In case of errors, watch the log from your collabora server, use the `profiler <https://symfony.com/doc/current/profiler.html>`_
|
||||||
|
to debug the requests.
|
||||||
|
|
||||||
|
.. note::
|
||||||
|
|
||||||
|
In case of error while validating proof (you'll see those message in the collabora's logs), you can temporarily disable
|
||||||
|
the proof validation adding this code snippet in `config/services.yaml`:
|
||||||
|
|
||||||
|
.. code-block:: yaml
|
||||||
|
|
||||||
|
when@dev:
|
||||||
|
# add only in dev environment, to avoid security problems
|
||||||
|
services:
|
||||||
|
ChampsLibres\WopiLib\Contract\Service\ProofValidatorInterface:
|
||||||
|
# this class will always validate proof
|
||||||
|
alias: Chill\WopiBundle\Service\Wopi\NullProofValidator
|
||||||
|
|
||||||
|
With a local CODE image
|
||||||
|
-----------------------
|
||||||
|
|
||||||
|
.. warning::
|
||||||
|
|
||||||
|
This configuration is not sure, and must be refined. The documentation does not seems to be entirely valid.
|
||||||
|
|
||||||
|
Use a local domain name and https for your app
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
Use the proxy feature from embedded symfony server to run your app. `See the dedicated doc <https://symfony.com/doc/current/setup/symfony_server.html#local-domain-names>`
|
||||||
|
|
||||||
|
Configure also the `https certificate <https://symfony.com/doc/current/setup/symfony_server.html#enabling-tls>`_
|
||||||
|
|
||||||
|
In this example, your local domain name will be :code:`my-domain` and the url will be :code:`https://my-domain.wip`.
|
||||||
|
|
||||||
|
Ensure that the proxy is running.
|
||||||
|
|
||||||
|
Create a certificate database for collabora
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
Collabora must validate your certificate generated by symfony console. For that, you need `to create a NSS database <https://sdk.collaboraonline.com/docs/installation/Configuration.html#validating-digital-signatures>`
|
||||||
|
and configure collabora to use it.
|
||||||
|
|
||||||
|
At first, export the certificate for symfony development. Use the graphical interface from your browser to get the
|
||||||
|
certificate as a PEM file.
|
||||||
|
|
||||||
|
.. code-block:: bash
|
||||||
|
|
||||||
|
# create your database in a custom directory
|
||||||
|
mkdir /path/to/your/directory
|
||||||
|
certutil -N -d /path/to/your/directory
|
||||||
|
cat /path/to/your/ca.crt | certutil -d . -A symfony -t -t C,P,C,u,w -a
|
||||||
|
|
||||||
|
Launch CODE properly configured
|
||||||
|
|
||||||
|
.. code-block:: yaml
|
||||||
|
|
||||||
|
collabora:
|
||||||
|
image: collabora/code:latest
|
||||||
|
environment:
|
||||||
|
- SLEEPFORDEBUGGER=0
|
||||||
|
- DONT_GEN_SSL_CERT="True"
|
||||||
|
# add path to the database
|
||||||
|
- extra_params=--o:ssl.enable=false --o:ssl.termination=false --o:logging.level=7 -o:certificates.database_path=/etc/custom-certificates/nss-database
|
||||||
|
- username=admin
|
||||||
|
- password=admin
|
||||||
|
- dictionaries=en_US
|
||||||
|
- aliasgroup1=https://my-domain.wip
|
||||||
|
ports:
|
||||||
|
- "127.0.0.1:9980:9980"
|
||||||
|
volumes:
|
||||||
|
- "/path/to/your/directory/nss-database:/etc/custom-certificates/nss-database"
|
||||||
|
extra_hosts:
|
||||||
|
- "my-domain.wip:host-gateway"
|
||||||
|
|
||||||
|
Configure your app
|
||||||
|
^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
Into your :code:`.env.local` file:
|
||||||
|
|
||||||
|
.. code-block:: env
|
||||||
|
|
||||||
|
EDITOR_SERVER=http://${COLLABORA_HOST}:${COLLABORA_PORT}
|
||||||
|
|
||||||
|
At this step, you should be able to edit a document through collabora.
|
@@ -14,393 +14,54 @@
|
|||||||
Installation & Usage
|
Installation & Usage
|
||||||
####################
|
####################
|
||||||
|
|
||||||
|
|
||||||
|
You will learn here how to install a new symfony project with chill, and configure it.
|
||||||
|
|
||||||
|
Which can of installation do I need ?
|
||||||
|
=====================================
|
||||||
|
|
||||||
|
I want to run chill in production
|
||||||
|
---------------------------------
|
||||||
|
|
||||||
|
See the :ref:`instructions about installing Chill for production <installation-production>`.
|
||||||
|
|
||||||
|
I want to add features to the main chill bundles
|
||||||
|
------------------------------------------------
|
||||||
|
|
||||||
|
If you want to add features to chill bundles itself, **and** you want those features to be merged into the chill bundles,
|
||||||
|
you can use the "development" installation mode.
|
||||||
|
|
||||||
|
See the :ref:`instruction for installation for development <installation-for-dev>`.
|
||||||
|
|
||||||
|
I want to add features to Chill, but keep those features for my instance
|
||||||
|
-------------------------------------------------------------------------
|
||||||
|
|
||||||
|
Follow the same instruction than for production, until the end.
|
||||||
|
|
||||||
|
Requirements
|
||||||
|
============
|
||||||
|
|
||||||
|
The installation is tested on a Debian-like linux distribution. The installation on other operating systems is not documented.
|
||||||
|
|
||||||
|
You have to install the following tools on your computer:
|
||||||
|
|
||||||
|
- `PHP <https://www.php.net/>`_, version 8.3+, with the following extensions: pdo_pgsql, intl, mbstring, zip, bcmath, exif, sockets, redis, ast, gd;
|
||||||
|
- `composer <https://getcomposer.org/>`_;
|
||||||
|
- `symfony cli <https://symfony.com/download>`_;
|
||||||
|
- `node, we encourage you to use nvm to configure the correct version <https://github.com/nvm-sh/nvm>`_. The project contains an
|
||||||
|
:code:`.nvmrc` file which selects automatically the required version of node (if present).
|
||||||
|
- `yarn <https://classic.yarnpkg.com/lang/en/docs/install/>`_. We use the version 1.22+ for now.
|
||||||
|
- `docker and the plugin compose <https://docker.com>`_ to run the database
|
||||||
|
|
||||||
|
Chill needs a redis server and a postgresql database, and a few other things like a "relatorio service" which will
|
||||||
|
generate documents from templates. **All these things are available through docker using the plugin compose**. We do not provide
|
||||||
|
information on how to run this without docker compose.
|
||||||
|
|
||||||
|
Instructions
|
||||||
|
============
|
||||||
|
|
||||||
.. toctree::
|
.. toctree::
|
||||||
:maxdepth: 2
|
:maxdepth: 2
|
||||||
|
|
||||||
prod.rst
|
installation-development.rst
|
||||||
load-addresses.rst
|
installation-production.rst
|
||||||
prod-calendar-sms-sending.rst
|
|
||||||
msgraph-configure.rst
|
|
||||||
|
|
||||||
|
|
||||||
Requirements
|
|
||||||
************
|
|
||||||
|
|
||||||
- This project use `docker <https://docker.com>`_ to be run. As a developer, use `docker-compose <https://docs.docker.com/compose/overview/>`_ to bootstrap a dev environment in a glance. You do not need any other dependencies ;
|
|
||||||
- Make is used to automate scripts.
|
|
||||||
|
|
||||||
Installation
|
|
||||||
************
|
|
||||||
|
|
||||||
If you plan to run chill in production:
|
|
||||||
|
|
||||||
1. install it locally first, and check if everything is ok on your local machine;
|
|
||||||
2. once ready, build the image from your local machine, and deploy them.
|
|
||||||
|
|
||||||
If you want to develop some bundles, the first step is sufficient (until you deploy on production).
|
|
||||||
|
|
||||||
|
|
||||||
1. Get the code
|
|
||||||
===============
|
|
||||||
|
|
||||||
Clone or download the chill-skeleton project and `cd` into the main directory.
|
|
||||||
|
|
||||||
|
|
||||||
.. code-block:: bash
|
|
||||||
|
|
||||||
git clone https://gitea.champs-libres.be/Chill-project/chill-skeleton-basic.git
|
|
||||||
cd chill-skeleton-basic
|
|
||||||
|
|
||||||
|
|
||||||
As a developer, the code will stay on your computer and will be executed in docker container. To avoid permission problem, the code should be run with the same uid/gid from your current user. This is why we get your current user id with the command ``id -u`` in each following scripts.
|
|
||||||
|
|
||||||
2. Prepare composer to download the sources
|
|
||||||
===========================================
|
|
||||||
|
|
||||||
As you are running in dev, you must configure an auth token for getting the source code.
|
|
||||||
|
|
||||||
.. warning
|
|
||||||
|
|
||||||
If you skip this part, the code will be downloaded from dist instead of source (with git repository). You will probably replace the source manually, but the next time you will run ```composer update```, your repository will be replaced and you might loose something.
|
|
||||||
|
|
||||||
1. Create a personal access token from https://gitlab.com/-/profile/personal_access_tokens, with the `read_api` scope.
|
|
||||||
2. add a file called ```.composer/auth.json``` with this content:
|
|
||||||
|
|
||||||
.. code-block:: json
|
|
||||||
|
|
||||||
{
|
|
||||||
"gitlab-token": {
|
|
||||||
"gitlab.com": "glXXX-XXXXXXXXXXXXXXXXXXXX"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
2. Prepare your variables and environment
|
|
||||||
=========================================
|
|
||||||
|
|
||||||
Copy ```docker-compose.override.dev.yml``` into ```docker-compose.override.yml```
|
|
||||||
|
|
||||||
.. code-block:: bash
|
|
||||||
|
|
||||||
cp docker-compose.override.dev.template.yml docker-compose.override.yml
|
|
||||||
|
|
||||||
2. Prepare your variables and docker-compose
|
|
||||||
============================================
|
|
||||||
|
|
||||||
Have a look at the variable in ``.env`` and check if you need to adapt them. If they do not adapt with your need, or if some are missing:
|
|
||||||
|
|
||||||
1. copy the file as ``.env.local``: ``cp .env .env.local``
|
|
||||||
2. you may replace some variables inside ``.env``
|
|
||||||
|
|
||||||
Prepare also you docker-compose installation, and adapt it to your needs:
|
|
||||||
|
|
||||||
1. If you plan to deploy on dev, copy the file ``docker-compose.override.dev.template.yml`` to ``docker-compose.override.yml``.
|
|
||||||
2. adapt to your needs.
|
|
||||||
|
|
||||||
|
|
||||||
**Note**: If you intend to use the bundle ``Chill-Doc-Store``, you will need to configure and install an openstack object storage container with temporary url middleware. You will have to configure `secret keys <https://docs.openstack.org/swift/latest/api/temporary_url_middleware.html#secret-keys>`_.
|
|
||||||
|
|
||||||
3. Run the bootstrap script
|
|
||||||
===========================
|
|
||||||
|
|
||||||
This script can be run using `make`
|
|
||||||
|
|
||||||
.. code-block:: bash
|
|
||||||
|
|
||||||
make init
|
|
||||||
|
|
||||||
This script will :
|
|
||||||
|
|
||||||
1. force docker-compose to, eventually, pull the base images and build the image used by this project ;
|
|
||||||
2. run an install script to download `composer <https://getcomposer.org>`_ ;
|
|
||||||
3. install the php dependencies
|
|
||||||
4. build assets
|
|
||||||
|
|
||||||
.. warning::
|
|
||||||
|
|
||||||
The script will work only if the binary ``docker-compose`` is located into your ``PATH``. If you use ``compose`` as a docker plugin,
|
|
||||||
you can simulate this binary by creating this file at (for instance), ``/usr/local/bin/docker-compose`` (and run ``chmod +x /usr/local/bin/docker-compose``):
|
|
||||||
|
|
||||||
.. code-block:: bash
|
|
||||||
|
|
||||||
#!/bin/bash
|
|
||||||
|
|
||||||
/usr/bin/docker compose "$@"
|
|
||||||
|
|
||||||
|
|
||||||
.. note::
|
|
||||||
|
|
||||||
In some cases it can happen that an old image (chill_base_php82 or chill_php82) stored in the docker cache will make the script fail. To solve this problem you have to delete the image and the container, before the make init :
|
|
||||||
|
|
||||||
.. code-block:: bash
|
|
||||||
|
|
||||||
docker-compose images php
|
|
||||||
docker rmi -f chill_php82:prod
|
|
||||||
docker-compose rm php
|
|
||||||
|
|
||||||
|
|
||||||
4. Start the project
|
|
||||||
====================
|
|
||||||
|
|
||||||
.. code-block:: bash
|
|
||||||
|
|
||||||
docker-compose up
|
|
||||||
|
|
||||||
**On the first run** (and after each upgrade), you must execute *post update commands* and run database migrations. With a container up and running, execute the following commands:
|
|
||||||
|
|
||||||
.. code-block:: bash
|
|
||||||
|
|
||||||
# mount into to container
|
|
||||||
./docker-php.sh
|
|
||||||
bin/console chill:db:sync-views
|
|
||||||
# and load fixtures
|
|
||||||
bin/console doctrine:migrations:migrate
|
|
||||||
|
|
||||||
|
|
||||||
Chill will be available at ``http://localhost:8001.`` Currently, there isn't any user or data. To add fixtures, run
|
|
||||||
|
|
||||||
.. code-block:: bash
|
|
||||||
|
|
||||||
# mount into to container
|
|
||||||
./docker-php.sh
|
|
||||||
# and load fixtures (do not this for production)
|
|
||||||
bin/console doctrine:fixtures:load --purge-with-truncate
|
|
||||||
|
|
||||||
There are several users available:
|
|
||||||
|
|
||||||
- ``center a_social``
|
|
||||||
- ``center b_social``
|
|
||||||
|
|
||||||
The password is always ``password``.
|
|
||||||
|
|
||||||
Now, read `Operations` below. For running in production, read `prod_`.
|
|
||||||
|
|
||||||
|
|
||||||
Operations
|
|
||||||
**********
|
|
||||||
|
|
||||||
Build assets
|
|
||||||
============
|
|
||||||
|
|
||||||
run those commands:
|
|
||||||
|
|
||||||
.. code-block:: bash
|
|
||||||
|
|
||||||
make build-assets
|
|
||||||
|
|
||||||
How to execute the console ?
|
|
||||||
============================
|
|
||||||
|
|
||||||
.. code-block:: bash
|
|
||||||
|
|
||||||
# if a container is running
|
|
||||||
./docker-php.sh
|
|
||||||
# if not
|
|
||||||
docker-compose run --user $(id -u) php bin/console
|
|
||||||
|
|
||||||
How to create the database schema (= run migrations) ?
|
|
||||||
======================================================
|
|
||||||
|
|
||||||
.. code-block:: bash
|
|
||||||
|
|
||||||
# if a container is running
|
|
||||||
./docker-php.sh
|
|
||||||
bin/console doctrine:migrations:migrate
|
|
||||||
bin/console chill:db:sync-views
|
|
||||||
# if not
|
|
||||||
docker-compose run --user $(id -u) php bin/console doctrine:migrations:migrate
|
|
||||||
docker-compose run --user $(id -u) php bin/console chill:db:sync-views
|
|
||||||
|
|
||||||
|
|
||||||
How to read the email sent by the program ?
|
|
||||||
===========================================
|
|
||||||
|
|
||||||
Go at ``http://localhost:8005`` and you should have access to mailcatcher.
|
|
||||||
|
|
||||||
In case of you should click on a link in the email, be aware that you should remove the "s" from https.
|
|
||||||
|
|
||||||
How to load fixtures ? (development mode only)
|
|
||||||
==============================================
|
|
||||||
|
|
||||||
.. code-block:: bash
|
|
||||||
|
|
||||||
# if a container is running
|
|
||||||
./docker-php.sh
|
|
||||||
bin/console doctrine:fixtures:load
|
|
||||||
# if not
|
|
||||||
docker-compose run --user $(id -u) php bin/console doctrine:fixtures:load
|
|
||||||
|
|
||||||
How to open a terminal in the project
|
|
||||||
=====================================
|
|
||||||
|
|
||||||
.. code-block:: bash
|
|
||||||
|
|
||||||
# if a container is running
|
|
||||||
./docker-php.sh
|
|
||||||
# if not
|
|
||||||
docker-compose run --user $(id -u) php /bin/bash
|
|
||||||
|
|
||||||
How to run cron-jobs ?
|
|
||||||
======================
|
|
||||||
|
|
||||||
Some command must be executed in :ref:`cron jobs <cronjob>`. To execute them:
|
|
||||||
|
|
||||||
.. code-block:: bash
|
|
||||||
|
|
||||||
# if a container is running
|
|
||||||
./docker-php.sh
|
|
||||||
bin/console chill:cron-job:execute
|
|
||||||
# some of them are executed only during the night. So, we have to force the execution during the day:
|
|
||||||
bin/console chill:cron-job:execute 'name-of-the-cron'
|
|
||||||
# if not
|
|
||||||
docker-compose run --user $(id -u) php bin/console chill:cron-job:execute
|
|
||||||
# some of them are executed only during the night. So, we have to force the execution during the day:
|
|
||||||
docker-compose run --user $(id -u) php bin/console chill:cron-job:execute 'name-of-the-cron'
|
|
||||||
|
|
||||||
How to run composer ?
|
|
||||||
=====================
|
|
||||||
|
|
||||||
.. code-block:: bash
|
|
||||||
|
|
||||||
# if a container is running
|
|
||||||
./docker-php.sh
|
|
||||||
composer
|
|
||||||
# if not
|
|
||||||
docker-compose run --user $(id -u) php composer
|
|
||||||
|
|
||||||
How to access to PGADMIN ?
|
|
||||||
==========================
|
|
||||||
|
|
||||||
Pgadmin is installed with docker-compose, and is available **only if you uncomment the appropriate lines into ``docker-compose.override.yml``.
|
|
||||||
|
|
||||||
You can access it at ``http://localhost:8002``.
|
|
||||||
|
|
||||||
Credentials:
|
|
||||||
|
|
||||||
- login: from the variable you set into ``docker-composer.override.yml``
|
|
||||||
- password: same :-)
|
|
||||||
|
|
||||||
How to run tests ?
|
|
||||||
==================
|
|
||||||
|
|
||||||
Tests reside inside the installed bundles. You must `cd` into that directory, download the required packages, and execute them from this place.
|
|
||||||
|
|
||||||
**Note**: some bundle require the fixture to be executed. See the dedicated _how-tos_.
|
|
||||||
|
|
||||||
Exemple, for running unit test inside `main` bundle:
|
|
||||||
|
|
||||||
.. code-block:: bash
|
|
||||||
|
|
||||||
# mount into the php image
|
|
||||||
./docker-php.sh
|
|
||||||
# cd into main directory
|
|
||||||
cd vendor/chill-project/chill-bundles
|
|
||||||
# download deps
|
|
||||||
git submodule init
|
|
||||||
git submodule update
|
|
||||||
composer install
|
|
||||||
# run tests
|
|
||||||
bin/phpunit src/Bundle/path/to/your/test
|
|
||||||
|
|
||||||
Or for running tests to check code style and php conventions with csfixer and phpstan:
|
|
||||||
|
|
||||||
.. code-block:: bash
|
|
||||||
|
|
||||||
# run code style fixer
|
|
||||||
bin/grumphp run --tasks=phpcsfixer
|
|
||||||
# run phpstan
|
|
||||||
bin/grumphp run --tasks=phpstan
|
|
||||||
|
|
||||||
|
|
||||||
.. note::
|
|
||||||
|
|
||||||
To avoid phpstan block your commits:
|
|
||||||
|
|
||||||
.. code-block:: bash
|
|
||||||
|
|
||||||
git commit -n ...
|
|
||||||
|
|
||||||
To avoid phpstan block your commits permanently:
|
|
||||||
|
|
||||||
.. code-block:: bash
|
|
||||||
|
|
||||||
./bin/grumphp git:deinit
|
|
||||||
|
|
||||||
How to run webpack interactively
|
|
||||||
================================
|
|
||||||
|
|
||||||
Executing :code:`bash docker-node.sh` will open a terminal in a node container, with volumes mounted.
|
|
||||||
|
|
||||||
How to switch the branch for chill-bundles, and get new dependencies
|
|
||||||
====================================================================
|
|
||||||
|
|
||||||
During development, you will switch to new branches for chill-bundles. As long as the dependencies are equals, this does not cause any problem. But sometimes, a new branch introduces a new dependency, and you must download it.
|
|
||||||
|
|
||||||
.. warning::
|
|
||||||
|
|
||||||
Ensure that you have gitlab-token ready before updating your branches. See above.
|
|
||||||
|
|
||||||
In order to do that without pain, use those steps:
|
|
||||||
|
|
||||||
0. Ensuire you have a token, set
|
|
||||||
1. at the app's root, update the ``composer.json`` to your current branch:
|
|
||||||
|
|
||||||
.. code-block:: json
|
|
||||||
|
|
||||||
{
|
|
||||||
"require": {
|
|
||||||
"chill-bundles": "dev-<my-branch>@dev"
|
|
||||||
}
|
|
||||||
|
|
||||||
2. mount into the php container (``./docker-php.sh``), and run ``composer update``
|
|
||||||
|
|
||||||
Error `An exception has been thrown during the rendering of a template ("Asset manifest file "/var/www/app/web/build/manifest.json" does not exist.").` on first run
|
|
||||||
====================================================================================================================================================================
|
|
||||||
|
|
||||||
Run :code:`make build-assets`
|
|
||||||
|
|
||||||
Running in production
|
|
||||||
*********************
|
|
||||||
|
|
||||||
Currently, to run this software in production, the *state of the art* is the following :
|
|
||||||
|
|
||||||
1. Run the software locally and tweak the configuration to your needs ;
|
|
||||||
2. Build the image and store them into a private container registry. This can be done using :code:`make build-and-push-image`.
|
|
||||||
|
|
||||||
To be sure to target the correct container registry, you have to adapt the image names into your ``docker-compose.override.yml`` file.
|
|
||||||
3. Push the image on your registry, or upload them to the destination machine using ``docker image save`` and ``docker image load``.
|
|
||||||
3. Run the image on your production server, using docker-compose or eventually docker stack. You have to customize the variable set in docker-compose.
|
|
||||||
|
|
||||||
See also the :ref:`running-production-tips-and-tricks` below.
|
|
||||||
|
|
||||||
.. warning::
|
|
||||||
|
|
||||||
In production, you **must** set those variables:
|
|
||||||
|
|
||||||
* ``APP_ENV`` to ``prod``
|
|
||||||
* ``APP_DEBUG`` to ``false``
|
|
||||||
|
|
||||||
There are security issues if you keep the same variable than for production.
|
|
||||||
|
|
||||||
|
|
||||||
.. _running-production-tips-and-tricks:
|
|
||||||
|
|
||||||
Tips and tricks
|
|
||||||
===============
|
|
||||||
|
|
||||||
Operation on database (backups, running custom sql, replication) are easier to set when run outside of a container. If you run into a container, take care of the volume where data are stored.
|
|
||||||
|
|
||||||
The PHP sessions are stored inside redis. This is useful if you distribute the traffic amongst different php server: they will share same sessions if a request goes into a different instance of the container.
|
|
||||||
|
|
||||||
When the PHP servers are shared across multiple instances, take care that some data is stored into redis: the same redis server should be reachable by all instances.
|
|
||||||
|
|
||||||
It is worth having an eye on the configuration of logstash container.
|
|
||||||
|
|
||||||
|
|
||||||
Design principles
|
|
||||||
*****************
|
|
||||||
|
|
||||||
Why the DB URL is also set in environment, and not in .env file ?
|
|
||||||
=================================================================
|
|
||||||
|
|
||||||
Because, at startup, a script does check the db is up and, if not, wait for a couple of seconds before running ``entrypoint.sh``. For avoiding double configuration, the configuration of the PHP app takes his configuration from environment also (and it will be standard in future releases, with symfony 4.0).
|
|
||||||
|
|
||||||
|
101
docs/source/installation/installation-development.rst
Normal file
101
docs/source/installation/installation-development.rst
Normal file
@@ -0,0 +1,101 @@
|
|||||||
|
.. _installation-for-dev:
|
||||||
|
|
||||||
|
Installation for development or testing purpose only
|
||||||
|
====================================================
|
||||||
|
|
||||||
|
⚠️ Use this method for development only. ⚠️
|
||||||
|
|
||||||
|
You will need:
|
||||||
|
|
||||||
|
- `Composer <https://getcomposer.org>`__;
|
||||||
|
- `Symfony-cli tool <https://symfony.com/download>`__;
|
||||||
|
- `docker <https://docs.docker.com/engine/install/>`__ and
|
||||||
|
`docker-compose <https://docs.docker.com/compose/>`__
|
||||||
|
- node > 20 and yarn 1.22
|
||||||
|
|
||||||
|
First initialization
|
||||||
|
--------------------
|
||||||
|
|
||||||
|
1. clone the repository and move to the cloned directory:
|
||||||
|
|
||||||
|
.. code:: bash
|
||||||
|
|
||||||
|
git clone https://gitlab.com/Chill-Projet/chill-bundles.git
|
||||||
|
cd chill-bundles
|
||||||
|
|
||||||
|
2. install dependencies using composer
|
||||||
|
|
||||||
|
.. code:: bash
|
||||||
|
|
||||||
|
composer install
|
||||||
|
|
||||||
|
3. Install and compile assets:
|
||||||
|
|
||||||
|
.. code:: bash
|
||||||
|
|
||||||
|
yarn install
|
||||||
|
yarn run encore production
|
||||||
|
|
||||||
|
**note** double check that you have the node version > 20 using the
|
||||||
|
``node --version`` command.
|
||||||
|
|
||||||
|
4. configure your project: create a ``.env.local`` file at the root, and
|
||||||
|
add the admin password:
|
||||||
|
|
||||||
|
.. code:: dotenv
|
||||||
|
|
||||||
|
# for this installation mode, the environment should always be "dev"
|
||||||
|
APP_ENV=dev
|
||||||
|
ADMIN_PASSWORD=\$2y\$13\$iyvJLuT4YEa6iWXyQV4/N.hNHpNG8kXlYDkkt5MkYy4FXcSwYAwmm
|
||||||
|
# note: if you copy-paste the line above, the password will be "admin".
|
||||||
|
|
||||||
|
5. start the stack using ``docker compose up -d``, check the status of
|
||||||
|
the start with ``docker compose ps``
|
||||||
|
|
||||||
|
6. configure all the needed third-party tools
|
||||||
|
|
||||||
|
.. code:: bash
|
||||||
|
|
||||||
|
# the first start, it may last some seconds, you can check with docker compose ps
|
||||||
|
# run migrations
|
||||||
|
symfony console doctrine:migrations:migrate
|
||||||
|
# setup messenger
|
||||||
|
symfony console messenger:setup-transports
|
||||||
|
# prepare some views
|
||||||
|
symfony console chill:db:sync-views
|
||||||
|
# generate jwt token, required for some api features (webdav access, ...)
|
||||||
|
symfony console lexik:jwt:generate-keypair
|
||||||
|
|
||||||
|
7. add some fixtures
|
||||||
|
|
||||||
|
This will truncate all the existing data of the database. But remember,
|
||||||
|
we are in dev mode !
|
||||||
|
|
||||||
|
.. code:: bash
|
||||||
|
|
||||||
|
symfony console doctrine:fixtures:load
|
||||||
|
|
||||||
|
8. launch symfony dev-server
|
||||||
|
|
||||||
|
.. code:: bash
|
||||||
|
|
||||||
|
symfony server:start -d
|
||||||
|
|
||||||
|
And visit the web page it suggest. You can login with user
|
||||||
|
``center a_social`` and password ``password``, or login ``admin`` with
|
||||||
|
the password you set.
|
||||||
|
|
||||||
|
Stopping the server
|
||||||
|
-------------------
|
||||||
|
|
||||||
|
.. code:: bash
|
||||||
|
|
||||||
|
symfony server:stop
|
||||||
|
|
||||||
|
Restart the webserver for subsequent start
|
||||||
|
------------------------------------------
|
||||||
|
|
||||||
|
.. code:: bash
|
||||||
|
|
||||||
|
symfony server:start -d
|
||||||
|
# this will automatically starts the full docker compose services
|
328
docs/source/installation/installation-production.rst
Normal file
328
docs/source/installation/installation-production.rst
Normal file
@@ -0,0 +1,328 @@
|
|||||||
|
.. _installation-production:
|
||||||
|
|
||||||
|
Install Chill for production with or without adding personal features
|
||||||
|
#####################################################################
|
||||||
|
|
||||||
|
Chill is a set of "bundles" for a symfony app.
|
||||||
|
|
||||||
|
To run Chill in production or add new features to it (without merging those features to the chill core), you must create
|
||||||
|
a symfony app, and eventually add those features into your app.
|
||||||
|
|
||||||
|
Once you are happy with the configuration, `you should follow the dedicated instructions of how to go into production for
|
||||||
|
Symfony apps <https://symfony.com/doc/current/deployment.html>`_.
|
||||||
|
|
||||||
|
Install a new app
|
||||||
|
=================
|
||||||
|
|
||||||
|
Initialize project and dependencies
|
||||||
|
-----------------------------------
|
||||||
|
|
||||||
|
.. code-block:: bash
|
||||||
|
|
||||||
|
symfony new --version=5.4 my_chill_project
|
||||||
|
cd my_chill_project
|
||||||
|
|
||||||
|
We strongly encourage you to initialize a git repository at this step, to track further changes.
|
||||||
|
|
||||||
|
.. code-block:: bash
|
||||||
|
|
||||||
|
# add the flex endpoints required for custom recipes
|
||||||
|
cat <<< "$(jq '.extra.symfony += {"endpoint": ["flex://defaults", "https://gitlab.com/api/v4/projects/57371968/repository/files/index.json/raw?ref=main"]}' composer.json)" > composer.json
|
||||||
|
# install chill and some dependencies
|
||||||
|
# TODO fix the suffix "alpha1" and replace by ^3.0.0 when version 3.0.0 will be released
|
||||||
|
symfony composer require chill-project/chill-bundles v3.0.0-RC3 champs-libres/wopi-lib dev-master@dev champs-libres/wopi-bundle dev-master@dev
|
||||||
|
|
||||||
|
We encourage you to accept the inclusion of the "Docker configuration from recipes": this is the documented way to run the database.
|
||||||
|
You must also accept to configure recipes from the contrib repository, unless you want to configure the bundles manually).
|
||||||
|
|
||||||
|
.. code-block:: bash
|
||||||
|
|
||||||
|
# fix some configuration
|
||||||
|
./post-install-chill.sh
|
||||||
|
# install node dependencies
|
||||||
|
yarn install
|
||||||
|
# and compile assets
|
||||||
|
yarn run encore production
|
||||||
|
|
||||||
|
.. note::
|
||||||
|
|
||||||
|
If you encounter this error during assets compilation (:code:`yarn run encore production`) (repeated multiple times):
|
||||||
|
|
||||||
|
.. code-block:: txt
|
||||||
|
|
||||||
|
[tsl] ERROR in /tmp/chill/v1/public/bundles/chillcalendar/types.ts(2,65)
|
||||||
|
TS2307: Cannot find module '../../../ChillMainBundle/Resources/public/types' or its corresponding type declarations.
|
||||||
|
|
||||||
|
run:
|
||||||
|
|
||||||
|
.. code-block:: bash
|
||||||
|
|
||||||
|
rm -rf public/bundles/*
|
||||||
|
|
||||||
|
Then restart the compilation of assets (:code:```yarn run encore production```)
|
||||||
|
|
||||||
|
Configure your project
|
||||||
|
----------------------
|
||||||
|
|
||||||
|
You should read the configuration files in :code:`chill/config/packages` carefully, especially if you have
|
||||||
|
custom developments. But most of the time, this should be fine.
|
||||||
|
|
||||||
|
You have to configure some local variables, which are described in the :code:`.env` file. The secrets should not be stored
|
||||||
|
in this :code:`.env` file, but instead using the `secrets management tool <https://symfony.com/doc/current/configuration/secrets.html>`_
|
||||||
|
or in the :code:`.env.local` file, which should not be committed to the git repository.
|
||||||
|
|
||||||
|
You do not need to set variables for the smtp server, redis server and relatorio server, as they are generated automatically
|
||||||
|
by the symfony server, from the docker compose services.
|
||||||
|
|
||||||
|
The only required variable is the :code:`ADMIN_PASSWORD`. You can generate a hashed and salted admin password using the command
|
||||||
|
:code:`symfony console security:hash-password <your password> 'Symfony\Component\Security\Core\User\User'`. Then,
|
||||||
|
you can either:
|
||||||
|
|
||||||
|
- add this password to the :code:`.env.local` file, you must escape the character :code:`$`: if the generated password
|
||||||
|
is :code:`$2y$13$iyvJLuT4YEa6iWXyQV4/N.hNHpNG8kXlYDkkt5MkYy4FXcSwYAwmm`, your :code:`.env.local` file will be:
|
||||||
|
|
||||||
|
.. code-block:: env
|
||||||
|
|
||||||
|
ADMIN_PASSWORD=\$2y\$13\$iyvJLuT4YEa6iWXyQV4/N.hNHpNG8kXlYDkkt5MkYy4FXcSwYAwmm
|
||||||
|
# note: if you copy-paste the line above, the password will be "admin".
|
||||||
|
|
||||||
|
- add the generated password to the secrets manager (**note**: you must add the generated hashed password to the secrets env,
|
||||||
|
not the password in clear text).
|
||||||
|
|
||||||
|
- set up the jwt authentication bundle
|
||||||
|
|
||||||
|
Some environment variables are available for the JWT authentication bundle in the :code:`.env` file.
|
||||||
|
|
||||||
|
Prepare migrations and other tools
|
||||||
|
----------------------------------
|
||||||
|
|
||||||
|
To continue the installation process, you will have to run migrations:
|
||||||
|
|
||||||
|
.. code-block:: bash
|
||||||
|
|
||||||
|
# start databases and other services
|
||||||
|
docker compose up -d
|
||||||
|
# the first start, it may last some seconds, you can check with docker compose ps
|
||||||
|
# run migrations
|
||||||
|
symfony console doctrine:migrations:migrate
|
||||||
|
# setup messenger
|
||||||
|
symfony console messenger:setup-transports
|
||||||
|
# prepare some views
|
||||||
|
symfony console chill:db:sync-views
|
||||||
|
# generate jwt token, required for some api features (webdav access, ...)
|
||||||
|
symfony console lexik:jwt:generate-keypair
|
||||||
|
|
||||||
|
.. warning::
|
||||||
|
|
||||||
|
If you encounter an error while running :code:`symfony console messenger:setup-transports`, you can set up the messenger
|
||||||
|
transport to redis, by adding this in the :code:`.env.local` or :code:`.env` file:
|
||||||
|
|
||||||
|
.. code-block:: env
|
||||||
|
|
||||||
|
MESSENGER_TRANSPORT_DSN=redis://${REDIS_HOST}:${REDIS_PORT}/messages
|
||||||
|
|
||||||
|
Start your web server locally
|
||||||
|
-----------------------------
|
||||||
|
|
||||||
|
At this step, Chill will be ready to be served locally, but without any configuration. You can run the project
|
||||||
|
locally using the `local symfony server <https://symfony.com/doc/current/setup/symfony_server.html>`_:
|
||||||
|
|
||||||
|
.. code-block:: bash
|
||||||
|
|
||||||
|
# see the whole possibilities at https://symfony.com/doc/current/setup/symfony_server.html
|
||||||
|
symfony server:start -d
|
||||||
|
|
||||||
|
|
||||||
|
If you need to test the instance with accounts and some basic configuration, please install the fixtures (see below).
|
||||||
|
|
||||||
|
|
||||||
|
Add capabilities for dev
|
||||||
|
========================
|
||||||
|
|
||||||
|
If you need to add custom bundles, you can develop them in the `src/` directory, like for any other symfony project. You
|
||||||
|
can rely on the whole chill framework, meaning there is no need to add them to the original `chill-bundles`.
|
||||||
|
|
||||||
|
You will require some bundles to have the following development tools:
|
||||||
|
|
||||||
|
- add fixtures
|
||||||
|
- add profiler and debug bundle
|
||||||
|
|
||||||
|
Install fixtures
|
||||||
|
----------------
|
||||||
|
|
||||||
|
.. code-block:: bash
|
||||||
|
|
||||||
|
# generate fixtures for chill
|
||||||
|
symfony composer require --dev doctrine/doctrine-fixtures-bundle nelmio/alice
|
||||||
|
# now, you can generate fixtures (this will reset your database)
|
||||||
|
symfony console doctrine:fixtures:load
|
||||||
|
|
||||||
|
This will generate user accounts, centers, and some basic configuration.
|
||||||
|
|
||||||
|
The accounts created are: :code:`center a_social`, :code:`center b_social`, :code:`center a_direction`, ... The full list is
|
||||||
|
visible in the "users" table: :code:`docker compose exec database psql -U app -c "SELECT username FROM users"`.
|
||||||
|
|
||||||
|
The password is always :code:`password`.
|
||||||
|
|
||||||
|
.. warning::
|
||||||
|
|
||||||
|
The fixtures are not fully functional. See the `corresponding issue <https://gitlab.com/Chill-Projet/chill-bundles/-/issues/280>`_.
|
||||||
|
|
||||||
|
Add web profiler and debugger
|
||||||
|
-----------------------------
|
||||||
|
|
||||||
|
.. code-block:: bash
|
||||||
|
|
||||||
|
symfony composer require --dev symfony/web-profiler-bundle symfony/debug-bundle
|
||||||
|
|
||||||
|
Working on chill bundles
|
||||||
|
------------------------
|
||||||
|
|
||||||
|
If you plan to improve the chill-bundles repository, that's great!
|
||||||
|
|
||||||
|
It would be better :ref:`to follow the instruction about development <installation-for-dev>`. But if those features are
|
||||||
|
deeply linked to some dev you made in the app, it can be easier to develop within the :code:`vendor/` directory.
|
||||||
|
|
||||||
|
You will have to download chill-bundles as a git repository (and not as an archive, which is barely editable).
|
||||||
|
|
||||||
|
In your :code:`composer.json` file, add these lines:
|
||||||
|
|
||||||
|
.. code-block:: diff
|
||||||
|
|
||||||
|
{
|
||||||
|
"config": {
|
||||||
|
+ "preferred-install": {
|
||||||
|
+ "chill-project/chill-bundles": "source",
|
||||||
|
"*": "dist"
|
||||||
|
+ }
|
||||||
|
}
|
||||||
|
|
||||||
|
Then, run :code:`symfony composer reinstall chill-project/chill-bundles` to re-install the package from source.
|
||||||
|
|
||||||
|
|
||||||
|
Update
|
||||||
|
======
|
||||||
|
|
||||||
|
In order to update your app, you must update dependencies:
|
||||||
|
|
||||||
|
- for chill-bundles, you can `set the last version <https://gitlab.com/Chill-Projet/chill-bundles/-/releases>`_ manually
|
||||||
|
in the :code:`composer.json` file, or set the version to `^3.0.0` and run :code:`symfony composer update` regularly
|
||||||
|
- run :code:`composer update` and :code:`yarn update` to maintain your dependencies up-to-date.
|
||||||
|
|
||||||
|
After each update, you must update your database schema:
|
||||||
|
|
||||||
|
.. code-block:: bash
|
||||||
|
|
||||||
|
symfony console doctrine:migrations:migrate
|
||||||
|
symfony console chill:db:sync-views
|
||||||
|
|
||||||
|
|
||||||
|
Commit and share your project
|
||||||
|
=============================
|
||||||
|
|
||||||
|
If multiple developers work on a project, you can commit your symfony project and share it with other people.
|
||||||
|
|
||||||
|
When another developer clones your project, they will have to:
|
||||||
|
|
||||||
|
- run :code:`symfony composer install` and :code:`yarn install` to install the same dependencies as the initial developer;
|
||||||
|
- run :code:`yarn run encore production` to compile assets;
|
||||||
|
- copy any possible variables from the :code:`.env.local` files;
|
||||||
|
- start the docker compose stack, using :code:`docker compose`, and run migrations, set up transports, and prepare chill db views
|
||||||
|
(see the corresponding command above)
|
||||||
|
|
||||||
|
Operations
|
||||||
|
==========
|
||||||
|
|
||||||
|
Build assets
|
||||||
|
------------
|
||||||
|
|
||||||
|
run those commands:
|
||||||
|
|
||||||
|
.. code-block:: bash
|
||||||
|
|
||||||
|
# for production (or in dev, when you don't need to work on your assets and need some speed)
|
||||||
|
yarn run encore production
|
||||||
|
# in dev, when you wan't to reload the assets on each changes
|
||||||
|
yarn run encore dev --watch
|
||||||
|
|
||||||
|
How to execute the console ?
|
||||||
|
----------------------------
|
||||||
|
|
||||||
|
.. code-block:: bash
|
||||||
|
|
||||||
|
# start the console with all required variables
|
||||||
|
symfony console
|
||||||
|
# you can add your command after that:
|
||||||
|
symfony console list
|
||||||
|
|
||||||
|
How to generate documents
|
||||||
|
-------------------------
|
||||||
|
|
||||||
|
Documents are generated asynchronously by `"consuming messages" <https://symfony.com/doc/current/messenger.html#consuming-messages-running-the-worker>`_.
|
||||||
|
|
||||||
|
You must generate them using a dedicated process:
|
||||||
|
|
||||||
|
.. code-block:: bash
|
||||||
|
|
||||||
|
symfony console messenger:consume async priority
|
||||||
|
|
||||||
|
To avoid memory issues, we encourage you to also use the :code:`--limit` parameter of the command.
|
||||||
|
|
||||||
|
How to read emails sent by the program ?
|
||||||
|
-------------------------------------------
|
||||||
|
|
||||||
|
In development, there is a built-in "mail catcher". Open it with :code:`symfony open:local:webmail`
|
||||||
|
|
||||||
|
How to run cron-jobs ?
|
||||||
|
----------------------
|
||||||
|
|
||||||
|
Some commands must be executed in :ref:`cron jobs <cronjob>`. To execute them:
|
||||||
|
|
||||||
|
.. code-block:: bash
|
||||||
|
|
||||||
|
symfony console chill:cron-job:execute
|
||||||
|
|
||||||
|
What about materialized views ?
|
||||||
|
-------------------------------
|
||||||
|
|
||||||
|
There are some materialized views in chill, to speed up some complex computations in the database.
|
||||||
|
|
||||||
|
In order to refresh them, run a cron job or refresh them manually in your database.
|
||||||
|
|
||||||
|
|
||||||
|
Troubleshooting
|
||||||
|
===============
|
||||||
|
|
||||||
|
Error `An exception has been thrown during the rendering of a template ("Asset manifest file "/var/www/app/web/build/manifest.json" does not exist.").` on first run
|
||||||
|
--------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
Build assets, see above.
|
||||||
|
|
||||||
|
Go to production
|
||||||
|
================
|
||||||
|
|
||||||
|
Currently, to run this software in production, the *state of the art* is the following :
|
||||||
|
|
||||||
|
1. Run the software locally and tweak the configuration to your needs ;
|
||||||
|
2. Build the image and store it in a private container registry.
|
||||||
|
|
||||||
|
.. warning::
|
||||||
|
|
||||||
|
In production, you **must** set these variables:
|
||||||
|
|
||||||
|
* ``APP_ENV`` to ``prod``
|
||||||
|
* ``APP_DEBUG`` to ``false``
|
||||||
|
|
||||||
|
There are security issues if you keep the same variables as for production.
|
||||||
|
|
||||||
|
|
||||||
|
Going further
|
||||||
|
=============
|
||||||
|
|
||||||
|
.. toctree::
|
||||||
|
:maxdepth: 2
|
||||||
|
|
||||||
|
prod.rst
|
||||||
|
load-addresses.rst
|
||||||
|
prod-calendar-sms-sending.rst
|
||||||
|
msgraph-configure.rst
|
27
package.json
27
package.json
@@ -6,29 +6,33 @@
|
|||||||
"@apidevtools/swagger-cli": "^4.0.4",
|
"@apidevtools/swagger-cli": "^4.0.4",
|
||||||
"@babel/core": "^7.20.5",
|
"@babel/core": "^7.20.5",
|
||||||
"@babel/preset-env": "^7.20.2",
|
"@babel/preset-env": "^7.20.2",
|
||||||
"@ckeditor/ckeditor5-build-classic": "^35.3.2",
|
"@ckeditor/ckeditor5-build-classic": "^41.4.2",
|
||||||
"@ckeditor/ckeditor5-dev-utils": "^31.1.13",
|
"@ckeditor/ckeditor5-dev-translations": "^40.2.0",
|
||||||
|
"@ckeditor/ckeditor5-dev-utils": "^40.2.0",
|
||||||
"@ckeditor/ckeditor5-dev-webpack-plugin": "^31.1.13",
|
"@ckeditor/ckeditor5-dev-webpack-plugin": "^31.1.13",
|
||||||
"@ckeditor/ckeditor5-markdown-gfm": "^35.3.2",
|
"@ckeditor/ckeditor5-markdown-gfm": "^41.4.2",
|
||||||
"@ckeditor/ckeditor5-theme-lark": "^35.3.2",
|
"@ckeditor/ckeditor5-theme-lark": "^41.4.2",
|
||||||
"@ckeditor/ckeditor5-vue": "^4.0.1",
|
"@ckeditor/ckeditor5-vue": "^5.1.0",
|
||||||
"@symfony/webpack-encore": "^4.1.0",
|
"@symfony/webpack-encore": "^4.1.0",
|
||||||
"@tsconfig/node14": "^1.0.1",
|
"@tsconfig/node14": "^1.0.1",
|
||||||
|
"@types/dompurify": "^3.0.5",
|
||||||
"bindings": "^1.5.0",
|
"bindings": "^1.5.0",
|
||||||
"bootstrap": "5.2.3",
|
"bootstrap": "5.2.3",
|
||||||
"chokidar": "^3.5.1",
|
"chokidar": "^3.5.1",
|
||||||
|
"dompurify": "^3.1.0",
|
||||||
"fork-awesome": "^1.1.7",
|
"fork-awesome": "^1.1.7",
|
||||||
"jquery": "^3.6.0",
|
"jquery": "^3.6.0",
|
||||||
|
"marked": "^12.0.1",
|
||||||
"node-sass": "^8.0.0",
|
"node-sass": "^8.0.0",
|
||||||
"popper.js": "^1.16.1",
|
"popper.js": "^1.16.1",
|
||||||
"postcss-loader": "^7.0.2",
|
"postcss-loader": "^7.0.2",
|
||||||
"raw-loader": "^4.0.2",
|
"raw-loader": "^4.0.2",
|
||||||
"sass-loader": "^13.0.0",
|
"sass-loader": "^14.0.0",
|
||||||
"select2": "^4.0.13",
|
"select2": "^4.0.13",
|
||||||
"select2-bootstrap-theme": "0.1.0-beta.10",
|
"select2-bootstrap-theme": "0.1.0-beta.10",
|
||||||
"style-loader": "^3.3.1",
|
"style-loader": "^3.3.1",
|
||||||
"ts-loader": "^9.3.1",
|
"ts-loader": "^9.3.1",
|
||||||
"typescript": "^4.7.2",
|
"typescript": "^5.4.5",
|
||||||
"vue-loader": "^17.0.0",
|
"vue-loader": "^17.0.0",
|
||||||
"webpack": "^5.75.0",
|
"webpack": "^5.75.0",
|
||||||
"webpack-cli": "^5.0.1"
|
"webpack-cli": "^5.0.1"
|
||||||
@@ -41,20 +45,21 @@
|
|||||||
"@fullcalendar/timegrid": "^6.1.4",
|
"@fullcalendar/timegrid": "^6.1.4",
|
||||||
"@fullcalendar/vue3": "^6.1.4",
|
"@fullcalendar/vue3": "^6.1.4",
|
||||||
"@popperjs/core": "^2.9.2",
|
"@popperjs/core": "^2.9.2",
|
||||||
"@types/leaflet": "^1.9.3",
|
|
||||||
"@types/dompurify": "^3.0.5",
|
"@types/dompurify": "^3.0.5",
|
||||||
|
"@types/leaflet": "^1.9.3",
|
||||||
|
"bootstrap-icons": "^1.11.3",
|
||||||
"dropzone": "^5.7.6",
|
"dropzone": "^5.7.6",
|
||||||
"es6-promise": "^4.2.8",
|
"es6-promise": "^4.2.8",
|
||||||
"leaflet": "^1.7.1",
|
"leaflet": "^1.7.1",
|
||||||
"marked": "^12.0.2",
|
"marked": "^12.0.2",
|
||||||
"masonry-layout": "^4.2.2",
|
"masonry-layout": "^4.2.2",
|
||||||
"mime": "^4.0.0",
|
"mime": "^4.0.0",
|
||||||
"swagger-ui": "^4.15.5",
|
"pdfjs-dist": "^4.3.136",
|
||||||
"vis-network": "^9.1.0",
|
"vis-network": "^9.1.0",
|
||||||
"vue": "^3.2.37",
|
"vue": "^3.5.6",
|
||||||
"vue-i18n": "^9.1.6",
|
"vue-i18n": "^9.1.6",
|
||||||
"vue-multiselect": "3.0.0-alpha.2",
|
"vue-multiselect": "3.0.0-alpha.2",
|
||||||
"vue-toast-notification": "^2.0",
|
"vue-toast-notification": "^3.1.2",
|
||||||
"vuex": "^4.0.0"
|
"vuex": "^4.0.0"
|
||||||
},
|
},
|
||||||
"browserslist": [
|
"browserslist": [
|
||||||
|
@@ -4,3 +4,11 @@ parameters:
|
|||||||
message: "#^Parameter \\#1 \\$records of method League\\\\Csv\\\\Writer\\:\\:insertAll\\(\\) expects iterable\\<array\\<float\\|int\\|string\\|Stringable\\|null\\>\\>, iterable\\<array\\<string, bool\\|int\\|string\\>\\> given\\.$#"
|
message: "#^Parameter \\#1 \\$records of method League\\\\Csv\\\\Writer\\:\\:insertAll\\(\\) expects iterable\\<array\\<float\\|int\\|string\\|Stringable\\|null\\>\\>, iterable\\<array\\<string, bool\\|int\\|string\\>\\> given\\.$#"
|
||||||
count: 1
|
count: 1
|
||||||
path: src/Bundle/ChillMainBundle/Controller/UserExportController.php
|
path: src/Bundle/ChillMainBundle/Controller/UserExportController.php
|
||||||
|
|
||||||
|
-
|
||||||
|
message: """
|
||||||
|
#^Fetching deprecated class constant ASC of class Doctrine\\\\Common\\\\Collections\\\\Criteria\\:
|
||||||
|
use Order\\:\\:Ascending instead$#
|
||||||
|
"""
|
||||||
|
count: 1
|
||||||
|
path: src/Bundle/ChillMainBundle/Entity/Workflow/EntityWorkflow.php
|
||||||
|
58
phpstan-baseline-deprecations-doctrine-orm.neon
Normal file
58
phpstan-baseline-deprecations-doctrine-orm.neon
Normal file
@@ -0,0 +1,58 @@
|
|||||||
|
# See https://github.com/doctrine/orm/issues/11313 for a follow-up
|
||||||
|
parameters:
|
||||||
|
ignoreErrors:
|
||||||
|
-
|
||||||
|
message: """
|
||||||
|
#^Fetching deprecated class constant ASC of class Doctrine\\\\Common\\\\Collections\\\\Criteria\\:
|
||||||
|
use Order\\:\\:Ascending instead$#
|
||||||
|
"""
|
||||||
|
count: 1
|
||||||
|
path: src/Bundle/ChillCustomFieldsBundle/Entity/CustomFieldsGroup.php
|
||||||
|
|
||||||
|
-
|
||||||
|
message: """
|
||||||
|
#^Fetching deprecated class constant ASC of class Doctrine\\\\Common\\\\Collections\\\\Criteria\\:
|
||||||
|
use Order\\:\\:Ascending instead$#
|
||||||
|
"""
|
||||||
|
count: 1
|
||||||
|
path: src/Bundle/ChillMainBundle/Entity/Notification.php
|
||||||
|
|
||||||
|
-
|
||||||
|
message: """
|
||||||
|
#^Fetching deprecated class constant DESC of class Doctrine\\\\Common\\\\Collections\\\\Criteria\\:
|
||||||
|
use Order\\:\\:Descending instead$#
|
||||||
|
"""
|
||||||
|
count: 1
|
||||||
|
path: src/Bundle/ChillPersonBundle/Entity/AccompanyingPeriod/AccompanyingPeriodWork.php
|
||||||
|
|
||||||
|
-
|
||||||
|
message: """
|
||||||
|
#^Fetching deprecated class constant DESC of class Doctrine\\\\Common\\\\Collections\\\\Criteria\\:
|
||||||
|
use Order\\:\\:Descending instead$#
|
||||||
|
"""
|
||||||
|
count: 1
|
||||||
|
path: src/Bundle/ChillPersonBundle/Entity/AccompanyingPeriod/AccompanyingPeriodWorkEvaluation.php
|
||||||
|
|
||||||
|
-
|
||||||
|
message: """
|
||||||
|
#^Fetching deprecated class constant DESC of class Doctrine\\\\Common\\\\Collections\\\\Criteria\\:
|
||||||
|
use Order\\:\\:Descending instead$#
|
||||||
|
"""
|
||||||
|
count: 2
|
||||||
|
path: src/Bundle/ChillPersonBundle/Entity/Household/Household.php
|
||||||
|
|
||||||
|
-
|
||||||
|
message: """
|
||||||
|
#^Fetching deprecated class constant DESC of class Doctrine\\\\Common\\\\Collections\\\\Criteria\\:
|
||||||
|
use Order\\:\\:Descending instead$#
|
||||||
|
"""
|
||||||
|
count: 2
|
||||||
|
path: src/Bundle/ChillPersonBundle/Entity/Person.php
|
||||||
|
|
||||||
|
-
|
||||||
|
message: """
|
||||||
|
#^Fetching deprecated class constant DESC of class Doctrine\\\\Common\\\\Collections\\\\Criteria\\:
|
||||||
|
use Order\\:\\:Descending instead$#
|
||||||
|
"""
|
||||||
|
count: 1
|
||||||
|
path: src/Bundle/ChillPersonBundle/Entity/AccompanyingPeriod.php
|
@@ -100,11 +100,6 @@ parameters:
|
|||||||
count: 1
|
count: 1
|
||||||
path: src/Bundle/ChillEventBundle/Controller/EventController.php
|
path: src/Bundle/ChillEventBundle/Controller/EventController.php
|
||||||
|
|
||||||
-
|
|
||||||
message: "#^Parameter \\#1 \\$name of method Symfony\\\\Component\\\\Form\\\\FormFactoryInterface\\:\\:createNamedBuilder\\(\\) expects string, null given\\.$#"
|
|
||||||
count: 1
|
|
||||||
path: src/Bundle/ChillEventBundle/Controller/EventController.php
|
|
||||||
|
|
||||||
-
|
-
|
||||||
message: "#^Parameter \\#1 \\$value of function count expects array\\|Countable, Chill\\\\MainBundle\\\\Entity\\\\Center given\\.$#"
|
message: "#^Parameter \\#1 \\$value of function count expects array\\|Countable, Chill\\\\MainBundle\\\\Entity\\\\Center given\\.$#"
|
||||||
count: 1
|
count: 1
|
||||||
@@ -165,11 +160,6 @@ parameters:
|
|||||||
count: 1
|
count: 1
|
||||||
path: src/Bundle/ChillMainBundle/Controller/ExportController.php
|
path: src/Bundle/ChillMainBundle/Controller/ExportController.php
|
||||||
|
|
||||||
-
|
|
||||||
message: "#^Parameter \\#1 \\$name of method Symfony\\\\Component\\\\Form\\\\FormFactoryInterface\\:\\:createNamedBuilder\\(\\) expects string, null given\\.$#"
|
|
||||||
count: 1
|
|
||||||
path: src/Bundle/ChillMainBundle/Controller/ExportController.php
|
|
||||||
|
|
||||||
-
|
-
|
||||||
message: "#^Parameter \\#3 \\$alias of method Chill\\\\MainBundle\\\\Controller\\\\ExportController\\:\\:exportFormStep\\(\\) expects string, Symfony\\\\Component\\\\HttpFoundation\\\\Request given\\.$#"
|
message: "#^Parameter \\#3 \\$alias of method Chill\\\\MainBundle\\\\Controller\\\\ExportController\\:\\:exportFormStep\\(\\) expects string, Symfony\\\\Component\\\\HttpFoundation\\\\Request given\\.$#"
|
||||||
count: 1
|
count: 1
|
||||||
|
@@ -5,6 +5,26 @@ parameters:
|
|||||||
count: 1
|
count: 1
|
||||||
path: src/Bundle/ChillCustomFieldsBundle/Controller/CustomFieldsGroupController.php
|
path: src/Bundle/ChillCustomFieldsBundle/Controller/CustomFieldsGroupController.php
|
||||||
|
|
||||||
|
-
|
||||||
|
message: "#^Only booleans are allowed in an if condition, mixed given\\.$#"
|
||||||
|
count: 1
|
||||||
|
path: src/Bundle/ChillCustomFieldsBundle/Entity/CustomField.php
|
||||||
|
|
||||||
|
-
|
||||||
|
message: "#^Property Chill\\\\CustomFieldsBundle\\\\Entity\\\\CustomField\\:\\:\\$required \\(false\\) does not accept bool\\.$#"
|
||||||
|
count: 1
|
||||||
|
path: src/Bundle/ChillCustomFieldsBundle/Entity/CustomField.php
|
||||||
|
|
||||||
|
-
|
||||||
|
message: "#^Parameter \\#1 \\$user of method Chill\\\\DocStoreBundle\\\\Entity\\\\Document\\:\\:setUser\\(\\) expects Chill\\\\MainBundle\\\\Entity\\\\User\\|null, Symfony\\\\Component\\\\Security\\\\Core\\\\User\\\\UserInterface\\|null given\\.$#"
|
||||||
|
count: 2
|
||||||
|
path: src/Bundle/ChillDocStoreBundle/Controller/DocumentAccompanyingCourseController.php
|
||||||
|
|
||||||
|
-
|
||||||
|
message: "#^Parameter \\#1 \\$user of method Chill\\\\DocStoreBundle\\\\Entity\\\\Document\\:\\:setUser\\(\\) expects Chill\\\\MainBundle\\\\Entity\\\\User\\|null, Symfony\\\\Component\\\\Security\\\\Core\\\\User\\\\UserInterface\\|null given\\.$#"
|
||||||
|
count: 2
|
||||||
|
path: src/Bundle/ChillDocStoreBundle/Controller/DocumentPersonController.php
|
||||||
|
|
||||||
-
|
-
|
||||||
message: "#^Variable \\$participation might not be defined\\.$#"
|
message: "#^Variable \\$participation might not be defined\\.$#"
|
||||||
count: 3
|
count: 3
|
||||||
@@ -15,6 +35,106 @@ parameters:
|
|||||||
count: 1
|
count: 1
|
||||||
path: src/Bundle/ChillEventBundle/Form/ChoiceLoader/EventChoiceLoader.php
|
path: src/Bundle/ChillEventBundle/Form/ChoiceLoader/EventChoiceLoader.php
|
||||||
|
|
||||||
|
-
|
||||||
|
message: "#^Comparison operation \"\\>\" between \\(bool\\|int\\|Redis\\) and 0 results in an error\\.$#"
|
||||||
|
count: 1
|
||||||
|
path: src/Bundle/ChillFranceTravailApiBundle/src/ApiHelper/ApiWrapper.php
|
||||||
|
|
||||||
|
-
|
||||||
|
message: "#^Variable \\$response might not be defined\\.$#"
|
||||||
|
count: 1
|
||||||
|
path: src/Bundle/ChillFranceTravailApiBundle/src/ApiHelper/ApiWrapper.php
|
||||||
|
|
||||||
|
-
|
||||||
|
message: "#^Function GuzzleHttp\\\\Psr7\\\\get not found\\.$#"
|
||||||
|
count: 1
|
||||||
|
path: src/Bundle/ChillFranceTravailApiBundle/src/ApiHelper/PartenaireRomeAppellation.php
|
||||||
|
|
||||||
|
-
|
||||||
|
message: "#^Function GuzzleHttp\\\\Psr7\\\\str not found\\.$#"
|
||||||
|
count: 2
|
||||||
|
path: src/Bundle/ChillFranceTravailApiBundle/src/ApiHelper/PartenaireRomeAppellation.php
|
||||||
|
|
||||||
|
-
|
||||||
|
message: "#^Parameter \\#1 \\$seconds of function sleep expects int, string given\\.$#"
|
||||||
|
count: 1
|
||||||
|
path: src/Bundle/ChillFranceTravailApiBundle/src/ApiHelper/PartenaireRomeAppellation.php
|
||||||
|
|
||||||
|
-
|
||||||
|
message: "#^Unreachable statement \\- code above always terminates\\.$#"
|
||||||
|
count: 1
|
||||||
|
path: src/Bundle/ChillJobBundle/src/Controller/CSPersonController.php
|
||||||
|
|
||||||
|
-
|
||||||
|
message: "#^Parameter \\#1 \\$interval of method DateTimeImmutable\\:\\:add\\(\\) expects DateInterval, string\\|null given\\.$#"
|
||||||
|
count: 1
|
||||||
|
path: src/Bundle/ChillJobBundle/src/Entity/Immersion.php
|
||||||
|
|
||||||
|
-
|
||||||
|
message: "#^Parameter \\#1 \\$object of static method DateTimeImmutable\\:\\:createFromMutable\\(\\) expects DateTime, DateTimeInterface given\\.$#"
|
||||||
|
count: 1
|
||||||
|
path: src/Bundle/ChillJobBundle/src/Entity/Immersion.php
|
||||||
|
|
||||||
|
-
|
||||||
|
message: "#^Property Chill\\\\JobBundle\\\\Entity\\\\Rome\\\\Metier\\:\\:\\$appellations is never read, only written\\.$#"
|
||||||
|
count: 1
|
||||||
|
path: src/Bundle/ChillJobBundle/src/Entity/Rome/Metier.php
|
||||||
|
|
||||||
|
-
|
||||||
|
message: "#^Method Chill\\\\JobBundle\\\\Export\\\\ListCSPerson\\:\\:splitArrayToColumns\\(\\) never returns Closure so it can be removed from the return type\\.$#"
|
||||||
|
count: 1
|
||||||
|
path: src/Bundle/ChillJobBundle/src/Export/ListCSPerson.php
|
||||||
|
|
||||||
|
-
|
||||||
|
message: "#^Variable \\$f might not be defined\\.$#"
|
||||||
|
count: 1
|
||||||
|
path: src/Bundle/ChillJobBundle/src/Export/ListCSPerson.php
|
||||||
|
|
||||||
|
-
|
||||||
|
message: "#^Method Chill\\\\JobBundle\\\\Export\\\\ListFrein\\:\\:splitArrayToColumns\\(\\) never returns Closure so it can be removed from the return type\\.$#"
|
||||||
|
count: 1
|
||||||
|
path: src/Bundle/ChillJobBundle/src/Export/ListFrein.php
|
||||||
|
|
||||||
|
-
|
||||||
|
message: "#^Method Chill\\\\JobBundle\\\\Export\\\\ListProjetProfessionnel\\:\\:splitArrayToColumns\\(\\) never returns Closure so it can be removed from the return type\\.$#"
|
||||||
|
count: 1
|
||||||
|
path: src/Bundle/ChillJobBundle/src/Export/ListProjetProfessionnel.php
|
||||||
|
|
||||||
|
-
|
||||||
|
message: "#^Property Chill\\\\JobBundle\\\\Form\\\\ChoiceLoader\\\\RomeAppellationChoiceLoader\\:\\:\\$appellationRepository \\(Chill\\\\JobBundle\\\\Repository\\\\Rome\\\\AppellationRepository\\) does not accept Doctrine\\\\ORM\\\\EntityRepository\\<Chill\\\\JobBundle\\\\Entity\\\\Rome\\\\Appellation\\>\\.$#"
|
||||||
|
count: 1
|
||||||
|
path: src/Bundle/ChillJobBundle/src/Form/ChoiceLoader/RomeAppellationChoiceLoader.php
|
||||||
|
|
||||||
|
-
|
||||||
|
message: "#^Result of && is always false\\.$#"
|
||||||
|
count: 1
|
||||||
|
path: src/Bundle/ChillJobBundle/src/Form/ChoiceLoader/RomeAppellationChoiceLoader.php
|
||||||
|
|
||||||
|
-
|
||||||
|
message: "#^Strict comparison using \\=\\=\\= between array\\{\\} and Symfony\\\\Component\\\\Validator\\\\ConstraintViolationListInterface will always evaluate to false\\.$#"
|
||||||
|
count: 2
|
||||||
|
path: src/Bundle/ChillJobBundle/src/Form/ChoiceLoader/RomeAppellationChoiceLoader.php
|
||||||
|
|
||||||
|
-
|
||||||
|
message: "#^Strict comparison using \\=\\=\\= between null and string will always evaluate to false\\.$#"
|
||||||
|
count: 1
|
||||||
|
path: src/Bundle/ChillJobBundle/src/Form/ChoiceLoader/RomeAppellationChoiceLoader.php
|
||||||
|
|
||||||
|
-
|
||||||
|
message: "#^Variable \\$metier might not be defined\\.$#"
|
||||||
|
count: 1
|
||||||
|
path: src/Bundle/ChillJobBundle/src/Form/ChoiceLoader/RomeAppellationChoiceLoader.php
|
||||||
|
|
||||||
|
-
|
||||||
|
message: "#^Parameter \\#1 \\$interval of method DateTimeImmutable\\:\\:add\\(\\) expects DateInterval, string\\|null given\\.$#"
|
||||||
|
count: 1
|
||||||
|
path: src/Bundle/ChillJobBundle/src/Security/Authorization/CSConnectesVoter.php
|
||||||
|
|
||||||
|
-
|
||||||
|
message: "#^Parameter \\#1 \\$object of static method DateTimeImmutable\\:\\:createFromMutable\\(\\) expects DateTime, DateTimeInterface given\\.$#"
|
||||||
|
count: 1
|
||||||
|
path: src/Bundle/ChillJobBundle/src/Security/Authorization/CSConnectesVoter.php
|
||||||
|
|
||||||
-
|
-
|
||||||
message: "#^Cannot unset offset '_token' on array\\{formatter\\: mixed, export\\: mixed, centers\\: mixed, alias\\: string\\}\\.$#"
|
message: "#^Cannot unset offset '_token' on array\\{formatter\\: mixed, export\\: mixed, centers\\: mixed, alias\\: string\\}\\.$#"
|
||||||
count: 1
|
count: 1
|
||||||
@@ -40,11 +160,31 @@ parameters:
|
|||||||
count: 1
|
count: 1
|
||||||
path: src/Bundle/ChillMainBundle/Form/ChoiceLoader/PostalCodeChoiceLoader.php
|
path: src/Bundle/ChillMainBundle/Form/ChoiceLoader/PostalCodeChoiceLoader.php
|
||||||
|
|
||||||
|
-
|
||||||
|
message: "#^Only booleans are allowed in an if condition, mixed given\\.$#"
|
||||||
|
count: 2
|
||||||
|
path: src/Bundle/ChillMainBundle/Repository/NotificationRepository.php
|
||||||
|
|
||||||
|
-
|
||||||
|
message: "#^Parameter \\#1 \\$user of method Chill\\\\MainBundle\\\\Security\\\\Authorization\\\\AuthorizationHelper\\:\\:userHasAccessForCenter\\(\\) expects Chill\\\\MainBundle\\\\Entity\\\\User, Symfony\\\\Component\\\\Security\\\\Core\\\\User\\\\UserInterface given\\.$#"
|
||||||
|
count: 1
|
||||||
|
path: src/Bundle/ChillMainBundle/Security/Authorization/AuthorizationHelper.php
|
||||||
|
|
||||||
|
-
|
||||||
|
message: "#^Only booleans are allowed in an if condition, mixed given\\.$#"
|
||||||
|
count: 1
|
||||||
|
path: src/Bundle/ChillMainBundle/Templating/ChillTwigRoutingHelper.php
|
||||||
|
|
||||||
-
|
-
|
||||||
message: "#^Foreach overwrites \\$value with its value variable\\.$#"
|
message: "#^Foreach overwrites \\$value with its value variable\\.$#"
|
||||||
count: 1
|
count: 1
|
||||||
path: src/Bundle/ChillPersonBundle/Form/ChoiceLoader/PersonChoiceLoader.php
|
path: src/Bundle/ChillPersonBundle/Form/ChoiceLoader/PersonChoiceLoader.php
|
||||||
|
|
||||||
|
-
|
||||||
|
message: "#^Only booleans are allowed in an if condition, mixed given\\.$#"
|
||||||
|
count: 1
|
||||||
|
path: src/Bundle/ChillPersonBundle/Form/PersonType.php
|
||||||
|
|
||||||
-
|
-
|
||||||
message: "#^Foreach overwrites \\$value with its value variable\\.$#"
|
message: "#^Foreach overwrites \\$value with its value variable\\.$#"
|
||||||
count: 1
|
count: 1
|
||||||
|
153
phpstan-deprecations-sf54.neon
Normal file
153
phpstan-deprecations-sf54.neon
Normal file
@@ -0,0 +1,153 @@
|
|||||||
|
parameters:
|
||||||
|
ignoreErrors:
|
||||||
|
-
|
||||||
|
message: """
|
||||||
|
#^Call to deprecated method get\\(\\) of class Symfony\\\\Bundle\\\\FrameworkBundle\\\\Controller\\\\AbstractController\\:
|
||||||
|
since Symfony 5\\.4, use method or constructor injection in your controller instead$#
|
||||||
|
"""
|
||||||
|
count: 2
|
||||||
|
path: src/Bundle/ChillCustomFieldsBundle/Controller/CustomFieldsGroupController.php
|
||||||
|
|
||||||
|
-
|
||||||
|
message: """
|
||||||
|
#^Call to deprecated method get\\(\\) of class Symfony\\\\Bundle\\\\FrameworkBundle\\\\Controller\\\\AbstractController\\:
|
||||||
|
since Symfony 5\\.4, use method or constructor injection in your controller instead$#
|
||||||
|
"""
|
||||||
|
count: 1
|
||||||
|
path: src/Bundle/ChillMainBundle/CRUD/Controller/AbstractCRUDController.php
|
||||||
|
|
||||||
|
-
|
||||||
|
message: """
|
||||||
|
#^Call to deprecated method get\\(\\) of class Symfony\\\\Bundle\\\\FrameworkBundle\\\\Controller\\\\AbstractController\\:
|
||||||
|
since Symfony 5\\.4, use method or constructor injection in your controller instead$#
|
||||||
|
"""
|
||||||
|
count: 1
|
||||||
|
path: src/Bundle/ChillMainBundle/CRUD/Controller/ApiController.php
|
||||||
|
|
||||||
|
-
|
||||||
|
message: """
|
||||||
|
#^Call to deprecated method get\\(\\) of class Symfony\\\\Bundle\\\\FrameworkBundle\\\\Controller\\\\AbstractController\\:
|
||||||
|
since Symfony 5\\.4, use method or constructor injection in your controller instead$#
|
||||||
|
"""
|
||||||
|
count: 3
|
||||||
|
path: src/Bundle/ChillMainBundle/CRUD/Controller/CRUDController.php
|
||||||
|
|
||||||
|
-
|
||||||
|
message: """
|
||||||
|
#^Call to deprecated method getUsername\\(\\) of class Chill\\\\MainBundle\\\\Entity\\\\User\\:
|
||||||
|
since Symfony 5\\.3, use getUserIdentifier\\(\\) instead$#
|
||||||
|
"""
|
||||||
|
count: 2
|
||||||
|
path: src/Bundle/ChillMainBundle/Command/ChillImportUsersCommand.php
|
||||||
|
|
||||||
|
-
|
||||||
|
message: """
|
||||||
|
#^Call to deprecated method getUsername\\(\\) of class Chill\\\\MainBundle\\\\Entity\\\\User\\:
|
||||||
|
since Symfony 5\\.3, use getUserIdentifier\\(\\) instead$#
|
||||||
|
"""
|
||||||
|
count: 1
|
||||||
|
path: src/Bundle/ChillMainBundle/Command/ChillUserSendRenewPasswordCodeCommand.php
|
||||||
|
|
||||||
|
-
|
||||||
|
message: """
|
||||||
|
#^Instantiation of deprecated class Symfony\\\\Component\\\\Security\\\\Core\\\\Encoder\\\\EncoderFactory\\:
|
||||||
|
since Symfony 5\\.3, use \\{@link PasswordHasherFactory\\} instead$#
|
||||||
|
"""
|
||||||
|
count: 1
|
||||||
|
path: src/Bundle/ChillMainBundle/Command/SetPasswordCommand.php
|
||||||
|
|
||||||
|
-
|
||||||
|
message: """
|
||||||
|
#^Call to deprecated method get\\(\\) of class Symfony\\\\Bundle\\\\FrameworkBundle\\\\Controller\\\\AbstractController\\:
|
||||||
|
since Symfony 5\\.4, use method or constructor injection in your controller instead$#
|
||||||
|
"""
|
||||||
|
count: 1
|
||||||
|
path: src/Bundle/ChillMainBundle/Controller/MenuController.php
|
||||||
|
|
||||||
|
-
|
||||||
|
message: """
|
||||||
|
#^Call to deprecated method get\\(\\) of class Symfony\\\\Bundle\\\\FrameworkBundle\\\\Controller\\\\AbstractController\\:
|
||||||
|
since Symfony 5\\.4, use method or constructor injection in your controller instead$#
|
||||||
|
"""
|
||||||
|
count: 1
|
||||||
|
path: src/Bundle/ChillMainBundle/Controller/SearchController.php
|
||||||
|
|
||||||
|
-
|
||||||
|
message: """
|
||||||
|
#^Call to deprecated method getUsername\\(\\) of class Chill\\\\MainBundle\\\\Entity\\\\User\\:
|
||||||
|
since Symfony 5\\.3, use getUserIdentifier\\(\\) instead$#
|
||||||
|
"""
|
||||||
|
count: 1
|
||||||
|
path: src/Bundle/ChillMainBundle/Controller/UserController.php
|
||||||
|
|
||||||
|
-
|
||||||
|
message: """
|
||||||
|
#^Instantiation of deprecated class Symfony\\\\Component\\\\Security\\\\Core\\\\Encoder\\\\EncoderFactory\\:
|
||||||
|
since Symfony 5\\.3, use \\{@link PasswordHasherFactory\\} instead$#
|
||||||
|
"""
|
||||||
|
count: 1
|
||||||
|
path: src/Bundle/ChillMainBundle/DataFixtures/ORM/LoadUsers.php
|
||||||
|
|
||||||
|
-
|
||||||
|
message: """
|
||||||
|
#^Call to deprecated method getUsername\\(\\) of class Chill\\\\MainBundle\\\\Entity\\\\User\\:
|
||||||
|
since Symfony 5\\.3, use getUserIdentifier\\(\\) instead$#
|
||||||
|
"""
|
||||||
|
count: 2
|
||||||
|
path: src/Bundle/ChillMainBundle/Security/Authorization/AuthorizationHelper.php
|
||||||
|
|
||||||
|
-
|
||||||
|
message: """
|
||||||
|
#^Call to deprecated method getUsername\\(\\) of class Chill\\\\MainBundle\\\\Entity\\\\User\\:
|
||||||
|
since Symfony 5\\.3, use getUserIdentifier\\(\\) instead$#
|
||||||
|
"""
|
||||||
|
count: 1
|
||||||
|
path: src/Bundle/ChillMainBundle/Serializer/Normalizer/UserNormalizer.php
|
||||||
|
|
||||||
|
-
|
||||||
|
message: """
|
||||||
|
#^Call to deprecated method getUsername\\(\\) of class Chill\\\\MainBundle\\\\Entity\\\\User\\:
|
||||||
|
since Symfony 5\\.3, use getUserIdentifier\\(\\) instead$#
|
||||||
|
"""
|
||||||
|
count: 3
|
||||||
|
path: src/Bundle/ChillMainBundle/Validation/Validator/UserUniqueEmailAndUsername.php
|
||||||
|
|
||||||
|
-
|
||||||
|
message: """
|
||||||
|
#^Call to deprecated method getUsername\\(\\) of class Chill\\\\MainBundle\\\\Entity\\\\User\\:
|
||||||
|
since Symfony 5\\.3, use getUserIdentifier\\(\\) instead$#
|
||||||
|
"""
|
||||||
|
count: 1
|
||||||
|
path: src/Bundle/ChillMainBundle/Validator/Constraints/Entity/UserCircleConsistencyValidator.php
|
||||||
|
|
||||||
|
-
|
||||||
|
message: """
|
||||||
|
#^Call to deprecated method get\\(\\) of class Symfony\\\\Bundle\\\\FrameworkBundle\\\\Controller\\\\AbstractController\\:
|
||||||
|
since Symfony 5\\.4, use method or constructor injection in your controller instead$#
|
||||||
|
"""
|
||||||
|
count: 13
|
||||||
|
path: src/Bundle/ChillPersonBundle/Controller/AccompanyingPeriodController.php
|
||||||
|
|
||||||
|
-
|
||||||
|
message: """
|
||||||
|
#^Call to deprecated method get\\(\\) of class Symfony\\\\Bundle\\\\FrameworkBundle\\\\Controller\\\\AbstractController\\:
|
||||||
|
since Symfony 5\\.4, use method or constructor injection in your controller instead$#
|
||||||
|
"""
|
||||||
|
count: 4
|
||||||
|
path: src/Bundle/ChillPersonBundle/Controller/PersonController.php
|
||||||
|
|
||||||
|
-
|
||||||
|
message: """
|
||||||
|
#^Call to deprecated method get\\(\\) of class Symfony\\\\Bundle\\\\FrameworkBundle\\\\Controller\\\\AbstractController\\:
|
||||||
|
since Symfony 5\\.4, use method or constructor injection in your controller instead$#
|
||||||
|
"""
|
||||||
|
count: 7
|
||||||
|
path: src/Bundle/ChillReportBundle/Controller/ReportController.php
|
||||||
|
|
||||||
|
-
|
||||||
|
message: """
|
||||||
|
#^Call to deprecated method getUsername\\(\\) of class Chill\\\\MainBundle\\\\Entity\\\\User\\:
|
||||||
|
since Symfony 5\\.3, use getUserIdentifier\\(\\) instead$#
|
||||||
|
"""
|
||||||
|
count: 1
|
||||||
|
path: src/Bundle/ChillTaskBundle/Form/SingleTaskListType.php
|
@@ -1,36 +1,5 @@
|
|||||||
parameters:
|
parameters:
|
||||||
ignoreErrors:
|
ignoreErrors:
|
||||||
-
|
|
||||||
message: """
|
|
||||||
#^Instantiation of deprecated class Symfony\\\\Component\\\\Security\\\\Core\\\\Role\\\\Role\\:
|
|
||||||
since Symfony 4\\.3, to be removed in 5\\.0\\. Use strings as roles instead\\.$#
|
|
||||||
"""
|
|
||||||
count: 2
|
|
||||||
path: src/Bundle/ChillActivityBundle/Controller/ActivityController.php
|
|
||||||
|
|
||||||
-
|
|
||||||
message: "#^Call to deprecated method setType\\(\\) of class Chill\\\\ActivityBundle\\\\Entity\\\\Activity\\.$#"
|
|
||||||
count: 1
|
|
||||||
path: src/Bundle/ChillActivityBundle/DataFixtures/ORM/LoadActivity.php
|
|
||||||
|
|
||||||
-
|
|
||||||
message: "#^Only booleans are allowed in an if condition, mixed given\\.$#"
|
|
||||||
count: 1
|
|
||||||
path: src/Bundle/ChillActivityBundle/Entity/ActivityReason.php
|
|
||||||
|
|
||||||
-
|
|
||||||
message: "#^Only booleans are allowed in an if condition, mixed given\\.$#"
|
|
||||||
count: 1
|
|
||||||
path: src/Bundle/ChillActivityBundle/Entity/ActivityReasonCategory.php
|
|
||||||
|
|
||||||
-
|
|
||||||
message: """
|
|
||||||
#^Fetching class constant class of deprecated class Symfony\\\\Component\\\\Security\\\\Core\\\\Role\\\\Role\\:
|
|
||||||
since Symfony 4\\.3, to be removed in 5\\.0\\. Use strings as roles instead\\.$#
|
|
||||||
"""
|
|
||||||
count: 1
|
|
||||||
path: src/Bundle/ChillActivityBundle/Form/ActivityType.php
|
|
||||||
|
|
||||||
|
|
||||||
-
|
-
|
||||||
message: """
|
message: """
|
||||||
@@ -40,201 +9,10 @@ parameters:
|
|||||||
count: 1
|
count: 1
|
||||||
path: src/Bundle/ChillActivityBundle/Repository/ActivityACLAwareRepository.php
|
path: src/Bundle/ChillActivityBundle/Repository/ActivityACLAwareRepository.php
|
||||||
|
|
||||||
-
|
|
||||||
message: """
|
|
||||||
#^Instantiation of deprecated class Symfony\\\\Component\\\\Security\\\\Core\\\\Role\\\\Role\\:
|
|
||||||
since Symfony 4\\.3, to be removed in 5\\.0\\. Use strings as roles instead\\.$#
|
|
||||||
"""
|
|
||||||
count: 1
|
|
||||||
path: src/Bundle/ChillActivityBundle/Timeline/TimelineActivityProvider.php
|
|
||||||
|
|
||||||
-
|
|
||||||
message: """
|
|
||||||
#^Parameter \\$templating of method Chill\\\\CustomFieldsBundle\\\\CustomFields\\\\CustomFieldChoice\\:\\:__construct\\(\\) has typehint with deprecated class Symfony\\\\Bridge\\\\Twig\\\\TwigEngine\\:
|
|
||||||
since version 4\\.3, to be removed in 5\\.0; use Twig instead\\.$#
|
|
||||||
"""
|
|
||||||
count: 1
|
|
||||||
path: src/Bundle/ChillCustomFieldsBundle/CustomFields/CustomFieldChoice.php
|
|
||||||
|
|
||||||
-
|
|
||||||
message: "#^Used function LogicException not found\\.$#"
|
|
||||||
count: 1
|
|
||||||
path: src/Bundle/ChillCustomFieldsBundle/CustomFields/CustomFieldChoice.php
|
|
||||||
|
|
||||||
-
|
|
||||||
message: """
|
|
||||||
#^Parameter \\$templating of method Chill\\\\CustomFieldsBundle\\\\CustomFields\\\\CustomFieldDate\\:\\:__construct\\(\\) has typehint with deprecated class Symfony\\\\Bundle\\\\TwigBundle\\\\TwigEngine\\:
|
|
||||||
since version 4\\.3, to be removed in 5\\.0; use Twig instead\\.$#
|
|
||||||
"""
|
|
||||||
count: 1
|
|
||||||
path: src/Bundle/ChillCustomFieldsBundle/CustomFields/CustomFieldDate.php
|
|
||||||
|
|
||||||
-
|
|
||||||
message: """
|
|
||||||
#^Parameter \\$twigEngine of method Chill\\\\CustomFieldsBundle\\\\CustomFields\\\\CustomFieldLongChoice\\:\\:__construct\\(\\) has typehint with deprecated class Symfony\\\\Bridge\\\\Twig\\\\TwigEngine\\:
|
|
||||||
since version 4\\.3, to be removed in 5\\.0; use Twig instead\\.$#
|
|
||||||
"""
|
|
||||||
count: 1
|
|
||||||
path: src/Bundle/ChillCustomFieldsBundle/CustomFields/CustomFieldLongChoice.php
|
|
||||||
|
|
||||||
-
|
|
||||||
message: """
|
|
||||||
#^Parameter \\$templating of method Chill\\\\CustomFieldsBundle\\\\CustomFields\\\\CustomFieldNumber\\:\\:__construct\\(\\) has typehint with deprecated class Symfony\\\\Bundle\\\\TwigBundle\\\\TwigEngine\\:
|
|
||||||
since version 4\\.3, to be removed in 5\\.0; use Twig instead\\.$#
|
|
||||||
"""
|
|
||||||
count: 1
|
|
||||||
path: src/Bundle/ChillCustomFieldsBundle/CustomFields/CustomFieldNumber.php
|
|
||||||
|
|
||||||
-
|
|
||||||
message: """
|
|
||||||
#^Parameter \\$templating of method Chill\\\\CustomFieldsBundle\\\\CustomFields\\\\CustomFieldText\\:\\:__construct\\(\\) has typehint with deprecated class Symfony\\\\Bundle\\\\TwigBundle\\\\TwigEngine\\:
|
|
||||||
since version 4\\.3, to be removed in 5\\.0; use Twig instead\\.$#
|
|
||||||
"""
|
|
||||||
count: 1
|
|
||||||
path: src/Bundle/ChillCustomFieldsBundle/CustomFields/CustomFieldText.php
|
|
||||||
|
|
||||||
-
|
|
||||||
message: """
|
|
||||||
#^Parameter \\$templating of method Chill\\\\CustomFieldsBundle\\\\CustomFields\\\\CustomFieldTitle\\:\\:__construct\\(\\) has typehint with deprecated class Symfony\\\\Bundle\\\\TwigBundle\\\\TwigEngine\\:
|
|
||||||
since version 4\\.3, to be removed in 5\\.0; use Twig instead\\.$#
|
|
||||||
"""
|
|
||||||
count: 1
|
|
||||||
path: src/Bundle/ChillCustomFieldsBundle/CustomFields/CustomFieldTitle.php
|
|
||||||
|
|
||||||
-
|
-
|
||||||
message: "#^Only booleans are allowed in an if condition, mixed given\\.$#"
|
message: "#^Only booleans are allowed in an if condition, mixed given\\.$#"
|
||||||
count: 1
|
count: 1
|
||||||
path: src/Bundle/ChillCustomFieldsBundle/Entity/CustomField.php
|
path: src/Bundle/ChillActivityBundle/Entity/ActivityReasonCategory.php
|
||||||
|
|
||||||
-
|
|
||||||
message: "#^Only booleans are allowed in an if condition, mixed given\\.$#"
|
|
||||||
count: 1
|
|
||||||
path: src/Bundle/ChillCustomFieldsBundle/Entity/CustomFieldsGroup.php
|
|
||||||
|
|
||||||
-
|
|
||||||
message: """
|
|
||||||
#^Instantiation of deprecated class Symfony\\\\Component\\\\Security\\\\Core\\\\Role\\\\Role\\:
|
|
||||||
since Symfony 4\\.3, to be removed in 5\\.0\\. Use strings as roles instead\\.$#
|
|
||||||
"""
|
|
||||||
count: 6
|
|
||||||
path: src/Bundle/ChillEventBundle/Controller/EventController.php
|
|
||||||
|
|
||||||
-
|
|
||||||
message: """
|
|
||||||
#^Fetching class constant class of deprecated class Symfony\\\\Component\\\\Security\\\\Core\\\\Role\\\\Role\\:
|
|
||||||
since Symfony 4\\.3, to be removed in 5\\.0\\. Use strings as roles instead\\.$#
|
|
||||||
"""
|
|
||||||
count: 1
|
|
||||||
path: src/Bundle/ChillEventBundle/Form/EventType.php
|
|
||||||
|
|
||||||
-
|
|
||||||
message: """
|
|
||||||
#^Fetching class constant class of deprecated class Symfony\\\\Component\\\\Security\\\\Core\\\\Role\\\\Role\\:
|
|
||||||
since Symfony 4\\.3, to be removed in 5\\.0\\. Use strings as roles instead\\.$#
|
|
||||||
"""
|
|
||||||
count: 1
|
|
||||||
path: src/Bundle/ChillEventBundle/Form/Type/PickEventType.php
|
|
||||||
|
|
||||||
-
|
|
||||||
message: """
|
|
||||||
#^Instantiation of deprecated class Symfony\\\\Component\\\\Security\\\\Core\\\\Role\\\\Role\\:
|
|
||||||
since Symfony 4\\.3, to be removed in 5\\.0\\. Use strings as roles instead\\.$#
|
|
||||||
"""
|
|
||||||
count: 1
|
|
||||||
path: src/Bundle/ChillFamilyMembersBundle/Security/Voter/FamilyMemberVoter.php
|
|
||||||
|
|
||||||
-
|
|
||||||
message: """
|
|
||||||
#^Parameter \\$role of method Chill\\\\MainBundle\\\\CRUD\\\\Controller\\\\CRUDController\\:\\:getReachableCenters\\(\\) has typehint with deprecated class Symfony\\\\Component\\\\Security\\\\Core\\\\Role\\\\Role\\:
|
|
||||||
since Symfony 4\\.3, to be removed in 5\\.0\\. Use strings as roles instead\\.$#
|
|
||||||
"""
|
|
||||||
count: 1
|
|
||||||
path: src/Bundle/ChillMainBundle/CRUD/Controller/CRUDController.php
|
|
||||||
|
|
||||||
-
|
|
||||||
message: """
|
|
||||||
#^Call to deprecated method getLanguageBundle\\(\\) of class Symfony\\\\Component\\\\Intl\\\\Intl\\:
|
|
||||||
since Symfony 4\\.3, to be removed in 5\\.0\\. Use \\{@see Languages\\} or \\{@see Scripts\\} instead\\.$#
|
|
||||||
"""
|
|
||||||
count: 1
|
|
||||||
path: src/Bundle/ChillMainBundle/Command/LoadAndUpdateLanguagesCommand.php
|
|
||||||
|
|
||||||
-
|
|
||||||
message: """
|
|
||||||
#^Call to deprecated method getRegionBundle\\(\\) of class Symfony\\\\Component\\\\Intl\\\\Intl\\:
|
|
||||||
since Symfony 4\\.3, to be removed in 5\\.0\\. Use \\{@see Countries\\} instead\\.$#
|
|
||||||
"""
|
|
||||||
count: 1
|
|
||||||
path: src/Bundle/ChillMainBundle/Command/LoadCountriesCommand.php
|
|
||||||
|
|
||||||
-
|
|
||||||
message: """
|
|
||||||
#^Instantiation of deprecated class Symfony\\\\Component\\\\Security\\\\Core\\\\Role\\\\Role\\:
|
|
||||||
since Symfony 4\\.3, to be removed in 5\\.0\\. Use strings as roles instead\\.$#
|
|
||||||
"""
|
|
||||||
count: 1
|
|
||||||
path: src/Bundle/ChillMainBundle/Controller/PermissionsGroupController.php
|
|
||||||
|
|
||||||
-
|
|
||||||
message: """
|
|
||||||
#^Parameter \\$role of anonymous function has typehint with deprecated class Symfony\\\\Component\\\\Security\\\\Core\\\\Role\\\\Role\\:
|
|
||||||
since Symfony 4\\.3, to be removed in 5\\.0\\. Use strings as roles instead\\.$#
|
|
||||||
"""
|
|
||||||
count: 1
|
|
||||||
path: src/Bundle/ChillMainBundle/Controller/PermissionsGroupController.php
|
|
||||||
|
|
||||||
-
|
|
||||||
message: """
|
|
||||||
#^Call to deprecated method getLanguageBundle\\(\\) of class Symfony\\\\Component\\\\Intl\\\\Intl\\:
|
|
||||||
since Symfony 4\\.3, to be removed in 5\\.0\\. Use \\{@see Languages\\} or \\{@see Scripts\\} instead\\.$#
|
|
||||||
"""
|
|
||||||
count: 2
|
|
||||||
path: src/Bundle/ChillMainBundle/DataFixtures/ORM/LoadLanguages.php
|
|
||||||
|
|
||||||
-
|
|
||||||
message: """
|
|
||||||
#^Return type of method Chill\\\\MainBundle\\\\Entity\\\\User\\:\\:getRoles\\(\\) has typehint with deprecated class Symfony\\\\Component\\\\Security\\\\Core\\\\Role\\\\Role\\:
|
|
||||||
since Symfony 4\\.3, to be removed in 5\\.0\\. Use strings as roles instead\\.$#
|
|
||||||
"""
|
|
||||||
count: 1
|
|
||||||
path: src/Bundle/ChillMainBundle/Entity/User.php
|
|
||||||
|
|
||||||
-
|
|
||||||
message: """
|
|
||||||
#^Class Chill\\\\MainBundle\\\\Form\\\\Event\\\\CustomizeFormEvent extends deprecated class Symfony\\\\Component\\\\EventDispatcher\\\\Event\\:
|
|
||||||
since Symfony 4\\.3, use "Symfony\\\\Contracts\\\\EventDispatcher\\\\Event" instead$#
|
|
||||||
"""
|
|
||||||
count: 1
|
|
||||||
path: src/Bundle/ChillMainBundle/Form/Event/CustomizeFormEvent.php
|
|
||||||
|
|
||||||
-
|
|
||||||
message: """
|
|
||||||
#^Fetching class constant class of deprecated class Symfony\\\\Component\\\\Security\\\\Core\\\\Role\\\\Role\\:
|
|
||||||
since Symfony 4\\.3, to be removed in 5\\.0\\. Use strings as roles instead\\.$#
|
|
||||||
"""
|
|
||||||
count: 1
|
|
||||||
path: src/Bundle/ChillMainBundle/Form/Type/ScopePickerType.php
|
|
||||||
|
|
||||||
-
|
|
||||||
message: """
|
|
||||||
#^Fetching class constant class of deprecated class Symfony\\\\Component\\\\Security\\\\Core\\\\Role\\\\Role\\:
|
|
||||||
since Symfony 4\\.3, to be removed in 5\\.0\\. Use strings as roles instead\\.$#
|
|
||||||
"""
|
|
||||||
count: 1
|
|
||||||
path: src/Bundle/ChillMainBundle/Form/Type/UserPickerType.php
|
|
||||||
|
|
||||||
-
|
|
||||||
message: "#^Only booleans are allowed in an if condition, mixed given\\.$#"
|
|
||||||
count: 2
|
|
||||||
path: src/Bundle/ChillMainBundle/Repository/NotificationRepository.php
|
|
||||||
|
|
||||||
-
|
|
||||||
message: """
|
|
||||||
#^Parameter \\$attribute of method Chill\\\\MainBundle\\\\Security\\\\Authorization\\\\AuthorizationHelper\\:\\:userHasAccess\\(\\) has typehint with deprecated class Symfony\\\\Component\\\\Security\\\\Core\\\\Role\\\\Role\\:
|
|
||||||
since Symfony 4\\.3, to be removed in 5\\.0\\. Use strings as roles instead\\.$#
|
|
||||||
"""
|
|
||||||
count: 1
|
|
||||||
path: src/Bundle/ChillMainBundle/Security/Authorization/AuthorizationHelper.php
|
|
||||||
|
|
||||||
-
|
-
|
||||||
message: """
|
message: """
|
||||||
@@ -244,14 +22,6 @@ parameters:
|
|||||||
count: 1
|
count: 1
|
||||||
path: src/Bundle/ChillMainBundle/Security/Authorization/AuthorizationHelper.php
|
path: src/Bundle/ChillMainBundle/Security/Authorization/AuthorizationHelper.php
|
||||||
|
|
||||||
-
|
|
||||||
message: """
|
|
||||||
#^Parameter \\$role of method Chill\\\\MainBundle\\\\Security\\\\Authorization\\\\AuthorizationHelper\\:\\:getReachableCircles\\(\\) has typehint with deprecated class Symfony\\\\Component\\\\Security\\\\Core\\\\Role\\\\Role\\:
|
|
||||||
since Symfony 4\\.3, to be removed in 5\\.0\\. Use strings as roles instead\\.$#
|
|
||||||
"""
|
|
||||||
count: 1
|
|
||||||
path: src/Bundle/ChillMainBundle/Security/Authorization/AuthorizationHelper.php
|
|
||||||
|
|
||||||
-
|
-
|
||||||
message: """
|
message: """
|
||||||
#^Parameter \\$centerResolverDispatcher of method Chill\\\\MainBundle\\\\Security\\\\Authorization\\\\DefaultVoterHelper\\:\\:__construct\\(\\) has typehint with deprecated interface Chill\\\\MainBundle\\\\Security\\\\Resolver\\\\CenterResolverDispatcherInterface\\:
|
#^Parameter \\$centerResolverDispatcher of method Chill\\\\MainBundle\\\\Security\\\\Authorization\\\\DefaultVoterHelper\\:\\:__construct\\(\\) has typehint with deprecated interface Chill\\\\MainBundle\\\\Security\\\\Resolver\\\\CenterResolverDispatcherInterface\\:
|
||||||
@@ -276,14 +46,6 @@ parameters:
|
|||||||
count: 1
|
count: 1
|
||||||
path: src/Bundle/ChillMainBundle/Security/Authorization/DefaultVoterHelperGenerator.php
|
path: src/Bundle/ChillMainBundle/Security/Authorization/DefaultVoterHelperGenerator.php
|
||||||
|
|
||||||
-
|
|
||||||
message: """
|
|
||||||
#^Class Chill\\\\MainBundle\\\\Security\\\\PasswordRecover\\\\PasswordRecoverEvent extends deprecated class Symfony\\\\Component\\\\EventDispatcher\\\\Event\\:
|
|
||||||
since Symfony 4\\.3, use "Symfony\\\\Contracts\\\\EventDispatcher\\\\Event" instead$#
|
|
||||||
"""
|
|
||||||
count: 1
|
|
||||||
path: src/Bundle/ChillMainBundle/Security/PasswordRecover/PasswordRecoverEvent.php
|
|
||||||
|
|
||||||
-
|
-
|
||||||
message: """
|
message: """
|
||||||
#^Class Chill\\\\MainBundle\\\\Security\\\\Resolver\\\\CenterResolverDispatcher implements deprecated interface Chill\\\\MainBundle\\\\Security\\\\Resolver\\\\CenterResolverDispatcherInterface\\:
|
#^Class Chill\\\\MainBundle\\\\Security\\\\Resolver\\\\CenterResolverDispatcher implements deprecated interface Chill\\\\MainBundle\\\\Security\\\\Resolver\\\\CenterResolverDispatcherInterface\\:
|
||||||
@@ -292,35 +54,6 @@ parameters:
|
|||||||
count: 1
|
count: 1
|
||||||
path: src/Bundle/ChillMainBundle/Security/Resolver/CenterResolverDispatcher.php
|
path: src/Bundle/ChillMainBundle/Security/Resolver/CenterResolverDispatcher.php
|
||||||
|
|
||||||
-
|
|
||||||
message: "#^Only booleans are allowed in an if condition, mixed given\\.$#"
|
|
||||||
count: 1
|
|
||||||
path: src/Bundle/ChillMainBundle/Templating/ChillTwigRoutingHelper.php
|
|
||||||
|
|
||||||
-
|
|
||||||
message: """
|
|
||||||
#^Class Chill\\\\MainBundle\\\\Templating\\\\Events\\\\DelegatedBlockRenderingEvent extends deprecated class Symfony\\\\Component\\\\EventDispatcher\\\\Event\\:
|
|
||||||
since Symfony 4\\.3, use "Symfony\\\\Contracts\\\\EventDispatcher\\\\Event" instead$#
|
|
||||||
"""
|
|
||||||
count: 1
|
|
||||||
path: src/Bundle/ChillMainBundle/Templating/Events/DelegatedBlockRenderingEvent.php
|
|
||||||
|
|
||||||
-
|
|
||||||
message: """
|
|
||||||
#^Class Chill\\\\PersonBundle\\\\Actions\\\\ActionEvent extends deprecated class Symfony\\\\Component\\\\EventDispatcher\\\\Event\\:
|
|
||||||
since Symfony 4\\.3, use "Symfony\\\\Contracts\\\\EventDispatcher\\\\Event" instead$#
|
|
||||||
"""
|
|
||||||
count: 1
|
|
||||||
path: src/Bundle/ChillPersonBundle/Actions/ActionEvent.php
|
|
||||||
|
|
||||||
-
|
|
||||||
message: """
|
|
||||||
#^Class Chill\\\\PersonBundle\\\\Controller\\\\AccompanyingCourseController extends deprecated class Symfony\\\\Bundle\\\\FrameworkBundle\\\\Controller\\\\Controller\\:
|
|
||||||
since Symfony 4\\.2, use "Symfony\\\\Bundle\\\\FrameworkBundle\\\\Controller\\\\AbstractController" instead\\.$#
|
|
||||||
"""
|
|
||||||
count: 1
|
|
||||||
path: src/Bundle/ChillPersonBundle/Controller/AccompanyingCourseController.php
|
|
||||||
|
|
||||||
-
|
-
|
||||||
message: """
|
message: """
|
||||||
#^Call to deprecated method getCurrentAccompanyingPeriod\\(\\) of class Chill\\\\PersonBundle\\\\Entity\\\\Person\\:
|
#^Call to deprecated method getCurrentAccompanyingPeriod\\(\\) of class Chill\\\\PersonBundle\\\\Entity\\\\Person\\:
|
||||||
@@ -329,56 +62,10 @@ parameters:
|
|||||||
count: 1
|
count: 1
|
||||||
path: src/Bundle/ChillPersonBundle/Controller/AccompanyingPeriodController.php
|
path: src/Bundle/ChillPersonBundle/Controller/AccompanyingPeriodController.php
|
||||||
|
|
||||||
-
|
|
||||||
message: """
|
|
||||||
#^Class Chill\\\\PersonBundle\\\\Controller\\\\PersonDuplicateController extends deprecated class Symfony\\\\Bundle\\\\FrameworkBundle\\\\Controller\\\\Controller\\:
|
|
||||||
since Symfony 4\\.2, use "Symfony\\\\Bundle\\\\FrameworkBundle\\\\Controller\\\\AbstractController" instead\\.$#
|
|
||||||
"""
|
|
||||||
count: 1
|
|
||||||
path: src/Bundle/ChillPersonBundle/Controller/PersonDuplicateController.php
|
|
||||||
|
|
||||||
-
|
-
|
||||||
message: "#^Access to deprecated property \\$proxyAccompanyingPeriodOpenState of class Chill\\\\PersonBundle\\\\Entity\\\\Person\\.$#"
|
message: "#^Access to deprecated property \\$proxyAccompanyingPeriodOpenState of class Chill\\\\PersonBundle\\\\Entity\\\\Person\\.$#"
|
||||||
count: 2
|
count: 2
|
||||||
path: src/Bundle/ChillPersonBundle/Entity/Person.php
|
path: src/Bundle/ChillPersonBundle/Entity/Person.php
|
||||||
|
|
||||||
-
|
|
||||||
message: """
|
|
||||||
#^Instantiation of deprecated class Symfony\\\\Component\\\\Security\\\\Core\\\\Role\\\\Role\\:
|
|
||||||
since Symfony 4\\.3, to be removed in 5\\.0\\. Use strings as roles instead\\.$#
|
|
||||||
"""
|
|
||||||
count: 1
|
|
||||||
path: src/Bundle/ChillPersonBundle/Form/AccompanyingPeriodType.php
|
|
||||||
|
|
||||||
-
|
|
||||||
message: "#^Only booleans are allowed in an if condition, mixed given\\.$#"
|
|
||||||
count: 1
|
|
||||||
path: src/Bundle/ChillPersonBundle/Form/PersonType.php
|
|
||||||
|
|
||||||
-
|
|
||||||
message: """
|
|
||||||
#^Fetching class constant class of deprecated class Symfony\\\\Component\\\\Security\\\\Core\\\\Role\\\\Role\\:
|
|
||||||
since Symfony 4\\.3, to be removed in 5\\.0\\. Use strings as roles instead\\.$#
|
|
||||||
"""
|
|
||||||
count: 1
|
|
||||||
path: src/Bundle/ChillPersonBundle/Form/Type/PickPersonType.php
|
|
||||||
|
|
||||||
-
|
|
||||||
message: """
|
|
||||||
#^Class Chill\\\\PersonBundle\\\\Privacy\\\\AccompanyingPeriodPrivacyEvent extends deprecated class Symfony\\\\Component\\\\EventDispatcher\\\\Event\\:
|
|
||||||
since Symfony 4\\.3, use "Symfony\\\\Contracts\\\\EventDispatcher\\\\Event" instead$#
|
|
||||||
"""
|
|
||||||
count: 1
|
|
||||||
path: src/Bundle/ChillPersonBundle/Privacy/AccompanyingPeriodPrivacyEvent.php
|
|
||||||
|
|
||||||
-
|
|
||||||
message: """
|
|
||||||
#^Class Chill\\\\PersonBundle\\\\Privacy\\\\PrivacyEvent extends deprecated class Symfony\\\\Component\\\\EventDispatcher\\\\Event\\:
|
|
||||||
since Symfony 4\\.3, use "Symfony\\\\Contracts\\\\EventDispatcher\\\\Event" instead$#
|
|
||||||
"""
|
|
||||||
count: 1
|
|
||||||
path: src/Bundle/ChillPersonBundle/Privacy/PrivacyEvent.php
|
|
||||||
|
|
||||||
-
|
-
|
||||||
message: """
|
message: """
|
||||||
#^Parameter \\$centerResolverDispatcher of method Chill\\\\PersonBundle\\\\Repository\\\\AccompanyingPeriodACLAwareRepository\\:\\:__construct\\(\\) has typehint with deprecated interface Chill\\\\MainBundle\\\\Security\\\\Resolver\\\\CenterResolverDispatcherInterface\\:
|
#^Parameter \\$centerResolverDispatcher of method Chill\\\\PersonBundle\\\\Repository\\\\AccompanyingPeriodACLAwareRepository\\:\\:__construct\\(\\) has typehint with deprecated interface Chill\\\\MainBundle\\\\Security\\\\Resolver\\\\CenterResolverDispatcherInterface\\:
|
||||||
@@ -387,48 +74,6 @@ parameters:
|
|||||||
count: 1
|
count: 1
|
||||||
path: src/Bundle/ChillPersonBundle/Repository/AccompanyingPeriodACLAwareRepository.php
|
path: src/Bundle/ChillPersonBundle/Repository/AccompanyingPeriodACLAwareRepository.php
|
||||||
|
|
||||||
-
|
|
||||||
message: """
|
|
||||||
#^Instantiation of deprecated class Symfony\\\\Component\\\\Security\\\\Core\\\\Role\\\\Role\\:
|
|
||||||
since Symfony 4\\.3, to be removed in 5\\.0\\. Use strings as roles instead\\.$#
|
|
||||||
"""
|
|
||||||
count: 1
|
|
||||||
path: src/Bundle/ChillPersonBundle/Widget/PersonListWidget.php
|
|
||||||
|
|
||||||
-
|
|
||||||
message: """
|
|
||||||
#^Instantiation of deprecated class Symfony\\\\Component\\\\Security\\\\Core\\\\Role\\\\Role\\:
|
|
||||||
since Symfony 4\\.3, to be removed in 5\\.0\\. Use strings as roles instead\\.$#
|
|
||||||
"""
|
|
||||||
count: 3
|
|
||||||
path: src/Bundle/ChillReportBundle/Controller/ReportController.php
|
|
||||||
|
|
||||||
|
|
||||||
-
|
|
||||||
message: """
|
|
||||||
#^Parameter \\$role of method Chill\\\\ReportBundle\\\\Form\\\\ReportType\\:\\:appendScopeChoices\\(\\) has typehint with deprecated class Symfony\\\\Component\\\\Security\\\\Core\\\\Role\\\\Role\\:
|
|
||||||
since Symfony 4\\.3, to be removed in 5\\.0\\. Use strings as roles instead\\.$#
|
|
||||||
"""
|
|
||||||
count: 1
|
|
||||||
path: src/Bundle/ChillReportBundle/Form/ReportType.php
|
|
||||||
|
|
||||||
-
|
|
||||||
message: """
|
|
||||||
#^Instantiation of deprecated class Symfony\\\\Component\\\\Security\\\\Core\\\\Role\\\\Role\\:
|
|
||||||
since Symfony 4\\.3, to be removed in 5\\.0\\. Use strings as roles instead\\.$#
|
|
||||||
"""
|
|
||||||
count: 1
|
|
||||||
path: src/Bundle/ChillReportBundle/Search/ReportSearch.php
|
|
||||||
|
|
||||||
|
|
||||||
-
|
|
||||||
message: """
|
|
||||||
#^Instantiation of deprecated class Symfony\\\\Component\\\\Security\\\\Core\\\\Role\\\\Role\\:
|
|
||||||
since Symfony 4\\.3, to be removed in 5\\.0\\. Use strings as roles instead\\.$#
|
|
||||||
"""
|
|
||||||
count: 2
|
|
||||||
path: src/Bundle/ChillTaskBundle/Controller/SingleTaskController.php
|
|
||||||
|
|
||||||
-
|
-
|
||||||
message: """
|
message: """
|
||||||
#^Parameter \\$centerResolverDispatcher of method Chill\\\\TaskBundle\\\\Controller\\\\SingleTaskController\\:\\:__construct\\(\\) has typehint with deprecated interface Chill\\\\MainBundle\\\\Security\\\\Resolver\\\\CenterResolverDispatcherInterface\\:
|
#^Parameter \\$centerResolverDispatcher of method Chill\\\\TaskBundle\\\\Controller\\\\SingleTaskController\\:\\:__construct\\(\\) has typehint with deprecated interface Chill\\\\MainBundle\\\\Security\\\\Resolver\\\\CenterResolverDispatcherInterface\\:
|
||||||
@@ -437,46 +82,6 @@ parameters:
|
|||||||
count: 1
|
count: 1
|
||||||
path: src/Bundle/ChillTaskBundle/Controller/SingleTaskController.php
|
path: src/Bundle/ChillTaskBundle/Controller/SingleTaskController.php
|
||||||
|
|
||||||
-
|
|
||||||
message: """
|
|
||||||
#^Parameter \\$role of method Chill\\\\TaskBundle\\\\Controller\\\\SingleTaskController\\:\\:setCreateForm\\(\\) has typehint with deprecated class Symfony\\\\Component\\\\Security\\\\Core\\\\Role\\\\Role\\:
|
|
||||||
since Symfony 4\\.3, to be removed in 5\\.0\\. Use strings as roles instead\\.$#
|
|
||||||
"""
|
|
||||||
count: 1
|
|
||||||
path: src/Bundle/ChillTaskBundle/Controller/SingleTaskController.php
|
|
||||||
|
|
||||||
-
|
|
||||||
message: """
|
|
||||||
#^Class Chill\\\\TaskBundle\\\\Event\\\\TaskEvent extends deprecated class Symfony\\\\Component\\\\EventDispatcher\\\\Event\\:
|
|
||||||
since Symfony 4\\.3, use "Symfony\\\\Contracts\\\\EventDispatcher\\\\Event" instead$#
|
|
||||||
"""
|
|
||||||
count: 1
|
|
||||||
path: src/Bundle/ChillTaskBundle/Event/TaskEvent.php
|
|
||||||
|
|
||||||
-
|
|
||||||
message: """
|
|
||||||
#^Class Chill\\\\TaskBundle\\\\Event\\\\UI\\\\UIEvent extends deprecated class Symfony\\\\Component\\\\EventDispatcher\\\\Event\\:
|
|
||||||
since Symfony 4\\.3, use "Symfony\\\\Contracts\\\\EventDispatcher\\\\Event" instead$#
|
|
||||||
"""
|
|
||||||
count: 1
|
|
||||||
path: src/Bundle/ChillTaskBundle/Event/UI/UIEvent.php
|
|
||||||
|
|
||||||
-
|
|
||||||
message: """
|
|
||||||
#^Instantiation of deprecated class Symfony\\\\Component\\\\Security\\\\Core\\\\Role\\\\Role\\:
|
|
||||||
since Symfony 4\\.3, to be removed in 5\\.0\\. Use strings as roles instead\\.$#
|
|
||||||
"""
|
|
||||||
count: 4
|
|
||||||
path: src/Bundle/ChillTaskBundle/Form/SingleTaskListType.php
|
|
||||||
|
|
||||||
-
|
|
||||||
message: """
|
|
||||||
#^Fetching class constant class of deprecated class Symfony\\\\Component\\\\Security\\\\Core\\\\Role\\\\Role\\:
|
|
||||||
since Symfony 4\\.3, to be removed in 5\\.0\\. Use strings as roles instead\\.$#
|
|
||||||
"""
|
|
||||||
count: 1
|
|
||||||
path: src/Bundle/ChillTaskBundle/Form/SingleTaskType.php
|
|
||||||
|
|
||||||
-
|
-
|
||||||
message: """
|
message: """
|
||||||
#^Parameter \\$centerResolverDispatcher of method Chill\\\\TaskBundle\\\\Form\\\\SingleTaskType\\:\\:__construct\\(\\) has typehint with deprecated interface Chill\\\\MainBundle\\\\Security\\\\Resolver\\\\CenterResolverDispatcherInterface\\:
|
#^Parameter \\$centerResolverDispatcher of method Chill\\\\TaskBundle\\\\Form\\\\SingleTaskType\\:\\:__construct\\(\\) has typehint with deprecated interface Chill\\\\MainBundle\\\\Security\\\\Resolver\\\\CenterResolverDispatcherInterface\\:
|
||||||
@@ -484,28 +89,3 @@ parameters:
|
|||||||
"""
|
"""
|
||||||
count: 1
|
count: 1
|
||||||
path: src/Bundle/ChillTaskBundle/Form/SingleTaskType.php
|
path: src/Bundle/ChillTaskBundle/Form/SingleTaskType.php
|
||||||
|
|
||||||
-
|
|
||||||
message: """
|
|
||||||
#^Instantiation of deprecated class Symfony\\\\Component\\\\Security\\\\Core\\\\Role\\\\Role\\:
|
|
||||||
since Symfony 4\\.3, to be removed in 5\\.0\\. Use strings as roles instead\\.$#
|
|
||||||
"""
|
|
||||||
count: 1
|
|
||||||
path: src/Bundle/ChillTaskBundle/Repository/SingleTaskRepository.php
|
|
||||||
|
|
||||||
-
|
|
||||||
message: """
|
|
||||||
#^Class Chill\\\\TaskBundle\\\\Security\\\\Authorization\\\\AuthorizationEvent extends deprecated class Symfony\\\\Component\\\\EventDispatcher\\\\Event\\:
|
|
||||||
since Symfony 4\\.3, use "Symfony\\\\Contracts\\\\EventDispatcher\\\\Event" instead$#
|
|
||||||
"""
|
|
||||||
count: 1
|
|
||||||
path: src/Bundle/ChillTaskBundle/Security/Authorization/AuthorizationEvent.php
|
|
||||||
|
|
||||||
-
|
|
||||||
message: """
|
|
||||||
#^Instantiation of deprecated class Symfony\\\\Component\\\\Security\\\\Core\\\\Role\\\\Role\\:
|
|
||||||
since Symfony 4\\.3, to be removed in 5\\.0\\. Use strings as roles instead\\.$#
|
|
||||||
"""
|
|
||||||
count: 3
|
|
||||||
path: src/Bundle/ChillTaskBundle/Timeline/TaskLifeCycleEventTimelineProvider.php
|
|
||||||
|
|
||||||
|
@@ -31,5 +31,7 @@ includes:
|
|||||||
- phpstan-baseline-level-3.neon
|
- phpstan-baseline-level-3.neon
|
||||||
- phpstan-baseline-level-4.neon
|
- phpstan-baseline-level-4.neon
|
||||||
- phpstan-baseline-level-5.neon
|
- phpstan-baseline-level-5.neon
|
||||||
|
- phpstan-deprecations-sf54.neon
|
||||||
|
- phpstan-baseline-deprecations-doctrine-orm.neon
|
||||||
- phpstan-baseline-2024-05.neon
|
- phpstan-baseline-2024-05.neon
|
||||||
|
|
@@ -1,29 +1,13 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<phpunit xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
<phpunit xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="https://schema.phpunit.de/10.5/phpunit.xsd" bootstrap="vendor/autoload.php" executionOrder="depends,defects" beStrictAboutOutputDuringTests="true" failOnRisky="true" failOnWarning="true" colors="true" cacheDirectory="var/cache/phpunit.rector.cache" requireCoverageMetadata="true" beStrictAboutCoverageMetadata="true">
|
||||||
xsi:noNamespaceSchemaLocation="https://schema.phpunit.de/9.6/phpunit.xsd"
|
<testsuites>
|
||||||
bootstrap="tests/app/vendor/autoload.php"
|
<testsuite name="default">
|
||||||
cacheResultFile=".cache/phpunit/test-results-rector"
|
<directory>utils/rector/tests</directory>
|
||||||
executionOrder="depends,defects"
|
</testsuite>
|
||||||
forceCoversAnnotation="true"
|
</testsuites>
|
||||||
beStrictAboutCoversAnnotation="true"
|
<source>
|
||||||
beStrictAboutOutputDuringTests="true"
|
<include>
|
||||||
beStrictAboutTodoAnnotatedTests="true"
|
<directory suffix=".php">utils/rector/src</directory>
|
||||||
convertDeprecationsToExceptions="true"
|
</include>
|
||||||
failOnRisky="true"
|
</source>
|
||||||
failOnWarning="true"
|
|
||||||
verbose="true"
|
|
||||||
colors="true"
|
|
||||||
>
|
|
||||||
<testsuites>
|
|
||||||
<testsuite name="default">
|
|
||||||
<directory>utils/rector/tests</directory>
|
|
||||||
</testsuite>
|
|
||||||
</testsuites>
|
|
||||||
|
|
||||||
<coverage cacheDirectory=".cache/phpunit/code-coverage-rector"
|
|
||||||
processUncoveredFiles="true">
|
|
||||||
<include>
|
|
||||||
<directory suffix=".php">utils/rector/src</directory>
|
|
||||||
</include>
|
|
||||||
</coverage>
|
|
||||||
</phpunit>
|
</phpunit>
|
||||||
|
123
phpunit.xml.dist
123
phpunit.xml.dist
@@ -1,85 +1,82 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
|
||||||
<!-- https://phpunit.readthedocs.io/en/latest/configuration.html -->
|
<!-- https://phpunit.readthedocs.io/en/latest/configuration.html -->
|
||||||
<phpunit xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
<phpunit
|
||||||
xsi:noNamespaceSchemaLocation="vendor/phpunit/phpunit/phpunit.xsd"
|
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||||
backupGlobals="false"
|
xsi:noNamespaceSchemaLocation="vendor/phpunit/phpunit/phpunit.xsd"
|
||||||
colors="true"
|
backupGlobals="false"
|
||||||
bootstrap="tests/bootstrap.php"
|
colors="true"
|
||||||
|
bootstrap="tests/bootstrap.php"
|
||||||
>
|
>
|
||||||
<php>
|
<php>
|
||||||
<ini name="error_reporting" value="-1" />
|
<ini name="display_errors" value="1" />
|
||||||
<server name="APP_ENV" value="test" force="true" />
|
<ini name="error_reporting" value="-1"/>
|
||||||
<env name="SYMFONY_DEPRECATIONS_HELPER" value="max[direct]=0&max[indirect]=999999" />
|
<server name="APP_ENV" value="test" force="true"/>
|
||||||
<server name="SHELL_VERBOSITY" value="-1" />
|
<env name="SYMFONY_DEPRECATIONS_HELPER" value="max[direct]=93&max[indirect]=999999"/>
|
||||||
<env name="KERNEL_CLASS" value="\App\Kernel" />
|
<server name="SHELL_VERBOSITY" value="-1"/>
|
||||||
</php>
|
<server name="SYMFONY_PHPUNIT_REMOVE" value="" />
|
||||||
|
<server name="SYMFONY_PHPUNIT_VERSION" value="9.5" />
|
||||||
<testsuites>
|
<ini name="date.timezone" value="Europe/Brussels" />
|
||||||
<!--
|
</php>
|
||||||
|
<testsuites>
|
||||||
|
<!--
|
||||||
<testsuite name="ActivityBundle">
|
<testsuite name="ActivityBundle">
|
||||||
<directory suffix="Test.php">src/Bundle/ChillActivityBundle/Tests/</directory>
|
<directory suffix="Test.php">src/Bundle/ChillActivityBundle/Tests/</directory>
|
||||||
</testsuite>
|
</testsuite>
|
||||||
-->
|
-->
|
||||||
<testsuite name="AsideActivityBundle">
|
<testsuite name="AsideActivityBundle">
|
||||||
<directory suffix="Test.php">src/Bundle/ChillAsideActivityBundle/src/Tests/</directory>
|
<directory suffix="Test.php">src/Bundle/ChillAsideActivityBundle/src/Tests/</directory>
|
||||||
</testsuite>
|
</testsuite>
|
||||||
<testsuite name="BudgetBundle">
|
<testsuite name="BudgetBundle">
|
||||||
<directory suffix="Test.php">src/Bundle/ChillBudgetBundle/Tests/</directory>
|
<directory suffix="Test.php">src/Bundle/ChillBudgetBundle/Tests/</directory>
|
||||||
</testsuite>
|
</testsuite>
|
||||||
<testsuite name="CalendarBundle">
|
<testsuite name="CalendarBundle">
|
||||||
<directory suffix="Test.php">src/Bundle/ChillCalendarBundle/Tests/</directory>
|
<directory suffix="Test.php">src/Bundle/ChillCalendarBundle/Tests/</directory>
|
||||||
</testsuite>
|
</testsuite>
|
||||||
<!-- Missing CustomFieldBundle -->
|
<!-- Missing CustomFieldBundle -->
|
||||||
<testsuite name="DocGeneratorBundle">
|
<testsuite name="DocGeneratorBundle">
|
||||||
<directory suffix="Test.php">src/Bundle/ChillDocGeneratorBundle/tests/</directory>
|
<directory suffix="Test.php">src/Bundle/ChillDocGeneratorBundle/tests/</directory>
|
||||||
</testsuite>
|
</testsuite>
|
||||||
<testsuite name="DocStoreBundle">
|
<testsuite name="DocStoreBundle">
|
||||||
<directory suffix="Test.php">src/Bundle/ChillDocStoreBundle/Tests/</directory>
|
<directory suffix="Test.php">src/Bundle/ChillDocStoreBundle/Tests/</directory>
|
||||||
</testsuite>
|
</testsuite>
|
||||||
<!--
|
<!--
|
||||||
<testsuite name="EventBundle">
|
<testsuite name="EventBundle">
|
||||||
<directory suffix="Test.php">src/Bundle/ChillEventBundle/tests/</directory>
|
<directory suffix="Test.php">src/Bundle/ChillEventBundle/tests/</directory>
|
||||||
</testsuite>
|
</testsuite>
|
||||||
-->
|
-->
|
||||||
<testsuite name="MainBundle">
|
<testsuite name="MainBundle">
|
||||||
<directory suffix="Test.php">src/Bundle/ChillMainBundle/Tests/</directory>
|
<directory suffix="Test.php">src/Bundle/ChillMainBundle/Tests/</directory>
|
||||||
</testsuite>
|
</testsuite>
|
||||||
<testsuite name="PersonBundle">
|
<testsuite name="PersonBundle">
|
||||||
<directory suffix="Test.php">src/Bundle/ChillPersonBundle/Tests/</directory>
|
<directory suffix="Test.php">src/Bundle/ChillPersonBundle/Tests/</directory>
|
||||||
<!-- we are rewriting accompanying periods... Work in progress -->
|
<!-- we are rewriting accompanying periods... Work in progress -->
|
||||||
<exclude>src/Bundle/ChillPersonBundle/Tests/Controller/AccompanyingPeriodControllerTest.php</exclude>
|
<exclude>src/Bundle/ChillPersonBundle/Tests/Controller/AccompanyingPeriodControllerTest.php</exclude>
|
||||||
<!-- we are rewriting address, Work in progress -->
|
<!-- we are rewriting address, Work in progress -->
|
||||||
<exclude>src/Bundle/ChillPersonBundle/Tests/Controller/PersonAddressControllerTest.php</exclude>
|
<exclude>src/Bundle/ChillPersonBundle/Tests/Controller/PersonAddressControllerTest.php</exclude>
|
||||||
<!-- find a solution to create multiple configs -->
|
<!-- find a solution to create multiple configs -->
|
||||||
<exclude>src/Bundle/ChillPersonBundle/Tests/Controller/PersonControllerUpdateWithHiddenFieldsTest.php</exclude>
|
<exclude>src/Bundle/ChillPersonBundle/Tests/Controller/PersonControllerUpdateWithHiddenFieldsTest.php</exclude>
|
||||||
<!-- temporarily removed, the time to find a fix -->
|
<!-- temporarily removed, the time to find a fix -->
|
||||||
<exclude>src/Bundle/ChillPersonBundle/Tests/Controller/PersonDuplicateControllerViewTest.php</exclude>
|
<exclude>src/Bundle/ChillPersonBundle/Tests/Controller/PersonDuplicateControllerViewTest.php</exclude>
|
||||||
</testsuite>
|
</testsuite>
|
||||||
<!--
|
<!--
|
||||||
<testsuite name="ReportBundle">
|
<testsuite name="ReportBundle">
|
||||||
<directory suffix="Test.php">src/Bundle/ChillReportBundle/Tests/</directory>
|
<directory suffix="Test.php">src/Bundle/ChillReportBundle/Tests/</directory>
|
||||||
</testsuite>
|
</testsuite>
|
||||||
-->
|
-->
|
||||||
<!--
|
<!--
|
||||||
<testsuite name="TaskBundle">
|
<testsuite name="TaskBundle">
|
||||||
<directory suffix="Test.php">src/Bundle/ChillTaskBundle/Tests</directory>
|
<directory suffix="Test.php">src/Bundle/ChillTaskBundle/Tests</directory>
|
||||||
</testsuite>
|
</testsuite>
|
||||||
-->
|
-->
|
||||||
<testsuite name="ThirdPartyBundle">
|
<testsuite name="ThirdPartyBundle">
|
||||||
<directory suffix="Test.php">src/Bundle/ChillThirdPartyBundle/Tests</directory>
|
<directory suffix="Test.php">src/Bundle/ChillThirdPartyBundle/Tests</directory>
|
||||||
</testsuite>
|
</testsuite>
|
||||||
<testsuite name="WopiBundle">
|
<testsuite name="WopiBundle">
|
||||||
<directory suffix="Test.php">src/Bundle/ChillWopiBundle/tests/</directory>
|
<directory suffix="Test.php">src/Bundle/ChillWopiBundle/tests/</directory>
|
||||||
</testsuite>
|
</testsuite>
|
||||||
</testsuites>
|
</testsuites>
|
||||||
|
<!-- Run `composer require symfony/panther` before enabling this extension -->
|
||||||
<listeners>
|
<!--
|
||||||
<listener class="Symfony\Bridge\PhpUnit\SymfonyTestsListener" />
|
|
||||||
</listeners>
|
|
||||||
|
|
||||||
<!-- Run `composer require symfony/panther` before enabling this extension -->
|
|
||||||
<!--
|
|
||||||
<extensions>
|
<extensions>
|
||||||
<extension class="Symfony\Component\Panther\ServerExtension" />
|
<extension class="Symfony\Component\Panther\ServerExtension" />
|
||||||
</extensions>
|
</extensions>
|
||||||
|
9
public/index.php
Normal file
9
public/index.php
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
use App\Kernel;
|
||||||
|
|
||||||
|
require_once dirname(__DIR__).'/vendor/autoload_runtime.php';
|
||||||
|
|
||||||
|
return function (array $context) {
|
||||||
|
return new Kernel($context['APP_ENV'], (bool) $context['APP_DEBUG']);
|
||||||
|
};
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user