mirror of
https://gitlab.com/Chill-Projet/chill-bundles.git
synced 2026-01-05 00:41:28 +00:00
Compare commits
456 Commits
replace_we
...
migrate_to
| Author | SHA1 | Date | |
|---|---|---|---|
|
a5f3afd54e
|
|||
|
b0cb08a07d
|
|||
|
bbbf9aa3ee
|
|||
|
da3db1cf7a
|
|||
|
3afdedabad
|
|||
|
55c11c7f04
|
|||
|
35d91762d3
|
|||
|
43d6a86627
|
|||
|
14a0c2b4fd
|
|||
|
22c3952c00
|
|||
|
c94cb741c6
|
|||
|
d714a61a6d
|
|||
|
a199f5983e
|
|||
|
1b5c3dfc33
|
|||
|
ed3fd429a4
|
|||
|
ef89f37ec3
|
|||
|
f3486e851a
|
|||
|
741f655cfc
|
|||
|
0d42ed9262
|
|||
|
4042cdd59c
|
|||
|
5b71d1b522
|
|||
|
2b1f337a28
|
|||
|
b1f7b83fdc
|
|||
|
e1cda00a98
|
|||
|
46b1399c3c
|
|||
|
022c0aaebf
|
|||
|
766a9292e0
|
|||
| cb677b8212 | |||
|
|
b630c940d4 | ||
|
dae040ebfb
|
|||
|
|
b7df78bc55 | ||
|
|
24927069a4 | ||
|
|
10052cc5e1 | ||
|
|
723beb3c02 | ||
|
74d133e739
|
|||
|
|
c92467b284 | ||
|
|
d3d2c06348 | ||
|
|
fc66d0e070 | ||
| 985761ff00 | |||
| 6d93b2b1b6 | |||
| 9261bbadc3 | |||
|
|
df15c2fee7 | ||
|
e82cee2ce1
|
|||
|
d16de04d27
|
|||
| d21d03d407 | |||
| 2f930ac138 | |||
| 65bbdc283d | |||
|
|
f0b3e63d66 | ||
| 41a31944b3 | |||
| 51607572de | |||
| 1fc5530707 | |||
|
|
b31778c068 | ||
|
305c6deb24
|
|||
|
d691098a21
|
|||
|
8f20570f3b
|
|||
|
a113360ccf
|
|||
|
6999919d9f
|
|||
|
2ca88d786c
|
|||
|
662e962549
|
|||
|
7654db4e39
|
|||
|
adab2ffe63
|
|||
|
590f7c1055
|
|||
|
843ae0a36a
|
|||
|
9554d21f82
|
|||
|
58c1e7bfaa
|
|||
|
9093dceea4
|
|||
|
cdc489f01e
|
|||
|
d6f5ef4bb1
|
|||
|
1c17e218a5
|
|||
|
7fd219d517
|
|||
|
f8571f22a6
|
|||
|
fabbb0c091
|
|||
|
14d65fa931
|
|||
|
7a790d43ec
|
|||
|
0d536cc8ce
|
|||
|
5634d72d6f
|
|||
|
d74179f1e1
|
|||
| 426d0dc193 | |||
| a22cbe0239 | |||
| 98902bdeb8 | |||
| 4765d4fe28 | |||
|
|
30bcb85549 | ||
| b132956ddc | |||
| 03fa79c93b | |||
| 373caeb3e3 | |||
| 1152be4d45 | |||
|
6d2e78ce55
|
|||
| 34f15378c5 | |||
| 9a11e12669 | |||
| 7fceef03f7 | |||
| 3aa2666646 | |||
| 8fc19d5c28 | |||
| 4a08de09b8 | |||
| f2922018ce | |||
| 86422a5946 | |||
| aa0db40224 | |||
| 37b8297567 | |||
| 32d2bb002b | |||
| d8528dceab | |||
| 067a36d90e | |||
| c2294e08a5 | |||
| eac5a7f853 | |||
| f17ed7a4f8 | |||
| d4379cef6a | |||
| 119d870ac8 | |||
| 61ca700bbe | |||
|
|
b43aeebc3c | ||
| 056e2dcc5f | |||
| e57d1ac696 | |||
| 0eff1d2e79 | |||
| 3928b2cc7a | |||
|
4f51ef81ad
|
|||
|
4637dc692c
|
|||
| 38935edb93 | |||
|
|
e1ef65d4ca | ||
| ec9d0be70b | |||
|
|
0ba2cbc1e8 | ||
| e87429933a | |||
|
8e2e676e3d
|
|||
| 69b59d2ae2 | |||
| 90f86bf566 | |||
| b363bd3425 | |||
| 6ceb1b9544 | |||
| 94b5c06d10 | |||
| 895e1be9ef | |||
| 94a0eb1a0a | |||
| cc8151546a | |||
| 4bd9e2ba7d | |||
| 509b2c2590 | |||
| 3480495be1 | |||
| 4123aa6550 | |||
| 835d79a809 | |||
| ffeba3818b | |||
| f88718e263 | |||
| 2433737df0 | |||
| af7d635714 | |||
| 34213ac093 | |||
| e12ad563a3 | |||
|
|
711aa8db9b | ||
| 8d6f76a8b7 | |||
| 941acea4d9 | |||
| e78d44953f | |||
| 18f67801c7 | |||
|
c815e6bc69
|
|||
| 807f2711fe | |||
|
|
cd594cd580 | ||
|
fb6b26bfb5
|
|||
|
c5cedb8bd6
|
|||
|
2665e43a61
|
|||
|
25561cdf63
|
|||
| 10b73e06e1 | |||
|
|
e7c04e34a9 | ||
| 77bccd5c4e | |||
| 5ffa945a84 | |||
| 3a85d940e9 | |||
| d2e7640652 | |||
| 979b2955f6 | |||
| da240f5ce5 | |||
| f91ab63b3a | |||
| 2ea8a03698 | |||
| 164beee7c6 | |||
|
|
4d96eb9457 | ||
| 21e965449c | |||
| 88697ae83f | |||
| 10ba2aaea5 | |||
| 4b484bd16c | |||
| 4c28a4c358 | |||
| 490d546e7a | |||
| 7a4416109e | |||
| 0e1a47a49b | |||
| fe2eba3b29 | |||
|
|
61d1232e31 | ||
| 6594d4f6a6 | |||
| 1a66a9e864 | |||
| 1b74c119dc | |||
| 14d88810f3 | |||
| 445a2c9358 | |||
| c8baf0a8aa | |||
| faed443a96 | |||
| bbf387d96f | |||
|
|
b7c9b60744 | ||
|
2bd303bbbe
|
|||
|
c5e6122d2c
|
|||
| 088b876e20 | |||
| 3400656d7c | |||
|
568c8be7fd
|
|||
|
538ecc42ea
|
|||
|
15d26d4b06
|
|||
|
d8bd9bd7cd
|
|||
|
dcdfba5ccd
|
|||
|
0204bdd38d
|
|||
|
392fd01b56
|
|||
| 35844f3b73 | |||
| 7506b918d7 | |||
| cfba291f2c | |||
|
|
04438c09d3 | ||
| 2a54d1b909 | |||
|
|
628eeac5e0 | ||
| a2263b3fa1 | |||
| 74796d0fb0 | |||
|
c19481e40a
|
|||
|
|
6eeb717b1a | ||
|
beb7c462da
|
|||
|
|
dbf363a9e8 | ||
|
64a2f7c9ed
|
|||
| f26d9739c8 | |||
|
afa5edc1d8
|
|||
|
42d6c9e672
|
|||
|
2b22d4cb7c
|
|||
|
c8e5d0eb37
|
|||
| 2bf8ad5d6c | |||
| 11698a52e3 | |||
| 70955573e8 | |||
|
|
3df4043eb9 | ||
|
06e8264dde
|
|||
| 26298c48fd | |||
| b451d2c4a3 | |||
| 4f93150874 | |||
| 0566ab0910 | |||
|
|
f4eeee1598 | ||
| 33cf16fc13 | |||
| 0a331aab37 | |||
| d43b739654 | |||
| c72432efae | |||
|
95975fae55
|
|||
|
95a7efa138
|
|||
|
45e193ff6d
|
|||
|
dfc146ff3f
|
|||
| b41fcf66a9 | |||
|
|
a8dd1b3548 | ||
| 4d4bcb44bc | |||
| 51777f7365 | |||
| b9a9983b88 | |||
| e51a3c7525 | |||
| 9875f49374 | |||
| 52c3c0a565 | |||
| 640a7bcd0a | |||
| 13a9e14450 | |||
| abb786495a | |||
| 8ec18a6fb8 | |||
| f282ffbfd4 | |||
| 27a2d8fdc8 | |||
| 1cb63bfe1d | |||
| 9daa7f7c09 | |||
| b6e780d573 | |||
| 7e3618a9be | |||
| 61b187e340 | |||
| abfdf2ec6d | |||
| cc20e8896f | |||
| 59fe9a469a | |||
| 228b4f0b3d | |||
| b5bbf929f6 | |||
| d9ce4e3ec6 | |||
| c08c909545 | |||
| 6cd17a8e36 | |||
| e3b2b7c6d1 | |||
| 0337bca273 | |||
| 8bb2e2dc37 | |||
| cdd0372d3e | |||
| 1ee16d3446 | |||
| bdbcb9ca4a | |||
| e639289130 | |||
| 3d3347e547 | |||
| 3f27d9e8fc | |||
| ce98b9ae48 | |||
| d2bd17632f | |||
| 7cef5e3a76 | |||
| 9726844a26 | |||
| f7ce3996ef | |||
| 6e21f2688f | |||
| 17db59d221 | |||
| 053b92b77c | |||
| eab5a8be7b | |||
| 36fd6f10b2 | |||
| 23227add12 | |||
| 8cbd800fb9 | |||
|
2b99a480ac
|
|||
|
7633e587bb
|
|||
|
fc61dfdf3a
|
|||
|
f1a5b5c49e
|
|||
|
ec685dcd47
|
|||
|
631ae3eedd
|
|||
|
440a7837ac
|
|||
|
e0abf34784
|
|||
|
377ae9a9dc
|
|||
|
034dc30e30
|
|||
|
d615111a0f
|
|||
|
ffb756c712
|
|||
|
69daccb860
|
|||
| 1f79985193 | |||
| f4ed7e4254 | |||
| 382f20c6ad | |||
| 220110a403 | |||
| 3fdf494f1c | |||
| 793dcbfa9a | |||
| f96ed1f5eb | |||
| 8b9b427a1e | |||
| 2f3caafd10 | |||
| fde10ebe71 | |||
| b7fc85a2c9 | |||
| 72b79f9af5 | |||
| ab15ec8a4c | |||
| c8f1e67fc7 | |||
| d5c09c853f | |||
| a79b0b85dd | |||
|
16435423cf
|
|||
|
697b4ab436
|
|||
| 47c1282044 | |||
| ce63506a1a | |||
| 8ab03473b7 | |||
| ebaff8d170 | |||
| 46f9e4968b | |||
| 344c5a1c3c | |||
| 50b590ae34 | |||
| 74fbd6feac | |||
| aa69a7ad62 | |||
| bc0fae5c2e | |||
|
67d804e28e
|
|||
|
cf41fa9574
|
|||
|
b8b325f7d7
|
|||
|
e97bd8c4ef
|
|||
|
e28d7df533
|
|||
|
4b20b1bc01
|
|||
|
b15733076c
|
|||
|
25be5c9ea3
|
|||
|
b035020c6f
|
|||
|
128101dc46
|
|||
|
5f2711023e
|
|||
|
bdf2ed4bbd
|
|||
| 1321f5c734 | |||
| 262b7c5db3 | |||
| 5283eddb15 | |||
| f7b0c49124 | |||
| 5e32375dfe | |||
| 5cdfee40fb | |||
| 6e5dbe4e58 | |||
| d884d78617 | |||
| a5049ddefb | |||
| 9fcc1634f5 | |||
| d9a47fdee9 | |||
| 1e5d676aa5 | |||
|
1df542603e
|
|||
|
80bcc68ce5
|
|||
|
154fc3e2f6
|
|||
|
e45af94c78
|
|||
|
166a6fde20
|
|||
|
631f047338
|
|||
|
a777588bb8
|
|||
|
ca78d112c2
|
|||
|
bcfd317d83
|
|||
|
348740f073
|
|||
|
0d74f0980f
|
|||
|
be19dc00db
|
|||
|
643028ffd6
|
|||
|
ac4e2e5bf2
|
|||
|
498572b96e
|
|||
|
d2a61ce69b
|
|||
|
a9c0567ee1
|
|||
|
76cec5b5a8
|
|||
|
efe8a67697
|
|||
|
26dfa9b028
|
|||
|
50025044d3
|
|||
|
e6202a2e34
|
|||
|
b863bd967d
|
|||
|
e65bcf7275
|
|||
|
e00ece4200
|
|||
|
640fd71402
|
|||
|
aae50ca290
|
|||
|
1fa483598b
|
|||
|
e4b6a468f8
|
|||
|
|
66c7758023 | ||
|
|
4750d2c24e | ||
|
|
ca05e3d979 | ||
|
|
a20f9b4f86 | ||
|
|
c73c1eb8d5 | ||
|
|
8778bb0731 | ||
|
|
c7d20eebc5 | ||
|
|
b9e130c159 | ||
|
|
3e8bc94af3 | ||
|
|
0c914c9f9f | ||
|
|
580a60c939 | ||
|
|
4996ac3b7c | ||
|
|
2a23bf19cb | ||
|
|
650d2596d9 | ||
|
|
2bdd5a329e | ||
|
78d1776733
|
|||
|
66dc603c85
|
|||
|
3a8154ecce
|
|||
|
c81828e04f
|
|||
|
|
ec17dd7de2 | ||
| 76c076a5f3 | |||
|
|
f0045edd6c | ||
|
|
d00b76ffcd | ||
|
|
8991f0ef3f | ||
|
|
d6f5eae0c9 | ||
|
|
821fce3dd8 | ||
|
|
1d33ae1e39 | ||
|
|
19af0feb57 | ||
|
|
1c09e9a692 | ||
|
|
d72e748388 | ||
|
|
ab850b7b70 | ||
|
|
3f9745d8cf | ||
|
|
473765366a | ||
|
|
6500c24a7f | ||
|
|
1d00457141 | ||
|
|
eb0bf56cff | ||
|
|
7b8cd90cf1 | ||
|
|
a27d92aba0 | ||
|
|
85bdfb9e21 | ||
|
|
4cffcf4de1 | ||
|
|
b2587a688f | ||
|
|
c9f0e9843b | ||
|
|
b40ad9e445 | ||
|
|
3e10e47e29 | ||
|
|
2a1963e993 | ||
| 34c171659b | |||
|
2d8b960d9e
|
|||
| 831ae03431 | |||
|
45828174d1
|
|||
|
ed45f14a45
|
|||
|
fa67835690
|
|||
|
b434d38091
|
|||
|
|
800a952532 | ||
|
9f355032a8
|
|||
|
0bc6e62d4d
|
|||
|
46fb1c04b5
|
|||
| 3b2c3d1464 | |||
|
|
0bd6038160 | ||
|
|
baab8e94ce | ||
|
e2deb55fdb
|
|||
|
|
2cdfb50058 | ||
|
39d701feb2
|
|||
|
613ee8b186
|
|||
|
56a1a488de
|
|||
| 3f789ad0f4 | |||
|
467bea7cde
|
|||
|
670b8eb82b
|
|||
|
a9760b323f
|
|||
|
71a3a1924a
|
|||
|
ecdc1e25bf
|
|||
|
dd37427be1
|
|||
|
c8467df1b1
|
|||
|
4c89a954fa
|
|||
|
7c1f3b114d
|
|||
|
36bc4dab24
|
|||
|
4b30d92282
|
|||
|
75fbec5489
|
|||
|
912fdd6349
|
|||
|
5832542978
|
|||
|
5c3585a1ed
|
|||
|
a2f1e20ddf
|
|||
|
4d67702a76
|
|||
| 18e442db29 | |||
|
|
deb3d92189 | ||
|
a59ea7db31
|
|||
|
a738b0cac9
|
6
.changes/unreleased/Feature-20240530-160003.yaml
Normal file
6
.changes/unreleased/Feature-20240530-160003.yaml
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
kind: Feature
|
||||||
|
body: |
|
||||||
|
Upgrade import of address list to the last version of compiled addresses of belgian-best-address
|
||||||
|
time: 2024-05-30T16:00:03.440767606+02:00
|
||||||
|
custom:
|
||||||
|
Issue: ""
|
||||||
6
.changes/unreleased/Feature-20240531-190242.yaml
Normal file
6
.changes/unreleased/Feature-20240531-190242.yaml
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
kind: Feature
|
||||||
|
body: |
|
||||||
|
Upgrade CKEditor and refactor configuration with use of typescript
|
||||||
|
time: 2024-05-31T19:02:42.776662753+02:00
|
||||||
|
custom:
|
||||||
|
Issue: ""
|
||||||
6
.changes/unreleased/Feature-20250808-120802.yaml
Normal file
6
.changes/unreleased/Feature-20250808-120802.yaml
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
kind: Feature
|
||||||
|
body: Create invitation list in user menu
|
||||||
|
time: 2025-08-08T12:08:02.446361367+02:00
|
||||||
|
custom:
|
||||||
|
Issue: "385"
|
||||||
|
SchemaChange: No schema change
|
||||||
6
.changes/unreleased/Feature-20251007-155945.yaml
Normal file
6
.changes/unreleased/Feature-20251007-155945.yaml
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
kind: Feature
|
||||||
|
body: Admin interface for Motive entity
|
||||||
|
time: 2025-10-07T15:59:45.597029709+02:00
|
||||||
|
custom:
|
||||||
|
Issue: ""
|
||||||
|
SchemaChange: No schema change
|
||||||
6
.changes/unreleased/Feature-20251022-111552.yaml
Normal file
6
.changes/unreleased/Feature-20251022-111552.yaml
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
kind: Feature
|
||||||
|
body: Add an admin interface for Motive entity
|
||||||
|
time: 2025-10-22T11:15:52.13937955+02:00
|
||||||
|
custom:
|
||||||
|
Issue: ""
|
||||||
|
SchemaChange: Add columns or tables
|
||||||
6
.changes/unreleased/Fixed-20251106-161605.yaml
Normal file
6
.changes/unreleased/Fixed-20251106-161605.yaml
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
kind: Fixed
|
||||||
|
body: Fix suggestion of referrer when creating notification for accompanyingPeriodWorkDocument
|
||||||
|
time: 2025-11-06T16:16:05.861813041+01:00
|
||||||
|
custom:
|
||||||
|
Issue: "428"
|
||||||
|
SchemaChange: No schema change
|
||||||
@@ -19,11 +19,11 @@ max_line_length = 80
|
|||||||
[COMMIT_EDITMSG]
|
[COMMIT_EDITMSG]
|
||||||
max_line_length = 0
|
max_line_length = 0
|
||||||
|
|
||||||
[*.{js, vue, ts}]
|
[*.{js,vue,ts}]
|
||||||
indent_size = 2
|
indent_size = 2
|
||||||
indent_style = space
|
indent_style = space
|
||||||
|
|
||||||
[.rst]
|
[*.rst]
|
||||||
ident_size = 3
|
indent_size = 3
|
||||||
ident_style = space
|
indent_style = space
|
||||||
|
|
||||||
|
|||||||
2
.env
2
.env
@@ -86,7 +86,7 @@ ADD_ADDRESS_MAP_CENTER_Z=15
|
|||||||
## Redis Cache & redis database
|
## Redis Cache & redis database
|
||||||
REDIS_HOST=redis
|
REDIS_HOST=redis
|
||||||
REDIS_PORT=6379
|
REDIS_PORT=6379
|
||||||
REDIS_URL=redis://${REDIS_HOST}:${REDIS_PORT}
|
REDIS_URL="redis://${REDIS_HOST}:${REDIS_PORT}"
|
||||||
###< chill-project/chill-bundles ###
|
###< chill-project/chill-bundles ###
|
||||||
|
|
||||||
###> symfony/ovh-cloud-notifier ###
|
###> symfony/ovh-cloud-notifier ###
|
||||||
|
|||||||
4
.env.dev
Normal file
4
.env.dev
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
|
||||||
|
###> symfony/framework-bundle ###
|
||||||
|
APP_SECRET=72759e571285ef25677c88f967a73386
|
||||||
|
###< symfony/framework-bundle ###
|
||||||
40
.env.test
40
.env.test
@@ -1,39 +1,5 @@
|
|||||||
# variables for .env environement
|
# define your env variables for the test env here
|
||||||
# those variables suits for gitlab-ci
|
|
||||||
# Run tests from root to adapt your own environment
|
|
||||||
KERNEL_CLASS='App\Kernel'
|
KERNEL_CLASS='App\Kernel'
|
||||||
APP_SECRET='$ecretf0rt3st'
|
APP_SECRET='$ecretf0rt3st'
|
||||||
|
SYMFONY_DEPRECATIONS_HELPER=999999
|
||||||
ADMIN_PASSWORD=password
|
DEFAULT_CARRIER_CODE=TEST
|
||||||
|
|
||||||
JWT_SECRET_KEY=%kernel.project_dir%/config/jwt/private.pem
|
|
||||||
JWT_PUBLIC_KEY=%kernel.project_dir%/config/jwt/public.pem
|
|
||||||
JWT_PASSPHRASE=2a30f6ba26521a2613821da35f28386e
|
|
||||||
|
|
||||||
TWILIO_SID=~
|
|
||||||
TWILIO_SECRET=~
|
|
||||||
DEFAULT_CARRIER_CODE=BE
|
|
||||||
|
|
||||||
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
|
|
||||||
|
|
||||||
SHORT_MESSAGE_DSN=null://null
|
|
||||||
MESSENGER_TRANSPORT_DSN=sync://
|
|
||||||
|
|
||||||
###> 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://app:!ChangeMe!@127.0.0.1:5454/test?serverVersion=14&charset=utf8"
|
|
||||||
###< doctrine/doctrine-bundle ###
|
|
||||||
|
|
||||||
ASYNC_UPLOAD_TEMP_URL_KEY=
|
|
||||||
ASYNC_UPLOAD_TEMP_URL_BASE_PATH=
|
|
||||||
ASYNC_UPLOAD_TEMP_URL_CONTAINER=
|
|
||||||
|
|
||||||
MAILER_DSN=null://null
|
|
||||||
|
|
||||||
REDIS_HOST=127.0.0.1
|
|
||||||
REDIS_PORT=6363
|
|
||||||
|
|||||||
3
.gitignore
vendored
3
.gitignore
vendored
@@ -33,7 +33,7 @@ config/packages/dev/*
|
|||||||
|
|
||||||
###> phpunit/phpunit ###
|
###> phpunit/phpunit ###
|
||||||
/phpunit.xml
|
/phpunit.xml
|
||||||
.phpunit.result.cache
|
/.phpunit.cache/
|
||||||
###< phpunit/phpunit ###
|
###< phpunit/phpunit ###
|
||||||
|
|
||||||
/.php-cs-fixer.cache
|
/.php-cs-fixer.cache
|
||||||
@@ -62,3 +62,4 @@ yarn-error.log
|
|||||||
/.php-cs-fixer.php
|
/.php-cs-fixer.php
|
||||||
/.php-cs-fixer.cache
|
/.php-cs-fixer.cache
|
||||||
###< friendsofphp/php-cs-fixer ###
|
###< friendsofphp/php-cs-fixer ###
|
||||||
|
/config/reference.php
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
# Select what we should cache between builds
|
# Select what we should cache between builds
|
||||||
cache:
|
cache:
|
||||||
paths:
|
paths:
|
||||||
- /vendor/
|
- vendor/
|
||||||
- .cache
|
- .cache
|
||||||
- node_modules/
|
- node_modules/
|
||||||
|
|
||||||
@@ -42,6 +42,7 @@ variables:
|
|||||||
# this is required to work with packages
|
# this is required to work with packages
|
||||||
# see https://getcomposer.org/doc/articles/troubleshooting.md#dependencies-on-the-root-package
|
# see https://getcomposer.org/doc/articles/troubleshooting.md#dependencies-on-the-root-package
|
||||||
COMPOSER_ROOT_VERSION: dev-master
|
COMPOSER_ROOT_VERSION: dev-master
|
||||||
|
MAILER_DSN: 'null://null'
|
||||||
|
|
||||||
stages:
|
stages:
|
||||||
- mirror
|
- mirror
|
||||||
@@ -97,8 +98,7 @@ mirror_chill_zimbra_bundle:
|
|||||||
|
|
||||||
build:
|
build:
|
||||||
stage: Composer install
|
stage: Composer install
|
||||||
image: chill/base-image:8.3-edge
|
image: chill/base-image:8.4-edge
|
||||||
variables:
|
|
||||||
before_script:
|
before_script:
|
||||||
- composer config -g cache-dir "$(pwd)/.cache"
|
- composer config -g cache-dir "$(pwd)/.cache"
|
||||||
script:
|
script:
|
||||||
@@ -113,7 +113,7 @@ build:
|
|||||||
|
|
||||||
code_style:
|
code_style:
|
||||||
stage: Tests
|
stage: Tests
|
||||||
image: chill/base-image:8.3-edge
|
image: chill/base-image:8.4-edge
|
||||||
script:
|
script:
|
||||||
- php-cs-fixer fix --dry-run -v --show-progress=none
|
- php-cs-fixer fix --dry-run -v --show-progress=none
|
||||||
cache:
|
cache:
|
||||||
@@ -126,35 +126,25 @@ code_style:
|
|||||||
|
|
||||||
phpstan_tests:
|
phpstan_tests:
|
||||||
stage: Tests
|
stage: Tests
|
||||||
image: chill/base-image:8.3-edge
|
image: chill/base-image:8.4-edge
|
||||||
|
dependencies:
|
||||||
|
- build
|
||||||
variables:
|
variables:
|
||||||
COMPOSER_MEMORY_LIMIT: 3G
|
COMPOSER_MEMORY_LIMIT: 3G
|
||||||
before_script:
|
before_script:
|
||||||
- bin/console cache:clear --env=dev
|
- bin/console cache:clear --env=dev
|
||||||
script:
|
script:
|
||||||
- composer exec phpstan -- analyze --memory-limit=3G
|
- composer exec phpstan -- analyze --memory-limit=3G
|
||||||
cache:
|
|
||||||
paths:
|
|
||||||
- .cache/
|
|
||||||
artifacts:
|
|
||||||
expire_in: 1 day
|
|
||||||
paths:
|
|
||||||
- vendor/
|
|
||||||
|
|
||||||
rector_tests:
|
rector_tests:
|
||||||
stage: Tests
|
stage: Tests
|
||||||
image: chill/base-image:8.3-edge
|
image: chill/base-image:8.4-edge
|
||||||
|
dependencies:
|
||||||
|
- build
|
||||||
before_script:
|
before_script:
|
||||||
- bin/console cache:clear --env=dev
|
- bin/console cache:clear --env=dev
|
||||||
script:
|
script:
|
||||||
- composer exec rector -- process --dry-run
|
- composer exec rector -- process --dry-run
|
||||||
cache:
|
|
||||||
paths:
|
|
||||||
- .cache/
|
|
||||||
artifacts:
|
|
||||||
expire_in: 1 day
|
|
||||||
paths:
|
|
||||||
- vendor/
|
|
||||||
|
|
||||||
lint:
|
lint:
|
||||||
stage: Tests
|
stage: Tests
|
||||||
@@ -184,7 +174,9 @@ lint:
|
|||||||
|
|
||||||
unit_tests:
|
unit_tests:
|
||||||
stage: Tests
|
stage: Tests
|
||||||
image: chill/base-image:8.3-edge
|
image: chill/base-image:8.4-edge
|
||||||
|
dependencies:
|
||||||
|
- build
|
||||||
variables:
|
variables:
|
||||||
COMPOSER_MEMORY_LIMIT: 3G
|
COMPOSER_MEMORY_LIMIT: 3G
|
||||||
before_script:
|
before_script:
|
||||||
|
|||||||
@@ -234,17 +234,17 @@ This must be a decision made by a human, not by an AI. Every AI task must abort
|
|||||||
|
|
||||||
#### Running Tests
|
#### Running Tests
|
||||||
|
|
||||||
The tests are run from the project's root (not from the bundle's root).
|
The tests are run from the project's root (not from the bundle's root: so, do not change the directory to any bundle directory before running tests).
|
||||||
|
|
||||||
|
Tests must be run using the `symfony` command:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
# Run all tests
|
|
||||||
vendor/bin/phpunit
|
|
||||||
|
|
||||||
# Run a specific test file
|
# Run a specific test file
|
||||||
vendor/bin/phpunit path/to/TestFile.php
|
symfony composer exec phpunit -- path/to/TestFile.php
|
||||||
|
|
||||||
# Run a specific test method
|
# Run a specific test method
|
||||||
vendor/bin/phpunit --filter methodName path/to/TestFile.php
|
symfony composer exec phpunit -- --filter methodName path/to/TestFile.php
|
||||||
```
|
```
|
||||||
|
|
||||||
When writing tests, only test specific files. Do not run all tests or the full
|
When writing tests, only test specific files. Do not run all tests or the full
|
||||||
|
|||||||
4
.prettierrc
Normal file
4
.prettierrc
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
{
|
||||||
|
"tabWidth": 2,
|
||||||
|
"useTabs": false
|
||||||
|
}
|
||||||
30
.vscode/launch.json
vendored
Normal file
30
.vscode/launch.json
vendored
Normal file
@@ -0,0 +1,30 @@
|
|||||||
|
{
|
||||||
|
// Use IntelliSense to learn about possible attributes.
|
||||||
|
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
|
||||||
|
"version": "0.2.0",
|
||||||
|
"configurations": [
|
||||||
|
{
|
||||||
|
"name": "Chill Debug",
|
||||||
|
"type": "php",
|
||||||
|
"request": "launch",
|
||||||
|
"port": 9000,
|
||||||
|
"pathMappings": {
|
||||||
|
"/var/www/html": "${workspaceFolder}"
|
||||||
|
},
|
||||||
|
"preLaunchTask": "symfony"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Yarn Encore Dev (Watch)",
|
||||||
|
"type": "node-terminal",
|
||||||
|
"request": "launch",
|
||||||
|
"command": "yarn encore dev --watch",
|
||||||
|
"cwd": "${workspaceFolder}"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"compounds": [
|
||||||
|
{
|
||||||
|
"name": "Chill Debug + Yarn Encore Dev (Watch)",
|
||||||
|
"configurations": ["Chill Debug", "Yarn Encore Dev (Watch)"]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
23
.vscode/tasks.json
vendored
Normal file
23
.vscode/tasks.json
vendored
Normal file
@@ -0,0 +1,23 @@
|
|||||||
|
{
|
||||||
|
"tasks": [
|
||||||
|
{
|
||||||
|
"type": "shell",
|
||||||
|
"command": "symfony",
|
||||||
|
"args": [
|
||||||
|
"server:start",
|
||||||
|
"--allow-http",
|
||||||
|
"--no-tls",
|
||||||
|
"--port=8000",
|
||||||
|
"--allow-all-ip",
|
||||||
|
"-d"
|
||||||
|
],
|
||||||
|
"label": "symfony"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "shell",
|
||||||
|
"command": "yarn",
|
||||||
|
"args": ["encore", "dev", "--watch"],
|
||||||
|
"label": "webpack"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
@@ -54,7 +54,7 @@ Arborescence:
|
|||||||
- person
|
- person
|
||||||
- personvendee
|
- personvendee
|
||||||
- household_edit_metadata
|
- household_edit_metadata
|
||||||
- index.js
|
- index.ts
|
||||||
```
|
```
|
||||||
|
|
||||||
## Organisation des feuilles de styles
|
## Organisation des feuilles de styles
|
||||||
|
|||||||
@@ -1,7 +1,12 @@
|
|||||||
import { trans, setLocale, setLocaleFallbacks } from "./ux-translator";
|
import {
|
||||||
|
trans,
|
||||||
|
setLocale,
|
||||||
|
getLocale,
|
||||||
|
setLocaleFallbacks,
|
||||||
|
} from "./ux-translator";
|
||||||
|
|
||||||
setLocaleFallbacks({"en": "fr", "nl": "fr", "fr": "en"});
|
setLocaleFallbacks({ en: "fr", nl: "fr", fr: "en" });
|
||||||
setLocale('fr');
|
setLocale("fr");
|
||||||
|
|
||||||
export { trans };
|
export { trans, getLocale };
|
||||||
export * from '../var/translations';
|
export * from "../var/translations";
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ services:
|
|||||||
###> doctrine/doctrine-bundle ###
|
###> doctrine/doctrine-bundle ###
|
||||||
database:
|
database:
|
||||||
ports:
|
ports:
|
||||||
- "127.0.0.1:5454:5432"
|
- "127.0.0.1:5455:5432"
|
||||||
###< doctrine/doctrine-bundle ###
|
###< doctrine/doctrine-bundle ###
|
||||||
|
|
||||||
###> symfony/mailer ###
|
###> symfony/mailer ###
|
||||||
@@ -14,20 +14,20 @@ services:
|
|||||||
environment:
|
environment:
|
||||||
MP_SMTP_AUTH_ACCEPT_ANY: 1
|
MP_SMTP_AUTH_ACCEPT_ANY: 1
|
||||||
MP_SMTP_AUTH_ALLOW_INSECURE: 1
|
MP_SMTP_AUTH_ALLOW_INSECURE: 1
|
||||||
###< symfony/mailer ###
|
###< symfony/mailer ###
|
||||||
|
|
||||||
|
|
||||||
redis:
|
redis:
|
||||||
ports:
|
ports:
|
||||||
- 127.0.0.1:6363:6379
|
- 127.0.0.1:6364:6379
|
||||||
relatorio:
|
relatorio:
|
||||||
ports:
|
ports:
|
||||||
- 8888
|
- 8888
|
||||||
|
|
||||||
rabbitmq:
|
rabbitmq:
|
||||||
ports:
|
ports:
|
||||||
- 127.0.0.1:5689:5672
|
- 127.0.0.1:5690:5672
|
||||||
- 127.0.0.1:15689:15672
|
- 127.0.0.1:15690:15672
|
||||||
# required to make data persistent
|
# required to make data persistent
|
||||||
hostname: my-rabbit
|
hostname: my-rabbit
|
||||||
volumes:
|
volumes:
|
||||||
|
|||||||
129
composer.json
129
composer.json
@@ -15,78 +15,78 @@
|
|||||||
}
|
}
|
||||||
}],
|
}],
|
||||||
"require": {
|
"require": {
|
||||||
"php": "^8.2",
|
"php": "^8.4",
|
||||||
"ext-dom": "*",
|
"ext-dom": "*",
|
||||||
"ext-json": "*",
|
"ext-json": "*",
|
||||||
"ext-openssl": "*",
|
"ext-openssl": "*",
|
||||||
"ext-redis": "*",
|
"ext-redis": "*",
|
||||||
"ext-zlib": "*",
|
"ext-zlib": "*",
|
||||||
"champs-libres/wopi-bundle": "dev-symfony-v5@dev",
|
"champs-libres/wopi-bundle": "1.0.0",
|
||||||
"champs-libres/wopi-lib": "dev-master@dev",
|
"champs-libres/wopi-lib": "1.0.0",
|
||||||
"doctrine/data-fixtures": "^1.8",
|
"doctrine/data-fixtures": "^1.8",
|
||||||
"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": "^3.5.2",
|
||||||
"erusev/parsedown": "^1.7",
|
"erusev/parsedown": "^1.7",
|
||||||
"knplabs/knp-menu-bundle": "^3.0",
|
"knplabs/knp-menu-bundle": "^3.0",
|
||||||
"knplabs/knp-time-bundle": "^1.12",
|
"knplabs/knp-time-bundle": "^2.4",
|
||||||
"knpuniversity/oauth2-client-bundle": "^2.10",
|
"knpuniversity/oauth2-client-bundle": "^2.10",
|
||||||
"league/csv": "^9.7.1",
|
"league/csv": "^9.7.1",
|
||||||
"lexik/jwt-authentication-bundle": "^2.16",
|
"lexik/jwt-authentication-bundle": "^3.1.1",
|
||||||
"nyholm/psr7": "^1.4",
|
"nyholm/psr7": "^1.4",
|
||||||
"ocramius/package-versions": "^1.10 || ^2",
|
"ocramius/package-versions": "^1.10 || ^2",
|
||||||
"odolbeau/phone-number-bundle": "^3.6",
|
"odolbeau/phone-number-bundle": "^3.6",
|
||||||
"ovh/ovh": "^3.0",
|
"ovh/ovh": "^3.0",
|
||||||
"phpoffice/phpspreadsheet": "^1.16",
|
"phpoffice/phpspreadsheet": "^1.16",
|
||||||
"ramsey/uuid-doctrine": "^1.7",
|
"ramsey/uuid-doctrine": "^1.7",
|
||||||
"sensio/framework-extra-bundle": "^5.5",
|
|
||||||
"smalot/pdfparser": "^2.10",
|
"smalot/pdfparser": "^2.10",
|
||||||
"spomky-labs/base64url": "^2.0",
|
"spomky-labs/base64url": "^2.0",
|
||||||
"symfony/asset": "^5.4",
|
"symfony/amqp-messenger": "^7.3",
|
||||||
"symfony/browser-kit": "^5.4",
|
"symfony/asset": "^7.2",
|
||||||
"symfony/cache": "^5.4",
|
"symfony/browser-kit": "^7.2",
|
||||||
"symfony/clock": "^6.2",
|
"symfony/cache": "^7.2",
|
||||||
"symfony/config": "^5.4",
|
"symfony/clock": "^7.2",
|
||||||
"symfony/console": "^5.4",
|
"symfony/config": "^7.2",
|
||||||
"symfony/css-selector": "^5.4",
|
"symfony/console": "^7.2",
|
||||||
"symfony/dom-crawler": "^5.4",
|
"symfony/css-selector": "^7.2",
|
||||||
"symfony/error-handler": "^5.4",
|
"symfony/dom-crawler": "^7.2",
|
||||||
"symfony/event-dispatcher": "^5.4",
|
"symfony/error-handler": "^7.2",
|
||||||
"symfony/event-dispatcher-contracts": "^2.4",
|
"symfony/event-dispatcher": "^7.2",
|
||||||
"symfony/expression-language": "^5.4",
|
"symfony/event-dispatcher-contracts": "^3.0",
|
||||||
"symfony/filesystem": "^5.4",
|
"symfony/expression-language": "^7.2",
|
||||||
"symfony/finder": "^5.4",
|
"symfony/filesystem": "^7.2",
|
||||||
"symfony/form": "^5.4",
|
"symfony/finder": "^7.2",
|
||||||
"symfony/framework-bundle": "^5.4",
|
"symfony/form": "^7.2",
|
||||||
"symfony/http-client": "^5.4",
|
"symfony/framework-bundle": "^7.2",
|
||||||
"symfony/http-foundation": "^5.4",
|
"symfony/http-client": "^7.2",
|
||||||
"symfony/intl": "^5.4",
|
"symfony/http-foundation": "^7.2",
|
||||||
"symfony/mailer": "^5.4",
|
"symfony/intl": "^7.2",
|
||||||
"symfony/messenger": "^5.4",
|
"symfony/mailer": "^7.2",
|
||||||
"symfony/mime": "^5.4",
|
"symfony/messenger": "^7.2",
|
||||||
|
"symfony/mime": "^7.2",
|
||||||
"symfony/monolog-bundle": "^3.5",
|
"symfony/monolog-bundle": "^3.5",
|
||||||
"symfony/notifier": "^5.4",
|
"symfony/notifier": "^7.2",
|
||||||
"symfony/options-resolver": "^5.4",
|
"symfony/options-resolver": "^7.2",
|
||||||
"symfony/ovh-cloud-notifier": "^5.4",
|
"symfony/ovh-cloud-notifier": "^7.2",
|
||||||
"symfony/process": "^5.4",
|
"symfony/polyfill-intl-messageformatter": "^1.32",
|
||||||
"symfony/property-access": "^5.4",
|
"symfony/process": "^7.2",
|
||||||
"symfony/property-info": "^5.4",
|
"symfony/property-access": "^7.2",
|
||||||
"symfony/routing": "^5.4",
|
"symfony/property-info": "^7.2",
|
||||||
"symfony/security-bundle": "^5.4",
|
"symfony/routing": "^7.2",
|
||||||
"symfony/security-core": "^5.4",
|
"symfony/security-bundle": "^7.3",
|
||||||
"symfony/security-csrf": "^5.4",
|
"symfony/security-core": "^7.2",
|
||||||
"symfony/security-guard": "^5.4",
|
"symfony/security-csrf": "^7.2",
|
||||||
"symfony/security-http": "^5.4",
|
"symfony/security-http": "^7.2",
|
||||||
"symfony/serializer": "^5.4",
|
"symfony/serializer": "^7.2",
|
||||||
"symfony/string": "^5.4",
|
"symfony/string": "^7.2",
|
||||||
"symfony/templating": "^5.4",
|
"symfony/translation": "^7.3",
|
||||||
"symfony/translation": "^5.4",
|
"symfony/twig-bundle": "^7.3",
|
||||||
"symfony/twig-bundle": "^5.4",
|
|
||||||
"symfony/ux-translator": "^2.22",
|
"symfony/ux-translator": "^2.22",
|
||||||
"symfony/validator": "^5.4",
|
"symfony/validator": "^7.2",
|
||||||
"symfony/webpack-encore-bundle": "^1.11",
|
"symfony/var-exporter": "^7.0",
|
||||||
"symfony/workflow": "^5.4",
|
"symfony/webpack-encore-bundle": "^2.0",
|
||||||
"symfony/yaml": "^5.4",
|
"symfony/workflow": "^7.2",
|
||||||
|
"symfony/yaml": "^7.2",
|
||||||
"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",
|
||||||
@@ -97,27 +97,27 @@
|
|||||||
"require-dev": {
|
"require-dev": {
|
||||||
"doctrine/doctrine-fixtures-bundle": "^3.3",
|
"doctrine/doctrine-fixtures-bundle": "^3.3",
|
||||||
"fakerphp/faker": "^1.13",
|
"fakerphp/faker": "^1.13",
|
||||||
"friendsofphp/php-cs-fixer": "3.65.0",
|
"friendsofphp/php-cs-fixer": "3.88.2",
|
||||||
"jangregor/phpstan-prophecy": "^1.0",
|
"jangregor/phpstan-prophecy": "^2.2",
|
||||||
"nelmio/alice": "^3.8",
|
"nelmio/alice": "^3.8",
|
||||||
"nikic/php-parser": "^4.15",
|
|
||||||
"phpspec/prophecy-phpunit": "^2.0",
|
"phpspec/prophecy-phpunit": "^2.0",
|
||||||
"phpstan/extension-installer": "^1.2",
|
"phpstan/extension-installer": "^1.2",
|
||||||
"phpstan/phpstan": "^1.9",
|
"phpstan/phpstan": "^2.1.30",
|
||||||
"phpstan/phpstan-deprecation-rules": "^1.1",
|
"phpstan/phpstan-deprecation-rules": "^2.0",
|
||||||
"phpstan/phpstan-strict-rules": "^1.0",
|
"phpstan/phpstan-doctrine": "^2.0",
|
||||||
|
"phpstan/phpstan-strict-rules": "^2.0.7",
|
||||||
|
"phpstan/phpstan-symfony": "^2.0",
|
||||||
"phpunit/phpunit": "^10.5.24",
|
"phpunit/phpunit": "^10.5.24",
|
||||||
"rector/rector": "^1.1.0",
|
"rector/rector": "^2.2",
|
||||||
"symfony/amqp-messenger": "^5.4.45",
|
"symfony/debug-bundle": "^7.2",
|
||||||
"symfony/debug-bundle": "^5.4",
|
"symfony/dotenv": "^7.2",
|
||||||
"symfony/dotenv": "^5.4",
|
|
||||||
"symfony/flex": "^2.4",
|
"symfony/flex": "^2.4",
|
||||||
"symfony/maker-bundle": "^1.20",
|
"symfony/maker-bundle": "^1.20",
|
||||||
"symfony/phpunit-bridge": "^7.1",
|
"symfony/phpunit-bridge": "^7.1",
|
||||||
"symfony/runtime": "^5.4",
|
"symfony/runtime": "^7.2",
|
||||||
"symfony/stopwatch": "^5.4",
|
"symfony/stopwatch": "^7.2",
|
||||||
"symfony/var-dumper": "^5.4",
|
"symfony/var-dumper": "^7.2",
|
||||||
"symfony/web-profiler-bundle": "^5.4",
|
"symfony/web-profiler-bundle": "^7.2",
|
||||||
"symfony/loco-translation-provider": "^6.0"
|
"symfony/loco-translation-provider": "^6.0"
|
||||||
},
|
},
|
||||||
"conflict": {
|
"conflict": {
|
||||||
@@ -141,6 +141,7 @@
|
|||||||
"Chill\\TaskBundle\\": "src/Bundle/ChillTaskBundle",
|
"Chill\\TaskBundle\\": "src/Bundle/ChillTaskBundle",
|
||||||
"Chill\\ThirdPartyBundle\\": "src/Bundle/ChillThirdPartyBundle",
|
"Chill\\ThirdPartyBundle\\": "src/Bundle/ChillThirdPartyBundle",
|
||||||
"Chill\\WopiBundle\\": "src/Bundle/ChillWopiBundle/src",
|
"Chill\\WopiBundle\\": "src/Bundle/ChillWopiBundle/src",
|
||||||
|
"Chill\\TicketBundle\\": "src/Bundle/ChillTicketBundle/src",
|
||||||
"Chill\\Utils\\Rector\\": "utils/rector/src"
|
"Chill\\Utils\\Rector\\": "utils/rector/src"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -13,7 +13,6 @@ return [
|
|||||||
Lexik\Bundle\JWTAuthenticationBundle\LexikJWTAuthenticationBundle::class => ['all' => true],
|
Lexik\Bundle\JWTAuthenticationBundle\LexikJWTAuthenticationBundle::class => ['all' => true],
|
||||||
Nelmio\Alice\Bridge\Symfony\NelmioAliceBundle::class => ['dev' => true, 'test' => true],
|
Nelmio\Alice\Bridge\Symfony\NelmioAliceBundle::class => ['dev' => true, 'test' => true],
|
||||||
Misd\PhoneNumberBundle\MisdPhoneNumberBundle::class => ['all' => true],
|
Misd\PhoneNumberBundle\MisdPhoneNumberBundle::class => ['all' => true],
|
||||||
Sensio\Bundle\FrameworkExtraBundle\SensioFrameworkExtraBundle::class => ['all' => true],
|
|
||||||
Symfony\Bundle\DebugBundle\DebugBundle::class => ['dev' => true],
|
Symfony\Bundle\DebugBundle\DebugBundle::class => ['dev' => true],
|
||||||
Symfony\Bundle\MakerBundle\MakerBundle::class => ['dev' => true],
|
Symfony\Bundle\MakerBundle\MakerBundle::class => ['dev' => true],
|
||||||
Symfony\Bundle\MonologBundle\MonologBundle::class => ['all' => true],
|
Symfony\Bundle\MonologBundle\MonologBundle::class => ['all' => true],
|
||||||
@@ -34,6 +33,7 @@ return [
|
|||||||
Chill\ThirdPartyBundle\ChillThirdPartyBundle::class => ['all' => true],
|
Chill\ThirdPartyBundle\ChillThirdPartyBundle::class => ['all' => true],
|
||||||
Chill\BudgetBundle\ChillBudgetBundle::class => ['all' => true],
|
Chill\BudgetBundle\ChillBudgetBundle::class => ['all' => true],
|
||||||
Chill\WopiBundle\ChillWopiBundle::class => ['all' => true],
|
Chill\WopiBundle\ChillWopiBundle::class => ['all' => true],
|
||||||
|
Chill\TicketBundle\ChillTicketBundle::class => ['all' => true],
|
||||||
Symfony\Bundle\WebProfilerBundle\WebProfilerBundle::class => ['dev' => true, 'test' => true],
|
Symfony\Bundle\WebProfilerBundle\WebProfilerBundle::class => ['dev' => true, 'test' => true],
|
||||||
Symfony\UX\Translator\UxTranslatorBundle::class => ['all' => true],
|
Symfony\UX\Translator\UxTranslatorBundle::class => ['all' => true],
|
||||||
loophp\PsrHttpMessageBridgeBundle\PsrHttpMessageBridgeBundle::class => ['all' => true],
|
loophp\PsrHttpMessageBridgeBundle\PsrHttpMessageBridgeBundle::class => ['all' => true],
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
chill_doc_store:
|
chill_doc_store:
|
||||||
use_driver: openstack
|
use_driver: local_storage
|
||||||
local_storage:
|
local_storage:
|
||||||
storage_path: '%kernel.project_dir%/var/storage'
|
storage_path: '%kernel.project_dir%/var/storage'
|
||||||
openstack:
|
openstack:
|
||||||
|
|||||||
5
config/packages/chill_ticket.yaml
Normal file
5
config/packages/chill_ticket.yaml
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
chill_ticket:
|
||||||
|
ticket:
|
||||||
|
person_per_ticket: one # One of "one"; "many"
|
||||||
|
response_time_exceeded_delay: PT12H
|
||||||
|
|
||||||
11
config/packages/csrf.yaml
Normal file
11
config/packages/csrf.yaml
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
# Enable stateless CSRF protection for forms and logins/logouts
|
||||||
|
framework:
|
||||||
|
form:
|
||||||
|
csrf_protection:
|
||||||
|
token_id: submit
|
||||||
|
|
||||||
|
csrf_protection:
|
||||||
|
stateless_token_ids:
|
||||||
|
- submit
|
||||||
|
- authenticate
|
||||||
|
- logout
|
||||||
@@ -7,6 +7,7 @@ doctrine:
|
|||||||
#server_version: '16'
|
#server_version: '16'
|
||||||
use_savepoints: true
|
use_savepoints: true
|
||||||
orm:
|
orm:
|
||||||
|
enable_lazy_ghost_objects: true
|
||||||
auto_generate_proxy_classes: true
|
auto_generate_proxy_classes: true
|
||||||
naming_strategy: doctrine.orm.naming_strategy.default
|
naming_strategy: doctrine.orm.naming_strategy.default
|
||||||
auto_mapping: true
|
auto_mapping: true
|
||||||
|
|||||||
@@ -14,6 +14,7 @@ doctrine_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'
|
'Chill\Migrations\Report': '@ChillReportBundle/migrations'
|
||||||
|
'Chill\Migrations\Ticket': '@ChillTicketBundle/migrations'
|
||||||
all_or_nothing:
|
all_or_nothing:
|
||||||
true
|
true
|
||||||
|
|
||||||
|
|||||||
@@ -4,6 +4,16 @@ framework:
|
|||||||
#csrf_protection: true
|
#csrf_protection: true
|
||||||
http_method_override: false
|
http_method_override: false
|
||||||
|
|
||||||
|
|
||||||
|
# Enable EntityValueResolver for automatic entity injection in controllers
|
||||||
|
# This replaces the functionality previously provided by SensioFrameworkExtraBundle
|
||||||
|
http_client:
|
||||||
|
enabled: true
|
||||||
|
|
||||||
|
request:
|
||||||
|
formats:
|
||||||
|
json: ['application/json']
|
||||||
|
|
||||||
# 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.
|
||||||
session:
|
session:
|
||||||
|
|||||||
@@ -1,7 +1,5 @@
|
|||||||
framework:
|
framework:
|
||||||
messenger:
|
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.
|
# Uncomment this (and the failed transport below) to send failed messages to this transport for later handling.
|
||||||
failure_transport: failed
|
failure_transport: failed
|
||||||
@@ -66,6 +64,7 @@ framework:
|
|||||||
'Chill\MainBundle\Export\Messenger\ExportRequestGenerationMessage': priority
|
'Chill\MainBundle\Export\Messenger\ExportRequestGenerationMessage': priority
|
||||||
'Chill\MainBundle\Export\Messenger\RemoveExportGenerationMessage': async
|
'Chill\MainBundle\Export\Messenger\RemoveExportGenerationMessage': async
|
||||||
'Chill\MainBundle\Notification\Email\NotificationEmailMessages\ScheduleDailyNotificationDigestMessage': async
|
'Chill\MainBundle\Notification\Email\NotificationEmailMessages\ScheduleDailyNotificationDigestMessage': async
|
||||||
|
'Chill\TicketBundle\Messenger\PostTicketUpdateMessage': async
|
||||||
# end of routes added by chill-bundles recipes
|
# end of routes added by chill-bundles recipes
|
||||||
# Route your messages to the transports
|
# Route your messages to the transports
|
||||||
# 'App\Message\YourMessage': async
|
# 'App\Message\YourMessage': async
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
framework:
|
framework:
|
||||||
notifier:
|
notifier:
|
||||||
texter_transports:
|
texter_transports:
|
||||||
#ovhcloud: '%env(OVHCLOUD_DSN)%'
|
#ovhcloud: '%env(OVHCLOUD_DSN)%'
|
||||||
#ovhcloud: '%env(SHORT_MESSAGE_DSN)%'
|
#ovhcloud: '%env(SHORT_MESSAGE_DSN)%'
|
||||||
channel_policy:
|
channel_policy:
|
||||||
# use chat/slack, chat/telegram, sms/twilio or sms/nexmo
|
# use chat/slack, chat/telegram, sms/twilio or sms/nexmo
|
||||||
urgent: ['email']
|
urgent: ['email']
|
||||||
|
|||||||
3
config/packages/property_info.yaml
Normal file
3
config/packages/property_info.yaml
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
framework:
|
||||||
|
property_info:
|
||||||
|
enabled: true
|
||||||
@@ -1,5 +1,4 @@
|
|||||||
security:
|
security:
|
||||||
enable_authenticator_manager: true
|
|
||||||
# https://symfony.com/doc/current/security.html#registering-the-user-hashing-passwords
|
# https://symfony.com/doc/current/security.html#registering-the-user-hashing-passwords
|
||||||
password_hashers:
|
password_hashers:
|
||||||
Symfony\Component\Security\Core\User\PasswordAuthenticatedUserInterface: 'auto'
|
Symfony\Component\Security\Core\User\PasswordAuthenticatedUserInterface: 'auto'
|
||||||
@@ -28,16 +27,13 @@ security:
|
|||||||
pattern: ^/wopi
|
pattern: ^/wopi
|
||||||
provider: chill_chain_provider
|
provider: chill_chain_provider
|
||||||
stateless: true
|
stateless: true
|
||||||
guard:
|
jwt: ~
|
||||||
authenticators:
|
|
||||||
- lexik_jwt_authentication.jwt_token_authenticator
|
|
||||||
dav:
|
dav:
|
||||||
pattern: ^/dav
|
pattern: ^/dav
|
||||||
provider: chill_chain_provider
|
provider: chill_chain_provider
|
||||||
stateless: true
|
stateless: true
|
||||||
guard:
|
custom_authenticator:
|
||||||
authenticators:
|
- Chill\DocStoreBundle\Security\Authenticator\JWTOnDavUrlAuthenticator
|
||||||
- Chill\DocStoreBundle\Security\Guard\JWTOnDavUrlAuthenticator
|
|
||||||
# this firewall is the main firewall for chill. It should be the last one in the stack,
|
# this firewall is the main firewall for chill. It should be the last one in the stack,
|
||||||
# unless you have specific needs
|
# unless you have specific needs
|
||||||
chill_main:
|
chill_main:
|
||||||
@@ -63,7 +59,7 @@ security:
|
|||||||
# Note: Only the *first* access control that matches will be used
|
# Note: Only the *first* access control that matches will be used
|
||||||
access_control:
|
access_control:
|
||||||
# those lines are added by chill-bundles recipes, and are requires to make chill-bundles working
|
# those lines are added by chill-bundles recipes, and are requires to make chill-bundles working
|
||||||
- { path: ^/(login|logout), roles: IS_AUTHENTICATED_ANONYMOUSLY }
|
- { path: ^/(login|logout), roles: PUBLIC_ACCESS }
|
||||||
- { path: ^/public, roles: IS_AUTHENTICATED_ANONYMOUSLY }
|
- { path: ^/public, roles: IS_AUTHENTICATED_ANONYMOUSLY }
|
||||||
- { path: ^/wopi, roles: IS_AUTHENTICATED_FULLY }
|
- { path: ^/wopi, roles: IS_AUTHENTICATED_FULLY }
|
||||||
# access for homepage, the homepage redirect admin to admin section
|
# access for homepage, the homepage redirect admin to admin section
|
||||||
|
|||||||
@@ -1,3 +0,0 @@
|
|||||||
sensio_framework_extra:
|
|
||||||
router:
|
|
||||||
annotations: false
|
|
||||||
4
config/packages/serializer.yaml
Normal file
4
config/packages/serializer.yaml
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
framework:
|
||||||
|
serializer:
|
||||||
|
enabled: true
|
||||||
|
enable_attributes: true
|
||||||
@@ -7,7 +7,8 @@ framework:
|
|||||||
- Chill\PersonBundle\Entity\AccompanyingPeriod\AccompanyingPeriodWorkEvaluationDocument
|
- Chill\PersonBundle\Entity\AccompanyingPeriod\AccompanyingPeriodWorkEvaluationDocument
|
||||||
- Chill\PersonBundle\Entity\AccompanyingPeriod\AccompanyingPeriodWork
|
- Chill\PersonBundle\Entity\AccompanyingPeriod\AccompanyingPeriodWork
|
||||||
- Chill\DocStoreBundle\Entity\AccompanyingCourseDocument
|
- Chill\DocStoreBundle\Entity\AccompanyingCourseDocument
|
||||||
label:
|
label: Suivi
|
||||||
|
translated_labels:
|
||||||
fr: 'Suivi'
|
fr: 'Suivi'
|
||||||
support_strategy: Chill\MainBundle\Workflow\RelatedEntityWorkflowSupportsStrategy
|
support_strategy: Chill\MainBundle\Workflow\RelatedEntityWorkflowSupportsStrategy
|
||||||
marking_store:
|
marking_store:
|
||||||
@@ -16,11 +17,13 @@ framework:
|
|||||||
places:
|
places:
|
||||||
initial:
|
initial:
|
||||||
metadata:
|
metadata:
|
||||||
label:
|
label: Étape initiale
|
||||||
|
translated_labels:
|
||||||
fr: Étape initiale
|
fr: Étape initiale
|
||||||
attenteModification:
|
attenteModification:
|
||||||
metadata:
|
metadata:
|
||||||
label:
|
label: En attente de modification du document
|
||||||
|
translated_labels:
|
||||||
fr: En attente de modification du document
|
fr: En attente de modification du document
|
||||||
validationFilterInputLabels:
|
validationFilterInputLabels:
|
||||||
forward: {fr: Modification effectuée}
|
forward: {fr: Modification effectuée}
|
||||||
@@ -28,7 +31,8 @@ framework:
|
|||||||
neutral: {fr: Autre}
|
neutral: {fr: Autre}
|
||||||
attenteMiseEnForme:
|
attenteMiseEnForme:
|
||||||
metadata:
|
metadata:
|
||||||
label:
|
label: En attente de mise en forme
|
||||||
|
translated_labels:
|
||||||
fr: En attente de mise en forme
|
fr: En attente de mise en forme
|
||||||
validationFilterInputLabels:
|
validationFilterInputLabels:
|
||||||
forward: {fr: Mise en forme terminée}
|
forward: {fr: Mise en forme terminée}
|
||||||
@@ -36,7 +40,8 @@ framework:
|
|||||||
neutral: {fr: Autre}
|
neutral: {fr: Autre}
|
||||||
attenteVisa:
|
attenteVisa:
|
||||||
metadata:
|
metadata:
|
||||||
label:
|
label: En attente de visa
|
||||||
|
translated_labels:
|
||||||
fr: En attente de visa
|
fr: En attente de visa
|
||||||
validationFilterInputLabels:
|
validationFilterInputLabels:
|
||||||
forward: {fr: Visa accordé}
|
forward: {fr: Visa accordé}
|
||||||
@@ -47,7 +52,8 @@ framework:
|
|||||||
isSignature: ['user', 'person']
|
isSignature: ['user', 'person']
|
||||||
onSignatureCompleted:
|
onSignatureCompleted:
|
||||||
transitionName: signatureApplied
|
transitionName: signatureApplied
|
||||||
label:
|
label: En attente de signature
|
||||||
|
translated_labels:
|
||||||
fr: En attente de signature
|
fr: En attente de signature
|
||||||
validationFilterInputLabels:
|
validationFilterInputLabels:
|
||||||
forward: {fr: Signature accordée}
|
forward: {fr: Signature accordée}
|
||||||
@@ -55,7 +61,8 @@ framework:
|
|||||||
neutral: {fr: Autre}
|
neutral: {fr: Autre}
|
||||||
postSignature:
|
postSignature:
|
||||||
metadata:
|
metadata:
|
||||||
label:
|
label: Signatures traitées
|
||||||
|
translated_labels:
|
||||||
fr: Signatures traitées
|
fr: Signatures traitées
|
||||||
validationFilterInputLabels:
|
validationFilterInputLabels:
|
||||||
forward: {fr: Poursuite du traitement}
|
forward: {fr: Poursuite du traitement}
|
||||||
@@ -63,7 +70,8 @@ framework:
|
|||||||
neutral: {fr: Autre}
|
neutral: {fr: Autre}
|
||||||
attenteTraitement:
|
attenteTraitement:
|
||||||
metadata:
|
metadata:
|
||||||
label:
|
label: En attente de traitement
|
||||||
|
translated_labels:
|
||||||
fr: En attente de traitement
|
fr: En attente de traitement
|
||||||
validationFilterInputLabels:
|
validationFilterInputLabels:
|
||||||
forward: {fr: Traitement terminé favorablement}
|
forward: {fr: Traitement terminé favorablement}
|
||||||
@@ -71,7 +79,8 @@ framework:
|
|||||||
neutral: {fr: Autre}
|
neutral: {fr: Autre}
|
||||||
attenteEnvoi:
|
attenteEnvoi:
|
||||||
metadata:
|
metadata:
|
||||||
label:
|
label: En attente d'envoi
|
||||||
|
translated_labels:
|
||||||
fr: En attente d'envoi
|
fr: En attente d'envoi
|
||||||
validationFilterInputLabels:
|
validationFilterInputLabels:
|
||||||
forward: {fr: Document envoyé}
|
forward: {fr: Document envoyé}
|
||||||
@@ -79,7 +88,8 @@ framework:
|
|||||||
neutral: {fr: Autre}
|
neutral: {fr: Autre}
|
||||||
attenteValidationMiseEnForme:
|
attenteValidationMiseEnForme:
|
||||||
metadata:
|
metadata:
|
||||||
label:
|
label: En attente de validation de la mise en forme
|
||||||
|
translated_labels:
|
||||||
fr: En attente de validation de la mise en forme
|
fr: En attente de validation de la mise en forme
|
||||||
validationFilterInputLabels:
|
validationFilterInputLabels:
|
||||||
forward: {fr: Validation de la mise en forme}
|
forward: {fr: Validation de la mise en forme}
|
||||||
@@ -89,7 +99,8 @@ framework:
|
|||||||
metadata:
|
metadata:
|
||||||
isSentExternal: true
|
isSentExternal: true
|
||||||
onExternalView: clotureApresLectureEnvoiExterne
|
onExternalView: clotureApresLectureEnvoiExterne
|
||||||
label:
|
label: En attente d'ouverture par un destinataire externe
|
||||||
|
translated_labels:
|
||||||
fr: En attente d'ouverture par un destinataire externe
|
fr: En attente d'ouverture par un destinataire externe
|
||||||
validationFilterInputLabels:
|
validationFilterInputLabels:
|
||||||
forward: {fr: Document reçu par un destinataire externe}
|
forward: {fr: Document reçu par un destinataire externe}
|
||||||
@@ -99,13 +110,15 @@ framework:
|
|||||||
metadata:
|
metadata:
|
||||||
isFinal: true
|
isFinal: true
|
||||||
isFinalPositive: false
|
isFinalPositive: false
|
||||||
label:
|
label: Annulé
|
||||||
|
translated_labels:
|
||||||
fr: Annulé
|
fr: Annulé
|
||||||
final:
|
final:
|
||||||
metadata:
|
metadata:
|
||||||
isFinal: true
|
isFinal: true
|
||||||
isFinalPositive: true
|
isFinalPositive: true
|
||||||
label:
|
label: Finalisé
|
||||||
|
translated_labels:
|
||||||
fr: Finalisé
|
fr: Finalisé
|
||||||
transitions:
|
transitions:
|
||||||
# transition qui avancent
|
# transition qui avancent
|
||||||
@@ -114,7 +127,8 @@ framework:
|
|||||||
- initial
|
- initial
|
||||||
to: attenteModification
|
to: attenteModification
|
||||||
metadata:
|
metadata:
|
||||||
label:
|
label: Demande de modification du document
|
||||||
|
translated_labels:
|
||||||
fr: Demande de modification du document
|
fr: Demande de modification du document
|
||||||
isForward: true
|
isForward: true
|
||||||
demandeMiseEnForme:
|
demandeMiseEnForme:
|
||||||
@@ -123,7 +137,8 @@ framework:
|
|||||||
- attenteModification
|
- attenteModification
|
||||||
to: attenteMiseEnForme
|
to: attenteMiseEnForme
|
||||||
metadata:
|
metadata:
|
||||||
label:
|
label: Demande de mise en forme
|
||||||
|
translated_labels:
|
||||||
fr: Demande de mise en forme
|
fr: Demande de mise en forme
|
||||||
isForward: true
|
isForward: true
|
||||||
demandeValidationMiseEnForme:
|
demandeValidationMiseEnForme:
|
||||||
@@ -131,7 +146,8 @@ framework:
|
|||||||
- attenteMiseEnForme
|
- attenteMiseEnForme
|
||||||
to: attenteValidationMiseEnForme
|
to: attenteValidationMiseEnForme
|
||||||
metadata:
|
metadata:
|
||||||
label:
|
label: Demande de validation de la mise en forme
|
||||||
|
translated_labels:
|
||||||
fr: Demande de validation de la mise en forme
|
fr: Demande de validation de la mise en forme
|
||||||
isForward: true
|
isForward: true
|
||||||
demandeVisa:
|
demandeVisa:
|
||||||
@@ -144,7 +160,8 @@ framework:
|
|||||||
- attenteTraitement
|
- attenteTraitement
|
||||||
to: attenteVisa
|
to: attenteVisa
|
||||||
metadata:
|
metadata:
|
||||||
label:
|
label: Demande de visa
|
||||||
|
translated_labels:
|
||||||
fr: Demande de visa
|
fr: Demande de visa
|
||||||
isForward: true
|
isForward: true
|
||||||
demandeSignature:
|
demandeSignature:
|
||||||
@@ -157,14 +174,18 @@ framework:
|
|||||||
- attenteTraitement
|
- attenteTraitement
|
||||||
to: attenteSignature
|
to: attenteSignature
|
||||||
metadata:
|
metadata:
|
||||||
label: {fr: Demande de signature}
|
label: Demande de signature
|
||||||
|
translated_labels:
|
||||||
|
fr: Demande de signature
|
||||||
isForward: true
|
isForward: true
|
||||||
signatureApplied:
|
signatureApplied:
|
||||||
from:
|
from:
|
||||||
- attenteSignature
|
- attenteSignature
|
||||||
to: postSignature
|
to: postSignature
|
||||||
metadata:
|
metadata:
|
||||||
label: {fr: Signatures appliquées}
|
label: Signatures appliquées
|
||||||
|
translated_labels:
|
||||||
|
fr: Signatures appliquées
|
||||||
isForward: true
|
isForward: true
|
||||||
transitionGuard: 'system' # can be 'system+only-dest' or 'only-dest' (only-dest is default)
|
transitionGuard: 'system' # can be 'system+only-dest' or 'only-dest' (only-dest is default)
|
||||||
demandeTraitement:
|
demandeTraitement:
|
||||||
@@ -177,7 +198,9 @@ framework:
|
|||||||
- postSignature
|
- postSignature
|
||||||
to: attenteTraitement
|
to: attenteTraitement
|
||||||
metadata:
|
metadata:
|
||||||
label: {fr: Demande de traitement}
|
label: Demande de traitement
|
||||||
|
translated_labels:
|
||||||
|
fr: Demande de traitement
|
||||||
isForward: true
|
isForward: true
|
||||||
demandeEnvoi:
|
demandeEnvoi:
|
||||||
from:
|
from:
|
||||||
@@ -190,7 +213,9 @@ framework:
|
|||||||
- attenteTraitement
|
- attenteTraitement
|
||||||
to: attenteEnvoi
|
to: attenteEnvoi
|
||||||
metadata:
|
metadata:
|
||||||
label: {fr: Demande d'envoi}
|
label: Demande d'envoi
|
||||||
|
translated_labels:
|
||||||
|
fr: Demande d'envoi
|
||||||
isForward: true
|
isForward: true
|
||||||
demandeEnvoiExterne:
|
demandeEnvoiExterne:
|
||||||
from:
|
from:
|
||||||
@@ -203,7 +228,9 @@ framework:
|
|||||||
- attenteTraitement
|
- attenteTraitement
|
||||||
to: attenteReceptionExternal
|
to: attenteReceptionExternal
|
||||||
metadata:
|
metadata:
|
||||||
label: {fr: Envoi sécurisé par courrier électronique}
|
label: Envoi sécurisé par courrier électronique
|
||||||
|
translated_labels:
|
||||||
|
fr: Envoi sécurisé par courrier électronique
|
||||||
isForward: true
|
isForward: true
|
||||||
clotureApresLectureEnvoiExterne:
|
clotureApresLectureEnvoiExterne:
|
||||||
from:
|
from:
|
||||||
@@ -213,7 +240,9 @@ framework:
|
|||||||
metadata:
|
metadata:
|
||||||
transitionGuard: system
|
transitionGuard: system
|
||||||
isForward: true
|
isForward: true
|
||||||
label: {fr: Consultation de l'envoi sécurisé}
|
label: Consultation de l'envoi sécurisé
|
||||||
|
translated_labels:
|
||||||
|
fr: Consultation de l'envoi sécurisé
|
||||||
annulation:
|
annulation:
|
||||||
from:
|
from:
|
||||||
- initial
|
- initial
|
||||||
@@ -227,7 +256,9 @@ framework:
|
|||||||
- attenteEnvoi
|
- attenteEnvoi
|
||||||
to: annule
|
to: annule
|
||||||
metadata:
|
metadata:
|
||||||
label: {fr: Annulation}
|
label: Annulation
|
||||||
|
translated_labels:
|
||||||
|
fr: Annulation
|
||||||
isForward: false
|
isForward: false
|
||||||
transitionGuard: 'system+only-dest' # can be 'system+only-dest' or 'only-dest' (only-dest is default)
|
transitionGuard: 'system+only-dest' # can be 'system+only-dest' or 'only-dest' (only-dest is default)
|
||||||
# transitions qui répètent l'étape
|
# transitions qui répètent l'étape
|
||||||
@@ -237,27 +268,35 @@ framework:
|
|||||||
- attenteValidationMiseEnForme
|
- attenteValidationMiseEnForme
|
||||||
to: attenteMiseEnForme
|
to: attenteMiseEnForme
|
||||||
metadata:
|
metadata:
|
||||||
label: {fr: Demande de mise en forme supplémentaire}
|
label: Demande de mise en forme supplémentaire
|
||||||
|
translated_labels:
|
||||||
|
fr: Demande de mise en forme supplémentaire
|
||||||
demandeVisaSupplementaire:
|
demandeVisaSupplementaire:
|
||||||
from:
|
from:
|
||||||
- attenteVisa
|
- attenteVisa
|
||||||
to: attenteVisa
|
to: attenteVisa
|
||||||
metadata:
|
metadata:
|
||||||
label: {fr: Demande de visa supplémentaire}
|
label: Demande de visa supplémentaire
|
||||||
|
translated_labels:
|
||||||
|
fr: Demande de visa supplémentaire
|
||||||
isForward: true
|
isForward: true
|
||||||
demandeSignatureSupplementaire:
|
demandeSignatureSupplementaire:
|
||||||
from:
|
from:
|
||||||
- postSignature
|
- postSignature
|
||||||
to: attenteSignature
|
to: attenteSignature
|
||||||
metadata:
|
metadata:
|
||||||
label: {fr: Demande de signature supplémentaire}
|
label: Demande de signature supplémentaire
|
||||||
|
translated_labels:
|
||||||
|
fr: Demande de signature supplémentaire
|
||||||
isForward: true
|
isForward: true
|
||||||
demandeTraitementSupplementaire:
|
demandeTraitementSupplementaire:
|
||||||
from:
|
from:
|
||||||
- attenteTraitement
|
- attenteTraitement
|
||||||
to: attenteTraitement
|
to: attenteTraitement
|
||||||
metadata:
|
metadata:
|
||||||
label: {fr: Demande de traitement supplémentaire}
|
label: Demande de traitement supplémentaire
|
||||||
|
translated_labels:
|
||||||
|
fr: Demande de traitement supplémentaire
|
||||||
# transitions qui renvoient vers une étape précédente
|
# transitions qui renvoient vers une étape précédente
|
||||||
refusEtModificationDocument:
|
refusEtModificationDocument:
|
||||||
from:
|
from:
|
||||||
@@ -267,7 +306,8 @@ framework:
|
|||||||
- attenteEnvoi
|
- attenteEnvoi
|
||||||
to: attenteModification
|
to: attenteModification
|
||||||
metadata:
|
metadata:
|
||||||
label:
|
label: Refus et demande de modification du document
|
||||||
|
translated_labels:
|
||||||
fr: Refus et demande de modification du document
|
fr: Refus et demande de modification du document
|
||||||
isForward: false
|
isForward: false
|
||||||
refusEtDemandeMiseEnForme:
|
refusEtDemandeMiseEnForme:
|
||||||
@@ -277,7 +317,9 @@ framework:
|
|||||||
- attenteEnvoi
|
- attenteEnvoi
|
||||||
to: attenteMiseEnForme
|
to: attenteMiseEnForme
|
||||||
metadata:
|
metadata:
|
||||||
label: {fr: Refus et demande de mise en forme}
|
label: Refus et demande de mise en forme
|
||||||
|
translated_labels:
|
||||||
|
fr: Refus et demande de mise en forme
|
||||||
isForward: false
|
isForward: false
|
||||||
refusEtDemandeVisa:
|
refusEtDemandeVisa:
|
||||||
from:
|
from:
|
||||||
@@ -285,21 +327,27 @@ framework:
|
|||||||
- attenteEnvoi
|
- attenteEnvoi
|
||||||
to: attenteVisa
|
to: attenteVisa
|
||||||
metadata:
|
metadata:
|
||||||
label: {fr: Refus et demande de visa}
|
label: Refus et demande de visa
|
||||||
|
translated_labels:
|
||||||
|
fr: Refus et demande de visa
|
||||||
isForward: false
|
isForward: false
|
||||||
refusEtDemandeSignature:
|
refusEtDemandeSignature:
|
||||||
from:
|
from:
|
||||||
- attenteEnvoi
|
- attenteEnvoi
|
||||||
to: attenteSignature
|
to: attenteSignature
|
||||||
metadata:
|
metadata:
|
||||||
label: {fr: Refus et demande de signature}
|
label: Refus et demande de signature
|
||||||
|
translated_labels:
|
||||||
|
fr: Refus et demande de signature
|
||||||
isForward: false
|
isForward: false
|
||||||
refusEtDemandeTraitement:
|
refusEtDemandeTraitement:
|
||||||
from:
|
from:
|
||||||
- attenteEnvoi
|
- attenteEnvoi
|
||||||
to: attenteTraitement
|
to: attenteTraitement
|
||||||
metadata:
|
metadata:
|
||||||
label: {fr: Refus et demande de traitement}
|
label: Refus et demande de traitement
|
||||||
|
translated_labels:
|
||||||
|
fr: Refus et demande de traitement
|
||||||
isForward: false
|
isForward: false
|
||||||
# transition vers final
|
# transition vers final
|
||||||
initialToFinal:
|
initialToFinal:
|
||||||
@@ -307,7 +355,9 @@ framework:
|
|||||||
- initial
|
- initial
|
||||||
to: final
|
to: final
|
||||||
metadata:
|
metadata:
|
||||||
label: {fr: Clotûre immédiate et cloture positive}
|
label: Clotûre immédiate et cloture positive
|
||||||
|
translated_labels:
|
||||||
|
fr: Clotûre immédiate et cloture positive
|
||||||
isForward: true
|
isForward: true
|
||||||
attenteMiseEnFormeToFinal:
|
attenteMiseEnFormeToFinal:
|
||||||
from:
|
from:
|
||||||
@@ -315,33 +365,43 @@ framework:
|
|||||||
- attenteValidationMiseEnForme
|
- attenteValidationMiseEnForme
|
||||||
to: final
|
to: final
|
||||||
metadata:
|
metadata:
|
||||||
label: {fr: Mise en forme terminée et cloture positive}
|
label: Mise en forme terminée et cloture positive
|
||||||
|
translated_labels:
|
||||||
|
fr: Mise en forme terminée et cloture positive
|
||||||
isForward: true
|
isForward: true
|
||||||
attenteVisaToFinal:
|
attenteVisaToFinal:
|
||||||
from:
|
from:
|
||||||
- attenteVisa
|
- attenteVisa
|
||||||
to: final
|
to: final
|
||||||
metadata:
|
metadata:
|
||||||
label: {fr: Accorde le visa et cloture positive}
|
label: Accorde le visa et cloture positive
|
||||||
|
translated_labels:
|
||||||
|
fr: Accorde le visa et cloture positive
|
||||||
isForward: true
|
isForward: true
|
||||||
postSignatureToFinal:
|
postSignatureToFinal:
|
||||||
from:
|
from:
|
||||||
- postSignature
|
- postSignature
|
||||||
to: final
|
to: final
|
||||||
metadata:
|
metadata:
|
||||||
label: {fr: Cloture positive}
|
label: Cloture positive
|
||||||
|
translated_labels:
|
||||||
|
fr: Cloture positive
|
||||||
isForward: true
|
isForward: true
|
||||||
attenteTraitementToFinal:
|
attenteTraitementToFinal:
|
||||||
from:
|
from:
|
||||||
- attenteTraitement
|
- attenteTraitement
|
||||||
to: final
|
to: final
|
||||||
metadata:
|
metadata:
|
||||||
label: {fr: Traitement terminé et cloture positive}
|
label: Traitement terminé et cloture positive
|
||||||
|
translated_labels:
|
||||||
|
fr: Traitement terminé et cloture positive
|
||||||
isForward: true
|
isForward: true
|
||||||
attenteEnvoiToFinal:
|
attenteEnvoiToFinal:
|
||||||
from:
|
from:
|
||||||
- attenteEnvoi
|
- attenteEnvoi
|
||||||
to: final
|
to: final
|
||||||
metadata:
|
metadata:
|
||||||
label: {fr: Envoyé et cloture positive}
|
label: Envoyé et cloture positive
|
||||||
|
translated_labels:
|
||||||
|
fr: Envoyé et cloture positive
|
||||||
isForward: true
|
isForward: true
|
||||||
|
|||||||
@@ -1,3 +0,0 @@
|
|||||||
kernel:
|
|
||||||
resource: ../../src/app/Kernel.php
|
|
||||||
type: annotation
|
|
||||||
2
config/routes/chill_ticket.yaml
Normal file
2
config/routes/chill_ticket.yaml
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
chill_ticket_bundle:
|
||||||
|
resource: '@ChillTicketBundle/config/routes.yaml'
|
||||||
3
config/routes/security.yaml
Normal file
3
config/routes/security.yaml
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
_security_logout:
|
||||||
|
resource: security.route_loader.logout
|
||||||
|
type: service
|
||||||
@@ -6,11 +6,23 @@
|
|||||||
parameters:
|
parameters:
|
||||||
|
|
||||||
services:
|
services:
|
||||||
|
#alias to inject container into AbstractController::setContainer
|
||||||
|
Psr\Container\ContainerInterface: '@service_container'
|
||||||
|
|
||||||
# default configuration for services in *this* file
|
# default configuration for services in *this* file
|
||||||
_defaults:
|
_defaults:
|
||||||
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.
|
||||||
|
|
||||||
|
# Custom entity value resolver to replace SensioFrameworkExtraBundle functionality
|
||||||
|
Chill\MainBundle\ArgumentResolver\EntityValueResolver:
|
||||||
|
tags:
|
||||||
|
- { name: controller.argument_value_resolver, priority: 50 }
|
||||||
|
|
||||||
|
Chill\MainBundle\Serializer\CircularReferenceHandler:
|
||||||
|
public: false
|
||||||
|
tags:
|
||||||
|
- { name: 'serializer.circular_reference_handler' }
|
||||||
when@dev:
|
when@dev:
|
||||||
services:
|
services:
|
||||||
ChampsLibres\WopiLib\Contract\Service\ProofValidatorInterface: '@Chill\WopiBundle\Service\Wopi\NullProofValidator'
|
ChampsLibres\WopiLib\Contract\Service\ProofValidatorInterface: '@Chill\WopiBundle\Service\Wopi\NullProofValidator'
|
||||||
|
|||||||
@@ -14,7 +14,6 @@ namespace Chill\PersonBundle\Export\Filter;
|
|||||||
use Chill\MainBundle\Export\ExportElementValidatedInterface;
|
use Chill\MainBundle\Export\ExportElementValidatedInterface;
|
||||||
use Chill\MainBundle\Export\ExportGenerationContext;
|
use Chill\MainBundle\Export\ExportGenerationContext;
|
||||||
use Chill\MainBundle\Export\FilterInterface;
|
use Chill\MainBundle\Export\FilterInterface;
|
||||||
use DateTime;
|
|
||||||
use Doctrine\ORM\Query\Expr;
|
use Doctrine\ORM\Query\Expr;
|
||||||
use Symfony\Component\Form\Extension\Core\Type\DateType;
|
use Symfony\Component\Form\Extension\Core\Type\DateType;
|
||||||
use Symfony\Component\Validator\Context\ExecutionContextInterface;
|
use Symfony\Component\Validator\Context\ExecutionContextInterface;
|
||||||
@@ -22,6 +21,7 @@ use Symfony\Component\Validator\Context\ExecutionContextInterface;
|
|||||||
class BirthdateFilter implements ExportElementValidatedInterface, FilterInterface
|
class BirthdateFilter implements ExportElementValidatedInterface, FilterInterface
|
||||||
{
|
{
|
||||||
use \Chill\MainBundle\Export\ExportDataNormalizerTrait;
|
use \Chill\MainBundle\Export\ExportDataNormalizerTrait;
|
||||||
|
|
||||||
// add specific role for this filter
|
// add specific role for this filter
|
||||||
public function addRole(): ?string
|
public function addRole(): ?string
|
||||||
{
|
{
|
||||||
@@ -30,7 +30,7 @@ class BirthdateFilter implements ExportElementValidatedInterface, FilterInterfac
|
|||||||
}
|
}
|
||||||
|
|
||||||
// here, we alter the query created by Export
|
// here, we alter the query created by Export
|
||||||
public function alterQuery(\Doctrine\ORM\QueryBuilder $qb, $data, \Chill\MainBundle\Export\ExportGenerationContext $exportGenerationContext): void
|
public function alterQuery(\Doctrine\ORM\QueryBuilder $qb, $data, ExportGenerationContext $exportGenerationContext): void
|
||||||
{
|
{
|
||||||
$where = $qb->getDQLPart('where');
|
$where = $qb->getDQLPart('where');
|
||||||
// we create the clause here
|
// we create the clause here
|
||||||
@@ -76,21 +76,25 @@ class BirthdateFilter implements ExportElementValidatedInterface, FilterInterfac
|
|||||||
'format' => 'dd-MM-yyyy',
|
'format' => 'dd-MM-yyyy',
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function getNormalizationVersion(): int
|
public function getNormalizationVersion(): int
|
||||||
{
|
{
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
public function normalizeFormData(array $formData): array
|
public function normalizeFormData(array $formData): array
|
||||||
{
|
{
|
||||||
return ['date_from' => $this->normalizeDate($formData['date_from']), 'date_to' => $this->normalizeDate($formData['date_to'])];
|
return ['date_from' => $this->normalizeDate($formData['date_from']), 'date_to' => $this->normalizeDate($formData['date_to'])];
|
||||||
}
|
}
|
||||||
|
|
||||||
public function denormalizeFormData(array $formData, int $fromVersion): array
|
public function denormalizeFormData(array $formData, int $fromVersion): array
|
||||||
{
|
{
|
||||||
return ['date_from' => $this->denormalizeDate($formData['date_from']), 'date_to' => $this->denormalizeDate($formData['date_to'])];
|
return ['date_from' => $this->denormalizeDate($formData['date_from']), 'date_to' => $this->denormalizeDate($formData['date_to'])];
|
||||||
}
|
}
|
||||||
|
|
||||||
public function getFormDefaultData(): array
|
public function getFormDefaultData(): array
|
||||||
{
|
{
|
||||||
return ['date_from' => new DateTime(), 'date_to' => new DateTime()];
|
return ['date_from' => new \DateTime(), 'date_to' => new \DateTime()];
|
||||||
}
|
}
|
||||||
|
|
||||||
// here, we create a simple string which will describe the action of
|
// here, we create a simple string which will describe the action of
|
||||||
@@ -98,7 +102,7 @@ class BirthdateFilter implements ExportElementValidatedInterface, FilterInterfac
|
|||||||
public function describeAction($data, ExportGenerationContext $context): string|\Symfony\Contracts\Translation\TranslatableInterface|array
|
public function describeAction($data, ExportGenerationContext $context): string|\Symfony\Contracts\Translation\TranslatableInterface|array
|
||||||
{
|
{
|
||||||
return ['Filtered by person\'s birtdate: '
|
return ['Filtered by person\'s birtdate: '
|
||||||
. 'between %date_from% and %date_to%', [
|
.'between %date_from% and %date_to%', [
|
||||||
'%date_from%' => $data['date_from']->format('d-m-Y'),
|
'%date_from%' => $data['date_from']->format('d-m-Y'),
|
||||||
'%date_to%' => $data['date_to']->format('d-m-Y'),
|
'%date_to%' => $data['date_to']->format('d-m-Y'),
|
||||||
], ];
|
], ];
|
||||||
@@ -120,13 +124,13 @@ class BirthdateFilter implements ExportElementValidatedInterface, FilterInterfac
|
|||||||
|
|
||||||
if (null === $date_from) {
|
if (null === $date_from) {
|
||||||
$context->buildViolation('The "date from" should not be empty')
|
$context->buildViolation('The "date from" should not be empty')
|
||||||
//->atPath('date_from')
|
// ->atPath('date_from')
|
||||||
->addViolation();
|
->addViolation();
|
||||||
}
|
}
|
||||||
|
|
||||||
if (null === $date_to) {
|
if (null === $date_to) {
|
||||||
$context->buildViolation('The "date to" should not be empty')
|
$context->buildViolation('The "date to" should not be empty')
|
||||||
//->atPath('date_to')
|
// ->atPath('date_to')
|
||||||
->addViolation();
|
->addViolation();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -135,7 +139,7 @@ class BirthdateFilter implements ExportElementValidatedInterface, FilterInterfac
|
|||||||
&& $date_from >= $date_to
|
&& $date_from >= $date_to
|
||||||
) {
|
) {
|
||||||
$context->buildViolation('The date "date to" should be after the '
|
$context->buildViolation('The date "date to" should be after the '
|
||||||
. 'date given in "date from" field')
|
.'date given in "date from" field')
|
||||||
->addViolation();
|
->addViolation();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -32,7 +32,7 @@ class CountPerson implements ExportInterface
|
|||||||
$this->entityManager = $em;
|
$this->entityManager = $em;
|
||||||
}
|
}
|
||||||
|
|
||||||
public function buildForm(FormBuilderInterface $builder)
|
public function buildForm(FormBuilderInterface $builder): void
|
||||||
{
|
{
|
||||||
// this export does not add any form
|
// this export does not add any form
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,23 +1,90 @@
|
|||||||
Permission is granted to copy, distribute and/or modify this document
|
# Create a new bundle {#create-new-bundle}
|
||||||
under the terms of the GNU Free Documentation License, Version 1.3
|
|
||||||
or any later version published by the Free Software Foundation;
|
|
||||||
with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.
|
|
||||||
A copy of the license is included in the section entitled "GNU
|
|
||||||
Free Documentation License".
|
|
||||||
|
|
||||||
###### Create a new bundle
|
:::: warning
|
||||||
|
::: title
|
||||||
|
Warning
|
||||||
|
:::
|
||||||
|
|
||||||
Create your own bundle is not a trivial task.
|
This part of the doc is not yet tested
|
||||||
|
::::
|
||||||
|
|
||||||
The easiest way to achieve this is seems to be :
|
## Create a new directory with Bundle class
|
||||||
|
|
||||||
1. Prepare a fresh installation of the chill project, in a new directory
|
``` bash
|
||||||
2. Create a new bundle in this project, in the src directory
|
mkdir -p src/Bundle/ChillSomeBundle/src/config
|
||||||
3. Initialize a git repository **at the root bundle**, and create your initial commit.
|
mkdir -p src/Bundle/ChillSomeBundle/src/Controller
|
||||||
4. Register the bundle with composer/packagist. If you do not plan to distribute your bundle with packagist, you may use a custom repository for achieve this [#f1]_
|
```
|
||||||
5. Move to a development installation, made as described in the [installation-for-development` section, and add your new repository to the composer.json file
|
|
||||||
6. Work as :ref:`usual ](editing-code-and-commiting.md)
|
|
||||||
|
|
||||||
This part of the doc is not yet tested
|
Add a bundle file
|
||||||
|
|
||||||
TODO
|
``` 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.
|
||||||
|
*/
|
||||||
|
|
||||||
|
namespace Chill\SomeBundle;
|
||||||
|
|
||||||
|
use Symfony\Component\HttpKernel\Bundle\Bundle;
|
||||||
|
|
||||||
|
class ChillSomeBundle extends Bundle {}
|
||||||
|
```
|
||||||
|
|
||||||
|
And a route file:
|
||||||
|
|
||||||
|
``` yaml
|
||||||
|
chill_ticket_controller:
|
||||||
|
resource: '@ChillTicketBundle/Controller/'
|
||||||
|
type: annotation
|
||||||
|
```
|
||||||
|
|
||||||
|
## Register the new psr-4 namespace
|
||||||
|
|
||||||
|
In composer.json, add the new psr4 namespace
|
||||||
|
|
||||||
|
``` diff
|
||||||
|
{
|
||||||
|
"autoload": {
|
||||||
|
"psr-4": {
|
||||||
|
+ "Chill\\SomeBundle\\": "src/Bundle/ChillSomeBundle/src",
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
## Register the bundle
|
||||||
|
|
||||||
|
Register in the file `config/bundles.php`:
|
||||||
|
|
||||||
|
``` php
|
||||||
|
Vendor\Bundle\YourBundle\YourBundle::class => ['all' => true],
|
||||||
|
```
|
||||||
|
|
||||||
|
And import routes in `config/routes/chill_some_bundle.yaml`:
|
||||||
|
|
||||||
|
``` yaml
|
||||||
|
chill_ticket_bundle:
|
||||||
|
resource: '@ChillSomeBundle/config/routes.yaml'
|
||||||
|
```
|
||||||
|
|
||||||
|
## Add the doctrine_migration namespace
|
||||||
|
|
||||||
|
Add the namespace to `config/packages/doctrine_migrations_chill.yaml`
|
||||||
|
|
||||||
|
``` diff
|
||||||
|
doctrine_migrations:
|
||||||
|
migrations_paths:
|
||||||
|
+ 'Chill\Some\Ticket': '@ChillSomeBundle/migrations'
|
||||||
|
```
|
||||||
|
|
||||||
|
## Dump autoloading
|
||||||
|
|
||||||
|
``` bash
|
||||||
|
symfony composer dump-autoload
|
||||||
|
```
|
||||||
|
|||||||
@@ -15,10 +15,10 @@ 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 __construct(private readonly \Doctrine\Persistence\ManagerRegistry $managerRegistry, private readonly \Chill\MainBundle\Pagination\PaginatorFactoryInterface $paginatorFactory)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
public function yourAction()
|
public function yourAction(): \Symfony\Component\HttpFoundation\Response
|
||||||
{
|
{
|
||||||
$em = $this->managerRegistry->getManager();
|
$em = $this->managerRegistry->getManager();
|
||||||
// first, get the number of total item are available
|
// first, get the number of total item are available
|
||||||
@@ -27,7 +27,7 @@ class example extends \Symfony\Bundle\FrameworkBundle\Controller\AbstractControl
|
|||||||
->getSingleScalarResult();
|
->getSingleScalarResult();
|
||||||
|
|
||||||
// get the PaginatorFactory
|
// get the PaginatorFactory
|
||||||
$paginatorFactory = $this->get('chill_main.paginator_factory');
|
$paginatorFactory = $this->paginatorFactory;
|
||||||
|
|
||||||
// create a pagination instance. This instance is only valid for
|
// create a pagination instance. This instance is only valid for
|
||||||
// the current route and parameters
|
// the current route and parameters
|
||||||
|
|||||||
@@ -18,7 +18,7 @@ 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)
|
public function __construct(private readonly \Doctrine\Persistence\ManagerRegistry $managerRegistry, private readonly \Chill\PersonBundle\Repository\PersonRepository $personRepository)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
@@ -28,10 +28,10 @@ class ConsultationController extends \Symfony\Bundle\FrameworkBundle\Controller\
|
|||||||
*
|
*
|
||||||
* @return \Symfony\Component\HttpFoundation\Response
|
* @return \Symfony\Component\HttpFoundation\Response
|
||||||
*/
|
*/
|
||||||
public function listAction($id)
|
public function listAction($id): \Symfony\Component\HttpFoundation\Response
|
||||||
{
|
{
|
||||||
/** @var \Chill\PersonBundle\Entity\Person $person */
|
/** @var \Chill\PersonBundle\Entity\Person $person */
|
||||||
$person = $this->get('chill.person.repository.person')
|
$person = $this->personRepository
|
||||||
->find($id);
|
->find($id);
|
||||||
|
|
||||||
if (null === $person) {
|
if (null === $person) {
|
||||||
|
|||||||
@@ -31,7 +31,7 @@ class ChillMainConfiguration implements ConfigurationInterface
|
|||||||
$this->setWidgetFactories($widgetFactories);
|
$this->setWidgetFactories($widgetFactories);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function getConfigTreeBuilder()
|
public function getConfigTreeBuilder(): \Symfony\Component\Config\Definition\Builder\TreeBuilder
|
||||||
{
|
{
|
||||||
$treeBuilder = new TreeBuilder('chill_main');
|
$treeBuilder = new TreeBuilder('chill_main');
|
||||||
$rootNode = $treeBuilder->getRootNode();
|
$rootNode = $treeBuilder->getRootNode();
|
||||||
|
|||||||
@@ -27,12 +27,13 @@ class ChillMainExtension extends Extension implements Widget\HasWidgetFactoriesE
|
|||||||
*/
|
*/
|
||||||
protected $widgetFactories = [];
|
protected $widgetFactories = [];
|
||||||
|
|
||||||
public function addWidgetFactory(WidgetFactoryInterface $factory)
|
public function addWidgetFactory(WidgetFactoryInterface $factory): void
|
||||||
{
|
{
|
||||||
$this->widgetFactories[] = $factory;
|
$this->widgetFactories[] = $factory;
|
||||||
}
|
}
|
||||||
|
|
||||||
public function getConfiguration(array $config, ContainerBuilder $container)
|
#[\Override]
|
||||||
|
public function getConfiguration(array $config, ContainerBuilder $container): ?\Symfony\Component\Config\Definition\ConfigurationInterface
|
||||||
{
|
{
|
||||||
return new Configuration($this->widgetFactories, $container);
|
return new Configuration($this->widgetFactories, $container);
|
||||||
}
|
}
|
||||||
@@ -45,7 +46,7 @@ class ChillMainExtension extends Extension implements Widget\HasWidgetFactoriesE
|
|||||||
return $this->widgetFactories;
|
return $this->widgetFactories;
|
||||||
}
|
}
|
||||||
|
|
||||||
public function load(array $configs, ContainerBuilder $container)
|
public function load(array $configs, ContainerBuilder $container): void
|
||||||
{
|
{
|
||||||
// configuration for main bundle
|
// configuration for main bundle
|
||||||
$configuration = $this->getConfiguration($configs, $container);
|
$configuration = $this->getConfiguration($configs, $container);
|
||||||
|
|||||||
@@ -25,7 +25,7 @@ class ChillPersonAddAPersonListWidgetFactory extends AbstractWidgetFactory
|
|||||||
* see http://symfony.com/doc/current/components/config/definition.html
|
* see http://symfony.com/doc/current/components/config/definition.html
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
public function configureOptions($place, NodeBuilder $node)
|
public function configureOptions($place, NodeBuilder $node): void
|
||||||
{
|
{
|
||||||
$node->booleanNode('only_active')
|
$node->booleanNode('only_active')
|
||||||
->defaultTrue()
|
->defaultTrue()
|
||||||
|
|||||||
@@ -97,12 +97,12 @@ class ChillPersonAddAPersonWidget implements WidgetInterface
|
|||||||
$or = new Expr\Orx();
|
$or = new Expr\Orx();
|
||||||
// add the case where closingDate IS NULL
|
// add the case where closingDate IS NULL
|
||||||
$andWhenClosingDateIsNull = new Expr\Andx();
|
$andWhenClosingDateIsNull = new Expr\Andx();
|
||||||
$andWhenClosingDateIsNull->add((new Expr())->isNull('ap.closingDate'));
|
$andWhenClosingDateIsNull->add(new Expr()->isNull('ap.closingDate'));
|
||||||
$andWhenClosingDateIsNull->add((new Expr())->gte(':now', 'ap.openingDate'));
|
$andWhenClosingDateIsNull->add(new Expr()->gte(':now', 'ap.openingDate'));
|
||||||
$or->add($andWhenClosingDateIsNull);
|
$or->add($andWhenClosingDateIsNull);
|
||||||
// add the case when now is between opening date and closing date
|
// add the case when now is between opening date and closing date
|
||||||
$or->add(
|
$or->add(
|
||||||
(new Expr())->between(':now', 'ap.openingDate', 'ap.closingDate')
|
new Expr()->between(':now', 'ap.openingDate', 'ap.closingDate')
|
||||||
);
|
);
|
||||||
$and->add($or);
|
$and->add($or);
|
||||||
$qb->setParameter('now', new DateTime(), Type::DATE);
|
$qb->setParameter('now', new DateTime(), Type::DATE);
|
||||||
@@ -124,7 +124,7 @@ class ChillPersonAddAPersonWidget implements WidgetInterface
|
|||||||
/**
|
/**
|
||||||
* @return UserInterface
|
* @return UserInterface
|
||||||
*/
|
*/
|
||||||
private function getUser()
|
private function getUser(): void
|
||||||
{
|
{
|
||||||
// return a user
|
// return a user
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -22,7 +22,7 @@ use Symfony\Component\HttpKernel\DependencyInjection\Extension;
|
|||||||
*/
|
*/
|
||||||
class ChillPersonExtension extends Extension implements PrependExtensionInterface
|
class ChillPersonExtension extends Extension implements PrependExtensionInterface
|
||||||
{
|
{
|
||||||
public function load(array $configs, ContainerBuilder $container)
|
public function load(array $configs, ContainerBuilder $container): void
|
||||||
{
|
{
|
||||||
// ...
|
// ...
|
||||||
}
|
}
|
||||||
@@ -32,7 +32,7 @@ class ChillPersonExtension extends Extension implements PrependExtensionInterfac
|
|||||||
*
|
*
|
||||||
* @param \Chill\PersonBundle\DependencyInjection\containerBuilder $container
|
* @param \Chill\PersonBundle\DependencyInjection\containerBuilder $container
|
||||||
*/
|
*/
|
||||||
public function prepend(ContainerBuilder $container)
|
public function prepend(ContainerBuilder $container): void
|
||||||
{
|
{
|
||||||
$container->prependExtensionConfig('chill_main', [
|
$container->prependExtensionConfig('chill_main', [
|
||||||
'widgets' => [
|
'widgets' => [
|
||||||
|
|||||||
@@ -11,6 +11,7 @@
|
|||||||
"@hotwired/stimulus": "^3.0.0",
|
"@hotwired/stimulus": "^3.0.0",
|
||||||
"@luminateone/eslint-baseline": "^1.0.9",
|
"@luminateone/eslint-baseline": "^1.0.9",
|
||||||
"@symfony/stimulus-bridge": "^3.2.0",
|
"@symfony/stimulus-bridge": "^3.2.0",
|
||||||
|
"@symfony/ux-translator": "file:vendor/symfony/ux-translator/assets",
|
||||||
"@symfony/webpack-encore": "^4.1.0",
|
"@symfony/webpack-encore": "^4.1.0",
|
||||||
"@tsconfig/node20": "^20.1.4",
|
"@tsconfig/node20": "^20.1.4",
|
||||||
"@types/dompurify": "^3.0.5",
|
"@types/dompurify": "^3.0.5",
|
||||||
@@ -41,6 +42,7 @@
|
|||||||
"typescript": "^5.6.3",
|
"typescript": "^5.6.3",
|
||||||
"typescript-eslint": "^8.13.0",
|
"typescript-eslint": "^8.13.0",
|
||||||
"vue-loader": "^17.0.0",
|
"vue-loader": "^17.0.0",
|
||||||
|
"vue-tsc": "^3.1.3",
|
||||||
"webpack": "^5.75.0",
|
"webpack": "^5.75.0",
|
||||||
"webpack-cli": "^5.0.1"
|
"webpack-cli": "^5.0.1"
|
||||||
},
|
},
|
||||||
@@ -80,12 +82,12 @@
|
|||||||
"dev": "encore dev",
|
"dev": "encore dev",
|
||||||
"watch": "encore dev --watch",
|
"watch": "encore dev --watch",
|
||||||
"build": "encore production --progress",
|
"build": "encore production --progress",
|
||||||
"specs-build": "yaml-merge src/Bundle/ChillMainBundle/chill.api.specs.yaml src/Bundle/ChillPersonBundle/chill.api.specs.yaml src/Bundle/ChillCalendarBundle/chill.api.specs.yaml src/Bundle/ChillThirdPartyBundle/chill.api.specs.yaml src/Bundle/ChillDocStoreBundle/chill.api.specs.yaml> templates/api/specs.yaml",
|
"specs-build": "yaml-merge src/Bundle/ChillMainBundle/chill.api.specs.yaml src/Bundle/ChillPersonBundle/chill.api.specs.yaml src/Bundle/ChillCalendarBundle/chill.api.specs.yaml src/Bundle/ChillThirdPartyBundle/chill.api.specs.yaml src/Bundle/ChillDocStoreBundle/chill.api.specs.yaml src/Bundle/ChillTicketBundle/chill.api.specs.yaml> templates/api/specs.yaml",
|
||||||
"specs-validate": "swagger-cli validate templates/api/specs.yaml",
|
"specs-validate": "swagger-cli validate templates/api/specs.yaml",
|
||||||
"specs-create-dir": "mkdir -p templates/api",
|
"specs-create-dir": "mkdir -p templates/api",
|
||||||
"specs": "yarn run specs-create-dir && yarn run specs-build && yarn run specs-validate",
|
"specs": "yarn run specs-create-dir && yarn run specs-build && yarn run specs-validate",
|
||||||
"version": "node --version",
|
"version": "node --version",
|
||||||
"eslint": "npx eslint-baseline --fix \"src/**/*.{js,ts,vue}\""
|
"eslint": "eslint-baseline --fix \"src/**/*.{js,ts,vue}\""
|
||||||
},
|
},
|
||||||
"private": true
|
"private": true
|
||||||
}
|
}
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@@ -21,6 +21,10 @@ parameters:
|
|||||||
- src/Bundle/*/src/migrations/*
|
- src/Bundle/*/src/migrations/*
|
||||||
- src/Bundle/*/src/translations/*
|
- src/Bundle/*/src/translations/*
|
||||||
- src/Bundle/*/src/Resources/*
|
- src/Bundle/*/src/Resources/*
|
||||||
|
- utils/rector/src/Rector/*
|
||||||
|
|
||||||
|
symfony:
|
||||||
|
containerXmlPath: var/cache/dev/App_KernelDevDebugContainer.xml
|
||||||
|
|
||||||
includes:
|
includes:
|
||||||
- phpstan-baseline.neon
|
- phpstan-baseline.neon
|
||||||
|
|||||||
@@ -1,11 +1,14 @@
|
|||||||
<?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
|
<phpunit xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
xsi:noNamespaceSchemaLocation="vendor/phpunit/phpunit/phpunit.xsd"
|
||||||
xsi:noNamespaceSchemaLocation="vendor/phpunit/phpunit/phpunit.xsd"
|
backupGlobals="false"
|
||||||
backupGlobals="false"
|
colors="true"
|
||||||
colors="true"
|
failOnNotice="true"
|
||||||
bootstrap="tests/bootstrap.php"
|
failOnWarning="true"
|
||||||
|
bootstrap="tests/bootstrap.php"
|
||||||
|
cacheDirectory="var/cache/.phpunit.cache"
|
||||||
>
|
>
|
||||||
<php>
|
<php>
|
||||||
<ini name="display_errors" value="1" />
|
<ini name="display_errors" value="1" />
|
||||||
@@ -58,6 +61,10 @@
|
|||||||
<!-- 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="TicketBundle">
|
||||||
|
<directory suffix="Test.php">src/Bundle/ChillTicketBundle/tests/</directory>
|
||||||
|
</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>
|
||||||
|
|||||||
86
rector.php
86
rector.php
@@ -13,78 +13,16 @@ use Rector\CodeQuality\Rector\Class_\InlineConstructorDefaultToPropertyRector;
|
|||||||
use Rector\Config\RectorConfig;
|
use Rector\Config\RectorConfig;
|
||||||
use Rector\Php80\Rector\Class_\AnnotationToAttributeRector;
|
use Rector\Php80\Rector\Class_\AnnotationToAttributeRector;
|
||||||
use Rector\Set\ValueObject\LevelSetList;
|
use Rector\Set\ValueObject\LevelSetList;
|
||||||
|
use Rector\Set\ValueObject\SetList;
|
||||||
|
use Rector\Symfony\Set\SymfonySetList;
|
||||||
|
|
||||||
return static function (RectorConfig $rectorConfig): void {
|
return RectorConfig::configure()
|
||||||
$rectorConfig->paths([
|
->withPaths(['./src', './docs', './rector.php'])
|
||||||
__DIR__ . '/docs',
|
->withComposerBased(twig: true, doctrine: true, symfony: true)
|
||||||
__DIR__ . '/src',
|
->withSymfonyContainerXml(__DIR__.'/var/cache/dev/App_KernelDevDebugContainer.xml')
|
||||||
__DIR__ . '/rector.php',
|
->withSymfonyContainerPhp(__DIR__.'/var/cache/dev/App_KernelDevDebugContainer.php')
|
||||||
]);
|
->withDeadCodeLevel(0)
|
||||||
|
->withCodeQualityLevel(0)
|
||||||
$rectorConfig->skip([
|
->withTypeCoverageLevel(0)
|
||||||
\Rector\Php55\Rector\String_\StringClassNameToClassConstantRector::class => __DIR__ . 'src/Bundle/ChillMainBundle/Service/Notifier/LegacyOvhCloudFactory.php'
|
->withTypeCoverageDocblockLevel(0)
|
||||||
]);
|
->withCodingStyleLevel(0);
|
||||||
|
|
||||||
//$rectorConfig->symfonyContainerXml(__DIR__ . '/var/cache/dev/test/App_KernelTestDebugContainer.xml ');
|
|
||||||
//$rectorConfig->symfonyContainerPhp(__DIR__ . '/tests/symfony-container.php');
|
|
||||||
|
|
||||||
//$rectorConfig->cacheClass(\Rector\Caching\ValueObject\Storage\FileCacheStorage::class);
|
|
||||||
//$rectorConfig->cacheDirectory(__DIR__ . '/.cache/rector');
|
|
||||||
|
|
||||||
// register a single rule
|
|
||||||
$rectorConfig->rule(InlineConstructorDefaultToPropertyRector::class);
|
|
||||||
$rectorConfig->rule(Rector\TypeDeclaration\Rector\ClassMethod\AddParamTypeFromPropertyTypeRector::class);
|
|
||||||
$rectorConfig->rule(Rector\TypeDeclaration\Rector\Class_\MergeDateTimePropertyTypeDeclarationRector::class);
|
|
||||||
$rectorConfig->rule(Rector\TypeDeclaration\Rector\ClassMethod\AddReturnTypeDeclarationBasedOnParentClassMethodRector::class);
|
|
||||||
|
|
||||||
// part of the symfony 54 rules
|
|
||||||
$rectorConfig->rule(\Rector\Symfony\Symfony53\Rector\StaticPropertyFetch\KernelTestCaseContainerPropertyDeprecationRector::class);
|
|
||||||
$rectorConfig->rule(\Rector\Symfony\Symfony60\Rector\MethodCall\GetHelperControllerToServiceRector::class);
|
|
||||||
//$rectorConfig->disableParallel();
|
|
||||||
|
|
||||||
//define sets of rules
|
|
||||||
$rectorConfig->sets([
|
|
||||||
LevelSetList::UP_TO_PHP_82,
|
|
||||||
\Rector\Doctrine\Set\DoctrineSetList::DOCTRINE_CODE_QUALITY,
|
|
||||||
\Rector\PHPUnit\Set\PHPUnitSetList::PHPUNIT_90,
|
|
||||||
]);
|
|
||||||
|
|
||||||
$rectorConfig->ruleWithConfiguration(\Rector\Php80\Rector\Class_\AnnotationToAttributeRector::class, [
|
|
||||||
new \Rector\Php80\ValueObject\AnnotationToAttribute('Symfony\Component\Serializer\Annotation\Context'),
|
|
||||||
]);
|
|
||||||
|
|
||||||
// migrate for phpunit
|
|
||||||
$rectorConfig->rules([
|
|
||||||
\Rector\PHPUnit\PHPUnit100\Rector\Class_\StaticDataProviderClassMethodRector::class,
|
|
||||||
\Rector\PHPUnit\PHPUnit100\Rector\Class_\PublicDataProviderClassMethodRector::class
|
|
||||||
]);
|
|
||||||
|
|
||||||
// some routes are added twice if it remains activated
|
|
||||||
// $rectorConfig->rule(\Rector\Symfony\Configs\Rector\ClassMethod\AddRouteAnnotationRector::class);
|
|
||||||
|
|
||||||
// skip some path...
|
|
||||||
$rectorConfig->skip([
|
|
||||||
// waiting for fixing this bug: https://github.com/rectorphp/rector-doctrine/issues/342
|
|
||||||
\Rector\Doctrine\CodeQuality\Rector\Property\ImproveDoctrineCollectionDocTypeInEntityRector::class,
|
|
||||||
]);
|
|
||||||
|
|
||||||
$rectorConfig->ruleWithConfiguration(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'),
|
|
||||||
]);
|
|
||||||
|
|
||||||
|
|
||||||
};
|
|
||||||
|
|||||||
8
resources/ticket_motives_import/README.md
Normal file
8
resources/ticket_motives_import/README.md
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
In this directory, you find an example of file for the command `chill:main:ticket_motives_import`.
|
||||||
|
|
||||||
|
This file contains a list of ticket motives to import into the system. Each entry is a dictionary with two keys: `code` and `label`. The `code` key contains the unique code for the ticket motive, and the `label` key contains the human-readable label for the ticket motive.
|
||||||
|
|
||||||
|
The `stored_objects` key contains the documents that will be associated with the tickets. They must be found in the same directory.
|
||||||
|
|
||||||
|
The command `chill:main:ticket_motives_import` uses this file to import the specified ticket motives into the system.
|
||||||
|
|
||||||
136
resources/ticket_motives_import/motives.yaml
Normal file
136
resources/ticket_motives_import/motives.yaml
Normal file
@@ -0,0 +1,136 @@
|
|||||||
|
- label:
|
||||||
|
fr: Appel famille pour annonce de décès
|
||||||
|
urgent: false
|
||||||
|
supplementary_informations:
|
||||||
|
- label:
|
||||||
|
fr: Date du décès
|
||||||
|
- label:
|
||||||
|
fr: lieu du décès (domicile ou hôpital)
|
||||||
|
- label:
|
||||||
|
fr: nom de l’hôpital
|
||||||
|
- label:
|
||||||
|
fr: service concerné
|
||||||
|
stored_objects:
|
||||||
|
- label:
|
||||||
|
fr: ☀️ De 07h à 21h
|
||||||
|
filename: 2_doc_20250402_Pelotons flux externes consolidés.pdf
|
||||||
|
- label:
|
||||||
|
fr: 🌙 De 21h à 07h du matin
|
||||||
|
filename: 3_doc_20250402_Pelotons flux externes consolidés.pdf
|
||||||
|
- label:
|
||||||
|
fr: 🗓️ Dimanches et jours fériés
|
||||||
|
filename: 4_doc_20250402_Pelotons flux externes consolidés.pdf
|
||||||
|
- label:
|
||||||
|
fr: 'Appel famille pour annonce absence : hospitalisation ou consultation'
|
||||||
|
urgent: false
|
||||||
|
supplementary_informations:
|
||||||
|
- label:
|
||||||
|
fr: Quel hôpital
|
||||||
|
- label:
|
||||||
|
fr: quel service
|
||||||
|
- label:
|
||||||
|
fr: pour quelles raisons
|
||||||
|
- label:
|
||||||
|
fr: 'consultation : date et heure'
|
||||||
|
- label:
|
||||||
|
fr: hospitalisation complète ou HDJ
|
||||||
|
stored_objects:
|
||||||
|
- label:
|
||||||
|
fr: ☀️ De 07h à 21h
|
||||||
|
filename: 5_doc_20250402_Pelotons flux externes consolidés.pdf
|
||||||
|
- label:
|
||||||
|
fr: 🌙 De 21h à 07h du matin
|
||||||
|
filename: 6_doc_20250402_Pelotons flux externes consolidés.pdf
|
||||||
|
- label:
|
||||||
|
fr: 🗓️ Dimanches et jours fériés
|
||||||
|
filename: 7_doc_20250402_Pelotons flux externes consolidés.pdf
|
||||||
|
- label:
|
||||||
|
fr: 'Appel famille pour annonce absence : interruption de prise en charge'
|
||||||
|
urgent: false
|
||||||
|
supplementary_informations:
|
||||||
|
- label:
|
||||||
|
fr: Pour quelles raisons ? Date
|
||||||
|
- label:
|
||||||
|
fr: durée
|
||||||
|
- label:
|
||||||
|
fr: accord médical ?
|
||||||
|
stored_objects:
|
||||||
|
- label:
|
||||||
|
fr: ☀️ De 07h à 21h
|
||||||
|
filename: 8_doc_20250402_Pelotons flux externes consolidés.pdf
|
||||||
|
- label:
|
||||||
|
fr: 🌙 De 21h à 07h du matin
|
||||||
|
filename: 9_doc_20250402_Pelotons flux externes consolidés.pdf
|
||||||
|
- label:
|
||||||
|
fr: 🗓️ Dimanches et jours fériés
|
||||||
|
filename: 10_doc_20250402_Pelotons flux externes consolidés.pdf
|
||||||
|
- label:
|
||||||
|
fr: 'Appel famille pour annonce absence : changement d’adresse'
|
||||||
|
urgent: false
|
||||||
|
supplementary_informations:
|
||||||
|
- label:
|
||||||
|
fr: Où
|
||||||
|
- label:
|
||||||
|
fr: Pourquoi ? Pour combien de temps ? Besoin d’un relais des soins ? Nouvelle adresse ?
|
||||||
|
stored_objects:
|
||||||
|
- label:
|
||||||
|
fr: ☀️ De 07h à 21h
|
||||||
|
filename: 11_doc_20250402_Pelotons flux externes consolidés.pdf
|
||||||
|
- label:
|
||||||
|
fr: 🌙 De 21h à 07h du matin
|
||||||
|
filename: 12_doc_20250402_Pelotons flux externes consolidés.pdf
|
||||||
|
- label:
|
||||||
|
fr: 🗓️ Dimanches et jours fériés
|
||||||
|
filename: 13_doc_20250402_Pelotons flux externes consolidés.pdf
|
||||||
|
- label:
|
||||||
|
fr: Appel famille pour altération de l’état général du patient
|
||||||
|
urgent: true
|
||||||
|
supplementary_informations:
|
||||||
|
- label:
|
||||||
|
fr: Recherche des symptômes
|
||||||
|
- label:
|
||||||
|
fr: Attentes par rapport à la demande
|
||||||
|
stored_objects:
|
||||||
|
- label:
|
||||||
|
fr: ☀️ De 07h à 21h
|
||||||
|
filename: 14_doc_20250402_Pelotons flux externes consolidés.pdf
|
||||||
|
- label:
|
||||||
|
fr: 🌙 De 21h à 07h du matin
|
||||||
|
filename: 15_doc_20250402_Pelotons flux externes consolidés.pdf
|
||||||
|
- label:
|
||||||
|
fr: 🗓️ Dimanches et jours fériés
|
||||||
|
filename: 16_doc_20250402_Pelotons flux externes consolidés.pdf
|
||||||
|
- label:
|
||||||
|
fr: Appel famille pour prise en charge de la douleur
|
||||||
|
urgent: true
|
||||||
|
supplementary_informations:
|
||||||
|
- label:
|
||||||
|
fr: Localisation douleur
|
||||||
|
- label:
|
||||||
|
fr: Horaire dernier passage
|
||||||
|
- label:
|
||||||
|
fr: Traitements en cours
|
||||||
|
stored_objects:
|
||||||
|
- label:
|
||||||
|
fr: ☀️ De 07h à 21h
|
||||||
|
filename: 17_doc_20250402_Pelotons flux externes consolidés.pdf
|
||||||
|
- label:
|
||||||
|
fr: 🌙 De 21h à 07h du matin
|
||||||
|
filename: 18_doc_20250402_Pelotons flux externes consolidés.pdf
|
||||||
|
- label:
|
||||||
|
fr: 🗓️ Dimanches et jours fériés
|
||||||
|
filename: 19_doc_20250402_Pelotons flux externes consolidés.pdf
|
||||||
|
- label:
|
||||||
|
fr: Appel famille pour information sur la date de prise en charge
|
||||||
|
urgent: false
|
||||||
|
supplementary_informations: []
|
||||||
|
stored_objects:
|
||||||
|
- label:
|
||||||
|
fr: ☀️ De 07h à 21h
|
||||||
|
filename: 20_doc_20250402_Pelotons flux externes consolidés.pdf
|
||||||
|
- label:
|
||||||
|
fr: 🌙 De 21h à 07h du matin
|
||||||
|
filename: 21_doc_20250402_Pelotons flux externes consolidés.pdf
|
||||||
|
- label:
|
||||||
|
fr: 🗓️ Dimanches et jours fériés
|
||||||
|
filename: 22_doc_20250402_Pelotons flux externes consolidés.pdf
|
||||||
6
resources/translation_override/README.md
Normal file
6
resources/translation_override/README.md
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
In this directory, you find an example of file for the command `chill:main:override_translation`.
|
||||||
|
|
||||||
|
This file contains a list of translations to override in the translation catalogue. Each entry is a dictionary with two keys: `from` and `to`. The `from` key contains the original translation string, and the `to` key contains the replacement string.
|
||||||
|
|
||||||
|
The command `chill:main:override_translation` uses this file to generate a new translation catalogue with the specified overrides applied.
|
||||||
|
|
||||||
8
resources/translation_override/overrides.yaml
Normal file
8
resources/translation_override/overrides.yaml
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
- {from: "de l'usager", to: "du patient"}
|
||||||
|
- {from: "l'usager", to: "le patient"}
|
||||||
|
- {from: "L'usager", to: "Le patient"}
|
||||||
|
- {from: "d'usagers", to: "de patients"}
|
||||||
|
- {from: "usagers", to: "patients"}
|
||||||
|
- {from: "Usagers", to: "Patients"}
|
||||||
|
- {from: "usager", to: "patient"}
|
||||||
|
- {from: "Usager", to: "Patient"}
|
||||||
@@ -74,8 +74,8 @@ final class ActivityController extends AbstractController
|
|||||||
/**
|
/**
|
||||||
* Deletes a Activity entity.
|
* Deletes a Activity entity.
|
||||||
*/
|
*/
|
||||||
#[\Symfony\Component\Routing\Annotation\Route(path: '/{_locale}/activity/{id}/delete', name: 'chill_activity_activity_delete', methods: ['GET', 'POST', 'DELETE'])]
|
#[\Symfony\Component\Routing\Attribute\Route(path: '/{_locale}/activity/{id}/delete', name: 'chill_activity_activity_delete', methods: ['GET', 'POST', 'DELETE'])]
|
||||||
public function deleteAction(Request $request, mixed $id)
|
public function deleteAction(Request $request, mixed $id): \Symfony\Component\HttpFoundation\RedirectResponse|Response
|
||||||
{
|
{
|
||||||
$view = null;
|
$view = null;
|
||||||
|
|
||||||
@@ -83,7 +83,7 @@ final class ActivityController extends AbstractController
|
|||||||
|
|
||||||
$activity = $this->activityRepository->find($id);
|
$activity = $this->activityRepository->find($id);
|
||||||
|
|
||||||
if (!$activity) {
|
if (null === $activity) {
|
||||||
throw $this->createNotFoundException('Unable to find Activity entity.');
|
throw $this->createNotFoundException('Unable to find Activity entity.');
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -104,11 +104,11 @@ final class ActivityController extends AbstractController
|
|||||||
|
|
||||||
if ($form->isSubmitted() && $form->isValid()) {
|
if ($form->isSubmitted() && $form->isValid()) {
|
||||||
$this->logger->notice('An activity has been removed', [
|
$this->logger->notice('An activity has been removed', [
|
||||||
'by_user' => $this->getUser()->getUsername(),
|
'by_user' => $this->getUser()->getUserIdentifier(),
|
||||||
'activity_id' => $activity->getId(),
|
'activity_id' => $activity->getId(),
|
||||||
'person_id' => $activity->getPerson() ? $activity->getPerson()->getId() : null,
|
'person_id' => null === $activity->getPerson() ? $activity->getPerson()->getId() : null,
|
||||||
'comment' => $activity->getComment()->getComment(),
|
'comment' => null === $activity->getComment()->getComment(),
|
||||||
'scope_id' => $activity->getScope() ? $activity->getScope()->getId() : null,
|
'scope_id' => null === $activity->getScope() ? $activity->getScope()->getId() : null,
|
||||||
'reasons_ids' => $activity->getReasons()
|
'reasons_ids' => $activity->getReasons()
|
||||||
->map(
|
->map(
|
||||||
static fn (ActivityReason $ar): int => $ar->getId()
|
static fn (ActivityReason $ar): int => $ar->getId()
|
||||||
@@ -134,7 +134,7 @@ final class ActivityController extends AbstractController
|
|||||||
|
|
||||||
return $this->render($view, [
|
return $this->render($view, [
|
||||||
'activity' => $activity,
|
'activity' => $activity,
|
||||||
'delete_form' => $form->createView(),
|
'delete_form' => $form,
|
||||||
'person' => $person,
|
'person' => $person,
|
||||||
'accompanyingCourse' => $accompanyingPeriod,
|
'accompanyingCourse' => $accompanyingPeriod,
|
||||||
]);
|
]);
|
||||||
@@ -143,7 +143,7 @@ final class ActivityController extends AbstractController
|
|||||||
/**
|
/**
|
||||||
* Displays a form to edit an existing Activity entity.
|
* Displays a form to edit an existing Activity entity.
|
||||||
*/
|
*/
|
||||||
#[\Symfony\Component\Routing\Annotation\Route(path: '/{_locale}/activity/{id}/edit', name: 'chill_activity_activity_edit', methods: ['GET', 'POST', 'PUT'])]
|
#[\Symfony\Component\Routing\Attribute\Route(path: '/{_locale}/activity/{id}/edit', name: 'chill_activity_activity_edit', methods: ['GET', 'POST', 'PUT'])]
|
||||||
public function editAction(int $id, Request $request): Response
|
public function editAction(int $id, Request $request): Response
|
||||||
{
|
{
|
||||||
$view = null;
|
$view = null;
|
||||||
@@ -226,8 +226,8 @@ final class ActivityController extends AbstractController
|
|||||||
|
|
||||||
return $this->render($view, [
|
return $this->render($view, [
|
||||||
'entity' => $entity,
|
'entity' => $entity,
|
||||||
'edit_form' => $form->createView(),
|
'edit_form' => $form,
|
||||||
'delete_form' => $deleteForm->createView(),
|
'delete_form' => $deleteForm,
|
||||||
'person' => $person,
|
'person' => $person,
|
||||||
'accompanyingCourse' => $accompanyingPeriod,
|
'accompanyingCourse' => $accompanyingPeriod,
|
||||||
'activity_json' => $activity_array,
|
'activity_json' => $activity_array,
|
||||||
@@ -237,7 +237,7 @@ final class ActivityController extends AbstractController
|
|||||||
/**
|
/**
|
||||||
* Lists all Activity entities.
|
* Lists all Activity entities.
|
||||||
*/
|
*/
|
||||||
#[\Symfony\Component\Routing\Annotation\Route(path: '/{_locale}/activity/', name: 'chill_activity_activity_list')]
|
#[\Symfony\Component\Routing\Attribute\Route(path: '/{_locale}/activity/', name: 'chill_activity_activity_list')]
|
||||||
public function listAction(Request $request): Response
|
public function listAction(Request $request): Response
|
||||||
{
|
{
|
||||||
$view = null;
|
$view = null;
|
||||||
@@ -341,7 +341,7 @@ final class ActivityController extends AbstractController
|
|||||||
return $filterBuilder->build();
|
return $filterBuilder->build();
|
||||||
}
|
}
|
||||||
|
|
||||||
#[\Symfony\Component\Routing\Annotation\Route(path: '/{_locale}/activity/new', name: 'chill_activity_activity_new', methods: ['POST', 'GET'])]
|
#[\Symfony\Component\Routing\Attribute\Route(path: '/{_locale}/activity/new', name: 'chill_activity_activity_new', methods: ['POST', 'GET'])]
|
||||||
public function newAction(Request $request): Response
|
public function newAction(Request $request): Response
|
||||||
{
|
{
|
||||||
$view = null;
|
$view = null;
|
||||||
@@ -364,7 +364,7 @@ final class ActivityController extends AbstractController
|
|||||||
$activityData = null;
|
$activityData = null;
|
||||||
|
|
||||||
if ($request->query->has('activityData')) {
|
if ($request->query->has('activityData')) {
|
||||||
$activityData = $request->query->get('activityData');
|
$activityData = $request->query->all('activityData');
|
||||||
}
|
}
|
||||||
|
|
||||||
if (
|
if (
|
||||||
@@ -517,13 +517,13 @@ final class ActivityController extends AbstractController
|
|||||||
'person' => $person,
|
'person' => $person,
|
||||||
'accompanyingCourse' => $accompanyingPeriod,
|
'accompanyingCourse' => $accompanyingPeriod,
|
||||||
'entity' => $entity,
|
'entity' => $entity,
|
||||||
'form' => $form->createView(),
|
'form' => $form,
|
||||||
'activity_json' => $activity_array,
|
'activity_json' => $activity_array,
|
||||||
'default_location' => $defaultLocation,
|
'default_location' => $defaultLocation,
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
|
|
||||||
#[\Symfony\Component\Routing\Annotation\Route(path: '/{_locale}/activity/select-type', name: 'chill_activity_activity_select_type')]
|
#[\Symfony\Component\Routing\Attribute\Route(path: '/{_locale}/activity/select-type', name: 'chill_activity_activity_select_type')]
|
||||||
public function selectTypeAction(Request $request): Response
|
public function selectTypeAction(Request $request): Response
|
||||||
{
|
{
|
||||||
$view = null;
|
$view = null;
|
||||||
@@ -568,7 +568,7 @@ final class ActivityController extends AbstractController
|
|||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
|
|
||||||
#[\Symfony\Component\Routing\Annotation\Route(path: '/{_locale}/activity/{id}/show', name: 'chill_activity_activity_show')]
|
#[\Symfony\Component\Routing\Attribute\Route(path: '/{_locale}/activity/{id}/show', name: 'chill_activity_activity_show')]
|
||||||
public function showAction(Request $request, int $id): Response
|
public function showAction(Request $request, int $id): Response
|
||||||
{
|
{
|
||||||
$entity = $this->activityRepository->find($id);
|
$entity = $this->activityRepository->find($id);
|
||||||
@@ -612,7 +612,7 @@ final class ActivityController extends AbstractController
|
|||||||
'person' => $person,
|
'person' => $person,
|
||||||
'accompanyingCourse' => $accompanyingPeriod,
|
'accompanyingCourse' => $accompanyingPeriod,
|
||||||
'entity' => $entity,
|
'entity' => $entity,
|
||||||
'delete_form' => $deleteForm->createView(),
|
'delete_form' => $deleteForm,
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -15,6 +15,7 @@ use Chill\ActivityBundle\Entity\ActivityReasonCategory;
|
|||||||
use Chill\ActivityBundle\Form\ActivityReasonCategoryType;
|
use Chill\ActivityBundle\Form\ActivityReasonCategoryType;
|
||||||
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
|
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
|
||||||
use Symfony\Component\Form\Extension\Core\Type\SubmitType;
|
use Symfony\Component\Form\Extension\Core\Type\SubmitType;
|
||||||
|
use Symfony\Component\Form\FormInterface;
|
||||||
use Symfony\Component\HttpFoundation\Request;
|
use Symfony\Component\HttpFoundation\Request;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -27,8 +28,8 @@ class ActivityReasonCategoryController extends AbstractController
|
|||||||
/**
|
/**
|
||||||
* Creates a new ActivityReasonCategory entity.
|
* Creates a new ActivityReasonCategory entity.
|
||||||
*/
|
*/
|
||||||
#[\Symfony\Component\Routing\Annotation\Route(path: '/{_locale}/admin/activityreasoncategory/create', name: 'chill_activity_activityreasoncategory_create', methods: ['POST'])]
|
#[\Symfony\Component\Routing\Attribute\Route(path: '/{_locale}/admin/activityreasoncategory/create', name: 'chill_activity_activityreasoncategory_create', methods: ['POST'])]
|
||||||
public function createAction(Request $request)
|
public function createAction(Request $request): \Symfony\Component\HttpFoundation\RedirectResponse|\Symfony\Component\HttpFoundation\Response
|
||||||
{
|
{
|
||||||
$entity = new ActivityReasonCategory();
|
$entity = new ActivityReasonCategory();
|
||||||
$form = $this->createCreateForm($entity);
|
$form = $this->createCreateForm($entity);
|
||||||
@@ -44,15 +45,15 @@ class ActivityReasonCategoryController extends AbstractController
|
|||||||
|
|
||||||
return $this->render('@ChillActivity/ActivityReasonCategory/new.html.twig', [
|
return $this->render('@ChillActivity/ActivityReasonCategory/new.html.twig', [
|
||||||
'entity' => $entity,
|
'entity' => $entity,
|
||||||
'form' => $form->createView(),
|
'form' => $form,
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Lists all ActivityReasonCategory entities.
|
* Lists all ActivityReasonCategory entities.
|
||||||
*/
|
*/
|
||||||
#[\Symfony\Component\Routing\Annotation\Route(path: '/{_locale}/admin/activityreasoncategory/', name: 'chill_activity_activityreasoncategory')]
|
#[\Symfony\Component\Routing\Attribute\Route(path: '/{_locale}/admin/activityreasoncategory/', name: 'chill_activity_activityreasoncategory')]
|
||||||
public function indexAction()
|
public function indexAction(): \Symfony\Component\HttpFoundation\Response
|
||||||
{
|
{
|
||||||
$em = $this->managerRegistry->getManager();
|
$em = $this->managerRegistry->getManager();
|
||||||
|
|
||||||
@@ -66,29 +67,29 @@ class ActivityReasonCategoryController extends AbstractController
|
|||||||
/**
|
/**
|
||||||
* Displays a form to create a new ActivityReasonCategory entity.
|
* Displays a form to create a new ActivityReasonCategory entity.
|
||||||
*/
|
*/
|
||||||
#[\Symfony\Component\Routing\Annotation\Route(path: '/{_locale}/admin/activityreasoncategory/new', name: 'chill_activity_activityreasoncategory_new')]
|
#[\Symfony\Component\Routing\Attribute\Route(path: '/{_locale}/admin/activityreasoncategory/new', name: 'chill_activity_activityreasoncategory_new')]
|
||||||
public function newAction()
|
public function newAction(): \Symfony\Component\HttpFoundation\Response
|
||||||
{
|
{
|
||||||
$entity = new ActivityReasonCategory();
|
$entity = new ActivityReasonCategory();
|
||||||
$form = $this->createCreateForm($entity);
|
$form = $this->createCreateForm($entity);
|
||||||
|
|
||||||
return $this->render('@ChillActivity/ActivityReasonCategory/new.html.twig', [
|
return $this->render('@ChillActivity/ActivityReasonCategory/new.html.twig', [
|
||||||
'entity' => $entity,
|
'entity' => $entity,
|
||||||
'form' => $form->createView(),
|
'form' => $form,
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Edits an existing ActivityReasonCategory entity.
|
* Edits an existing ActivityReasonCategory entity.
|
||||||
*/
|
*/
|
||||||
#[\Symfony\Component\Routing\Annotation\Route(path: '/{_locale}/admin/activityreasoncategory/{id}/update', name: 'chill_activity_activityreasoncategory_update')]
|
#[\Symfony\Component\Routing\Attribute\Route(path: '/{_locale}/admin/activityreasoncategory/{id}/update', name: 'chill_activity_activityreasoncategory_update', methods: ['POST', 'PUT'])]
|
||||||
public function updateAction(Request $request, mixed $id)
|
public function updateAction(Request $request, mixed $id): \Symfony\Component\HttpFoundation\RedirectResponse|\Symfony\Component\HttpFoundation\Response
|
||||||
{
|
{
|
||||||
$em = $this->managerRegistry->getManager();
|
$em = $this->managerRegistry->getManager();
|
||||||
|
|
||||||
$entity = $em->getRepository(ActivityReasonCategory::class)->find($id);
|
$entity = $em->getRepository(ActivityReasonCategory::class)->find($id);
|
||||||
|
|
||||||
if (!$entity) {
|
if (null === $entity) {
|
||||||
throw $this->createNotFoundException('Unable to find ActivityReasonCategory entity.');
|
throw $this->createNotFoundException('Unable to find ActivityReasonCategory entity.');
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -103,7 +104,7 @@ class ActivityReasonCategoryController extends AbstractController
|
|||||||
|
|
||||||
return $this->render('@ChillActivity/ActivityReasonCategory/edit.html.twig', [
|
return $this->render('@ChillActivity/ActivityReasonCategory/edit.html.twig', [
|
||||||
'entity' => $entity,
|
'entity' => $entity,
|
||||||
'edit_form' => $editForm->createView(),
|
'edit_form' => $editForm,
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -111,10 +112,8 @@ class ActivityReasonCategoryController extends AbstractController
|
|||||||
* Creates a form to create a ActivityReasonCategory entity.
|
* Creates a form to create a ActivityReasonCategory entity.
|
||||||
*
|
*
|
||||||
* @param ActivityReasonCategory $entity The entity
|
* @param ActivityReasonCategory $entity The entity
|
||||||
*
|
|
||||||
* @return \Symfony\Component\Form\Form The form
|
|
||||||
*/
|
*/
|
||||||
private function createCreateForm(ActivityReasonCategory $entity)
|
private function createCreateForm(ActivityReasonCategory $entity): FormInterface
|
||||||
{
|
{
|
||||||
$form = $this->createForm(ActivityReasonCategoryType::class, $entity, [
|
$form = $this->createForm(ActivityReasonCategoryType::class, $entity, [
|
||||||
'action' => $this->generateUrl('chill_activity_activityreasoncategory_create'),
|
'action' => $this->generateUrl('chill_activity_activityreasoncategory_create'),
|
||||||
@@ -130,10 +129,8 @@ class ActivityReasonCategoryController extends AbstractController
|
|||||||
* Creates a form to edit a ActivityReasonCategory entity.
|
* Creates a form to edit a ActivityReasonCategory entity.
|
||||||
*
|
*
|
||||||
* @param ActivityReasonCategory $entity The entity
|
* @param ActivityReasonCategory $entity The entity
|
||||||
*
|
|
||||||
* @return \Symfony\Component\Form\Form The form
|
|
||||||
*/
|
*/
|
||||||
private function createEditForm(ActivityReasonCategory $entity)
|
private function createEditForm(ActivityReasonCategory $entity): FormInterface
|
||||||
{
|
{
|
||||||
$form = $this->createForm(ActivityReasonCategoryType::class, $entity, [
|
$form = $this->createForm(ActivityReasonCategoryType::class, $entity, [
|
||||||
'action' => $this->generateUrl('chill_activity_activityreasoncategory_update', ['id' => $entity->getId()]),
|
'action' => $this->generateUrl('chill_activity_activityreasoncategory_update', ['id' => $entity->getId()]),
|
||||||
|
|||||||
@@ -16,6 +16,8 @@ use Chill\ActivityBundle\Form\ActivityReasonType;
|
|||||||
use Chill\ActivityBundle\Repository\ActivityReasonRepository;
|
use Chill\ActivityBundle\Repository\ActivityReasonRepository;
|
||||||
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
|
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
|
||||||
use Symfony\Component\Form\Extension\Core\Type\SubmitType;
|
use Symfony\Component\Form\Extension\Core\Type\SubmitType;
|
||||||
|
use Symfony\Component\Form\Form;
|
||||||
|
use Symfony\Component\Form\FormInterface;
|
||||||
use Symfony\Component\HttpFoundation\Request;
|
use Symfony\Component\HttpFoundation\Request;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -28,8 +30,8 @@ class ActivityReasonController extends AbstractController
|
|||||||
/**
|
/**
|
||||||
* Creates a new ActivityReason entity.
|
* Creates a new ActivityReason entity.
|
||||||
*/
|
*/
|
||||||
#[\Symfony\Component\Routing\Annotation\Route(path: '/{_locale}/admin/activityreason/create', name: 'chill_activity_activityreason_create', methods: ['POST'])]
|
#[\Symfony\Component\Routing\Attribute\Route(path: '/{_locale}/admin/activityreason/create', name: 'chill_activity_activityreason_create', methods: ['POST'])]
|
||||||
public function createAction(Request $request)
|
public function createAction(Request $request): \Symfony\Component\HttpFoundation\RedirectResponse|\Symfony\Component\HttpFoundation\Response
|
||||||
{
|
{
|
||||||
$entity = new ActivityReason();
|
$entity = new ActivityReason();
|
||||||
$form = $this->createCreateForm($entity);
|
$form = $this->createCreateForm($entity);
|
||||||
@@ -45,15 +47,15 @@ class ActivityReasonController extends AbstractController
|
|||||||
|
|
||||||
return $this->render('@ChillActivity/ActivityReason/new.html.twig', [
|
return $this->render('@ChillActivity/ActivityReason/new.html.twig', [
|
||||||
'entity' => $entity,
|
'entity' => $entity,
|
||||||
'form' => $form->createView(),
|
'form' => $form,
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Lists all ActivityReason entities.
|
* Lists all ActivityReason entities.
|
||||||
*/
|
*/
|
||||||
#[\Symfony\Component\Routing\Annotation\Route(path: '/{_locale}/admin/activityreason/', name: 'chill_activity_activityreason')]
|
#[\Symfony\Component\Routing\Attribute\Route(path: '/{_locale}/admin/activityreason/', name: 'chill_activity_activityreason')]
|
||||||
public function indexAction()
|
public function indexAction(): \Symfony\Component\HttpFoundation\Response
|
||||||
{
|
{
|
||||||
$em = $this->managerRegistry->getManager();
|
$em = $this->managerRegistry->getManager();
|
||||||
|
|
||||||
@@ -67,29 +69,29 @@ class ActivityReasonController extends AbstractController
|
|||||||
/**
|
/**
|
||||||
* Displays a form to create a new ActivityReason entity.
|
* Displays a form to create a new ActivityReason entity.
|
||||||
*/
|
*/
|
||||||
#[\Symfony\Component\Routing\Annotation\Route(path: '/{_locale}/admin/activityreason/new', name: 'chill_activity_activityreason_new')]
|
#[\Symfony\Component\Routing\Attribute\Route(path: '/{_locale}/admin/activityreason/new', name: 'chill_activity_activityreason_new')]
|
||||||
public function newAction()
|
public function newAction(): \Symfony\Component\HttpFoundation\Response
|
||||||
{
|
{
|
||||||
$entity = new ActivityReason();
|
$entity = new ActivityReason();
|
||||||
$form = $this->createCreateForm($entity);
|
$form = $this->createCreateForm($entity);
|
||||||
|
|
||||||
return $this->render('@ChillActivity/ActivityReason/new.html.twig', [
|
return $this->render('@ChillActivity/ActivityReason/new.html.twig', [
|
||||||
'entity' => $entity,
|
'entity' => $entity,
|
||||||
'form' => $form->createView(),
|
'form' => $form,
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Edits an existing ActivityReason entity.
|
* Edits an existing ActivityReason entity.
|
||||||
*/
|
*/
|
||||||
#[\Symfony\Component\Routing\Annotation\Route(path: '/{_locale}/admin/activityreason/{id}/update', name: 'chill_activity_activityreason_update')]
|
#[\Symfony\Component\Routing\Attribute\Route(path: '/{_locale}/admin/activityreason/{id}/update', name: 'chill_activity_activityreason_update', methods: ['POST', 'PUT'])]
|
||||||
public function updateAction(Request $request, mixed $id)
|
public function updateAction(Request $request, mixed $id): \Symfony\Component\HttpFoundation\RedirectResponse|\Symfony\Component\HttpFoundation\Response
|
||||||
{
|
{
|
||||||
$em = $this->managerRegistry->getManager();
|
$em = $this->managerRegistry->getManager();
|
||||||
|
|
||||||
$entity = $em->getRepository(ActivityReason::class)->find($id);
|
$entity = $em->getRepository(ActivityReason::class)->find($id);
|
||||||
|
|
||||||
if (!$entity) {
|
if (null === $entity) {
|
||||||
throw $this->createNotFoundException('Unable to find ActivityReason entity.');
|
throw $this->createNotFoundException('Unable to find ActivityReason entity.');
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -104,7 +106,7 @@ class ActivityReasonController extends AbstractController
|
|||||||
|
|
||||||
return $this->render('@ChillActivity/ActivityReason/edit.html.twig', [
|
return $this->render('@ChillActivity/ActivityReason/edit.html.twig', [
|
||||||
'entity' => $entity,
|
'entity' => $entity,
|
||||||
'edit_form' => $editForm->createView(),
|
'edit_form' => $editForm,
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -112,10 +114,8 @@ class ActivityReasonController extends AbstractController
|
|||||||
* Creates a form to create a ActivityReason entity.
|
* Creates a form to create a ActivityReason entity.
|
||||||
*
|
*
|
||||||
* @param ActivityReason $entity The entity
|
* @param ActivityReason $entity The entity
|
||||||
*
|
|
||||||
* @return \Symfony\Component\Form\Form The form
|
|
||||||
*/
|
*/
|
||||||
private function createCreateForm(ActivityReason $entity)
|
private function createCreateForm(ActivityReason $entity): FormInterface
|
||||||
{
|
{
|
||||||
$form = $this->createForm(ActivityReasonType::class, $entity, [
|
$form = $this->createForm(ActivityReasonType::class, $entity, [
|
||||||
'action' => $this->generateUrl('chill_activity_activityreason_create'),
|
'action' => $this->generateUrl('chill_activity_activityreason_create'),
|
||||||
@@ -131,10 +131,8 @@ class ActivityReasonController extends AbstractController
|
|||||||
* Creates a form to edit a ActivityReason entity.
|
* Creates a form to edit a ActivityReason entity.
|
||||||
*
|
*
|
||||||
* @param ActivityReason $entity The entity
|
* @param ActivityReason $entity The entity
|
||||||
*
|
|
||||||
* @return \Symfony\Component\Form\Form The form
|
|
||||||
*/
|
*/
|
||||||
private function createEditForm(ActivityReason $entity)
|
private function createEditForm(ActivityReason $entity): FormInterface
|
||||||
{
|
{
|
||||||
$form = $this->createForm(ActivityReasonType::class, $entity, [
|
$form = $this->createForm(ActivityReasonType::class, $entity, [
|
||||||
'action' => $this->generateUrl('chill_activity_activityreason_update', ['id' => $entity->getId()]),
|
'action' => $this->generateUrl('chill_activity_activityreason_update', ['id' => $entity->getId()]),
|
||||||
|
|||||||
@@ -22,6 +22,7 @@ class AdminActivityPresenceController extends CRUDController
|
|||||||
*
|
*
|
||||||
* @return \Doctrine\ORM\QueryBuilder|mixed
|
* @return \Doctrine\ORM\QueryBuilder|mixed
|
||||||
*/
|
*/
|
||||||
|
#[\Override]
|
||||||
protected function orderQuery(string $action, $query, Request $request, PaginatorInterface $paginator)
|
protected function orderQuery(string $action, $query, Request $request, PaginatorInterface $paginator)
|
||||||
{
|
{
|
||||||
/* @var \Doctrine\ORM\QueryBuilder $query */
|
/* @var \Doctrine\ORM\QueryBuilder $query */
|
||||||
|
|||||||
@@ -22,6 +22,7 @@ class AdminActivityTypeCategoryController extends CRUDController
|
|||||||
*
|
*
|
||||||
* @return \Doctrine\ORM\QueryBuilder|mixed
|
* @return \Doctrine\ORM\QueryBuilder|mixed
|
||||||
*/
|
*/
|
||||||
|
#[\Override]
|
||||||
protected function orderQuery(string $action, $query, Request $request, PaginatorInterface $paginator)
|
protected function orderQuery(string $action, $query, Request $request, PaginatorInterface $paginator)
|
||||||
{
|
{
|
||||||
/* @var \Doctrine\ORM\QueryBuilder $query */
|
/* @var \Doctrine\ORM\QueryBuilder $query */
|
||||||
|
|||||||
@@ -22,6 +22,7 @@ class AdminActivityTypeController extends CRUDController
|
|||||||
*
|
*
|
||||||
* @return \Doctrine\ORM\QueryBuilder|mixed
|
* @return \Doctrine\ORM\QueryBuilder|mixed
|
||||||
*/
|
*/
|
||||||
|
#[\Override]
|
||||||
protected function orderQuery(string $action, $query, Request $request, PaginatorInterface $paginator)
|
protected function orderQuery(string $action, $query, Request $request, PaginatorInterface $paginator)
|
||||||
{
|
{
|
||||||
/* @var \Doctrine\ORM\QueryBuilder $query */
|
/* @var \Doctrine\ORM\QueryBuilder $query */
|
||||||
|
|||||||
@@ -18,15 +18,15 @@ use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
|
|||||||
*/
|
*/
|
||||||
class AdminController extends AbstractController
|
class AdminController extends AbstractController
|
||||||
{
|
{
|
||||||
#[\Symfony\Component\Routing\Annotation\Route(path: '/{_locale}/admin/activity', name: 'chill_activity_admin_index')]
|
#[\Symfony\Component\Routing\Attribute\Route(path: '/{_locale}/admin/activity', name: 'chill_activity_admin_index')]
|
||||||
public function indexActivityAction()
|
public function indexActivityAction(): \Symfony\Component\HttpFoundation\Response
|
||||||
{
|
{
|
||||||
return $this->render('@ChillActivity/Admin/layout_activity.html.twig');
|
return $this->render('@ChillActivity/Admin/layout_activity.html.twig');
|
||||||
}
|
}
|
||||||
|
|
||||||
#[\Symfony\Component\Routing\Annotation\Route(path: '/{_locale}/admin/activity_redirect_to_main', name: 'chill_admin_aside_activity_redirect_to_admin_index', options: [null])]
|
#[\Symfony\Component\Routing\Attribute\Route(path: '/{_locale}/admin/activity_redirect_to_main', name: 'chill_admin_aside_activity_redirect_to_admin_index', options: [null])]
|
||||||
#[\Symfony\Component\Routing\Annotation\Route(path: '/{_locale}/admin/activity_redirect_to_main', name: 'chill_admin_activity_redirect_to_admin_index')]
|
#[\Symfony\Component\Routing\Attribute\Route(path: '/{_locale}/admin/activity_redirect_to_main', name: 'chill_admin_activity_redirect_to_admin_index')]
|
||||||
public function redirectToAdminIndexAction()
|
public function redirectToAdminIndexAction(): \Symfony\Component\HttpFoundation\RedirectResponse
|
||||||
{
|
{
|
||||||
return $this->redirectToRoute('chill_main_admin_central');
|
return $this->redirectToRoute('chill_main_admin_central');
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -27,8 +27,6 @@ use Faker\Factory as FakerFactory;
|
|||||||
|
|
||||||
class LoadActivity extends AbstractFixture implements OrderedFixtureInterface
|
class LoadActivity extends AbstractFixture implements OrderedFixtureInterface
|
||||||
{
|
{
|
||||||
use \Symfony\Component\DependencyInjection\ContainerAwareTrait;
|
|
||||||
|
|
||||||
private readonly \Faker\Generator $faker;
|
private readonly \Faker\Generator $faker;
|
||||||
|
|
||||||
public function __construct(private readonly EntityManagerInterface $em)
|
public function __construct(private readonly EntityManagerInterface $em)
|
||||||
@@ -63,7 +61,7 @@ class LoadActivity extends AbstractFixture implements OrderedFixtureInterface
|
|||||||
|
|
||||||
public function newRandomActivity($person): ?Activity
|
public function newRandomActivity($person): ?Activity
|
||||||
{
|
{
|
||||||
$activity = (new Activity())
|
$activity = new Activity()
|
||||||
->setUser($this->getRandomUser())
|
->setUser($this->getRandomUser())
|
||||||
->setPerson($person)
|
->setPerson($person)
|
||||||
->setDate($this->faker->dateTimeThisYear())
|
->setDate($this->faker->dateTimeThisYear())
|
||||||
|
|||||||
@@ -54,7 +54,7 @@ class LoadActivityReason extends AbstractFixture implements OrderedFixtureInterf
|
|||||||
|
|
||||||
foreach ($reasons as $r) {
|
foreach ($reasons as $r) {
|
||||||
echo 'Creating activity reason : '.$r['name']['en']."\n";
|
echo 'Creating activity reason : '.$r['name']['en']."\n";
|
||||||
$activityReason = (new ActivityReason())
|
$activityReason = new ActivityReason()
|
||||||
->setName($r['name'])
|
->setName($r['name'])
|
||||||
->setActive(true)
|
->setActive(true)
|
||||||
->setCategory($this->getReference($r['category'], ActivityReasonCategory::class));
|
->setCategory($this->getReference($r['category'], ActivityReasonCategory::class));
|
||||||
|
|||||||
@@ -35,7 +35,7 @@ class LoadActivityReasonCategory extends AbstractFixture implements OrderedFixtu
|
|||||||
|
|
||||||
foreach ($categs as $c) {
|
foreach ($categs as $c) {
|
||||||
echo 'Creating activity reason category : '.$c['name']['en']."\n";
|
echo 'Creating activity reason category : '.$c['name']['en']."\n";
|
||||||
$activityReasonCategory = (new ActivityReasonCategory())
|
$activityReasonCategory = new ActivityReasonCategory()
|
||||||
->setName($c['name'])
|
->setName($c['name'])
|
||||||
->setActive(true);
|
->setActive(true);
|
||||||
$manager->persist($activityReasonCategory);
|
$manager->persist($activityReasonCategory);
|
||||||
|
|||||||
@@ -56,7 +56,7 @@ class LoadActivityType extends Fixture implements OrderedFixtureInterface
|
|||||||
|
|
||||||
foreach ($types as $t) {
|
foreach ($types as $t) {
|
||||||
echo 'Creating activity type : '.$t['name']['fr'].' (cat:'.$t['category']." \n";
|
echo 'Creating activity type : '.$t['name']['fr'].' (cat:'.$t['category']." \n";
|
||||||
$activityType = (new ActivityType())
|
$activityType = new ActivityType()
|
||||||
->setName($t['name'])
|
->setName($t['name'])
|
||||||
->setCategory($this->getReference('activity_type_cat_'.$t['category'], ActivityTypeCategory::class))
|
->setCategory($this->getReference('activity_type_cat_'.$t['category'], ActivityTypeCategory::class))
|
||||||
->setSocialIssuesVisible(1)
|
->setSocialIssuesVisible(1)
|
||||||
|
|||||||
@@ -44,7 +44,7 @@ class LoadActivityTypeCategory extends Fixture implements OrderedFixtureInterfac
|
|||||||
foreach ($categories as $cat) {
|
foreach ($categories as $cat) {
|
||||||
echo 'Creating activity type category : '.$cat['ref']."\n";
|
echo 'Creating activity type category : '.$cat['ref']."\n";
|
||||||
|
|
||||||
$newCat = (new ActivityTypeCategory())
|
$newCat = new ActivityTypeCategory()
|
||||||
->setName($cat['name']);
|
->setName($cat['name']);
|
||||||
|
|
||||||
$manager->persist($newCat);
|
$manager->persist($newCat);
|
||||||
|
|||||||
@@ -64,25 +64,25 @@ class LoadActivitytACL extends AbstractFixture implements OrderedFixtureInterfac
|
|||||||
$permissionsGroup->getName(),
|
$permissionsGroup->getName(),
|
||||||
$scope->getName()['en']
|
$scope->getName()['en']
|
||||||
);
|
);
|
||||||
$roleScopeUpdate = (new RoleScope())
|
$roleScopeUpdate = new RoleScope()
|
||||||
->setRole('CHILL_ACTIVITY_UPDATE')
|
->setRole('CHILL_ACTIVITY_UPDATE')
|
||||||
->setScope($scope);
|
->setScope($scope);
|
||||||
$permissionsGroup->addRoleScope($roleScopeUpdate);
|
$permissionsGroup->addRoleScope($roleScopeUpdate);
|
||||||
$roleScopeCreate = (new RoleScope())
|
$roleScopeCreate = new RoleScope()
|
||||||
->setRole(ActivityVoter::CREATE_ACCOMPANYING_COURSE)
|
->setRole(ActivityVoter::CREATE_ACCOMPANYING_COURSE)
|
||||||
->setScope($scope);
|
->setScope($scope);
|
||||||
$roleScopeCreate = (new RoleScope())
|
$roleScopeCreate = new RoleScope()
|
||||||
->setRole(ActivityVoter::CREATE_PERSON)
|
->setRole(ActivityVoter::CREATE_PERSON)
|
||||||
->setScope($scope);
|
->setScope($scope);
|
||||||
$permissionsGroup->addRoleScope($roleScopeCreate);
|
$permissionsGroup->addRoleScope($roleScopeCreate);
|
||||||
$roleScopeDelete = (new RoleScope())
|
$roleScopeDelete = new RoleScope()
|
||||||
->setRole('CHILL_ACTIVITY_DELETE')
|
->setRole('CHILL_ACTIVITY_DELETE')
|
||||||
->setScope($scope);
|
->setScope($scope);
|
||||||
$permissionsGroup->addRoleScope($roleScopeDelete);
|
$permissionsGroup->addRoleScope($roleScopeDelete);
|
||||||
$roleScopeList = (new RoleScope())
|
$roleScopeList = new RoleScope()
|
||||||
->setRole(ActivityStatsVoter::LISTS);
|
->setRole(ActivityStatsVoter::LISTS);
|
||||||
$permissionsGroup->addRoleScope($roleScopeList);
|
$permissionsGroup->addRoleScope($roleScopeList);
|
||||||
$roleScopeStat = (new RoleScope())
|
$roleScopeStat = new RoleScope()
|
||||||
->setRole(ActivityStatsVoter::STATS);
|
->setRole(ActivityStatsVoter::STATS);
|
||||||
$permissionsGroup->addRoleScope($roleScopeStat);
|
$permissionsGroup->addRoleScope($roleScopeStat);
|
||||||
|
|
||||||
|
|||||||
@@ -25,7 +25,7 @@ use Symfony\Component\HttpKernel\DependencyInjection\Extension;
|
|||||||
*/
|
*/
|
||||||
class ChillActivityExtension extends Extension implements PrependExtensionInterface
|
class ChillActivityExtension extends Extension implements PrependExtensionInterface
|
||||||
{
|
{
|
||||||
public function load(array $configs, ContainerBuilder $container)
|
public function load(array $configs, ContainerBuilder $container): void
|
||||||
{
|
{
|
||||||
$configuration = new Configuration();
|
$configuration = new Configuration();
|
||||||
$config = $this->processConfiguration($configuration, $configs);
|
$config = $this->processConfiguration($configuration, $configs);
|
||||||
@@ -44,14 +44,14 @@ class ChillActivityExtension extends Extension implements PrependExtensionInterf
|
|||||||
$loader->load('services/doctrine.entitylistener.yaml');
|
$loader->load('services/doctrine.entitylistener.yaml');
|
||||||
}
|
}
|
||||||
|
|
||||||
public function prepend(ContainerBuilder $container)
|
public function prepend(ContainerBuilder $container): void
|
||||||
{
|
{
|
||||||
$this->prependRoutes($container);
|
$this->prependRoutes($container);
|
||||||
$this->prependAuthorization($container);
|
$this->prependAuthorization($container);
|
||||||
$this->prependCruds($container);
|
$this->prependCruds($container);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function prependAuthorization(ContainerBuilder $container)
|
public function prependAuthorization(ContainerBuilder $container): void
|
||||||
{
|
{
|
||||||
$container->prependExtensionConfig('security', [
|
$container->prependExtensionConfig('security', [
|
||||||
'role_hierarchy' => [
|
'role_hierarchy' => [
|
||||||
@@ -71,7 +71,7 @@ class ChillActivityExtension extends Extension implements PrependExtensionInterf
|
|||||||
/** (non-PHPdoc).
|
/** (non-PHPdoc).
|
||||||
* @see \Symfony\Component\DependencyInjection\Extension\PrependExtensionInterface::prepend()
|
* @see \Symfony\Component\DependencyInjection\Extension\PrependExtensionInterface::prepend()
|
||||||
*/
|
*/
|
||||||
public function prependRoutes(ContainerBuilder $container)
|
public function prependRoutes(ContainerBuilder $container): void
|
||||||
{
|
{
|
||||||
// add routes for custom bundle
|
// add routes for custom bundle
|
||||||
$container->prependExtensionConfig('chill_main', [
|
$container->prependExtensionConfig('chill_main', [
|
||||||
|
|||||||
@@ -22,7 +22,7 @@ use function is_int;
|
|||||||
*/
|
*/
|
||||||
class Configuration implements ConfigurationInterface
|
class Configuration implements ConfigurationInterface
|
||||||
{
|
{
|
||||||
public function getConfigTreeBuilder()
|
public function getConfigTreeBuilder(): TreeBuilder
|
||||||
{
|
{
|
||||||
$treeBuilder = new TreeBuilder('chill_activity');
|
$treeBuilder = new TreeBuilder('chill_activity');
|
||||||
$rootNode = $treeBuilder->getRootNode();
|
$rootNode = $treeBuilder->getRootNode();
|
||||||
|
|||||||
@@ -34,9 +34,9 @@ use Chill\ThirdPartyBundle\Entity\ThirdParty;
|
|||||||
use Doctrine\Common\Collections\ArrayCollection;
|
use Doctrine\Common\Collections\ArrayCollection;
|
||||||
use Doctrine\Common\Collections\Collection;
|
use Doctrine\Common\Collections\Collection;
|
||||||
use Doctrine\ORM\Mapping as ORM;
|
use Doctrine\ORM\Mapping as ORM;
|
||||||
use Symfony\Component\Serializer\Annotation\DiscriminatorMap;
|
use Symfony\Component\Serializer\Attribute\DiscriminatorMap;
|
||||||
use Symfony\Component\Serializer\Annotation\Groups;
|
use Symfony\Component\Serializer\Attribute\Groups;
|
||||||
use Symfony\Component\Serializer\Annotation\SerializedName;
|
use Symfony\Component\Serializer\Attribute\SerializedName;
|
||||||
use Symfony\Component\Validator\Constraints as Assert;
|
use Symfony\Component\Validator\Constraints as Assert;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -53,9 +53,9 @@ class Activity implements AccompanyingPeriodLinkedWithSocialIssuesEntityInterfac
|
|||||||
|
|
||||||
use TrackUpdateTrait;
|
use TrackUpdateTrait;
|
||||||
|
|
||||||
final public const SENTRECEIVED_RECEIVED = 'received';
|
final public const string SENTRECEIVED_RECEIVED = 'received';
|
||||||
|
|
||||||
final public const SENTRECEIVED_SENT = 'sent';
|
final public const string SENTRECEIVED_SENT = 'sent';
|
||||||
|
|
||||||
#[Groups(['read'])]
|
#[Groups(['read'])]
|
||||||
#[ORM\ManyToOne(targetEntity: AccompanyingPeriod::class)]
|
#[ORM\ManyToOne(targetEntity: AccompanyingPeriod::class)]
|
||||||
@@ -447,9 +447,7 @@ class Activity implements AccompanyingPeriodLinkedWithSocialIssuesEntityInterfac
|
|||||||
return (int) round(($this->travelTime->getTimestamp() + $this->travelTime->getOffset()) / 60.0, 0);
|
return (int) round(($this->travelTime->getTimestamp() + $this->travelTime->getOffset()) / 60.0, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
#[\Deprecated]
|
||||||
* @deprecated
|
|
||||||
*/
|
|
||||||
public function getType(): ActivityType
|
public function getType(): ActivityType
|
||||||
{
|
{
|
||||||
return $this->activityType;
|
return $this->activityType;
|
||||||
@@ -632,9 +630,7 @@ class Activity implements AccompanyingPeriodLinkedWithSocialIssuesEntityInterfac
|
|||||||
return $this;
|
return $this;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
#[\Deprecated]
|
||||||
* @deprecated
|
|
||||||
*/
|
|
||||||
public function setType(ActivityType $activityType): self
|
public function setType(ActivityType $activityType): self
|
||||||
{
|
{
|
||||||
$this->activityType = $activityType;
|
$this->activityType = $activityType;
|
||||||
|
|||||||
@@ -12,7 +12,7 @@ declare(strict_types=1);
|
|||||||
namespace Chill\ActivityBundle\Entity;
|
namespace Chill\ActivityBundle\Entity;
|
||||||
|
|
||||||
use Doctrine\ORM\Mapping as ORM;
|
use Doctrine\ORM\Mapping as ORM;
|
||||||
use Symfony\Component\Serializer\Annotation as Serializer;
|
use Symfony\Component\Serializer\Attribute as Serializer;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Class ActivityPresence.
|
* Class ActivityPresence.
|
||||||
|
|||||||
@@ -37,10 +37,8 @@ class ActivityReason
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Get active.
|
* Get active.
|
||||||
*
|
|
||||||
* @return bool
|
|
||||||
*/
|
*/
|
||||||
public function getActive()
|
public function getActive(): bool
|
||||||
{
|
{
|
||||||
return $this->active;
|
return $this->active;
|
||||||
}
|
}
|
||||||
@@ -55,10 +53,8 @@ class ActivityReason
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Get id.
|
* Get id.
|
||||||
*
|
|
||||||
* @return int
|
|
||||||
*/
|
*/
|
||||||
public function getId()
|
public function getId(): ?int
|
||||||
{
|
{
|
||||||
return $this->id;
|
return $this->id;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -58,20 +58,16 @@ class ActivityReasonCategory implements \Stringable
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Get active.
|
* Get active.
|
||||||
*
|
|
||||||
* @return bool
|
|
||||||
*/
|
*/
|
||||||
public function getActive()
|
public function getActive(): bool
|
||||||
{
|
{
|
||||||
return $this->active;
|
return $this->active;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get id.
|
* Get id.
|
||||||
*
|
|
||||||
* @return int
|
|
||||||
*/
|
*/
|
||||||
public function getId()
|
public function getId(): ?int
|
||||||
{
|
{
|
||||||
return $this->id;
|
return $this->id;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -12,8 +12,8 @@ declare(strict_types=1);
|
|||||||
namespace Chill\ActivityBundle\Entity;
|
namespace Chill\ActivityBundle\Entity;
|
||||||
|
|
||||||
use Doctrine\ORM\Mapping as ORM;
|
use Doctrine\ORM\Mapping as ORM;
|
||||||
use Symfony\Component\Serializer\Annotation as Serializer;
|
use Symfony\Component\Serializer\Attribute as Serializer;
|
||||||
use Symfony\Component\Serializer\Annotation\Groups;
|
use Symfony\Component\Serializer\Attribute\Groups;
|
||||||
use Symfony\Component\Validator\Constraints as Assert;
|
use Symfony\Component\Validator\Constraints as Assert;
|
||||||
use Symfony\Component\Validator\Context\ExecutionContextInterface;
|
use Symfony\Component\Validator\Context\ExecutionContextInterface;
|
||||||
|
|
||||||
@@ -25,11 +25,11 @@ use Symfony\Component\Validator\Context\ExecutionContextInterface;
|
|||||||
#[ORM\Table(name: 'activitytype')]
|
#[ORM\Table(name: 'activitytype')]
|
||||||
class ActivityType
|
class ActivityType
|
||||||
{
|
{
|
||||||
final public const FIELD_INVISIBLE = 0;
|
final public const int FIELD_INVISIBLE = 0;
|
||||||
|
|
||||||
final public const FIELD_OPTIONAL = 1;
|
final public const int FIELD_OPTIONAL = 1;
|
||||||
|
|
||||||
final public const FIELD_REQUIRED = 2;
|
final public const int FIELD_REQUIRED = 2;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @deprecated not in use
|
* @deprecated not in use
|
||||||
@@ -188,7 +188,7 @@ class ActivityType
|
|||||||
private int $userVisible = self::FIELD_REQUIRED;
|
private int $userVisible = self::FIELD_REQUIRED;
|
||||||
|
|
||||||
#[Assert\Callback]
|
#[Assert\Callback]
|
||||||
public function checkSocialActionsVisibility(ExecutionContextInterface $context, mixed $payload)
|
public function checkSocialActionsVisibility(ExecutionContextInterface $context, mixed $payload): void
|
||||||
{
|
{
|
||||||
if ($this->socialIssuesVisible !== $this->socialActionsVisible) {
|
if ($this->socialIssuesVisible !== $this->socialActionsVisible) {
|
||||||
// if social issues are invisible then social actions cannot be optional or required + if social issues are optional then social actions shouldn't be required
|
// if social issues are invisible then social actions cannot be optional or required + if social issues are optional then social actions shouldn't be required
|
||||||
@@ -461,11 +461,17 @@ class ActivityType
|
|||||||
{
|
{
|
||||||
$property = $field.'Visible';
|
$property = $field.'Visible';
|
||||||
|
|
||||||
if (!property_exists($this, $property)) {
|
// Get the real class name (not the proxy)
|
||||||
|
$class = static::class;
|
||||||
|
if (str_contains($class, '__CG__')) {
|
||||||
|
$class = get_parent_class($this);
|
||||||
|
}
|
||||||
|
$realClass = $class;
|
||||||
|
|
||||||
|
if (!property_exists($realClass, $property)) {
|
||||||
throw new \InvalidArgumentException('Field "'.$field.'" not found');
|
throw new \InvalidArgumentException('Field "'.$field.'" not found');
|
||||||
}
|
}
|
||||||
|
|
||||||
/* @phpstan-ignore-next-line */
|
|
||||||
return self::FIELD_INVISIBLE !== $this->{$property};
|
return self::FIELD_INVISIBLE !== $this->{$property};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -21,7 +21,7 @@ class ActivityEntityListener
|
|||||||
{
|
{
|
||||||
public function __construct(private readonly EntityManagerInterface $em, private readonly AccompanyingPeriodWorkRepository $workRepository) {}
|
public function __construct(private readonly EntityManagerInterface $em, private readonly AccompanyingPeriodWorkRepository $workRepository) {}
|
||||||
|
|
||||||
public function persistActionToCourse(Activity $activity)
|
public function persistActionToCourse(Activity $activity): void
|
||||||
{
|
{
|
||||||
if ($activity->getAccompanyingPeriod() instanceof AccompanyingPeriod) {
|
if ($activity->getAccompanyingPeriod() instanceof AccompanyingPeriod) {
|
||||||
$period = $activity->getAccompanyingPeriod();
|
$period = $activity->getAccompanyingPeriod();
|
||||||
|
|||||||
@@ -25,7 +25,7 @@ use Symfony\Component\Form\FormBuilderInterface;
|
|||||||
|
|
||||||
final readonly class ByActivityTypeAggregator implements AggregatorInterface
|
final readonly class ByActivityTypeAggregator implements AggregatorInterface
|
||||||
{
|
{
|
||||||
private const PREFIX = 'acp_by_activity_type_agg';
|
private const string PREFIX = 'acp_by_activity_type_agg';
|
||||||
|
|
||||||
public function __construct(
|
public function __construct(
|
||||||
private RollingDateConverterInterface $rollingDateConverter,
|
private RollingDateConverterInterface $rollingDateConverter,
|
||||||
@@ -53,7 +53,7 @@ final readonly class ByActivityTypeAggregator implements AggregatorInterface
|
|||||||
|
|
||||||
public function normalizeFormData(array $formData): array
|
public function normalizeFormData(array $formData): array
|
||||||
{
|
{
|
||||||
return ['after_date' => $formData['after_date']->normalize(), 'before_date' => $formData['before_date']->normalize()];
|
return ['after_date' => $formData['after_date']?->normalize(), 'before_date' => $formData['before_date']?->normalize()];
|
||||||
}
|
}
|
||||||
|
|
||||||
public function denormalizeFormData(array $formData, int $fromVersion): array
|
public function denormalizeFormData(array $formData, int $fromVersion): array
|
||||||
|
|||||||
@@ -18,7 +18,7 @@ use Symfony\Component\Form\FormBuilderInterface;
|
|||||||
|
|
||||||
final readonly class ActivityLocationAggregator implements AggregatorInterface
|
final readonly class ActivityLocationAggregator implements AggregatorInterface
|
||||||
{
|
{
|
||||||
public const KEY = 'activity_location_aggregator';
|
public const string KEY = 'activity_location_aggregator';
|
||||||
|
|
||||||
public function addRole(): ?string
|
public function addRole(): ?string
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -20,7 +20,7 @@ use Symfony\Component\Form\FormBuilderInterface;
|
|||||||
|
|
||||||
class ActivityTypeAggregator implements AggregatorInterface
|
class ActivityTypeAggregator implements AggregatorInterface
|
||||||
{
|
{
|
||||||
final public const KEY = 'activity_type_aggregator';
|
final public const string KEY = 'activity_type_aggregator';
|
||||||
|
|
||||||
public function __construct(protected ActivityTypeRepositoryInterface $activityTypeRepository, protected TranslatableStringHelperInterface $translatableStringHelper) {}
|
public function __construct(protected ActivityTypeRepositoryInterface $activityTypeRepository, protected TranslatableStringHelperInterface $translatableStringHelper) {}
|
||||||
|
|
||||||
|
|||||||
@@ -20,7 +20,7 @@ use Symfony\Component\Form\FormBuilderInterface;
|
|||||||
|
|
||||||
class ActivityUserAggregator implements AggregatorInterface
|
class ActivityUserAggregator implements AggregatorInterface
|
||||||
{
|
{
|
||||||
final public const KEY = 'activity_user_id';
|
final public const string KEY = 'activity_user_id';
|
||||||
|
|
||||||
public function __construct(private readonly UserRepository $userRepository, private readonly UserRender $userRender) {}
|
public function __construct(private readonly UserRepository $userRepository, private readonly UserRender $userRender) {}
|
||||||
|
|
||||||
|
|||||||
@@ -22,7 +22,7 @@ use Symfony\Component\Form\FormBuilderInterface;
|
|||||||
|
|
||||||
class ActivityUsersJobAggregator implements AggregatorInterface
|
class ActivityUsersJobAggregator implements AggregatorInterface
|
||||||
{
|
{
|
||||||
private const PREFIX = 'act_agg_user_job';
|
private const string PREFIX = 'act_agg_user_job';
|
||||||
|
|
||||||
public function __construct(
|
public function __construct(
|
||||||
private readonly UserJobRepositoryInterface $userJobRepository,
|
private readonly UserJobRepositoryInterface $userJobRepository,
|
||||||
|
|||||||
@@ -22,7 +22,7 @@ use Symfony\Component\Form\FormBuilderInterface;
|
|||||||
|
|
||||||
class ActivityUsersScopeAggregator implements AggregatorInterface
|
class ActivityUsersScopeAggregator implements AggregatorInterface
|
||||||
{
|
{
|
||||||
private const PREFIX = 'act_agg_user_scope';
|
private const string PREFIX = 'act_agg_user_scope';
|
||||||
|
|
||||||
public function __construct(
|
public function __construct(
|
||||||
private readonly ScopeRepositoryInterface $scopeRepository,
|
private readonly ScopeRepositoryInterface $scopeRepository,
|
||||||
|
|||||||
@@ -22,7 +22,7 @@ use Symfony\Component\Form\FormBuilderInterface;
|
|||||||
|
|
||||||
class CreatorJobAggregator implements AggregatorInterface
|
class CreatorJobAggregator implements AggregatorInterface
|
||||||
{
|
{
|
||||||
private const PREFIX = 'acp_agg_creator_job';
|
private const string PREFIX = 'acp_agg_creator_job';
|
||||||
|
|
||||||
public function __construct(
|
public function __construct(
|
||||||
private readonly UserJobRepositoryInterface $userJobRepository,
|
private readonly UserJobRepositoryInterface $userJobRepository,
|
||||||
|
|||||||
@@ -22,7 +22,7 @@ use Symfony\Component\Form\FormBuilderInterface;
|
|||||||
|
|
||||||
class CreatorScopeAggregator implements AggregatorInterface
|
class CreatorScopeAggregator implements AggregatorInterface
|
||||||
{
|
{
|
||||||
private const PREFIX = 'acp_agg_creator_scope';
|
private const string PREFIX = 'acp_agg_creator_scope';
|
||||||
|
|
||||||
public function __construct(
|
public function __construct(
|
||||||
private readonly ScopeRepository $scopeRepository,
|
private readonly ScopeRepository $scopeRepository,
|
||||||
|
|||||||
@@ -19,13 +19,13 @@ use Symfony\Component\Form\FormBuilderInterface;
|
|||||||
|
|
||||||
class DateAggregator implements AggregatorInterface
|
class DateAggregator implements AggregatorInterface
|
||||||
{
|
{
|
||||||
private const CHOICES = [
|
private const array CHOICES = [
|
||||||
'by month' => 'month',
|
'by month' => 'month',
|
||||||
'by week' => 'week',
|
'by week' => 'week',
|
||||||
'by year' => 'year',
|
'by year' => 'year',
|
||||||
];
|
];
|
||||||
|
|
||||||
private const DEFAULT_CHOICE = 'year';
|
private const string DEFAULT_CHOICE = 'year';
|
||||||
|
|
||||||
public function addRole(): ?string
|
public function addRole(): ?string
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -23,7 +23,7 @@ use Symfony\Component\Form\FormBuilderInterface;
|
|||||||
*/
|
*/
|
||||||
final readonly class PersonsAggregator implements AggregatorInterface
|
final readonly class PersonsAggregator implements AggregatorInterface
|
||||||
{
|
{
|
||||||
private const PREFIX = 'act_persons_agg';
|
private const string PREFIX = 'act_persons_agg';
|
||||||
|
|
||||||
public function __construct(private LabelPersonHelper $labelPersonHelper) {}
|
public function __construct(private LabelPersonHelper $labelPersonHelper) {}
|
||||||
|
|
||||||
|
|||||||
@@ -42,7 +42,7 @@ class AvgActivityVisitDuration implements ExportInterface, GroupedExportInterfac
|
|||||||
$this->filterStatsByCenters = $parameterBag->get('chill_main')['acl']['filter_stats_by_center'];
|
$this->filterStatsByCenters = $parameterBag->get('chill_main')['acl']['filter_stats_by_center'];
|
||||||
}
|
}
|
||||||
|
|
||||||
public function buildForm(FormBuilderInterface $builder)
|
public function buildForm(FormBuilderInterface $builder): void
|
||||||
{
|
{
|
||||||
// TODO: Implement buildForm() method.
|
// TODO: Implement buildForm() method.
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -42,7 +42,7 @@ final readonly class CountHouseholdOnActivity implements ExportInterface, Groupe
|
|||||||
$this->filterStatsByCenters = $parameterBag->get('chill_main')['acl']['filter_stats_by_center'];
|
$this->filterStatsByCenters = $parameterBag->get('chill_main')['acl']['filter_stats_by_center'];
|
||||||
}
|
}
|
||||||
|
|
||||||
public function buildForm(FormBuilderInterface $builder) {}
|
public function buildForm(FormBuilderInterface $builder): void {}
|
||||||
|
|
||||||
public function getNormalizationVersion(): int
|
public function getNormalizationVersion(): int
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -34,7 +34,7 @@ final readonly class ListActivity implements ListInterface, GroupedExportInterfa
|
|||||||
private FilterListAccompanyingPeriodHelperInterface $filterListAccompanyingPeriodHelper,
|
private FilterListAccompanyingPeriodHelperInterface $filterListAccompanyingPeriodHelper,
|
||||||
) {}
|
) {}
|
||||||
|
|
||||||
public function buildForm(FormBuilderInterface $builder)
|
public function buildForm(FormBuilderInterface $builder): void
|
||||||
{
|
{
|
||||||
$this->helper->buildForm($builder);
|
$this->helper->buildForm($builder);
|
||||||
}
|
}
|
||||||
@@ -154,7 +154,7 @@ final readonly class ListActivity implements ListInterface, GroupedExportInterfa
|
|||||||
return ActivityStatsVoter::LISTS;
|
return ActivityStatsVoter::LISTS;
|
||||||
}
|
}
|
||||||
|
|
||||||
public function supportsModifiers()
|
public function supportsModifiers(): array
|
||||||
{
|
{
|
||||||
return array_merge(
|
return array_merge(
|
||||||
$this->helper->supportsModifiers(),
|
$this->helper->supportsModifiers(),
|
||||||
|
|||||||
@@ -34,7 +34,7 @@ final readonly class CountHouseholdOnActivity implements ExportInterface, Groupe
|
|||||||
$this->filterStatsByCenters = $parameterBag->get('chill_main')['acl']['filter_stats_by_center'];
|
$this->filterStatsByCenters = $parameterBag->get('chill_main')['acl']['filter_stats_by_center'];
|
||||||
}
|
}
|
||||||
|
|
||||||
public function buildForm(FormBuilderInterface $builder) {}
|
public function buildForm(FormBuilderInterface $builder): void {}
|
||||||
|
|
||||||
public function getNormalizationVersion(): int
|
public function getNormalizationVersion(): int
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -11,6 +11,7 @@ declare(strict_types=1);
|
|||||||
|
|
||||||
namespace Chill\ActivityBundle\Export\Export\LinkedToPerson;
|
namespace Chill\ActivityBundle\Export\Export\LinkedToPerson;
|
||||||
|
|
||||||
|
use Chill\ActivityBundle\Entity\Activity;
|
||||||
use Chill\ActivityBundle\Entity\ActivityReason;
|
use Chill\ActivityBundle\Entity\ActivityReason;
|
||||||
use Chill\ActivityBundle\Export\Declarations;
|
use Chill\ActivityBundle\Export\Declarations;
|
||||||
use Chill\ActivityBundle\Repository\ActivityRepository;
|
use Chill\ActivityBundle\Repository\ActivityRepository;
|
||||||
@@ -33,6 +34,9 @@ use Symfony\Contracts\Translation\TranslatorInterface;
|
|||||||
|
|
||||||
class ListActivity implements ListInterface, GroupedExportInterface
|
class ListActivity implements ListInterface, GroupedExportInterface
|
||||||
{
|
{
|
||||||
|
/**
|
||||||
|
* @var string[]
|
||||||
|
*/
|
||||||
protected array $fields = [
|
protected array $fields = [
|
||||||
'id',
|
'id',
|
||||||
'date',
|
'date',
|
||||||
@@ -59,22 +63,20 @@ class ListActivity implements ListInterface, GroupedExportInterface
|
|||||||
$this->filterStatsByCenters = $parameterBag->get('chill_main')['acl']['filter_stats_by_center'];
|
$this->filterStatsByCenters = $parameterBag->get('chill_main')['acl']['filter_stats_by_center'];
|
||||||
}
|
}
|
||||||
|
|
||||||
public function buildForm(FormBuilderInterface $builder)
|
public function buildForm(FormBuilderInterface $builder): void
|
||||||
{
|
{
|
||||||
$builder->add('fields', ChoiceType::class, [
|
$builder->add('fields', ChoiceType::class, [
|
||||||
'multiple' => true,
|
'multiple' => true,
|
||||||
'expanded' => true,
|
'expanded' => true,
|
||||||
'choices' => array_combine($this->fields, $this->fields),
|
'choices' => array_combine($this->fields, $this->fields),
|
||||||
'label' => 'Fields to include in export',
|
'label' => 'Fields to include in export',
|
||||||
'constraints' => [new Callback([
|
'constraints' => [new Callback(callback: static function ($selected, ExecutionContextInterface $context): void {
|
||||||
'callback' => static function ($selected, ExecutionContextInterface $context) {
|
if (0 === \count($selected)) {
|
||||||
if (0 === \count($selected)) {
|
$context->buildViolation('You must select at least one element')
|
||||||
$context->buildViolation('You must select at least one element')
|
->atPath('fields')
|
||||||
->atPath('fields')
|
->addViolation();
|
||||||
->addViolation();
|
}
|
||||||
}
|
})],
|
||||||
},
|
|
||||||
])],
|
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -214,7 +216,7 @@ class ListActivity implements ListInterface, GroupedExportInterface
|
|||||||
$qb = $this->entityManager->createQueryBuilder();
|
$qb = $this->entityManager->createQueryBuilder();
|
||||||
|
|
||||||
$qb
|
$qb
|
||||||
->from('ChillActivityBundle:Activity', 'activity')
|
->from(Activity::class, 'activity')
|
||||||
->join('activity.person', 'person')
|
->join('activity.person', 'person')
|
||||||
->join(
|
->join(
|
||||||
HouseholdMember::class,
|
HouseholdMember::class,
|
||||||
|
|||||||
@@ -30,7 +30,7 @@ use Symfony\Component\Form\FormBuilderInterface;
|
|||||||
*/
|
*/
|
||||||
class StatActivityDuration implements ExportInterface, GroupedExportInterface
|
class StatActivityDuration implements ExportInterface, GroupedExportInterface
|
||||||
{
|
{
|
||||||
final public const SUM = 'sum';
|
final public const string SUM = 'sum';
|
||||||
private readonly bool $filterStatsByCenters;
|
private readonly bool $filterStatsByCenters;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -28,7 +28,7 @@ use Symfony\Contracts\Translation\TranslatorInterface;
|
|||||||
|
|
||||||
class ListActivityHelper
|
class ListActivityHelper
|
||||||
{
|
{
|
||||||
final public const MSG_KEY = 'export.list.activity.';
|
final public const string MSG_KEY = 'export.list.activity.';
|
||||||
|
|
||||||
public function __construct(
|
public function __construct(
|
||||||
private readonly ActivityPresenceRepositoryInterface $activityPresenceRepository,
|
private readonly ActivityPresenceRepositoryInterface $activityPresenceRepository,
|
||||||
|
|||||||
@@ -27,7 +27,7 @@ use Symfony\Component\Form\FormBuilderInterface;
|
|||||||
final readonly class ActivityTypeFilter implements FilterInterface
|
final readonly class ActivityTypeFilter implements FilterInterface
|
||||||
{
|
{
|
||||||
use \Chill\MainBundle\Export\ExportDataNormalizerTrait;
|
use \Chill\MainBundle\Export\ExportDataNormalizerTrait;
|
||||||
private const BASE_EXISTS = 'SELECT 1 FROM '.Activity::class.' act_type_filter_activity WHERE act_type_filter_activity.accompanyingPeriod = acp';
|
private const string BASE_EXISTS = 'SELECT 1 FROM '.Activity::class.' act_type_filter_activity WHERE act_type_filter_activity.accompanyingPeriod = acp';
|
||||||
|
|
||||||
public function __construct(
|
public function __construct(
|
||||||
private ActivityTypeRepositoryInterface $activityTypeRepository,
|
private ActivityTypeRepositoryInterface $activityTypeRepository,
|
||||||
|
|||||||
@@ -28,7 +28,7 @@ use Symfony\Contracts\Translation\TranslatorInterface;
|
|||||||
final readonly class CreatorJobFilter implements FilterInterface
|
final readonly class CreatorJobFilter implements FilterInterface
|
||||||
{
|
{
|
||||||
use \Chill\MainBundle\Export\ExportDataNormalizerTrait;
|
use \Chill\MainBundle\Export\ExportDataNormalizerTrait;
|
||||||
private const PREFIX = 'acp_act_filter_creator_job';
|
private const string PREFIX = 'acp_act_filter_creator_job';
|
||||||
|
|
||||||
public function __construct(
|
public function __construct(
|
||||||
private TranslatableStringHelper $translatableStringHelper,
|
private TranslatableStringHelper $translatableStringHelper,
|
||||||
|
|||||||
@@ -26,7 +26,7 @@ use Symfony\Component\Form\FormBuilderInterface;
|
|||||||
class CreatorScopeFilter implements FilterInterface
|
class CreatorScopeFilter implements FilterInterface
|
||||||
{
|
{
|
||||||
use \Chill\MainBundle\Export\ExportDataNormalizerTrait;
|
use \Chill\MainBundle\Export\ExportDataNormalizerTrait;
|
||||||
private const PREFIX = 'acp_act_filter_creator_scope';
|
private const string PREFIX = 'acp_act_filter_creator_scope';
|
||||||
|
|
||||||
public function __construct(
|
public function __construct(
|
||||||
private readonly TranslatableStringHelper $translatableStringHelper,
|
private readonly TranslatableStringHelper $translatableStringHelper,
|
||||||
|
|||||||
@@ -22,12 +22,12 @@ use Symfony\Contracts\Translation\TranslatorInterface;
|
|||||||
|
|
||||||
class EmergencyFilter implements FilterInterface
|
class EmergencyFilter implements FilterInterface
|
||||||
{
|
{
|
||||||
private const CHOICES = [
|
private const array CHOICES = [
|
||||||
'activity is emergency' => 'true',
|
'activity is emergency' => 'true',
|
||||||
'activity is not emergency' => 'false',
|
'activity is not emergency' => 'false',
|
||||||
];
|
];
|
||||||
|
|
||||||
private const DEFAULT_CHOICE = 'false';
|
private const string DEFAULT_CHOICE = 'false';
|
||||||
|
|
||||||
public function __construct(private readonly TranslatorInterface $translator) {}
|
public function __construct(private readonly TranslatorInterface $translator) {}
|
||||||
|
|
||||||
|
|||||||
@@ -25,7 +25,7 @@ use Symfony\Component\Form\FormBuilderInterface;
|
|||||||
*/
|
*/
|
||||||
final readonly class PersonsFilter implements FilterInterface
|
final readonly class PersonsFilter implements FilterInterface
|
||||||
{
|
{
|
||||||
private const PREFIX = 'act_persons_filter';
|
private const string PREFIX = 'act_persons_filter';
|
||||||
|
|
||||||
public function __construct(private PersonRenderInterface $personRender) {}
|
public function __construct(private PersonRenderInterface $personRender) {}
|
||||||
|
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user