mirror of
https://gitlab.com/Chill-Projet/chill-bundles.git
synced 2025-10-07 13:59:43 +00:00
Compare commits
139 Commits
425-rename
...
migrate_to
Author | SHA1 | Date | |
---|---|---|---|
34f15378c5 | |||
9a11e12669 | |||
7fceef03f7 | |||
3aa2666646 | |||
8fc19d5c28 | |||
4a08de09b8 | |||
f2922018ce | |||
86422a5946 | |||
aa0db40224 | |||
37b8297567 | |||
32d2bb002b | |||
d8528dceab | |||
067a36d90e | |||
c2294e08a5 | |||
eac5a7f853 | |||
f17ed7a4f8 | |||
d4379cef6a | |||
119d870ac8 | |||
69b59d2ae2 | |||
90f86bf566 | |||
b363bd3425 | |||
6ceb1b9544 | |||
94b5c06d10 | |||
895e1be9ef | |||
94a0eb1a0a | |||
cc8151546a | |||
4bd9e2ba7d | |||
509b2c2590 | |||
3480495be1 | |||
4123aa6550 | |||
835d79a809 | |||
ffeba3818b | |||
f88718e263 | |||
2433737df0 | |||
af7d635714 | |||
34213ac093 | |||
8d6f76a8b7 | |||
941acea4d9 | |||
77bccd5c4e | |||
5ffa945a84 | |||
3a85d940e9 | |||
d2e7640652 | |||
979b2955f6 | |||
da240f5ce5 | |||
f91ab63b3a | |||
2ea8a03698 | |||
21e965449c | |||
88697ae83f | |||
10ba2aaea5 | |||
4b484bd16c | |||
4c28a4c358 | |||
490d546e7a | |||
7a4416109e | |||
0e1a47a49b | |||
26298c48fd | |||
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 | |||
1f79985193 | |||
f4ed7e4254 | |||
382f20c6ad | |||
220110a403 | |||
3fdf494f1c | |||
793dcbfa9a | |||
f96ed1f5eb | |||
8b9b427a1e | |||
2f3caafd10 | |||
fde10ebe71 | |||
b7fc85a2c9 | |||
72b79f9af5 | |||
ab15ec8a4c | |||
c8f1e67fc7 | |||
d5c09c853f | |||
a79b0b85dd | |||
47c1282044 | |||
ce63506a1a | |||
8ab03473b7 | |||
ebaff8d170 | |||
46f9e4968b | |||
344c5a1c3c | |||
50b590ae34 | |||
74fbd6feac | |||
aa69a7ad62 | |||
bc0fae5c2e | |||
1321f5c734 | |||
262b7c5db3 | |||
5283eddb15 | |||
f7b0c49124 | |||
5e32375dfe | |||
5cdfee40fb | |||
6e5dbe4e58 | |||
d884d78617 | |||
a5049ddefb | |||
9fcc1634f5 | |||
d9a47fdee9 | |||
1e5d676aa5 |
6
.changes/unreleased/Fixed-20250909-173639.yaml
Normal file
6
.changes/unreleased/Fixed-20250909-173639.yaml
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
kind: Fixed
|
||||||
|
body: Fix display of 'duplicate' and 'merge' buttons in CRUD templates
|
||||||
|
time: 2025-09-09T17:36:39.960419639+02:00
|
||||||
|
custom:
|
||||||
|
Issue: ""
|
||||||
|
SchemaChange: No schema change
|
@@ -1,6 +0,0 @@
|
|||||||
kind: Fixed
|
|
||||||
body: Fix the rendering of list of StoredObjectVersions, where there are kept version (before converting to pdf) and intermediate versions deleted
|
|
||||||
time: 2025-10-03T22:40:44.685474863+02:00
|
|
||||||
custom:
|
|
||||||
Issue: ""
|
|
||||||
SchemaChange: No schema change
|
|
@@ -1,6 +0,0 @@
|
|||||||
kind: Fixed
|
|
||||||
body: 'Notification: fix editing of sent notification by removing form.addressesEmails, a field that no longer exists'
|
|
||||||
time: 2025-10-06T12:13:15.45905994+02:00
|
|
||||||
custom:
|
|
||||||
Issue: "434"
|
|
||||||
SchemaChange: No schema change
|
|
@@ -1,6 +0,0 @@
|
|||||||
kind: UX
|
|
||||||
body: Change the terms 'cercle' and 'centre' to 'service', and 'territoire' respectively.
|
|
||||||
time: 2025-10-06T12:39:32.514056818+02:00
|
|
||||||
custom:
|
|
||||||
Issue: "425"
|
|
||||||
SchemaChange: No schema change
|
|
@@ -16,5 +16,5 @@
|
|||||||
- ajout d'un filtre et regroupement par usager participant sur les échanges
|
- ajout d'un filtre et regroupement par usager participant sur les échanges
|
||||||
- ajout d'un regroupement: par type d'activité associé au parcours;
|
- ajout d'un regroupement: par type d'activité associé au parcours;
|
||||||
- trie les filtre et regroupements par ordre alphabétique dans els exports
|
- trie les filtre et regroupements par ordre alphabétique dans els exports
|
||||||
- ajout d'un paramètre qui permet de désactiver le filtre par territoire dans les exports
|
- ajout d'un paramètre qui permet de désactiver le filtre par centre dans les exports
|
||||||
- correction de l'interface de date dans les filtres et regroupements "par statut du parcours à la date"
|
- correction de l'interface de date dans les filtres et regroupements "par statut du parcours à la date"
|
||||||
|
@@ -29,7 +29,7 @@
|
|||||||
- ajout d'un regroupement par métier des intervenants sur un parcours;
|
- ajout d'un regroupement par métier des intervenants sur un parcours;
|
||||||
- ajout d'un regroupement par service des intervenants sur un parcours;
|
- ajout d'un regroupement par service des intervenants sur un parcours;
|
||||||
- ajout d'un regroupement par utilisateur intervenant sur un parcours
|
- ajout d'un regroupement par utilisateur intervenant sur un parcours
|
||||||
- ajout d'un regroupement "par territoire de l'usager";
|
- ajout d'un regroupement "par centre de l'usager";
|
||||||
- ajout d'un filtre "par métier intervenant sur un parcours";
|
- ajout d'un filtre "par métier intervenant sur un parcours";
|
||||||
- ajout d'un filtre "par service intervenant sur un parcours";
|
- ajout d'un filtre "par service intervenant sur un parcours";
|
||||||
- création d'un rôle spécifique pour voir les parcours confidentiels (et séparer de celui de la liste qui permet de ré-assigner les parcours en lot);
|
- création d'un rôle spécifique pour voir les parcours confidentiels (et séparer de celui de la liste qui permet de ré-assigner les parcours en lot);
|
||||||
|
@@ -1,8 +0,0 @@
|
|||||||
## v4.4.0 - 2025-09-11
|
|
||||||
### Feature
|
|
||||||
* ([#359](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/359)) Allow the merge of two accompanying period works
|
|
||||||
* ([#369](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/369)) Duplication of a document to another accompanying period work evaluation
|
|
||||||
* ([#359](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/359)) Fusion of two accompanying period works
|
|
||||||
### Fixed
|
|
||||||
* Fix display of 'duplicate' and 'merge' buttons in CRUD templates
|
|
||||||
* Fix saving notification preferences in user's profile
|
|
@@ -1,3 +0,0 @@
|
|||||||
## v4.4.1 - 2025-09-11
|
|
||||||
### Fixed
|
|
||||||
* fix translations in duplicate evaluation document modal and realign close modal button
|
|
@@ -1,3 +0,0 @@
|
|||||||
## v4.4.2 - 2025-09-12
|
|
||||||
### Fixed
|
|
||||||
* Fix document generation and workflow generation do not work on accompanying period work documents
|
|
@@ -1,13 +0,0 @@
|
|||||||
## v4.5.0 - 2025-10-03
|
|
||||||
### Feature
|
|
||||||
* Only allow delete of attachment on workflows that are not final
|
|
||||||
* Move up signature buttons on index workflow page for easier access
|
|
||||||
* Filter out document from attachment list if it is the same as the workflow document
|
|
||||||
* Block edition on attached document on workflow, if the workflow is finalized or sent external
|
|
||||||
* Convert workflow's attached document to pdf while sending them external
|
|
||||||
* After a signature is canceled or rejected, going to a waiting page until the post-process routines apply a workflow transition
|
|
||||||
### Fixed
|
|
||||||
* ([#426](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/426)) Increased the number of required characters when setting a new password in Chill from 9 to 14 - GDPR compliance
|
|
||||||
* Fix permissions on storedObject which are subject by a workflow
|
|
||||||
### DX
|
|
||||||
* Introduce a WaitingScreen component to display a waiting screen
|
|
@@ -1,4 +0,0 @@
|
|||||||
## v4.5.1 - 2025-10-03
|
|
||||||
### Fixed
|
|
||||||
* Add missing javascript dependency
|
|
||||||
* Add exception handling for conversion of attachment on sending external, when documens are already in pdf
|
|
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
|
|
||||||
|
2
.gitignore
vendored
2
.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
|
||||||
|
384
CHANGELOG.md
384
CHANGELOG.md
@@ -6,59 +6,23 @@ adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html),
|
|||||||
and is generated by [Changie](https://github.com/miniscruff/changie).
|
and is generated by [Changie](https://github.com/miniscruff/changie).
|
||||||
|
|
||||||
|
|
||||||
## v4.5.1 - 2025-10-03
|
|
||||||
### Fixed
|
|
||||||
* Add missing javascript dependency
|
|
||||||
* Add exception handling for conversion of attachment on sending external, when documens are already in pdf
|
|
||||||
|
|
||||||
## v4.5.0 - 2025-10-03
|
|
||||||
### Feature
|
|
||||||
* Only allow delete of attachment on workflows that are not final
|
|
||||||
* Move up signature buttons on index workflow page for easier access
|
|
||||||
* Filter out document from attachment list if it is the same as the workflow document
|
|
||||||
* Block edition on attached document on workflow, if the workflow is finalized or sent external
|
|
||||||
* Convert workflow's attached document to pdf while sending them external
|
|
||||||
* After a signature is canceled or rejected, going to a waiting page until the post-process routines apply a workflow transition
|
|
||||||
### Fixed
|
|
||||||
* ([#426](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/426)) Increased the number of required characters when setting a new password in Chill from 9 to 14 - GDPR compliance
|
|
||||||
* Fix permissions on storedObject which are subject by a workflow
|
|
||||||
### DX
|
|
||||||
* Introduce a WaitingScreen component to display a waiting screen
|
|
||||||
|
|
||||||
## v4.4.2 - 2025-09-12
|
|
||||||
### Fixed
|
|
||||||
* Fix document generation and workflow generation do not work on accompanying period work documents
|
|
||||||
|
|
||||||
## v4.4.1 - 2025-09-11
|
|
||||||
### Fixed
|
|
||||||
* fix translations in duplicate evaluation document modal and realign close modal button
|
|
||||||
|
|
||||||
## v4.4.0 - 2025-09-11
|
|
||||||
### Feature
|
|
||||||
* ([#359](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/359)) Allow the merge of two accompanying period works
|
|
||||||
* ([#369](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/369)) Duplication of a document to another accompanying period work evaluation
|
|
||||||
* ([#359](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/359)) Fusion of two accompanying period works
|
|
||||||
### Fixed
|
|
||||||
* Fix display of 'duplicate' and 'merge' buttons in CRUD templates
|
|
||||||
* Fix saving notification preferences in user's profile
|
|
||||||
|
|
||||||
## v4.3.0 - 2025-09-08
|
## v4.3.0 - 2025-09-08
|
||||||
### Feature
|
### Feature
|
||||||
* ([#409](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/409)) Add 45 and 60 min calendar ranges
|
* ([#409](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/409)) Add 45 and 60 min calendar ranges
|
||||||
* Add a command to generate a list of permissions
|
* Add a command to generate a list of permissions
|
||||||
* ([#412](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/412)) Add an absence end date
|
* ([#412](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/412)) Add an absence end date
|
||||||
|
|
||||||
**Schema Change**: Add columns or tables
|
**Schema Change**: Add columns or tables
|
||||||
### Fixed
|
### Fixed
|
||||||
* fix date formatting in calendar range display
|
* fix date formatting in calendar range display
|
||||||
* Change route URL to avoid clash with person duplicate controller method
|
* Change route URL to avoid clash with person duplicate controller method
|
||||||
|
|
||||||
## v4.2.1 - 2025-09-03
|
## v4.2.1 - 2025-09-03
|
||||||
### Fixed
|
### Fixed
|
||||||
* Fix exports to work with DirectExportInterface
|
* Fix exports to work with DirectExportInterface
|
||||||
### DX
|
### DX
|
||||||
* Improve error message when a stored object cannot be written on local disk
|
* Improve error message when a stored object cannot be written on local disk
|
||||||
|
|
||||||
|
|
||||||
## v4.2.0 - 2025-09-02
|
## v4.2.0 - 2025-09-02
|
||||||
### Feature
|
### Feature
|
||||||
@@ -73,26 +37,26 @@ and is generated by [Changie](https://github.com/miniscruff/changie).
|
|||||||
|
|
||||||
## v4.1.0 - 2025-08-26
|
## v4.1.0 - 2025-08-26
|
||||||
### Feature
|
### Feature
|
||||||
* ([#400](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/400)) Add filter to social actions list to filter out actions where current user intervenes
|
* ([#400](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/400)) Add filter to social actions list to filter out actions where current user intervenes
|
||||||
* ([#399](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/399)) Show filters on list pages unfolded by default
|
* ([#399](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/399)) Show filters on list pages unfolded by default
|
||||||
* Expansion of event module with new fields in the creation form: thematic, internal/external animator, responsable, and budget elements. Filtering options in the event list + adapted exports
|
* Expansion of event module with new fields in the creation form: thematic, internal/external animator, responsable, and budget elements. Filtering options in the event list + adapted exports
|
||||||
|
|
||||||
**Schema Change**: Add columns or tables
|
**Schema Change**: Add columns or tables
|
||||||
### Fixed
|
### Fixed
|
||||||
* ([#382](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/382)) adjust display logic for accompanying period dates, include closing date if period is closed.
|
* ([#382](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/382)) adjust display logic for accompanying period dates, include closing date if period is closed.
|
||||||
* ([#384](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/384)) add min and step attributes to integer field in DateIntervalType
|
* ([#384](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/384)) add min and step attributes to integer field in DateIntervalType
|
||||||
### UX
|
### UX
|
||||||
* Limit display of participations in event list
|
* Limit display of participations in event list
|
||||||
|
|
||||||
## v4.0.2 - 2025-07-09
|
## v4.0.2 - 2025-07-09
|
||||||
### Fixed
|
### Fixed
|
||||||
* Fix add missing translation
|
* Fix add missing translation
|
||||||
* Fix the transfer of evaluations and documents during of accompanyingperiodwork
|
* Fix the transfer of evaluations and documents during of accompanyingperiodwork
|
||||||
|
|
||||||
## v4.0.1 - 2025-07-08
|
## v4.0.1 - 2025-07-08
|
||||||
### Fixed
|
### Fixed
|
||||||
* Fix package.json for compilation
|
* Fix package.json for compilation
|
||||||
|
|
||||||
|
|
||||||
## v4.0.0 - 2025-07-08
|
## v4.0.0 - 2025-07-08
|
||||||
### Feature
|
### Feature
|
||||||
@@ -171,30 +135,30 @@ framework:
|
|||||||
|
|
||||||
## v3.12.1 - 2025-06-30
|
## v3.12.1 - 2025-06-30
|
||||||
### Fixed
|
### Fixed
|
||||||
* Fix loading of the list of documents
|
* Fix loading of the list of documents
|
||||||
|
|
||||||
## v3.12.0 - 2025-06-30
|
## v3.12.0 - 2025-06-30
|
||||||
### Feature
|
### Feature
|
||||||
* ([#377](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/377)) Add the document file name to the document title when a user upload a document, unless there is already a document title.
|
* ([#377](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/377)) Add the document file name to the document title when a user upload a document, unless there is already a document title.
|
||||||
* Add desactivation date for social action and issue csv export
|
* Add desactivation date for social action and issue csv export
|
||||||
* Add Emoji and Fullscreen feature to ckeditor configuration
|
* Add Emoji and Fullscreen feature to ckeditor configuration
|
||||||
* ([#321](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/321)) Create editor which allow us to toggle between rich and simple text editor
|
* ([#321](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/321)) Create editor which allow us to toggle between rich and simple text editor
|
||||||
* Do not remove workflow which are automatically canceled after staling for more than 30 days
|
* Do not remove workflow which are automatically canceled after staling for more than 30 days
|
||||||
### Fixed
|
### Fixed
|
||||||
* ([#376](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/376)) trying to prevent bug of typeerror in doc-history + improved display of document history
|
* ([#376](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/376)) trying to prevent bug of typeerror in doc-history + improved display of document history
|
||||||
* ([#381](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/381)) Display previous participation in acc course work even if the person has left the acc course
|
* ([#381](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/381)) Display previous participation in acc course work even if the person has left the acc course
|
||||||
* ([#372](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/372)) Fix display of text in calendar events
|
* ([#372](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/372)) Fix display of text in calendar events
|
||||||
* Add missing translation for user_group.no_user_groups
|
* Add missing translation for user_group.no_user_groups
|
||||||
* Fix admin entity edit actions for event admin entities and activity reason (category) entities
|
* Fix admin entity edit actions for event admin entities and activity reason (category) entities
|
||||||
* ([#392](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/392)) Allow null and cast as string to setContent method for NewsItem
|
* ([#392](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/392)) Allow null and cast as string to setContent method for NewsItem
|
||||||
|
|
||||||
* ([#393](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/393)) Doc Generation: the "dump only" method send the document as an email attachment.
|
* ([#393](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/393)) Doc Generation: the "dump only" method send the document as an email attachment.
|
||||||
### DX
|
### DX
|
||||||
* ([#352](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/352)) Remove dead code for wopi-link module
|
* ([#352](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/352)) Remove dead code for wopi-link module
|
||||||
* Replace library node-sass by sass, and upgrade bootstrap to version 5.3 (yarn upgrade / install is required)
|
* Replace library node-sass by sass, and upgrade bootstrap to version 5.3 (yarn upgrade / install is required)
|
||||||
### UX
|
### UX
|
||||||
* ([#374](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/374)) Remove default filter in_progress for the page 'my tasks'; Allows for new tasks to be displayed upon opening of the page
|
* ([#374](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/374)) Remove default filter in_progress for the page 'my tasks'; Allows for new tasks to be displayed upon opening of the page
|
||||||
* Improve labeling of fields in person resource creation form
|
* Improve labeling of fields in person resource creation form
|
||||||
|
|
||||||
## v3.11.0 - 2025-04-17
|
## v3.11.0 - 2025-04-17
|
||||||
### Feature
|
### Feature
|
||||||
@@ -218,11 +182,11 @@ framework:
|
|||||||
|
|
||||||
## v3.10.3 - 2025-03-18
|
## v3.10.3 - 2025-03-18
|
||||||
### DX
|
### DX
|
||||||
* Eslint fixes
|
* Eslint fixes
|
||||||
|
|
||||||
## v3.10.2 - 2025-03-17
|
## v3.10.2 - 2025-03-17
|
||||||
### Fixed
|
### Fixed
|
||||||
* Replace a ts-expect-error with a ts-ignore
|
* Replace a ts-expect-error with a ts-ignore
|
||||||
|
|
||||||
## v3.10.1 - 2025-03-17
|
## v3.10.1 - 2025-03-17
|
||||||
### DX
|
### DX
|
||||||
@@ -230,37 +194,37 @@ framework:
|
|||||||
|
|
||||||
## v3.10.0 - 2025-03-17
|
## v3.10.0 - 2025-03-17
|
||||||
### Feature
|
### Feature
|
||||||
* ([#363](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/363)) Display social actions grouped per social issue within activity form
|
* ([#363](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/363)) Display social actions grouped per social issue within activity form
|
||||||
### Fixed
|
### Fixed
|
||||||
* ([#362](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/362)) Fix Dependency Injection, which prevented to save the CalendarRange
|
* ([#362](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/362)) Fix Dependency Injection, which prevented to save the CalendarRange
|
||||||
* ([#368](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/368)) fix search query for user groups
|
* ([#368](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/368)) fix search query for user groups
|
||||||
|
|
||||||
## v3.9.2 - 2025-02-27
|
## v3.9.2 - 2025-02-27
|
||||||
### Fixed
|
### Fixed
|
||||||
* Use fetchResults method to fetch all social issues instead of only the first page
|
* Use fetchResults method to fetch all social issues instead of only the first page
|
||||||
|
|
||||||
## v3.9.1 - 2025-02-27
|
## v3.9.1 - 2025-02-27
|
||||||
### Fixed
|
### Fixed
|
||||||
* Fix post/patch request with missing 'type' property for gender
|
* Fix post/patch request with missing 'type' property for gender
|
||||||
|
|
||||||
## v3.9.0 - 2025-02-27
|
## v3.9.0 - 2025-02-27
|
||||||
### Feature
|
### Feature
|
||||||
* ([#349](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/349)) Suggest all referrers within actions of the accompanying period when creating an activity
|
* ([#349](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/349)) Suggest all referrers within actions of the accompanying period when creating an activity
|
||||||
* ([#343](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/343)) Add possibility to export a csv with all social issues and social actions
|
* ([#343](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/343)) Add possibility to export a csv with all social issues and social actions
|
||||||
* ([#360](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/360)) Restore document to previous kept version when a workflow is canceled
|
* ([#360](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/360)) Restore document to previous kept version when a workflow is canceled
|
||||||
* ([#341](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/341)) Add a list of third parties from within the admin (csv download)
|
* ([#341](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/341)) Add a list of third parties from within the admin (csv download)
|
||||||
### Fixed
|
### Fixed
|
||||||
* fix generation of document with accompanying period context, and list of activities and works
|
* fix generation of document with accompanying period context, and list of activities and works
|
||||||
### DX
|
### DX
|
||||||
* ([#333](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/333)) Create an unique source of trust for translations
|
* ([#333](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/333)) Create an unique source of trust for translations
|
||||||
|
|
||||||
## v3.8.2 - 2025-02-10
|
## v3.8.2 - 2025-02-10
|
||||||
### Fixed
|
### Fixed
|
||||||
* ([#358](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/358)) Remove "filter" button on list of documents in the workflow's "add attachement" modal
|
* ([#358](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/358)) Remove "filter" button on list of documents in the workflow's "add attachement" modal
|
||||||
|
|
||||||
## v3.8.1 - 2025-02-05
|
## v3.8.1 - 2025-02-05
|
||||||
### Fixed
|
### Fixed
|
||||||
* Fix household link in the parcours banner
|
* Fix household link in the parcours banner
|
||||||
|
|
||||||
## v3.8.0 - 2025-02-03
|
## v3.8.0 - 2025-02-03
|
||||||
### Feature
|
### Feature
|
||||||
@@ -276,7 +240,7 @@ framework:
|
|||||||
|
|
||||||
## v3.7.1 - 2025-01-21
|
## v3.7.1 - 2025-01-21
|
||||||
### Fixed
|
### Fixed
|
||||||
* Fix legacy configuration processor for notifier component
|
* Fix legacy configuration processor for notifier component
|
||||||
|
|
||||||
## v3.7.0 - 2025-01-21
|
## v3.7.0 - 2025-01-21
|
||||||
### Feature
|
### Feature
|
||||||
@@ -343,33 +307,33 @@ chill_main:
|
|||||||
|
|
||||||
## v3.6.0 - 2025-01-16
|
## v3.6.0 - 2025-01-16
|
||||||
### Feature
|
### Feature
|
||||||
* Importer for addresses does not fails when the postal code is not found with some addresses, and compute a recap list of all addresses that could not be imported. This recap list can be send by email.
|
* Importer for addresses does not fails when the postal code is not found with some addresses, and compute a recap list of all addresses that could not be imported. This recap list can be send by email.
|
||||||
* ([#346](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/346)) Create a driver for storing documents on disk (instead of openstack object store)
|
* ([#346](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/346)) Create a driver for storing documents on disk (instead of openstack object store)
|
||||||
|
|
||||||
* Add address importer from french Base d'Adresse Nationale (BAN)
|
* Add address importer from french Base d'Adresse Nationale (BAN)
|
||||||
* ([#343](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/343)) Add csv export for social issues and social actions
|
* ([#343](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/343)) Add csv export for social issues and social actions
|
||||||
### Fixed
|
### Fixed
|
||||||
* Export: fix missing alias in activity between certain dates filter. Condition added for alias.
|
* Export: fix missing alias in activity between certain dates filter. Condition added for alias.
|
||||||
|
|
||||||
## v3.5.3 - 2025-01-07
|
## v3.5.3 - 2025-01-07
|
||||||
### Fixed
|
### Fixed
|
||||||
* Fix the EntityToJsonTransformer to return an empty array if the value is ""
|
* Fix the EntityToJsonTransformer to return an empty array if the value is ""
|
||||||
|
|
||||||
## v3.5.2 - 2024-12-19
|
## v3.5.2 - 2024-12-19
|
||||||
### Fixed
|
### Fixed
|
||||||
* ([#345](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/345)) Export: activity filtering of users that were associated to an activity between certain dates. Results contained activities that were not within the specified date range"
|
* ([#345](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/345)) Export: activity filtering of users that were associated to an activity between certain dates. Results contained activities that were not within the specified date range"
|
||||||
|
|
||||||
## v3.5.1 - 2024-12-16
|
## v3.5.1 - 2024-12-16
|
||||||
### Fixed
|
### Fixed
|
||||||
* Filiation: fix the display of the gender label in the graph
|
* Filiation: fix the display of the gender label in the graph
|
||||||
* Wrap handling of PdfSignedMessage into transactions
|
* Wrap handling of PdfSignedMessage into transactions
|
||||||
|
|
||||||
## v3.5.0 - 2024-12-09
|
## v3.5.0 - 2024-12-09
|
||||||
### Feature
|
### Feature
|
||||||
* ([#318](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/318)) Show all the pages of the documents in the signature app
|
* ([#318](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/318)) Show all the pages of the documents in the signature app
|
||||||
### Fixed
|
### Fixed
|
||||||
* Wrap the signature's change state into a transaction, to avoid race conditions
|
* Wrap the signature's change state into a transaction, to avoid race conditions
|
||||||
* Fix display of gender label
|
* Fix display of gender label
|
||||||
|
|
||||||
## v3.4.3 - 2024-12-05
|
## v3.4.3 - 2024-12-05
|
||||||
### Fixed
|
### Fixed
|
||||||
@@ -378,76 +342,76 @@ chill_main:
|
|||||||
|
|
||||||
## v3.4.2 - 2024-12-05
|
## v3.4.2 - 2024-12-05
|
||||||
### Fixed
|
### Fixed
|
||||||
* ([#329](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/329)) Fix the serialization of gender for the generation of documents
|
* ([#329](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/329)) Fix the serialization of gender for the generation of documents
|
||||||
* ([#337](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/337)) Enforce unique contraint on activity storedobject
|
* ([#337](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/337)) Enforce unique contraint on activity storedobject
|
||||||
### DX
|
### DX
|
||||||
* ([#310](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/310)) Clean migrations, to reduce the number of bloated migration when running diff on schema
|
* ([#310](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/310)) Clean migrations, to reduce the number of bloated migration when running diff on schema
|
||||||
|
|
||||||
## v3.4.1 - 2024-11-22
|
## v3.4.1 - 2024-11-22
|
||||||
### Fixed
|
### Fixed
|
||||||
* Set the workflow's title to notification content and subject
|
* Set the workflow's title to notification content and subject
|
||||||
|
|
||||||
## v3.4.0 - 2024-11-20
|
## v3.4.0 - 2024-11-20
|
||||||
### Feature
|
### Feature
|
||||||
* ([#314](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/314)) Admin: improve document type admin form with a select field for related class.
|
* ([#314](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/314)) Admin: improve document type admin form with a select field for related class.
|
||||||
Admin: Allow administrator to assign multiple group centers in one go to a user.
|
Admin: Allow administrator to assign multiple group centers in one go to a user.
|
||||||
|
|
||||||
## v3.3.0 - 2024-11-20
|
## v3.3.0 - 2024-11-20
|
||||||
### Feature
|
### Feature
|
||||||
* Electronic signature
|
* Electronic signature
|
||||||
|
|
||||||
Implementation of the electronic signature for documents within chill.
|
Implementation of the electronic signature for documents within chill.
|
||||||
* ([#286](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/286)) The behavoir of the voters for stored objects is adjusted so as to limit edit and delete possibilities to users related to the activity, social action or workflow entity.
|
* ([#286](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/286)) The behavoir of the voters for stored objects is adjusted so as to limit edit and delete possibilities to users related to the activity, social action or workflow entity.
|
||||||
* ([#288](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/288)) Metadata form added for person signatures
|
* ([#288](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/288)) Metadata form added for person signatures
|
||||||
* Add a signature step in workflow, which allow to apply an electronic signature on documents
|
* Add a signature step in workflow, which allow to apply an electronic signature on documents
|
||||||
* Keep an history of each version of a stored object.
|
* Keep an history of each version of a stored object.
|
||||||
* Add a "send external" step in workflow, which allow to send stored objects and other elements to remote people, by sending them a public url
|
* Add a "send external" step in workflow, which allow to send stored objects and other elements to remote people, by sending them a public url
|
||||||
### Fixed
|
### Fixed
|
||||||
* Adjust household list export to include households even if their address is NULL
|
* Adjust household list export to include households even if their address is NULL
|
||||||
* Remove validation of date string on deathDate
|
* Remove validation of date string on deathDate
|
||||||
|
|
||||||
## v3.2.4 - 2024-11-06
|
## v3.2.4 - 2024-11-06
|
||||||
### Fixed
|
### Fixed
|
||||||
* Fix compilation of chill assets
|
* Fix compilation of chill assets
|
||||||
|
|
||||||
## v3.2.3 - 2024-11-05
|
## v3.2.3 - 2024-11-05
|
||||||
### Fixed
|
### Fixed
|
||||||
* ([#315](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/315)) Fix display of accompanying period work referrers. Only current referrers should be displayed.
|
* ([#315](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/315)) Fix display of accompanying period work referrers. Only current referrers should be displayed.
|
||||||
Fix color of Chill footer
|
Fix color of Chill footer
|
||||||
|
|
||||||
## v3.2.2 - 2024-10-31
|
## v3.2.2 - 2024-10-31
|
||||||
### Fixed
|
### Fixed
|
||||||
* Fix gender translation for unknown
|
* Fix gender translation for unknown
|
||||||
|
|
||||||
## v3.2.1 - 2024-10-31
|
## v3.2.1 - 2024-10-31
|
||||||
### Fixed
|
### Fixed
|
||||||
* Add the possibility of unknown to the gender entity
|
* Add the possibility of unknown to the gender entity
|
||||||
* Fix the fusion of person doubles by excluding accompanyingPeriod work entities to be deleted. They are moved instead.
|
* Fix the fusion of person doubles by excluding accompanyingPeriod work entities to be deleted. They are moved instead.
|
||||||
|
|
||||||
## v3.2.0 - 2024-10-30
|
## v3.2.0 - 2024-10-30
|
||||||
### Feature
|
### Feature
|
||||||
* Introduce a gender entity
|
* Introduce a gender entity
|
||||||
|
|
||||||
## v3.1.1 - 2024-10-01
|
## v3.1.1 - 2024-10-01
|
||||||
### Fixed
|
### Fixed
|
||||||
* ([#308](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/308)) Show only the current referrer in the page "show" for an accompanying period workf
|
* ([#308](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/308)) Show only the current referrer in the page "show" for an accompanying period workf
|
||||||
* ([#309](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/309)) Correctly compute the grouping by referrer aggregator
|
* ([#309](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/309)) Correctly compute the grouping by referrer aggregator
|
||||||
|
|
||||||
* Fixed typing of custom field long choice and custom field group
|
* Fixed typing of custom field long choice and custom field group
|
||||||
|
|
||||||
## v3.1.0 - 2024-08-30
|
## v3.1.0 - 2024-08-30
|
||||||
### Feature
|
### Feature
|
||||||
* Add export aggregator to aggregate activities by household + filter persons that are not part of an accompanyingperiod during a certain timeframe.
|
* Add export aggregator to aggregate activities by household + filter persons that are not part of an accompanyingperiod during a certain timeframe.
|
||||||
|
|
||||||
## v3.0.0 - 2024-08-26
|
## v3.0.0 - 2024-08-26
|
||||||
### Fixed
|
### Fixed
|
||||||
* Fix delete action for accompanying periods in draft state
|
* Fix delete action for accompanying periods in draft state
|
||||||
* Fix connection to azure when making an calendar event in chill
|
* Fix connection to azure when making an calendar event in chill
|
||||||
* CollectionType js fixes for remove button and adding multiple entries
|
* CollectionType js fixes for remove button and adding multiple entries
|
||||||
|
|
||||||
## v2.24.0 - 2024-09-11
|
## v2.24.0 - 2024-09-11
|
||||||
### Feature
|
### Feature
|
||||||
* ([#306](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/306)) When a document is converted or downloaded in the browser, this document is removed from the browser memory after 45s. Future click on the button re-download the document.
|
* ([#306](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/306)) When a document is converted or downloaded in the browser, this document is removed from the browser memory after 45s. Future click on the button re-download the document.
|
||||||
|
|
||||||
## v2.23.0 - 2024-07-23 & 2024-07-19
|
## v2.23.0 - 2024-07-23 & 2024-07-19
|
||||||
### Feature
|
### Feature
|
||||||
@@ -482,13 +446,13 @@ Fix color of Chill footer
|
|||||||
|
|
||||||
## v2.22.2 - 2024-07-03
|
## v2.22.2 - 2024-07-03
|
||||||
### Fixed
|
### Fixed
|
||||||
* Remove scope required for event participation stats
|
* Remove scope required for event participation stats
|
||||||
|
|
||||||
## v2.22.1 - 2024-07-01
|
## v2.22.1 - 2024-07-01
|
||||||
### Fixed
|
### Fixed
|
||||||
* Remove debug word
|
* Remove debug word
|
||||||
### DX
|
### DX
|
||||||
* Add a command for reading official address DB from Luxembourg and update chill addresses
|
* Add a command for reading official address DB from Luxembourg and update chill addresses
|
||||||
|
|
||||||
## v2.22.0 - 2024-06-25
|
## v2.22.0 - 2024-06-25
|
||||||
### Feature
|
### Feature
|
||||||
@@ -531,7 +495,7 @@ Fix color of Chill footer
|
|||||||
|
|
||||||
## v2.20.1 - 2024-06-05
|
## v2.20.1 - 2024-06-05
|
||||||
### Fixed
|
### Fixed
|
||||||
* Do not allow StoredObjectCreated for edit and convert buttons
|
* Do not allow StoredObjectCreated for edit and convert buttons
|
||||||
|
|
||||||
## v2.20.0 - 2024-06-05
|
## v2.20.0 - 2024-06-05
|
||||||
### Fixed
|
### Fixed
|
||||||
@@ -578,96 +542,96 @@ Fix color of Chill footer
|
|||||||
|
|
||||||
## v2.18.2 - 2024-04-12
|
## v2.18.2 - 2024-04-12
|
||||||
### Fixed
|
### Fixed
|
||||||
* ([#250](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/250)) Postal codes import : fix the source URL and the keys to handle each record
|
* ([#250](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/250)) Postal codes import : fix the source URL and the keys to handle each record
|
||||||
|
|
||||||
## v2.18.1 - 2024-03-26
|
## v2.18.1 - 2024-03-26
|
||||||
### Fixed
|
### Fixed
|
||||||
* Fix layout issue in document generation for admin (minor)
|
* Fix layout issue in document generation for admin (minor)
|
||||||
|
|
||||||
## v2.18.0 - 2024-03-26
|
## v2.18.0 - 2024-03-26
|
||||||
### Feature
|
### Feature
|
||||||
* ([#268](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/268)) Improve admin UX to configure document templates for document generation
|
* ([#268](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/268)) Improve admin UX to configure document templates for document generation
|
||||||
### Fixed
|
### Fixed
|
||||||
* ([#267](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/267)) Fix the join between job and user in the user list (admin): show only the current user job
|
* ([#267](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/267)) Fix the join between job and user in the user list (admin): show only the current user job
|
||||||
|
|
||||||
## v2.17.0 - 2024-03-19
|
## v2.17.0 - 2024-03-19
|
||||||
### Feature
|
### Feature
|
||||||
* ([#237](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/237)) New export filter for social actions with an evaluation created between two dates
|
* ([#237](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/237)) New export filter for social actions with an evaluation created between two dates
|
||||||
* ([#258](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/258)) In the list of accompangying period, add the list of person's centers and the duration of the course
|
* ([#258](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/258)) In the list of accompangying period, add the list of person's centers and the duration of the course
|
||||||
* ([#238](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/238)) Allow to customize list person with new fields
|
* ([#238](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/238)) Allow to customize list person with new fields
|
||||||
* ([#159](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/159)) Admin can publish news on the homepage
|
* ([#159](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/159)) Admin can publish news on the homepage
|
||||||
### Fixed
|
### Fixed
|
||||||
* ([#264](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/264)) Fix languages: load the languages in all availables languages configured for Chill
|
* ([#264](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/264)) Fix languages: load the languages in all availables languages configured for Chill
|
||||||
* ([#259](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/259)) Keep a consistent behaviour between the filtering of activities within the document generation (model "accompanying period with activities"), and the same filter in the list of activities for an accompanying period
|
* ([#259](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/259)) Keep a consistent behaviour between the filtering of activities within the document generation (model "accompanying period with activities"), and the same filter in the list of activities for an accompanying period
|
||||||
|
|
||||||
## v2.16.3 - 2024-02-26
|
## v2.16.3 - 2024-02-26
|
||||||
### Fixed
|
### Fixed
|
||||||
* ([#236](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/236)) Fix translation of user job -> 'service' must be 'métier'
|
* ([#236](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/236)) Fix translation of user job -> 'service' must be 'métier'
|
||||||
### UX
|
### UX
|
||||||
* ([#232](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/232)) Order user jobs and services alphabetically in export filters
|
* ([#232](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/232)) Order user jobs and services alphabetically in export filters
|
||||||
|
|
||||||
## v2.16.2 - 2024-02-21
|
## v2.16.2 - 2024-02-21
|
||||||
### Fixed
|
### Fixed
|
||||||
* Check for null values in closing motive of parcours d'accompagnement for correct rendering of template
|
* Check for null values in closing motive of parcours d'accompagnement for correct rendering of template
|
||||||
|
|
||||||
## v2.16.1 - 2024-02-09
|
## v2.16.1 - 2024-02-09
|
||||||
### Fixed
|
### Fixed
|
||||||
* Force bootstrap version to avoid error in builds with newer version
|
* Force bootstrap version to avoid error in builds with newer version
|
||||||
|
|
||||||
## v2.16.0 - 2024-02-08
|
## v2.16.0 - 2024-02-08
|
||||||
### Feature
|
### Feature
|
||||||
* ([#231](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/231)) Create new filter for persons having a participation in an accompanying period during a certain time span
|
* ([#231](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/231)) Create new filter for persons having a participation in an accompanying period during a certain time span
|
||||||
* ([#241](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/241)) [Export][List of accompanyign period] Add two columns: the list of persons participating to the period, and their ids
|
* ([#241](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/241)) [Export][List of accompanyign period] Add two columns: the list of persons participating to the period, and their ids
|
||||||
* ([#244](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/244)) Add capability to generate export about change of steps of accompanying period, and generate exports for this
|
* ([#244](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/244)) Add capability to generate export about change of steps of accompanying period, and generate exports for this
|
||||||
* ([#253](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/253)) Export: group accompanying period by person participating
|
* ([#253](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/253)) Export: group accompanying period by person participating
|
||||||
* ([#243](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/243)) Export: add filter for courses not linked to a reference address
|
* ([#243](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/243)) Export: add filter for courses not linked to a reference address
|
||||||
* ([#229](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/229)) Allow to group activities linked with accompanying period by reason
|
* ([#229](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/229)) Allow to group activities linked with accompanying period by reason
|
||||||
* ([#115](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/115)) Prevent social work to be saved when another user edited conccurently the social work
|
* ([#115](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/115)) Prevent social work to be saved when another user edited conccurently the social work
|
||||||
* Modernize the event bundle, with some new fields and multiple improvements
|
* Modernize the event bundle, with some new fields and multiple improvements
|
||||||
### Fixed
|
### Fixed
|
||||||
* ([#220](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/220)) Fix error in logs about wrong typing of eventArgs in onEditNotificationComment method
|
* ([#220](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/220)) Fix error in logs about wrong typing of eventArgs in onEditNotificationComment method
|
||||||
* ([#256](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/256)) Fix the conditions upon which social actions should be optional or required in relation to social issues within the activity creation form
|
* ([#256](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/256)) Fix the conditions upon which social actions should be optional or required in relation to social issues within the activity creation form
|
||||||
### UX
|
### UX
|
||||||
* ([#260](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/260)) Order list of centers alphabetically in dropdown 'user' section admin.
|
* ([#260](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/260)) Order list of centers alphabetically in dropdown 'user' section admin.
|
||||||
|
|
||||||
## v2.15.2 - 2024-01-11
|
## v2.15.2 - 2024-01-11
|
||||||
### Fixed
|
### Fixed
|
||||||
* Fix the id_seq used when creating a new accompanying period participation during fusion of two person files
|
* Fix the id_seq used when creating a new accompanying period participation during fusion of two person files
|
||||||
### DX
|
### DX
|
||||||
* Set placeholder to False for expanded EntityType form fields where required is set to False.
|
* Set placeholder to False for expanded EntityType form fields where required is set to False.
|
||||||
|
|
||||||
## v2.15.1 - 2023-12-20
|
## v2.15.1 - 2023-12-20
|
||||||
### Fixed
|
### Fixed
|
||||||
* Fix the household export query to exclude accompanying periods that are in draft state.
|
* Fix the household export query to exclude accompanying periods that are in draft state.
|
||||||
### DX
|
### DX
|
||||||
* ([#167](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/167)) Fixed readthedocs compilation by updating readthedocs config file and requirements for Sphinx
|
* ([#167](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/167)) Fixed readthedocs compilation by updating readthedocs config file and requirements for Sphinx
|
||||||
|
|
||||||
## v2.15.0 - 2023-12-11
|
## v2.15.0 - 2023-12-11
|
||||||
### Feature
|
### Feature
|
||||||
* ([#191](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/191)) Add export "number of household associate with an exchange"
|
* ([#191](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/191)) Add export "number of household associate with an exchange"
|
||||||
* ([#235](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/235)) Export: add dates on the filter "filter course by activity type"
|
* ([#235](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/235)) Export: add dates on the filter "filter course by activity type"
|
||||||
### Fixed
|
### Fixed
|
||||||
* ([#214](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/214)) Fix error when posting an empty comment on an accompanying period.
|
* ([#214](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/214)) Fix error when posting an empty comment on an accompanying period.
|
||||||
* ([#233](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/233)) Fix "filter evaluation by evaluation type" (and add select2 to the list of evaluation types to pick)
|
* ([#233](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/233)) Fix "filter evaluation by evaluation type" (and add select2 to the list of evaluation types to pick)
|
||||||
* ([#234](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/234)) Fix "filter aside activity by date"
|
* ([#234](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/234)) Fix "filter aside activity by date"
|
||||||
|
|
||||||
* ([#228](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/228)) Fix export of activity for people created before the introduction of the createdAt column on person (during v1)
|
* ([#228](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/228)) Fix export of activity for people created before the introduction of the createdAt column on person (during v1)
|
||||||
* ([#246](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/246)) Do not show activities, evaluations and social work when associated to a confidential accompanying period, except for the users which are allowed to see them
|
* ([#246](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/246)) Do not show activities, evaluations and social work when associated to a confidential accompanying period, except for the users which are allowed to see them
|
||||||
|
|
||||||
## v2.14.1 - 2023-11-29
|
## v2.14.1 - 2023-11-29
|
||||||
### Fixed
|
### Fixed
|
||||||
* Export: fix list person with custom fields
|
* Export: fix list person with custom fields
|
||||||
* ([#100](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/100)) Add a paginator to budget elements (resource and charge types) in the admin
|
* ([#100](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/100)) Add a paginator to budget elements (resource and charge types) in the admin
|
||||||
* Fix error in ListEvaluation when "handling agents" are alone
|
* Fix error in ListEvaluation when "handling agents" are alone
|
||||||
|
|
||||||
## v2.14.0 - 2023-11-24
|
## v2.14.0 - 2023-11-24
|
||||||
### Feature
|
### Feature
|
||||||
* ([#161](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/161)) Export: in filter "Filter accompanying period work (social action) by type, goal and result", order the items alphabetically or with the defined order
|
* ([#161](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/161)) Export: in filter "Filter accompanying period work (social action) by type, goal and result", order the items alphabetically or with the defined order
|
||||||
### Fixed
|
### Fixed
|
||||||
* ([#141](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/141)) Export: on filter "action by type goals, and results", restore the fields when editing a saved export
|
* ([#141](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/141)) Export: on filter "action by type goals, and results", restore the fields when editing a saved export
|
||||||
* ([#219](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/219)) Export: fix the list of accompanying period work, when the "calc date" is null
|
* ([#219](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/219)) Export: fix the list of accompanying period work, when the "calc date" is null
|
||||||
* ([#222](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/222)) Fix rendering of custom fields
|
* ([#222](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/222)) Fix rendering of custom fields
|
||||||
* Fix various errors in custom fields administration
|
* Fix various errors in custom fields administration
|
||||||
|
|
||||||
## v2.13.0 - 2023-11-21
|
## v2.13.0 - 2023-11-21
|
||||||
### Feature
|
### Feature
|
||||||
@@ -681,7 +645,7 @@ Fix color of Chill footer
|
|||||||
|
|
||||||
## v2.12.1 - 2023-11-16
|
## v2.12.1 - 2023-11-16
|
||||||
### Fixed
|
### Fixed
|
||||||
* ([#208](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/208)) Export: fix loading of form for "filter action by type, goal and result"
|
* ([#208](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/208)) Export: fix loading of form for "filter action by type, goal and result"
|
||||||
|
|
||||||
## v2.12.0 - 2023-11-15
|
## v2.12.0 - 2023-11-15
|
||||||
### Feature
|
### Feature
|
||||||
@@ -712,36 +676,36 @@ Fix color of Chill footer
|
|||||||
|
|
||||||
## v2.11.0 - 2023-11-07
|
## v2.11.0 - 2023-11-07
|
||||||
### Feature
|
### Feature
|
||||||
* ([#194](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/194)) Export: add a filter "filter activity by creator job"
|
* ([#194](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/194)) Export: add a filter "filter activity by creator job"
|
||||||
### Fixed
|
### Fixed
|
||||||
* ([#185](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/185)) Export: fix "group accompanying period by geographical unit": take into account the accompanying periods when the period is not located within an unit
|
* ([#185](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/185)) Export: fix "group accompanying period by geographical unit": take into account the accompanying periods when the period is not located within an unit
|
||||||
* Fix "group activity by creator job" aggregator
|
* Fix "group activity by creator job" aggregator
|
||||||
|
|
||||||
## v2.10.6 - 2023-11-07
|
## v2.10.6 - 2023-11-07
|
||||||
### Fixed
|
### Fixed
|
||||||
* ([#182](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/182)) Fix merging of double person files. Adjustement relationship sql statement
|
* ([#182](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/182)) Fix merging of double person files. Adjustement relationship sql statement
|
||||||
* ([#185](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/185)) Export: fix aggregator by geographical unit on person: avoid inconsistencies
|
* ([#185](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/185)) Export: fix aggregator by geographical unit on person: avoid inconsistencies
|
||||||
|
|
||||||
## v2.10.5 - 2023-11-05
|
## v2.10.5 - 2023-11-05
|
||||||
### Fixed
|
### Fixed
|
||||||
* ([#183](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/183)) Fix "problem during download" on some filters, which used a wrong data type
|
* ([#183](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/183)) Fix "problem during download" on some filters, which used a wrong data type
|
||||||
* ([#184](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/184)) Fix filter "activity by date"
|
* ([#184](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/184)) Fix filter "activity by date"
|
||||||
|
|
||||||
## v2.10.4 - 2023-10-26
|
## v2.10.4 - 2023-10-26
|
||||||
### Fixed
|
### Fixed
|
||||||
* Fix null value constraint errors when merging relationships in doubles
|
* Fix null value constraint errors when merging relationships in doubles
|
||||||
|
|
||||||
## v2.10.3 - 2023-10-26
|
## v2.10.3 - 2023-10-26
|
||||||
### Fixed
|
### Fixed
|
||||||
* ([#175](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/175)) Replace old method of getting translator with injection of translatorInterface
|
* ([#175](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/175)) Replace old method of getting translator with injection of translatorInterface
|
||||||
|
|
||||||
## v2.10.2 - 2023-10-26
|
## v2.10.2 - 2023-10-26
|
||||||
### Fixed
|
### Fixed
|
||||||
* ([#175](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/175)) Use injection of translator instead of ->get().
|
* ([#175](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/175)) Use injection of translator instead of ->get().
|
||||||
|
|
||||||
## v2.10.1 - 2023-10-24
|
## v2.10.1 - 2023-10-24
|
||||||
### Fixed
|
### Fixed
|
||||||
* Fix export controller when generating an export without any data in session
|
* Fix export controller when generating an export without any data in session
|
||||||
|
|
||||||
## v2.10.0 - 2023-10-24
|
## v2.10.0 - 2023-10-24
|
||||||
### Feature
|
### Feature
|
||||||
@@ -761,16 +725,16 @@ Fix color of Chill footer
|
|||||||
- ajout d'un filtre et regroupement par usager participant sur les échanges
|
- ajout d'un filtre et regroupement par usager participant sur les échanges
|
||||||
- ajout d'un regroupement: par type d'activité associé au parcours;
|
- ajout d'un regroupement: par type d'activité associé au parcours;
|
||||||
- trie les filtre et regroupements par ordre alphabétique dans els exports
|
- trie les filtre et regroupements par ordre alphabétique dans els exports
|
||||||
- ajout d'un paramètre qui permet de désactiver le filtre par territoire dans les exports
|
- ajout d'un paramètre qui permet de désactiver le filtre par centre dans les exports
|
||||||
- correction de l'interface de date dans les filtres et regroupements "par statut du parcours à la date"
|
- correction de l'interface de date dans les filtres et regroupements "par statut du parcours à la date"
|
||||||
|
|
||||||
## v2.9.2 - 2023-10-17
|
## v2.9.2 - 2023-10-17
|
||||||
### Fixed
|
### Fixed
|
||||||
* Fix possible null values in string's entities
|
* Fix possible null values in string's entities
|
||||||
|
|
||||||
## v2.9.1 - 2023-10-17
|
## v2.9.1 - 2023-10-17
|
||||||
### Fixed
|
### Fixed
|
||||||
* Fix the handling of activity form when editing or creating an activity in an accompanying period with multiple centers
|
* Fix the handling of activity form when editing or creating an activity in an accompanying period with multiple centers
|
||||||
|
|
||||||
## v2.9.0 - 2023-10-17
|
## v2.9.0 - 2023-10-17
|
||||||
### Feature
|
### Feature
|
||||||
@@ -818,57 +782,57 @@ But if you do not need this any more, you must ensure that the configuration key
|
|||||||
|
|
||||||
## v2.7.0 - 2023-09-27
|
## v2.7.0 - 2023-09-27
|
||||||
### Feature
|
### Feature
|
||||||
* ([#155](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/155)) The regulation list load accompanying periods by exact postal code (address associated with postal code), and not by the content of the postal code (postal code with same code's string)
|
* ([#155](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/155)) The regulation list load accompanying periods by exact postal code (address associated with postal code), and not by the content of the postal code (postal code with same code's string)
|
||||||
### Fixed
|
### Fixed
|
||||||
* ([#142](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/142)) Fix the label of filter ActivityTypeFilter to a more obvious one
|
* ([#142](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/142)) Fix the label of filter ActivityTypeFilter to a more obvious one
|
||||||
* ([#140](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/140)) [export] Fix association of filter "filter location by type" which did not appears on "list of activities"
|
* ([#140](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/140)) [export] Fix association of filter "filter location by type" which did not appears on "list of activities"
|
||||||
|
|
||||||
## v2.6.3 - 2023-09-19
|
## v2.6.3 - 2023-09-19
|
||||||
### Fixed
|
### Fixed
|
||||||
* Remove id property from document
|
* Remove id property from document
|
||||||
mappedsuperclass
|
mappedsuperclass
|
||||||
|
|
||||||
## v2.6.2 - 2023-09-18
|
## v2.6.2 - 2023-09-18
|
||||||
### Fixed
|
### Fixed
|
||||||
* Fix doctrine mapping of AbstractTaskPlaceEvent and SingleTaskPlaceEvent: id property moved.
|
* Fix doctrine mapping of AbstractTaskPlaceEvent and SingleTaskPlaceEvent: id property moved.
|
||||||
|
|
||||||
## v2.6.1 - 2023-09-14
|
## v2.6.1 - 2023-09-14
|
||||||
### Fixed
|
### Fixed
|
||||||
* Filter out active centers in exports, which uses a different PickCenterType.
|
* Filter out active centers in exports, which uses a different PickCenterType.
|
||||||
|
|
||||||
## v2.6.0 - 2023-09-14
|
## v2.6.0 - 2023-09-14
|
||||||
### Feature
|
### Feature
|
||||||
* ([#133](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/133)) Add locations in Aside Activity. By default, suggest user location, otherwise a select with all locations.
|
* ([#133](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/133)) Add locations in Aside Activity. By default, suggest user location, otherwise a select with all locations.
|
||||||
* ([#133](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/133)) Adapt Aside Activity exports: display location, filter by location, group by location
|
* ([#133](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/133)) Adapt Aside Activity exports: display location, filter by location, group by location
|
||||||
* Use the CRUD controller for center entity + add the isActive property to be able to mask instances of Center that are no longer in use.
|
* Use the CRUD controller for center entity + add the isActive property to be able to mask instances of Center that are no longer in use.
|
||||||
### Fixed
|
### Fixed
|
||||||
* ([#107](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/107)) reinstate the fusion of duplicate persons
|
* ([#107](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/107)) reinstate the fusion of duplicate persons
|
||||||
* Missing translation in Work Actions exports
|
* Missing translation in Work Actions exports
|
||||||
* Reimplement the mission type filter on tasks, only for instances that have a config parameter indicating true for this.
|
* Reimplement the mission type filter on tasks, only for instances that have a config parameter indicating true for this.
|
||||||
* ([#135](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/135)) Corrects a typing error in 2 filters, which caused an
|
* ([#135](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/135)) Corrects a typing error in 2 filters, which caused an
|
||||||
error when trying to reedit a saved export
|
error when trying to reedit a saved export
|
||||||
|
|
||||||
|
|
||||||
* ([#136](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/136)) [household] when moving a person to a sharing position to a not-sharing position on the same household on the same date, remove the previous household membership on the same household. This fix duplicate member.
|
* ([#136](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/136)) [household] when moving a person to a sharing position to a not-sharing position on the same household on the same date, remove the previous household membership on the same household. This fix duplicate member.
|
||||||
* Add missing translation for comment field placeholder in repositionning household editor.
|
* Add missing translation for comment field placeholder in repositionning household editor.
|
||||||
|
|
||||||
* Do not send an email to creator twice when adding a comment to a notification
|
* Do not send an email to creator twice when adding a comment to a notification
|
||||||
* ([#107](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/107)) Fix gestion doublon functionality to work with chill bundles v2
|
* ([#107](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/107)) Fix gestion doublon functionality to work with chill bundles v2
|
||||||
### UX
|
### UX
|
||||||
* Uniformize badge-person in household banner (background, size)
|
* Uniformize badge-person in household banner (background, size)
|
||||||
|
|
||||||
|
|
||||||
## v2.5.3 - 2023-07-20
|
## v2.5.3 - 2023-07-20
|
||||||
### Fixed
|
### Fixed
|
||||||
* ([#132](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/132)) Rendez-vous documents created would appear in all documents lists of all persons with an accompanying period. Or statements are now added to the where clause to filter out documents that come from unrelated accompanying period/ or person rendez-vous.
|
* ([#132](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/132)) Rendez-vous documents created would appear in all documents lists of all persons with an accompanying period. Or statements are now added to the where clause to filter out documents that come from unrelated accompanying period/ or person rendez-vous.
|
||||||
|
|
||||||
## v2.5.2 - 2023-07-15
|
## v2.5.2 - 2023-07-15
|
||||||
### Fixed
|
### Fixed
|
||||||
* [Collate Address] when updating address point, do not use the point's address reference if the similarity is below the requirement for associating the address reference and the address (it uses the postcode's center instead)
|
* [Collate Address] when updating address point, do not use the point's address reference if the similarity is below the requirement for associating the address reference and the address (it uses the postcode's center instead)
|
||||||
|
|
||||||
## v2.5.1 - 2023-07-14
|
## v2.5.1 - 2023-07-14
|
||||||
### Fixed
|
### Fixed
|
||||||
* [collate addresses] block collating addresses to another address reference where the address reference is already the best match
|
* [collate addresses] block collating addresses to another address reference where the address reference is already the best match
|
||||||
|
|
||||||
## v2.5.0 - 2023-07-14
|
## v2.5.0 - 2023-07-14
|
||||||
### Feature
|
### Feature
|
||||||
@@ -941,7 +905,7 @@ error when trying to reedit a saved export
|
|||||||
- ajout d'un regroupement par métier des intervenants sur un parcours;
|
- ajout d'un regroupement par métier des intervenants sur un parcours;
|
||||||
- ajout d'un regroupement par service des intervenants sur un parcours;
|
- ajout d'un regroupement par service des intervenants sur un parcours;
|
||||||
- ajout d'un regroupement par utilisateur intervenant sur un parcours
|
- ajout d'un regroupement par utilisateur intervenant sur un parcours
|
||||||
- ajout d'un regroupement "par territoire de l'usager";
|
- ajout d'un regroupement "par centre de l'usager";
|
||||||
- ajout d'un filtre "par métier intervenant sur un parcours";
|
- ajout d'un filtre "par métier intervenant sur un parcours";
|
||||||
- ajout d'un filtre "par service intervenant sur un parcours";
|
- ajout d'un filtre "par service intervenant sur un parcours";
|
||||||
- création d'un rôle spécifique pour voir les parcours confidentiels (et séparer de celui de la liste qui permet de ré-assigner les parcours en lot);
|
- création d'un rôle spécifique pour voir les parcours confidentiels (et séparer de celui de la liste qui permet de ré-assigner les parcours en lot);
|
||||||
|
108
composer.json
108
composer.json
@@ -8,7 +8,7 @@
|
|||||||
"social worker"
|
"social worker"
|
||||||
],
|
],
|
||||||
"require": {
|
"require": {
|
||||||
"php": "^8.2",
|
"php": "^8.3",
|
||||||
"ext-dom": "*",
|
"ext-dom": "*",
|
||||||
"ext-json": "*",
|
"ext-json": "*",
|
||||||
"ext-openssl": "*",
|
"ext-openssl": "*",
|
||||||
@@ -19,10 +19,10 @@
|
|||||||
"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.0",
|
||||||
"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": "^2.16",
|
||||||
@@ -32,54 +32,53 @@
|
|||||||
"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.2",
|
||||||
"symfony/translation": "^5.4",
|
"symfony/twig-bundle": "^7.2",
|
||||||
"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/webpack-encore-bundle": "^2.0",
|
||||||
"symfony/workflow": "^5.4",
|
"symfony/workflow": "^7.2",
|
||||||
"symfony/yaml": "^5.4",
|
"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",
|
||||||
@@ -90,7 +89,7 @@
|
|||||||
"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": "^1.0",
|
||||||
"nelmio/alice": "^3.8",
|
"nelmio/alice": "^3.8",
|
||||||
"nikic/php-parser": "^4.15",
|
"nikic/php-parser": "^4.15",
|
||||||
@@ -101,16 +100,15 @@
|
|||||||
"phpstan/phpstan-strict-rules": "^1.0",
|
"phpstan/phpstan-strict-rules": "^1.0",
|
||||||
"phpunit/phpunit": "^10.5.24",
|
"phpunit/phpunit": "^10.5.24",
|
||||||
"rector/rector": "^1.1.0",
|
"rector/rector": "^1.1.0",
|
||||||
"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"
|
||||||
},
|
},
|
||||||
"conflict": {
|
"conflict": {
|
||||||
"symfony/symfony": "*"
|
"symfony/symfony": "*"
|
||||||
|
@@ -14,7 +14,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],
|
||||||
|
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
|
||||||
|
@@ -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
|
||||||
|
@@ -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
|
|
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,8 +6,20 @@
|
|||||||
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' }
|
||||||
|
@@ -23,8 +23,8 @@ class "Document" {
|
|||||||
- text description
|
- text description
|
||||||
- ArrayCollection_DocumentCategory categories
|
- ArrayCollection_DocumentCategory categories
|
||||||
- varchar_150 content #link to openstack
|
- varchar_150 content #link to openstack
|
||||||
- Territoire territoire
|
- Center center
|
||||||
- Service service
|
- Cercle cercle
|
||||||
- User user
|
- User user
|
||||||
- DateTime date # Creation date
|
- DateTime date # Creation date
|
||||||
}
|
}
|
||||||
|
@@ -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
|
||||||
}
|
}
|
||||||
|
@@ -38,7 +38,7 @@ Certaines données sont historisées:
|
|||||||
|
|
||||||
- les référents d'un parcours;
|
- les référents d'un parcours;
|
||||||
- les statuts d'un parcours;
|
- les statuts d'un parcours;
|
||||||
- la liaison entre les territoires et les usagers;
|
- la liaison entre les centres et les usagers;
|
||||||
- etc.
|
- etc.
|
||||||
|
|
||||||
Dans ces cas-là, Chill crée généralement deux colonnes, qui sont habituellement nommées :code:`startDate` et :code:`endDate`. Lorsque la colonne :code:`endDate` est à :code:`NULL`, cela signifie que la période n'est pas "fermée". La colonne :code:`startDate` n'est pas nullable.
|
Dans ces cas-là, Chill crée généralement deux colonnes, qui sont habituellement nommées :code:`startDate` et :code:`endDate`. Lorsque la colonne :code:`endDate` est à :code:`NULL`, cela signifie que la période n'est pas "fermée". La colonne :code:`startDate` n'est pas nullable.
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
order,table_schema,table_name,commentaire
|
order,table_schema,table_name,commentaire
|
||||||
1,chill_3party,party_category,Catégorie de tiers
|
1,chill_3party,party_category,Catégorie de tiers
|
||||||
2,chill_3party,party_center,Association entre les tiers et les territoires (déprécié)
|
2,chill_3party,party_center,Association entre les tiers et les centres (déprécié)
|
||||||
3,chill_3party,party_profession,Profession du tiers (déprécié)
|
3,chill_3party,party_profession,Profession du tiers (déprécié)
|
||||||
4,chill_3party,third_party,Tiers
|
4,chill_3party,third_party,Tiers
|
||||||
5,chill_3party,thirdparty_category,association tiers - catégories
|
5,chill_3party,thirdparty_category,association tiers - catégories
|
||||||
@@ -54,7 +54,7 @@ order,table_schema,table_name,commentaire
|
|||||||
53,public,activitytpresence,Présence aux échanges
|
53,public,activitytpresence,Présence aux échanges
|
||||||
54,public,activitytype,Types d'échanges
|
54,public,activitytype,Types d'échanges
|
||||||
55,public,activitytypecategory,Catégories de types d'échanges
|
55,public,activitytypecategory,Catégories de types d'échanges
|
||||||
56,public,centers,"Territoires (territoires, agences, etc.)"
|
56,public,centers,"Centres (territoires, agences, etc.)"
|
||||||
57,public,chill_activity_activity_chill_person_socialaction,
|
57,public,chill_activity_activity_chill_person_socialaction,
|
||||||
58,public,chill_activity_activity_chill_person_socialissue
|
58,public,chill_activity_activity_chill_person_socialissue
|
||||||
59,public,chill_docgen_template,Gabarits de documents
|
59,public,chill_docgen_template,Gabarits de documents
|
||||||
@@ -111,7 +111,7 @@ order,table_schema,table_name,commentaire
|
|||||||
110,public,chill_person_marital_status,Etats civils
|
110,public,chill_person_marital_status,Etats civils
|
||||||
111,public,chill_person_not_duplicate,
|
111,public,chill_person_not_duplicate,
|
||||||
112,public,chill_person_person,Usagers
|
112,public,chill_person_person,Usagers
|
||||||
113,public,chill_person_person_center_history,Historique des territoires d'un usagers
|
113,public,chill_person_person_center_history,Historique des centres d'un usagers
|
||||||
114,public,chill_person_persons_to_addresses,Déprécié
|
114,public,chill_person_persons_to_addresses,Déprécié
|
||||||
115,public,chill_person_phone,Numéros d etéléphone supplémentaires d'un usager
|
115,public,chill_person_phone,Numéros d etéléphone supplémentaires d'un usager
|
||||||
116,public,chill_person_relations,Types de relations de filiation
|
116,public,chill_person_relations,Types de relations de filiation
|
||||||
@@ -142,7 +142,7 @@ order,table_schema,table_name,commentaire
|
|||||||
141,public,permission_groups
|
141,public,permission_groups
|
||||||
142,public,permissionsgroup_rolescope
|
142,public,permissionsgroup_rolescope
|
||||||
143,public,persons_spoken_languages
|
143,public,persons_spoken_languages
|
||||||
144,public,regroupment,Regroupement de territoires
|
144,public,regroupment,Regroupement de centres
|
||||||
145,public,regroupment_center,
|
145,public,regroupment_center,
|
||||||
146,public,role_scopes,
|
146,public,role_scopes,
|
||||||
147,public,scopes,Services
|
147,public,scopes,Services
|
||||||
|
Can't render this file because it has a wrong number of fields in line 28.
|
@@ -18,7 +18,7 @@ class example extends \Symfony\Bundle\FrameworkBundle\Controller\AbstractControl
|
|||||||
public function __construct(private readonly \Doctrine\Persistence\ManagerRegistry $managerRegistry)
|
public function __construct(private readonly \Doctrine\Persistence\ManagerRegistry $managerRegistry)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
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
|
||||||
|
@@ -28,7 +28,7 @@ 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->get('chill.person.repository.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,12 @@ 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)
|
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 +45,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()
|
||||||
|
@@ -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",
|
||||||
@@ -55,7 +56,6 @@
|
|||||||
"@tsconfig/node20": "^20.1.4",
|
"@tsconfig/node20": "^20.1.4",
|
||||||
"@types/dompurify": "^3.0.5",
|
"@types/dompurify": "^3.0.5",
|
||||||
"@types/leaflet": "^1.9.3",
|
"@types/leaflet": "^1.9.3",
|
||||||
"@vueuse/core": "^13.9.0",
|
|
||||||
"bootstrap-icons": "^1.11.3",
|
"bootstrap-icons": "^1.11.3",
|
||||||
"dropzone": "^5.7.6",
|
"dropzone": "^5.7.6",
|
||||||
"es6-promise": "^4.2.8",
|
"es6-promise": "^4.2.8",
|
||||||
|
File diff suppressed because it is too large
Load Diff
104
phpunit.xml.dist
104
phpunit.xml.dist
@@ -1,84 +1,34 @@
|
|||||||
<?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=".phpunit.cache"
|
||||||
>
|
>
|
||||||
<php>
|
<php>
|
||||||
<ini name="display_errors" value="1" />
|
<ini name="display_errors" value="1" />
|
||||||
<ini name="error_reporting" value="-1"/>
|
<ini name="error_reporting" value="-1" />
|
||||||
<server name="APP_ENV" value="test" force="true"/>
|
<server name="APP_ENV" value="test" force="true" />
|
||||||
<env name="SYMFONY_DEPRECATIONS_HELPER" value="max[direct]=93&max[indirect]=999999"/>
|
<server name="SHELL_VERBOSITY" value="-1" />
|
||||||
<server name="SHELL_VERBOSITY" value="-1"/>
|
</php>
|
||||||
<server name="SYMFONY_PHPUNIT_REMOVE" value="" />
|
|
||||||
<server name="SYMFONY_PHPUNIT_VERSION" value="9.5" />
|
<testsuites>
|
||||||
<ini name="date.timezone" value="Europe/Brussels" />
|
<testsuite name="Project Test Suite">
|
||||||
</php>
|
<directory>tests</directory>
|
||||||
<testsuites>
|
|
||||||
<!--
|
|
||||||
<testsuite name="ActivityBundle">
|
|
||||||
<directory suffix="Test.php">src/Bundle/ChillActivityBundle/Tests/</directory>
|
|
||||||
</testsuite>
|
</testsuite>
|
||||||
-->
|
</testsuites>
|
||||||
<testsuite name="AsideActivityBundle">
|
|
||||||
<directory suffix="Test.php">src/Bundle/ChillAsideActivityBundle/src/Tests/</directory>
|
<source ignoreSuppressionOfDeprecations="true" restrictNotices="true" restrictWarnings="true">
|
||||||
</testsuite>
|
<include>
|
||||||
<testsuite name="BudgetBundle">
|
<directory>src</directory>
|
||||||
<directory suffix="Test.php">src/Bundle/ChillBudgetBundle/Tests/</directory>
|
</include>
|
||||||
</testsuite>
|
</source>
|
||||||
<testsuite name="CalendarBundle">
|
|
||||||
<directory suffix="Test.php">src/Bundle/ChillCalendarBundle/Tests/</directory>
|
|
||||||
</testsuite>
|
|
||||||
<!-- Missing CustomFieldBundle -->
|
|
||||||
<testsuite name="DocGeneratorBundle">
|
|
||||||
<directory suffix="Test.php">src/Bundle/ChillDocGeneratorBundle/tests/</directory>
|
|
||||||
</testsuite>
|
|
||||||
<testsuite name="DocStoreBundle">
|
|
||||||
<directory suffix="Test.php">src/Bundle/ChillDocStoreBundle/Tests/</directory>
|
|
||||||
</testsuite>
|
|
||||||
<!--
|
|
||||||
<testsuite name="EventBundle">
|
|
||||||
<directory suffix="Test.php">src/Bundle/ChillEventBundle/tests/</directory>
|
|
||||||
</testsuite>
|
|
||||||
-->
|
|
||||||
<testsuite name="MainBundle">
|
|
||||||
<directory suffix="Test.php">src/Bundle/ChillMainBundle/Tests/</directory>
|
|
||||||
</testsuite>
|
|
||||||
<testsuite name="PersonBundle">
|
|
||||||
<directory suffix="Test.php">src/Bundle/ChillPersonBundle/Tests/</directory>
|
|
||||||
<!-- we are rewriting accompanying periods... Work in progress -->
|
|
||||||
<exclude>src/Bundle/ChillPersonBundle/Tests/Controller/AccompanyingPeriodControllerTest.php</exclude>
|
|
||||||
<!-- we are rewriting address, Work in progress -->
|
|
||||||
<exclude>src/Bundle/ChillPersonBundle/Tests/Controller/PersonAddressControllerTest.php</exclude>
|
|
||||||
<!-- find a solution to create multiple configs -->
|
|
||||||
<exclude>src/Bundle/ChillPersonBundle/Tests/Controller/PersonControllerUpdateWithHiddenFieldsTest.php</exclude>
|
|
||||||
<!-- temporarily removed, the time to find a fix -->
|
|
||||||
<exclude>src/Bundle/ChillPersonBundle/Tests/Controller/PersonDuplicateControllerViewTest.php</exclude>
|
|
||||||
</testsuite>
|
|
||||||
<!--
|
|
||||||
<testsuite name="ReportBundle">
|
|
||||||
<directory suffix="Test.php">src/Bundle/ChillReportBundle/Tests/</directory>
|
|
||||||
</testsuite>
|
|
||||||
-->
|
|
||||||
<!--
|
|
||||||
<testsuite name="TaskBundle">
|
|
||||||
<directory suffix="Test.php">src/Bundle/ChillTaskBundle/Tests</directory>
|
|
||||||
</testsuite>
|
|
||||||
-->
|
|
||||||
<testsuite name="ThirdPartyBundle">
|
|
||||||
<directory suffix="Test.php">src/Bundle/ChillThirdPartyBundle/Tests</directory>
|
|
||||||
</testsuite>
|
|
||||||
<testsuite name="WopiBundle">
|
|
||||||
<directory suffix="Test.php">src/Bundle/ChillWopiBundle/tests/</directory>
|
|
||||||
</testsuite>
|
|
||||||
</testsuites>
|
|
||||||
<!-- Run `composer require symfony/panther` before enabling this extension -->
|
|
||||||
<!--
|
|
||||||
<extensions>
|
<extensions>
|
||||||
<extension class="Symfony\Component\Panther\ServerExtension" />
|
|
||||||
</extensions>
|
</extensions>
|
||||||
-->
|
|
||||||
</phpunit>
|
</phpunit>
|
||||||
|
93
rector.php
93
rector.php
@@ -13,23 +13,24 @@ 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\Symfony\Set\SymfonySetList;
|
||||||
|
|
||||||
return static function (RectorConfig $rectorConfig): void {
|
return static function (RectorConfig $rectorConfig): void {
|
||||||
$rectorConfig->paths([
|
$rectorConfig->paths([
|
||||||
__DIR__ . '/docs',
|
__DIR__.'/docs',
|
||||||
__DIR__ . '/src',
|
__DIR__.'/src',
|
||||||
__DIR__ . '/rector.php',
|
__DIR__.'/rector.php',
|
||||||
]);
|
]);
|
||||||
|
|
||||||
$rectorConfig->skip([
|
$rectorConfig->skip([
|
||||||
\Rector\Php55\Rector\String_\StringClassNameToClassConstantRector::class => __DIR__ . 'src/Bundle/ChillMainBundle/Service/Notifier/LegacyOvhCloudFactory.php'
|
Rector\Php55\Rector\String_\StringClassNameToClassConstantRector::class => __DIR__.'src/Bundle/ChillMainBundle/Service/Notifier/LegacyOvhCloudFactory.php',
|
||||||
]);
|
]);
|
||||||
|
|
||||||
//$rectorConfig->symfonyContainerXml(__DIR__ . '/var/cache/dev/test/App_KernelTestDebugContainer.xml ');
|
// $rectorConfig->symfonyContainerXml(__DIR__ . '/var/cache/dev/test/App_KernelTestDebugContainer.xml ');
|
||||||
//$rectorConfig->symfonyContainerPhp(__DIR__ . '/tests/symfony-container.php');
|
// $rectorConfig->symfonyContainerPhp(__DIR__ . '/tests/symfony-container.php');
|
||||||
|
|
||||||
//$rectorConfig->cacheClass(\Rector\Caching\ValueObject\Storage\FileCacheStorage::class);
|
// $rectorConfig->cacheClass(\Rector\Caching\ValueObject\Storage\FileCacheStorage::class);
|
||||||
//$rectorConfig->cacheDirectory(__DIR__ . '/.cache/rector');
|
// $rectorConfig->cacheDirectory(__DIR__ . '/.cache/rector');
|
||||||
|
|
||||||
// register a single rule
|
// register a single rule
|
||||||
$rectorConfig->rule(InlineConstructorDefaultToPropertyRector::class);
|
$rectorConfig->rule(InlineConstructorDefaultToPropertyRector::class);
|
||||||
@@ -37,54 +38,72 @@ return static function (RectorConfig $rectorConfig): void {
|
|||||||
$rectorConfig->rule(Rector\TypeDeclaration\Rector\Class_\MergeDateTimePropertyTypeDeclarationRector::class);
|
$rectorConfig->rule(Rector\TypeDeclaration\Rector\Class_\MergeDateTimePropertyTypeDeclarationRector::class);
|
||||||
$rectorConfig->rule(Rector\TypeDeclaration\Rector\ClassMethod\AddReturnTypeDeclarationBasedOnParentClassMethodRector::class);
|
$rectorConfig->rule(Rector\TypeDeclaration\Rector\ClassMethod\AddReturnTypeDeclarationBasedOnParentClassMethodRector::class);
|
||||||
|
|
||||||
// part of the symfony 54 rules
|
// Add return types to controller methods
|
||||||
$rectorConfig->rule(\Rector\Symfony\Symfony53\Rector\StaticPropertyFetch\KernelTestCaseContainerPropertyDeprecationRector::class);
|
$rectorConfig->rule(Rector\TypeDeclaration\Rector\ClassMethod\AddVoidReturnTypeWhereNoReturnRector::class);
|
||||||
$rectorConfig->rule(\Rector\Symfony\Symfony60\Rector\MethodCall\GetHelperControllerToServiceRector::class);
|
$rectorConfig->rule(Rector\TypeDeclaration\Rector\ClassMethod\ReturnTypeFromReturnNewRector::class);
|
||||||
//$rectorConfig->disableParallel();
|
$rectorConfig->rule(Rector\TypeDeclaration\Rector\ClassMethod\ReturnTypeFromStrictTypedCallRector::class);
|
||||||
|
$rectorConfig->rule(Rector\TypeDeclaration\Rector\ClassMethod\ReturnTypeFromStrictTypedPropertyRector::class);
|
||||||
|
|
||||||
//define sets of rules
|
// 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([
|
$rectorConfig->sets([
|
||||||
LevelSetList::UP_TO_PHP_82,
|
LevelSetList::UP_TO_PHP_82,
|
||||||
\Rector\Doctrine\Set\DoctrineSetList::DOCTRINE_CODE_QUALITY,
|
SymfonySetList::SYMFONY_60,
|
||||||
\Rector\PHPUnit\Set\PHPUnitSetList::PHPUNIT_90,
|
SymfonySetList::SYMFONY_61,
|
||||||
|
SymfonySetList::SYMFONY_62,
|
||||||
|
SymfonySetList::SYMFONY_63,
|
||||||
|
SymfonySetList::SYMFONY_64,
|
||||||
|
SymfonySetList::SYMFONY_70,
|
||||||
|
SymfonySetList::SYMFONY_71,
|
||||||
|
Rector\Doctrine\Set\DoctrineSetList::DOCTRINE_ORM_29,
|
||||||
|
Rector\Doctrine\Set\DoctrineSetList::DOCTRINE_DBAL_30,
|
||||||
|
Rector\Doctrine\Set\DoctrineSetList::DOCTRINE_CODE_QUALITY,
|
||||||
|
Rector\Doctrine\Set\DoctrineSetList::ANNOTATIONS_TO_ATTRIBUTES,
|
||||||
]);
|
]);
|
||||||
|
|
||||||
$rectorConfig->ruleWithConfiguration(\Rector\Php80\Rector\Class_\AnnotationToAttributeRector::class, [
|
$rectorConfig->ruleWithConfiguration(AnnotationToAttributeRector::class, [
|
||||||
new \Rector\Php80\ValueObject\AnnotationToAttribute('Symfony\Component\Serializer\Annotation\Context'),
|
new Rector\Php80\ValueObject\AnnotationToAttribute('Symfony\Component\Serializer\Annotation\Context'),
|
||||||
]);
|
]);
|
||||||
|
|
||||||
// migrate for phpunit
|
// migrate for phpunit
|
||||||
$rectorConfig->rules([
|
$rectorConfig->rules([
|
||||||
\Rector\PHPUnit\PHPUnit100\Rector\Class_\StaticDataProviderClassMethodRector::class,
|
Rector\PHPUnit\PHPUnit100\Rector\Class_\StaticDataProviderClassMethodRector::class,
|
||||||
\Rector\PHPUnit\PHPUnit100\Rector\Class_\PublicDataProviderClassMethodRector::class
|
Rector\PHPUnit\PHPUnit100\Rector\Class_\PublicDataProviderClassMethodRector::class,
|
||||||
]);
|
]);
|
||||||
|
|
||||||
// some routes are added twice if it remains activated
|
// some routes are added twice if it remains activated
|
||||||
// $rectorConfig->rule(\Rector\Symfony\Configs\Rector\ClassMethod\AddRouteAnnotationRector::class);
|
// $rectorConfig->rule(\Rector\Symfony\Configs\Rector\ClassMethod\AddRouteAnnotationRector::class);
|
||||||
|
|
||||||
|
// chill rules
|
||||||
|
$rectorConfig->rules([
|
||||||
|
Chill\Utils\Rector\Rector\ChillBundleMakeDataProviderStaticForAbstractExportTestRector::class,
|
||||||
|
]);
|
||||||
|
|
||||||
// skip some path...
|
// skip some path...
|
||||||
$rectorConfig->skip([
|
$rectorConfig->skip([
|
||||||
// waiting for fixing this bug: https://github.com/rectorphp/rector-doctrine/issues/342
|
// waiting for fixing this bug: https://github.com/rectorphp/rector-doctrine/issues/342
|
||||||
\Rector\Doctrine\CodeQuality\Rector\Property\ImproveDoctrineCollectionDocTypeInEntityRector::class,
|
Rector\Doctrine\CodeQuality\Rector\Property\ImproveDoctrineCollectionDocTypeInEntityRector::class,
|
||||||
]);
|
]);
|
||||||
|
|
||||||
$rectorConfig->ruleWithConfiguration(AnnotationToAttributeRector::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\AccompanyingPeriod\AccompanyingPeriodValidity'),
|
||||||
new \Rector\Php80\ValueObject\AnnotationToAttribute('Chill\PersonBundle\Validator\Constraints\Household\HouseholdMembershipSequential'),
|
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\Household\MaxHolder'),
|
||||||
new \Rector\Php80\ValueObject\AnnotationToAttribute('Chill\PersonBundle\Validator\Constraints\AccompanyingPeriod\ConfidentialCourseMustHaveReferrer'),
|
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\LocationValidity'),
|
||||||
new \Rector\Php80\ValueObject\AnnotationToAttribute('Chill\PersonBundle\Validator\Constraints\AccompanyingPeriod\ParticipationOverlap'),
|
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\AccompanyingPeriod\ResourceDuplicateCheck'),
|
||||||
new \Rector\Php80\ValueObject\AnnotationToAttribute('Chill\PersonBundle\Validator\Constraints\Person\Birthdate'),
|
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\Person\PersonHasCenter'),
|
||||||
new \Rector\Php80\ValueObject\AnnotationToAttribute('Chill\PersonBundle\Validator\Constraints\Relationship\RelationshipNoDuplicate'),
|
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\ActivityBundle\Validator\Constraints\ActivityValidity'),
|
||||||
new \Rector\Php80\ValueObject\AnnotationToAttribute('Chill\DocStoreBundle\Validator\Constraints\AsyncFileExists'),
|
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\Validation\Constraint\PhonenumberConstraint'),
|
||||||
new \Rector\Php80\ValueObject\AnnotationToAttribute('Chill\MainBundle\Validator\Constraints\Entity\UserCircleConsistency'),
|
new Rector\Php80\ValueObject\AnnotationToAttribute('Chill\MainBundle\Validator\Constraints\Entity\UserCircleConsistency'),
|
||||||
new \Rector\Php80\ValueObject\AnnotationToAttribute('Chill\MainBundle\Workflow\Validator\EntityWorkflowCreation'),
|
new Rector\Php80\ValueObject\AnnotationToAttribute('Chill\MainBundle\Workflow\Validator\EntityWorkflowCreation'),
|
||||||
]);
|
]);
|
||||||
|
|
||||||
|
|
||||||
};
|
};
|
||||||
|
@@ -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;
|
||||||
|
|
||||||
@@ -104,7 +104,7 @@ 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' => $activity->getPerson() ? $activity->getPerson()->getId() : null,
|
||||||
'comment' => $activity->getComment()->getComment(),
|
'comment' => $activity->getComment()->getComment(),
|
||||||
@@ -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 (
|
||||||
@@ -516,13 +516,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;
|
||||||
@@ -567,7 +567,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);
|
||||||
@@ -611,7 +611,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,
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -27,8 +27,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 +44,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,23 +66,23 @@ 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();
|
||||||
|
|
||||||
@@ -103,7 +103,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,
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -28,8 +28,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 +45,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,23 +67,23 @@ 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();
|
||||||
|
|
||||||
@@ -104,7 +104,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,
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -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)
|
||||||
|
@@ -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;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@@ -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;
|
||||||
|
|
||||||
@@ -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();
|
||||||
|
@@ -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
|
||||||
|
@@ -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;
|
||||||
@@ -59,7 +60,7 @@ 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,
|
||||||
@@ -214,7 +215,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,
|
||||||
|
@@ -19,7 +19,7 @@ use Symfony\Component\OptionsResolver\OptionsResolver;
|
|||||||
|
|
||||||
class ActivityReasonCategoryType extends AbstractType
|
class ActivityReasonCategoryType extends AbstractType
|
||||||
{
|
{
|
||||||
public function buildForm(FormBuilderInterface $builder, array $options)
|
public function buildForm(FormBuilderInterface $builder, array $options): void
|
||||||
{
|
{
|
||||||
$builder
|
$builder
|
||||||
->add('name', TranslatableStringFormType::class)
|
->add('name', TranslatableStringFormType::class)
|
||||||
@@ -29,17 +29,14 @@ class ActivityReasonCategoryType extends AbstractType
|
|||||||
/**
|
/**
|
||||||
* @param OptionsResolverInterface $resolver
|
* @param OptionsResolverInterface $resolver
|
||||||
*/
|
*/
|
||||||
public function configureOptions(OptionsResolver $resolver)
|
public function configureOptions(OptionsResolver $resolver): void
|
||||||
{
|
{
|
||||||
$resolver->setDefaults([
|
$resolver->setDefaults([
|
||||||
'data_class' => \Chill\ActivityBundle\Entity\ActivityReasonCategory::class,
|
'data_class' => \Chill\ActivityBundle\Entity\ActivityReasonCategory::class,
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
public function getBlockPrefix(): string
|
||||||
* @return string
|
|
||||||
*/
|
|
||||||
public function getBlockPrefix()
|
|
||||||
{
|
{
|
||||||
return 'chill_activitybundle_activityreasoncategory';
|
return 'chill_activitybundle_activityreasoncategory';
|
||||||
}
|
}
|
||||||
|
@@ -21,7 +21,7 @@ use Symfony\Component\OptionsResolver\OptionsResolver;
|
|||||||
|
|
||||||
class ActivityReasonType extends AbstractType
|
class ActivityReasonType extends AbstractType
|
||||||
{
|
{
|
||||||
public function buildForm(FormBuilderInterface $builder, array $options)
|
public function buildForm(FormBuilderInterface $builder, array $options): void
|
||||||
{
|
{
|
||||||
$builder
|
$builder
|
||||||
->add('name', TranslatableStringFormType::class)
|
->add('name', TranslatableStringFormType::class)
|
||||||
@@ -29,17 +29,14 @@ class ActivityReasonType extends AbstractType
|
|||||||
->add('category', TranslatableActivityReasonCategoryType::class);
|
->add('category', TranslatableActivityReasonCategoryType::class);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function configureOptions(OptionsResolver $resolver)
|
public function configureOptions(OptionsResolver $resolver): void
|
||||||
{
|
{
|
||||||
$resolver->setDefaults([
|
$resolver->setDefaults([
|
||||||
'data_class' => ActivityReason::class,
|
'data_class' => ActivityReason::class,
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
public function getBlockPrefix(): string
|
||||||
* @return string
|
|
||||||
*/
|
|
||||||
public function getBlockPrefix()
|
|
||||||
{
|
{
|
||||||
return 'chill_activitybundle_activityreason';
|
return 'chill_activitybundle_activityreason';
|
||||||
}
|
}
|
||||||
|
@@ -27,7 +27,7 @@ class ActivityTypeType extends AbstractType
|
|||||||
{
|
{
|
||||||
public function __construct(private readonly TranslatableStringHelper $translatableStringHelper) {}
|
public function __construct(private readonly TranslatableStringHelper $translatableStringHelper) {}
|
||||||
|
|
||||||
public function buildForm(FormBuilderInterface $builder, array $options)
|
public function buildForm(FormBuilderInterface $builder, array $options): void
|
||||||
{
|
{
|
||||||
$builder
|
$builder
|
||||||
->add('name', TranslatableStringFormType::class)
|
->add('name', TranslatableStringFormType::class)
|
||||||
@@ -67,7 +67,7 @@ class ActivityTypeType extends AbstractType
|
|||||||
->add('commentVisible', ActivityFieldPresence::class);
|
->add('commentVisible', ActivityFieldPresence::class);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function configureOptions(OptionsResolver $resolver)
|
public function configureOptions(OptionsResolver $resolver): void
|
||||||
{
|
{
|
||||||
$resolver->setDefaults([
|
$resolver->setDefaults([
|
||||||
'data_class' => \Chill\ActivityBundle\Entity\ActivityType::class,
|
'data_class' => \Chill\ActivityBundle\Entity\ActivityType::class,
|
||||||
|
@@ -18,7 +18,7 @@ use Symfony\Component\OptionsResolver\OptionsResolver;
|
|||||||
|
|
||||||
class ActivityFieldPresence extends AbstractType
|
class ActivityFieldPresence extends AbstractType
|
||||||
{
|
{
|
||||||
public function configureOptions(OptionsResolver $resolver)
|
public function configureOptions(OptionsResolver $resolver): void
|
||||||
{
|
{
|
||||||
$resolver->setDefaults(
|
$resolver->setDefaults(
|
||||||
[
|
[
|
||||||
@@ -31,7 +31,7 @@ class ActivityFieldPresence extends AbstractType
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function getParent()
|
public function getParent(): ?string
|
||||||
{
|
{
|
||||||
return ChoiceType::class;
|
return ChoiceType::class;
|
||||||
}
|
}
|
||||||
|
@@ -30,7 +30,7 @@ class PickActivityReasonType extends AbstractType
|
|||||||
private readonly TranslatableStringHelperInterface $translatableStringHelper,
|
private readonly TranslatableStringHelperInterface $translatableStringHelper,
|
||||||
) {}
|
) {}
|
||||||
|
|
||||||
public function configureOptions(OptionsResolver $resolver)
|
public function configureOptions(OptionsResolver $resolver): void
|
||||||
{
|
{
|
||||||
$resolver->setDefaults(
|
$resolver->setDefaults(
|
||||||
[
|
[
|
||||||
@@ -49,12 +49,12 @@ class PickActivityReasonType extends AbstractType
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function getBlockPrefix()
|
public function getBlockPrefix(): string
|
||||||
{
|
{
|
||||||
return 'translatable_activity_reason';
|
return 'translatable_activity_reason';
|
||||||
}
|
}
|
||||||
|
|
||||||
public function getParent()
|
public function getParent(): ?string
|
||||||
{
|
{
|
||||||
return EntityType::class;
|
return EntityType::class;
|
||||||
}
|
}
|
||||||
|
@@ -25,7 +25,7 @@ class TranslatableActivityReasonCategoryType extends AbstractType
|
|||||||
{
|
{
|
||||||
public function __construct(private readonly TranslatableStringHelperInterface $translatableStringHelper, private readonly TranslatorInterface $translator) {}
|
public function __construct(private readonly TranslatableStringHelperInterface $translatableStringHelper, private readonly TranslatorInterface $translator) {}
|
||||||
|
|
||||||
public function configureOptions(OptionsResolver $resolver)
|
public function configureOptions(OptionsResolver $resolver): void
|
||||||
{
|
{
|
||||||
$resolver->setDefaults(
|
$resolver->setDefaults(
|
||||||
[
|
[
|
||||||
@@ -36,7 +36,7 @@ class TranslatableActivityReasonCategoryType extends AbstractType
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function getParent()
|
public function getParent(): ?string
|
||||||
{
|
{
|
||||||
return EntityType::class;
|
return EntityType::class;
|
||||||
}
|
}
|
||||||
|
@@ -22,7 +22,7 @@ class TranslatableActivityType extends AbstractType
|
|||||||
{
|
{
|
||||||
public function __construct(protected TranslatableStringHelperInterface $translatableStringHelper, protected ActivityTypeRepositoryInterface $activityTypeRepository) {}
|
public function __construct(protected TranslatableStringHelperInterface $translatableStringHelper, protected ActivityTypeRepositoryInterface $activityTypeRepository) {}
|
||||||
|
|
||||||
public function configureOptions(OptionsResolver $resolver)
|
public function configureOptions(OptionsResolver $resolver): void
|
||||||
{
|
{
|
||||||
$resolver->setDefaults(
|
$resolver->setDefaults(
|
||||||
[
|
[
|
||||||
@@ -34,12 +34,12 @@ class TranslatableActivityType extends AbstractType
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function getBlockPrefix()
|
public function getBlockPrefix(): string
|
||||||
{
|
{
|
||||||
return 'translatable_activity_type';
|
return 'translatable_activity_type';
|
||||||
}
|
}
|
||||||
|
|
||||||
public function getParent()
|
public function getParent(): ?string
|
||||||
{
|
{
|
||||||
return EntityType::class;
|
return EntityType::class;
|
||||||
}
|
}
|
||||||
|
@@ -16,7 +16,7 @@ use Chill\ActivityBundle\Security\Authorization\ActivityVoter;
|
|||||||
use Chill\MainBundle\Routing\LocalMenuBuilderInterface;
|
use Chill\MainBundle\Routing\LocalMenuBuilderInterface;
|
||||||
use Chill\PersonBundle\Entity\AccompanyingPeriod;
|
use Chill\PersonBundle\Entity\AccompanyingPeriod;
|
||||||
use Knp\Menu\MenuItem;
|
use Knp\Menu\MenuItem;
|
||||||
use Symfony\Component\Security\Core\Security;
|
use Symfony\Bundle\SecurityBundle\Security;
|
||||||
use Symfony\Contracts\Translation\TranslatorInterface;
|
use Symfony\Contracts\Translation\TranslatorInterface;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -30,7 +30,7 @@ class AccompanyingCourseMenuBuilder implements LocalMenuBuilderInterface
|
|||||||
private readonly \Doctrine\Persistence\ManagerRegistry $managerRegistry,
|
private readonly \Doctrine\Persistence\ManagerRegistry $managerRegistry,
|
||||||
) {}
|
) {}
|
||||||
|
|
||||||
public function buildMenu($menuId, MenuItem $menu, array $parameters)
|
public function buildMenu($menuId, MenuItem $menu, array $parameters): void
|
||||||
{
|
{
|
||||||
$period = $parameters['accompanyingCourse'];
|
$period = $parameters['accompanyingCourse'];
|
||||||
|
|
||||||
|
@@ -14,7 +14,7 @@ namespace Chill\ActivityBundle\Menu;
|
|||||||
use Chill\ActivityBundle\Security\Authorization\ActivityVoter;
|
use Chill\ActivityBundle\Security\Authorization\ActivityVoter;
|
||||||
use Chill\MainBundle\Routing\LocalMenuBuilderInterface;
|
use Chill\MainBundle\Routing\LocalMenuBuilderInterface;
|
||||||
use Knp\Menu\MenuItem;
|
use Knp\Menu\MenuItem;
|
||||||
use Symfony\Component\Security\Core\Security;
|
use Symfony\Bundle\SecurityBundle\Security;
|
||||||
|
|
||||||
final readonly class AccompanyingCourseQuickMenuBuilder implements LocalMenuBuilderInterface
|
final readonly class AccompanyingCourseQuickMenuBuilder implements LocalMenuBuilderInterface
|
||||||
{
|
{
|
||||||
@@ -25,7 +25,7 @@ final readonly class AccompanyingCourseQuickMenuBuilder implements LocalMenuBuil
|
|||||||
return ['accompanying_course_quick_menu'];
|
return ['accompanying_course_quick_menu'];
|
||||||
}
|
}
|
||||||
|
|
||||||
public function buildMenu($menuId, MenuItem $menu, array $parameters)
|
public function buildMenu($menuId, MenuItem $menu, array $parameters): void
|
||||||
{
|
{
|
||||||
/** @var \Chill\PersonBundle\Entity\AccompanyingPeriod $accompanyingCourse */
|
/** @var \Chill\PersonBundle\Entity\AccompanyingPeriod $accompanyingCourse */
|
||||||
$accompanyingCourse = $parameters['accompanying-course'];
|
$accompanyingCourse = $parameters['accompanying-course'];
|
||||||
|
@@ -13,7 +13,7 @@ namespace Chill\ActivityBundle\Menu;
|
|||||||
|
|
||||||
use Chill\MainBundle\Routing\LocalMenuBuilderInterface;
|
use Chill\MainBundle\Routing\LocalMenuBuilderInterface;
|
||||||
use Knp\Menu\MenuItem;
|
use Knp\Menu\MenuItem;
|
||||||
use Symfony\Component\Security\Core\Security;
|
use Symfony\Bundle\SecurityBundle\Security;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @implements LocalMenuBuilderInterface<array>
|
* @implements LocalMenuBuilderInterface<array>
|
||||||
@@ -22,7 +22,7 @@ final readonly class AdminMenuBuilder implements LocalMenuBuilderInterface
|
|||||||
{
|
{
|
||||||
public function __construct(private Security $security) {}
|
public function __construct(private Security $security) {}
|
||||||
|
|
||||||
public function buildMenu($menuId, MenuItem $menu, array $parameters)
|
public function buildMenu($menuId, MenuItem $menu, array $parameters): void
|
||||||
{
|
{
|
||||||
if (!$this->security->isGranted('ROLE_ADMIN')) {
|
if (!$this->security->isGranted('ROLE_ADMIN')) {
|
||||||
return;
|
return;
|
||||||
|
@@ -30,7 +30,7 @@ final readonly class PersonMenuBuilder implements LocalMenuBuilderInterface
|
|||||||
private TranslatorInterface $translator,
|
private TranslatorInterface $translator,
|
||||||
) {}
|
) {}
|
||||||
|
|
||||||
public function buildMenu($menuId, MenuItem $menu, array $parameters)
|
public function buildMenu($menuId, MenuItem $menu, array $parameters): void
|
||||||
{
|
{
|
||||||
/** @var Person $person */
|
/** @var Person $person */
|
||||||
$person = $parameters['person'];
|
$person = $parameters['person'];
|
||||||
|
@@ -33,7 +33,7 @@ use Doctrine\ORM\Query\Expr\Join;
|
|||||||
use Doctrine\ORM\Query\ResultSetMappingBuilder;
|
use Doctrine\ORM\Query\ResultSetMappingBuilder;
|
||||||
use Doctrine\ORM\QueryBuilder;
|
use Doctrine\ORM\QueryBuilder;
|
||||||
use Symfony\Component\HttpFoundation\RequestStack;
|
use Symfony\Component\HttpFoundation\RequestStack;
|
||||||
use Symfony\Component\Security\Core\Security;
|
use Symfony\Bundle\SecurityBundle\Security;
|
||||||
|
|
||||||
final readonly class ActivityACLAwareRepository implements ActivityACLAwareRepositoryInterface
|
final readonly class ActivityACLAwareRepository implements ActivityACLAwareRepositoryInterface
|
||||||
{
|
{
|
||||||
|
@@ -24,7 +24,7 @@ use Chill\MainBundle\Security\Resolver\CenterResolverManagerInterface;
|
|||||||
use Chill\PersonBundle\Entity\Person;
|
use Chill\PersonBundle\Entity\Person;
|
||||||
use Doctrine\DBAL\Types\Types;
|
use Doctrine\DBAL\Types\Types;
|
||||||
use Doctrine\ORM\EntityManagerInterface;
|
use Doctrine\ORM\EntityManagerInterface;
|
||||||
use Symfony\Component\Security\Core\Security;
|
use Symfony\Bundle\SecurityBundle\Security;
|
||||||
|
|
||||||
final readonly class ActivityDocumentACLAwareRepository implements ActivityDocumentACLAwareRepositoryInterface
|
final readonly class ActivityDocumentACLAwareRepository implements ActivityDocumentACLAwareRepositoryInterface
|
||||||
{
|
{
|
||||||
|
@@ -49,17 +49,17 @@ class ActivityStatsVoter extends AbstractChillVoter implements ProvideRoleHierar
|
|||||||
return $this->getAttributes();
|
return $this->getAttributes();
|
||||||
}
|
}
|
||||||
|
|
||||||
protected function supports($attribute, $subject)
|
protected function supports(string $attribute, mixed $subject): bool
|
||||||
{
|
{
|
||||||
return $this->helper->supports($attribute, $subject);
|
return $this->helper->supports($attribute, $subject);
|
||||||
}
|
}
|
||||||
|
|
||||||
protected function voteOnAttribute($attribute, $subject, TokenInterface $token)
|
protected function voteOnAttribute(string $attribute, mixed $subject, TokenInterface $token): bool
|
||||||
{
|
{
|
||||||
return $this->helper->voteOnAttribute($attribute, $subject, $token);
|
return $this->helper->voteOnAttribute($attribute, $subject, $token);
|
||||||
}
|
}
|
||||||
|
|
||||||
private function getAttributes()
|
private function getAttributes(): array
|
||||||
{
|
{
|
||||||
return [self::STATS, self::LISTS];
|
return [self::STATS, self::LISTS];
|
||||||
}
|
}
|
||||||
|
@@ -17,7 +17,7 @@ use Chill\DocStoreBundle\Repository\AssociatedEntityToStoredObjectInterface;
|
|||||||
use Chill\DocStoreBundle\Security\Authorization\StoredObjectRoleEnum;
|
use Chill\DocStoreBundle\Security\Authorization\StoredObjectRoleEnum;
|
||||||
use Chill\DocStoreBundle\Security\Authorization\StoredObjectVoter\AbstractStoredObjectVoter;
|
use Chill\DocStoreBundle\Security\Authorization\StoredObjectVoter\AbstractStoredObjectVoter;
|
||||||
use Chill\MainBundle\Workflow\Helper\WorkflowRelatedEntityPermissionHelper;
|
use Chill\MainBundle\Workflow\Helper\WorkflowRelatedEntityPermissionHelper;
|
||||||
use Symfony\Component\Security\Core\Security;
|
use Symfony\Bundle\SecurityBundle\Security;
|
||||||
|
|
||||||
class ActivityStoredObjectVoter extends AbstractStoredObjectVoter
|
class ActivityStoredObjectVoter extends AbstractStoredObjectVoter
|
||||||
{
|
{
|
||||||
|
@@ -22,7 +22,7 @@ use Chill\PersonBundle\Entity\Person;
|
|||||||
use Chill\PersonBundle\Security\Authorization\AccompanyingPeriodVoter;
|
use Chill\PersonBundle\Security\Authorization\AccompanyingPeriodVoter;
|
||||||
use Chill\PersonBundle\Security\Authorization\PersonVoter;
|
use Chill\PersonBundle\Security\Authorization\PersonVoter;
|
||||||
use Symfony\Component\Security\Core\Authentication\Token\TokenInterface;
|
use Symfony\Component\Security\Core\Authentication\Token\TokenInterface;
|
||||||
use Symfony\Component\Security\Core\Security;
|
use Symfony\Bundle\SecurityBundle\Security;
|
||||||
|
|
||||||
class ActivityVoter extends AbstractChillVoter implements ProvideRoleHierarchyInterface
|
class ActivityVoter extends AbstractChillVoter implements ProvideRoleHierarchyInterface
|
||||||
{
|
{
|
||||||
|
@@ -26,7 +26,7 @@ use Chill\PersonBundle\Entity\Person;
|
|||||||
use Chill\PersonBundle\Security\Authorization\AccompanyingPeriodVoter;
|
use Chill\PersonBundle\Security\Authorization\AccompanyingPeriodVoter;
|
||||||
use Doctrine\DBAL\Types\Types;
|
use Doctrine\DBAL\Types\Types;
|
||||||
use Doctrine\ORM\EntityManagerInterface;
|
use Doctrine\ORM\EntityManagerInterface;
|
||||||
use Symfony\Component\Security\Core\Security;
|
use Symfony\Bundle\SecurityBundle\Security;
|
||||||
|
|
||||||
final readonly class AccompanyingPeriodActivityGenericDocProvider implements GenericDocForAccompanyingPeriodProviderInterface, GenericDocForPersonProviderInterface
|
final readonly class AccompanyingPeriodActivityGenericDocProvider implements GenericDocForAccompanyingPeriodProviderInterface, GenericDocForPersonProviderInterface
|
||||||
{
|
{
|
||||||
|
@@ -16,7 +16,7 @@ use Chill\ActivityBundle\Security\Authorization\ActivityVoter;
|
|||||||
use Chill\DocStoreBundle\GenericDoc\FetchQueryInterface;
|
use Chill\DocStoreBundle\GenericDoc\FetchQueryInterface;
|
||||||
use Chill\DocStoreBundle\GenericDoc\GenericDocForPersonProviderInterface;
|
use Chill\DocStoreBundle\GenericDoc\GenericDocForPersonProviderInterface;
|
||||||
use Chill\PersonBundle\Entity\Person;
|
use Chill\PersonBundle\Entity\Person;
|
||||||
use Symfony\Component\Security\Core\Security;
|
use Symfony\Bundle\SecurityBundle\Security;
|
||||||
|
|
||||||
final readonly class PersonActivityGenericDocProvider implements GenericDocForPersonProviderInterface
|
final readonly class PersonActivityGenericDocProvider implements GenericDocForPersonProviderInterface
|
||||||
{
|
{
|
||||||
|
@@ -22,10 +22,8 @@ trait PrepareActivityTrait
|
|||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* Return an activity with a scope and a person inside.
|
* Return an activity with a scope and a person inside.
|
||||||
*
|
|
||||||
* @return Activity
|
|
||||||
*/
|
*/
|
||||||
public function prepareActivity(Scope $scope, Person $person)
|
public function prepareActivity(Scope $scope, Person $person): Activity
|
||||||
{
|
{
|
||||||
return (new Activity())
|
return (new Activity())
|
||||||
->setScope($scope)
|
->setScope($scope)
|
||||||
|
@@ -25,7 +25,7 @@ final class ActivityControllerTest extends WebTestCase
|
|||||||
/**
|
/**
|
||||||
* @dataProvider getSecuredPagesUnauthenticated
|
* @dataProvider getSecuredPagesUnauthenticated
|
||||||
*/
|
*/
|
||||||
public function testAccessIsDeniedForUnauthenticated(mixed $url)
|
public function testAccessIsDeniedForUnauthenticated(mixed $url): void
|
||||||
{
|
{
|
||||||
$client = $this->createClient();
|
$client = $this->createClient();
|
||||||
|
|
||||||
@@ -61,7 +61,7 @@ final class ActivityControllerTest extends WebTestCase
|
|||||||
* @param type $client
|
* @param type $client
|
||||||
* @param type $url
|
* @param type $url
|
||||||
*/
|
*/
|
||||||
public function testAccessIsDeniedForUnauthorized($client, $url)
|
public function testAccessIsDeniedForUnauthorized($client, $url): void
|
||||||
{
|
{
|
||||||
$client->request('GET', $url);
|
$client->request('GET', $url);
|
||||||
|
|
||||||
@@ -101,7 +101,7 @@ final class ActivityControllerTest extends WebTestCase
|
|||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
public function testCompleteScenario()
|
public function testCompleteScenario(): void
|
||||||
{
|
{
|
||||||
// Create a new client to browse the application
|
// Create a new client to browse the application
|
||||||
$client = $this->getAuthenticatedClient();
|
$client = $this->getAuthenticatedClient();
|
||||||
@@ -199,7 +199,7 @@ final class ActivityControllerTest extends WebTestCase
|
|||||||
*
|
*
|
||||||
* @return \Chill\MainBundle\Entity\User a fake user within a group without activity
|
* @return \Chill\MainBundle\Entity\User a fake user within a group without activity
|
||||||
*/
|
*/
|
||||||
private function createFakeUser()
|
private function createFakeUser(): \Chill\MainBundle\Entity\User
|
||||||
{
|
{
|
||||||
$container = self::$kernel->getContainer();
|
$container = self::$kernel->getContainer();
|
||||||
$em = $container->get('doctrine.orm.entity_manager');
|
$em = $container->get('doctrine.orm.entity_manager');
|
||||||
@@ -259,7 +259,7 @@ final class ActivityControllerTest extends WebTestCase
|
|||||||
/**
|
/**
|
||||||
* @return \Symfony\Component\BrowserKit\AbstractBrowser
|
* @return \Symfony\Component\BrowserKit\AbstractBrowser
|
||||||
*/
|
*/
|
||||||
private function getAuthenticatedClient(mixed $username = 'center a_social')
|
private function getAuthenticatedClient(mixed $username = 'center a_social'): \Symfony\Bundle\FrameworkBundle\KernelBrowser
|
||||||
{
|
{
|
||||||
return self::createClient([], [
|
return self::createClient([], [
|
||||||
'PHP_AUTH_USER' => $username,
|
'PHP_AUTH_USER' => $username,
|
||||||
|
@@ -16,7 +16,6 @@ use Chill\PersonBundle\AccompanyingPeriod\SocialIssueConsistency\AccompanyingPer
|
|||||||
use Chill\PersonBundle\Entity\AccompanyingPeriod;
|
use Chill\PersonBundle\Entity\AccompanyingPeriod;
|
||||||
use Chill\PersonBundle\Entity\SocialWork\SocialAction;
|
use Chill\PersonBundle\Entity\SocialWork\SocialAction;
|
||||||
use Chill\PersonBundle\Entity\SocialWork\SocialIssue;
|
use Chill\PersonBundle\Entity\SocialWork\SocialIssue;
|
||||||
use Doctrine\ORM\Event\LifecycleEventArgs;
|
|
||||||
use PHPUnit\Framework\TestCase;
|
use PHPUnit\Framework\TestCase;
|
||||||
use Prophecy\PhpUnit\ProphecyTrait;
|
use Prophecy\PhpUnit\ProphecyTrait;
|
||||||
|
|
||||||
@@ -70,33 +69,32 @@ final class ActivityTest extends TestCase
|
|||||||
public function testHierarchySocialIssues(): void
|
public function testHierarchySocialIssues(): void
|
||||||
{
|
{
|
||||||
$listener = new AccompanyingPeriodSocialIssueConsistencyEntityListener();
|
$listener = new AccompanyingPeriodSocialIssueConsistencyEntityListener();
|
||||||
$event = $this->prophesize(LifecycleEventArgs::class)->reveal();
|
|
||||||
|
|
||||||
$parent = new SocialIssue();
|
$parent = new SocialIssue();
|
||||||
$child = new SocialIssue();
|
$child = new SocialIssue();
|
||||||
|
|
||||||
$parent->addChild($child);
|
$child->setParent($parent);
|
||||||
$grandChild = new SocialIssue();
|
$grandChild = new SocialIssue();
|
||||||
$child->addChild($grandChild);
|
$grandChild->setParent($child);
|
||||||
|
|
||||||
$activity = new Activity();
|
$activity = new Activity();
|
||||||
$activity->setAccompanyingPeriod(new AccompanyingPeriod());
|
$activity->setAccompanyingPeriod(new AccompanyingPeriod());
|
||||||
|
|
||||||
$activity->addSocialIssue($parent);
|
$activity->addSocialIssue($parent);
|
||||||
$listener->preUpdate($activity, $event);
|
$listener->preUpdate($activity);
|
||||||
|
|
||||||
$this->assertCount(1, $activity->getSocialIssues());
|
$this->assertCount(1, $activity->getSocialIssues());
|
||||||
$this->assertContains($parent, $activity->getSocialIssues());
|
$this->assertContains($parent, $activity->getSocialIssues());
|
||||||
|
|
||||||
$activity->addSocialIssue($grandChild);
|
$activity->addSocialIssue($grandChild);
|
||||||
$listener->preUpdate($activity, $event);
|
$listener->preUpdate($activity);
|
||||||
|
|
||||||
$this->assertCount(1, $activity->getSocialIssues());
|
$this->assertCount(1, $activity->getSocialIssues());
|
||||||
$this->assertContains($grandChild, $activity->getSocialIssues());
|
$this->assertContains($grandChild, $activity->getSocialIssues());
|
||||||
$this->assertNotContains($parent, $activity->getSocialIssues());
|
$this->assertNotContains($parent, $activity->getSocialIssues());
|
||||||
|
|
||||||
$activity->addSocialIssue($child);
|
$activity->addSocialIssue($child);
|
||||||
$listener->preUpdate($activity, $event);
|
$listener->preUpdate($activity);
|
||||||
|
|
||||||
$this->assertCount(1, $activity->getSocialIssues());
|
$this->assertCount(1, $activity->getSocialIssues());
|
||||||
$this->assertContains($grandChild, $activity->getSocialIssues());
|
$this->assertContains($grandChild, $activity->getSocialIssues());
|
||||||
@@ -104,7 +102,7 @@ final class ActivityTest extends TestCase
|
|||||||
$this->assertNotContains($child, $activity->getSocialIssues());
|
$this->assertNotContains($child, $activity->getSocialIssues());
|
||||||
|
|
||||||
$activity->addSocialIssue($another = new SocialIssue());
|
$activity->addSocialIssue($another = new SocialIssue());
|
||||||
$listener->preUpdate($activity, $event);
|
$listener->preUpdate($activity);
|
||||||
|
|
||||||
$this->assertCount(2, $activity->getSocialIssues());
|
$this->assertCount(2, $activity->getSocialIssues());
|
||||||
$this->assertContains($grandChild, $activity->getSocialIssues());
|
$this->assertContains($grandChild, $activity->getSocialIssues());
|
||||||
|
@@ -41,7 +41,7 @@ class ByActivityTypeAggregatorTest extends AbstractAggregatorTest
|
|||||||
$this->translatableStringHelper = self::getContainer()->get(TranslatableStringHelperInterface::class);
|
$this->translatableStringHelper = self::getContainer()->get(TranslatableStringHelperInterface::class);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function getAggregator()
|
public function getAggregator(): ByActivityTypeAggregator
|
||||||
{
|
{
|
||||||
return new ByActivityTypeAggregator(
|
return new ByActivityTypeAggregator(
|
||||||
$this->rollingDateConverter,
|
$this->rollingDateConverter,
|
||||||
|
@@ -32,7 +32,7 @@ final class BySocialActionAggregatorTest extends AbstractAggregatorTest
|
|||||||
$this->aggregator = self::getContainer()->get('chill.activity.export.bysocialaction_aggregator');
|
$this->aggregator = self::getContainer()->get('chill.activity.export.bysocialaction_aggregator');
|
||||||
}
|
}
|
||||||
|
|
||||||
public function getAggregator()
|
public function getAggregator(): BySocialActionAggregator
|
||||||
{
|
{
|
||||||
return $this->aggregator;
|
return $this->aggregator;
|
||||||
}
|
}
|
||||||
|
@@ -32,7 +32,7 @@ final class BySocialIssueAggregatorTest extends AbstractAggregatorTest
|
|||||||
$this->aggregator = self::getContainer()->get('chill.activity.export.bysocialissue_aggregator');
|
$this->aggregator = self::getContainer()->get('chill.activity.export.bysocialissue_aggregator');
|
||||||
}
|
}
|
||||||
|
|
||||||
public function getAggregator()
|
public function getAggregator(): BySocialIssueAggregator
|
||||||
{
|
{
|
||||||
return $this->aggregator;
|
return $this->aggregator;
|
||||||
}
|
}
|
||||||
|
@@ -35,7 +35,7 @@ class ActivityPresenceAggregatorTest extends AbstractAggregatorTest
|
|||||||
$this->activityPresenceRepository = self::getContainer()->get(ActivityPresenceRepositoryInterface::class);
|
$this->activityPresenceRepository = self::getContainer()->get(ActivityPresenceRepositoryInterface::class);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function getAggregator()
|
public function getAggregator(): ActivityPresenceAggregator
|
||||||
{
|
{
|
||||||
return new ActivityPresenceAggregator($this->activityPresenceRepository, $this->translatableStringHelper);
|
return new ActivityPresenceAggregator($this->activityPresenceRepository, $this->translatableStringHelper);
|
||||||
}
|
}
|
||||||
|
@@ -44,7 +44,7 @@ final class ActivityReasonAggregatorTest extends AbstractAggregatorTest
|
|||||||
->push($request->reveal());*/
|
->push($request->reveal());*/
|
||||||
}
|
}
|
||||||
|
|
||||||
public function getAggregator()
|
public function getAggregator(): ActivityReasonAggregator
|
||||||
{
|
{
|
||||||
return $this->aggregator;
|
return $this->aggregator;
|
||||||
}
|
}
|
||||||
|
@@ -45,7 +45,7 @@ final class ActivityTypeAggregatorTest extends AbstractAggregatorTest
|
|||||||
->push($request->reveal());
|
->push($request->reveal());
|
||||||
}
|
}
|
||||||
|
|
||||||
public function getAggregator()
|
public function getAggregator(): ActivityTypeAggregator
|
||||||
{
|
{
|
||||||
return $this->aggregator;
|
return $this->aggregator;
|
||||||
}
|
}
|
||||||
|
@@ -45,7 +45,7 @@ final class ActivityUserAggregatorTest extends AbstractAggregatorTest
|
|||||||
->push($request->reveal());
|
->push($request->reveal());
|
||||||
}
|
}
|
||||||
|
|
||||||
public function getAggregator()
|
public function getAggregator(): ActivityUserAggregator
|
||||||
{
|
{
|
||||||
return $this->aggregator;
|
return $this->aggregator;
|
||||||
}
|
}
|
||||||
|
@@ -32,7 +32,7 @@ final class ByThirdpartyAggregatorTest extends AbstractAggregatorTest
|
|||||||
$this->aggregator = self::getContainer()->get(ByThirdpartyAggregator::class);
|
$this->aggregator = self::getContainer()->get(ByThirdpartyAggregator::class);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function getAggregator()
|
public function getAggregator(): ByThirdpartyAggregator
|
||||||
{
|
{
|
||||||
return $this->aggregator;
|
return $this->aggregator;
|
||||||
}
|
}
|
||||||
|
@@ -32,7 +32,7 @@ final class ByUserAggregatorTest extends AbstractAggregatorTest
|
|||||||
$this->aggregator = self::getContainer()->get(ByCreatorAggregator::class);
|
$this->aggregator = self::getContainer()->get(ByCreatorAggregator::class);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function getAggregator()
|
public function getAggregator(): ByCreatorAggregator
|
||||||
{
|
{
|
||||||
return $this->aggregator;
|
return $this->aggregator;
|
||||||
}
|
}
|
||||||
|
@@ -32,7 +32,7 @@ final class CreatorJobAggregatorTest extends AbstractAggregatorTest
|
|||||||
$this->aggregator = self::getContainer()->get(CreatorJobAggregator::class);
|
$this->aggregator = self::getContainer()->get(CreatorJobAggregator::class);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function getAggregator()
|
public function getAggregator(): CreatorJobAggregator
|
||||||
{
|
{
|
||||||
return $this->aggregator;
|
return $this->aggregator;
|
||||||
}
|
}
|
||||||
|
@@ -32,7 +32,7 @@ final class CreatorScopeAggregatorTest extends AbstractAggregatorTest
|
|||||||
$this->aggregator = self::getContainer()->get(CreatorScopeAggregator::class);
|
$this->aggregator = self::getContainer()->get(CreatorScopeAggregator::class);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function getAggregator()
|
public function getAggregator(): CreatorScopeAggregator
|
||||||
{
|
{
|
||||||
return $this->aggregator;
|
return $this->aggregator;
|
||||||
}
|
}
|
||||||
|
@@ -32,7 +32,7 @@ final class DateAggregatorTest extends AbstractAggregatorTest
|
|||||||
$this->aggregator = self::getContainer()->get(DateAggregator::class);
|
$this->aggregator = self::getContainer()->get(DateAggregator::class);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function getAggregator()
|
public function getAggregator(): DateAggregator
|
||||||
{
|
{
|
||||||
return $this->aggregator;
|
return $this->aggregator;
|
||||||
}
|
}
|
||||||
|
@@ -32,7 +32,7 @@ final class LocationTypeAggregatorTest extends AbstractAggregatorTest
|
|||||||
$this->aggregator = self::getContainer()->get(LocationTypeAggregator::class);
|
$this->aggregator = self::getContainer()->get(LocationTypeAggregator::class);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function getAggregator()
|
public function getAggregator(): LocationTypeAggregator
|
||||||
{
|
{
|
||||||
return $this->aggregator;
|
return $this->aggregator;
|
||||||
}
|
}
|
||||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user