mirror of
https://gitlab.com/Chill-Projet/chill-bundles.git
synced 2025-09-25 16:14:59 +00:00
Compare commits
3 Commits
issue17_us
...
issue443_l
Author | SHA1 | Date | |
---|---|---|---|
58de9f9bf3 | |||
b32ecf98f2 | |||
d47fdc768e |
@@ -29,7 +29,6 @@ variables:
|
|||||||
REDIS_URL: redis://redis:6379
|
REDIS_URL: redis://redis:6379
|
||||||
# change vendor dir to make the app install into tests/apps
|
# change vendor dir to make the app install into tests/apps
|
||||||
COMPOSER_VENDOR_DIR: tests/app/vendor
|
COMPOSER_VENDOR_DIR: tests/app/vendor
|
||||||
DEFAULT_CARRIER_CODE: BE
|
|
||||||
|
|
||||||
stages:
|
stages:
|
||||||
- Composer install
|
- Composer install
|
||||||
@@ -79,7 +78,6 @@ psalm_tests:
|
|||||||
image: registry.gitlab.com/chill-projet/chill-app/php-base-image:7.4
|
image: registry.gitlab.com/chill-projet/chill-app/php-base-image:7.4
|
||||||
script:
|
script:
|
||||||
- bin/grumphp run --tasks=psalm
|
- bin/grumphp run --tasks=psalm
|
||||||
allow_failure: true
|
|
||||||
artifacts:
|
artifacts:
|
||||||
expire_in: 30 min
|
expire_in: 30 min
|
||||||
paths:
|
paths:
|
||||||
|
67
CHANGELOG.md
67
CHANGELOG.md
@@ -11,60 +11,9 @@ and this project adheres to
|
|||||||
## Unreleased
|
## Unreleased
|
||||||
|
|
||||||
<!-- write down unreleased development here -->
|
<!-- write down unreleased development here -->
|
||||||
* [main] filter user job in undispatch acc period to assign (https://gitlab.com/champs-libres/departement-de-la-vendee/chill/-/issues/472)
|
|
||||||
* [person] Add url in accompanying period work evaluations entity and form (https://gitlab.com/champs-libres/departement-de-la-vendee/chill/-/issues/476)
|
|
||||||
* [person] Add document generation in admin and in person/{id}/document (https://gitlab.com/champs-libres/departement-de-la-vendee/chill/-/issues/464)
|
|
||||||
* [activity] do not override location if already exist (when validating new activity) (https://gitlab.com/champs-libres/departement-de-la-vendee/chill/-/issues/470)
|
|
||||||
* [parcours] Toggle emergency/intensity only by referrer (https://gitlab.com/champs-libres/departement-de-la-vendee/chill/-/issues/442)
|
|
||||||
* [docstore] Add an API entrypoint for StoredObject (https://gitlab.com/champs-libres/departement-de-la-vendee/chill/-/issues/466)
|
|
||||||
* [person] Add the possibility of uploading existing documents to AccPeriodWorkEvaluationDocument (https://gitlab.com/champs-libres/departement-de-la-vendee/chill/-/issues/466)
|
|
||||||
* [person] Add title to AccPeriodWorkEvaluationDocument (https://gitlab.com/champs-libres/departement-de-la-vendee/chill/-/issues/466)
|
|
||||||
* [person] Order social issues by the field "ordering" (https://gitlab.com/champs-libres/departement-de-la-vendee/chill/-/issues/388)
|
|
||||||
* [Person/Household list] when listing other simultaneous members of an household, exclude the members on person, not on members (avoid to show two membersship with the same person)
|
|
||||||
* [draft periods] add a delete button (if acl granted) on each draft period listed on draft period page (https://gitlab.com/champs-libres/departement-de-la-vendee/chill/-/issues/463)
|
|
||||||
* [Person] Display suffixText in RenderPerson, PersonText.vue, RenderPersonBox.vue (was made for displaying "enfant confie") (https://gitlab.com/champs-libres/departement-de-la-vendee/chill/-/issues/441)
|
|
||||||
* [person] residential address: show residential address or info in PersonRenderBox, refactor Residential Address (https://gitlab.com/champs-libres/departement-de-la-vendee/chill/-/issues/439)
|
|
||||||
* [thirdparty] Add a contact to a thirdparty from within onTheFly (https://gitlab.com/champs-libres/departement-de-la-vendee/chill/-/issues/345)
|
|
||||||
* [documents] Improve flex-table item-col placement when long buttons and long metadata
|
|
||||||
* [thirdparty] Fix display of multiple contact badges so they wrap onto next line (https://gitlab.com/champs-libres/departement-de-la-vendee/chill/-/issues/482)
|
|
||||||
* [confidential] Fix position of toggle button so it does not cover text nor fall outside of box (no issue)
|
|
||||||
* [parcours] Fix edit of both thirdparty and contact name (https://gitlab.com/champs-libres/departement-de-la-vendee/chill/-/issues/474)
|
|
||||||
* [template] do not list inactive templates (for doc generator)
|
|
||||||
* [parcours] location cannot be removed if linked to a user (https://gitlab.com/champs-libres/departement-de-la-vendee/chill/-/issues/478)
|
|
||||||
* [person] email added to twig personRenderbox (https://gitlab.com/champs-libres/departement-de-la-vendee/chill/-/issues/490)
|
|
||||||
* [person] Add link to current household in person banner (https://gitlab.com/champs-libres/departement-de-la-vendee/chill/-/issues/484)
|
|
||||||
|
|
||||||
## Test releases
|
## Test releases
|
||||||
|
|
||||||
### test release 2022-02-21
|
|
||||||
|
|
||||||
* [notifications] Word 'un' changed to number '1' for notifications in user menu (https://gitlab.com/champs-libres/departement-de-la-vendee/accent-suivi-developpement/-/issues/483)
|
|
||||||
* [documents] 'gabarit' changed to 'modèle' (https://gitlab.com/champs-libres/departement-de-la-vendee/accent-suivi-developpement/-/issues/405)
|
|
||||||
* [person_resources] Menu name and order changed (https://gitlab.com/champs-libres/departement-de-la-vendee/accent-suivi-developpement/-/issues/460)
|
|
||||||
* workflow: fix sending notifications
|
|
||||||
* [thirdparty] Extend the thirdparty search to thirdparty children (https://gitlab.com/champs-libres/departement-de-la-vendee/chill/-/issues/448)
|
|
||||||
* [person]: AddPersons: allow creation of person or thirdparty only (no users) (https://gitlab.com/champs-libres/departement-de-la-vendee/chill/-/issues/422)
|
|
||||||
* [person]: AddPersons: allow creation of person or thirdparty depending on allowed types (https://gitlab.com/champs-libres/departement-de-la-vendee/chill/-/issues/422)
|
|
||||||
* [person]: AddPersons: add suggestion of name when creating new person or thirdparty (https://gitlab.com/champs-libres/departement-de-la-vendee/chill/-/issues/422)
|
|
||||||
* [main] Address: fix small bug: when modifying an address without street (isNoAddress), also check errors if street is an empty string as back-end change null value to empty string for street (and streetNumber)
|
|
||||||
* [main] Address: stronger client-side validation of addresses (https://gitlab.com/champs-libres/departement-de-la-vendee/chill/-/issues/449)
|
|
||||||
* [person] accompanying course: filter suggested entities by open participations (https://gitlab.com/champs-libres/departement-de-la-vendee/accent-suivi-developpement/-/issues/415)
|
|
||||||
[activity] can click through the cross icon for removing person in concerned group (https://gitlab.com/champs-libres/departement-de-la-vendee/accent-suivi-developpement/-/issues/476)
|
|
||||||
[activity] correct associated persons by considering only open participations (https://gitlab.com/champs-libres/departement-de-la-vendee/accent-suivi-developpement/-/issues/476)
|
|
||||||
* [person_resources]: Renderboxes used to display person/thirdparty info (https://gitlab.com/champs-libres/departement-de-la-vendee/accent-suivi-developpement/-/issues/465)
|
|
||||||
* [Household]: Add end date in HouseholdMember form for 'enfant hors menage' (https://gitlab.com/champs-libres/departement-de-la-vendee/chill/-/issues/434)
|
|
||||||
* [homepage_widget]: If no sender then display as 'notification automatique' (https://gitlab.com/champs-libres/departement-de-la-vendee/chill/-/issues/435)
|
|
||||||
* [parcours]: Order social activities and only display most recent three in parcours resumé (https://gitlab.com/champs-libres/departement-de-la-vendee/accent-suivi-developpement/-/issues/481)
|
|
||||||
* [3party]: 3party: redirect to parent when contact (child) is opened in view page
|
|
||||||
* [parcours / addresses]: launch an event when a person change address (either through changing household or because the household is associated to a new address). If the person is localising a course, the course location go back to a temporarily address.
|
|
||||||
* [thirdparty]: address/phonenumber/email/fonction displayed in thirdpartyrenderbox (https://gitlab.com/champs-libres/departement-de-la-vendee/chill/-/issues/401)
|
|
||||||
* [thirdparty_contact]: in search results the 'qualité' is displayed (https://gitlab.com/champs-libres/departement-de-la-vendee/chill/-/issues/465)
|
|
||||||
* [bug]: fix confidential toggle of address in thirdpartyrenderbox (https://gitlab.com/champs-libres/departement-de-la-vendee/chill/-/issues/460)
|
|
||||||
|
|
||||||
|
|
||||||
## Test releases
|
|
||||||
* Creation of PickCivilityType, and implementation in PersonType and ThirdpartyType
|
|
||||||
|
|
||||||
### test release 2022-02-14
|
### test release 2022-02-14
|
||||||
|
|
||||||
* AddPersons: remove ul-li html tags from AddPersons (https://gitlab.com/champs-libres/departement-de-la-vendee/chill/-/issues/419)
|
* AddPersons: remove ul-li html tags from AddPersons (https://gitlab.com/champs-libres/departement-de-la-vendee/chill/-/issues/419)
|
||||||
@@ -80,7 +29,6 @@ and this project adheres to
|
|||||||
* [parcours]: Mes parcours brouillon added to user menu (https://gitlab.com/champs-libres/departement-de-la-vendee/chill/-/issues/440)
|
* [parcours]: Mes parcours brouillon added to user menu (https://gitlab.com/champs-libres/departement-de-la-vendee/chill/-/issues/440)
|
||||||
* [Documents]: List view adapted to display more information (https://gitlab.com/champs-libres/departement-de-la-vendee/chill/-/issues/414)
|
* [Documents]: List view adapted to display more information (https://gitlab.com/champs-libres/departement-de-la-vendee/chill/-/issues/414)
|
||||||
* [person]: style fix in parcours listing per person. (https://gitlab.com/champs-libres/departement-de-la-vendee/chill/-/issues/432)
|
* [person]: style fix in parcours listing per person. (https://gitlab.com/champs-libres/departement-de-la-vendee/chill/-/issues/432)
|
||||||
* [parcours]: Only the referrer can toggle the intensity of the parcours (https://gitlab.com/champs-libres/departement-de-la-vendee/chill/-/issues/442)
|
|
||||||
* [household]: display address of current household (https://gitlab.com/champs-libres/departement-de-la-vendee/chill/-/issues/415)
|
* [household]: display address of current household (https://gitlab.com/champs-libres/departement-de-la-vendee/chill/-/issues/415)
|
||||||
* ajoute un ordre dans les localisation (api)
|
* ajoute un ordre dans les localisation (api)
|
||||||
* [pick entity]: fix translations in modal (https://gitlab.com/champs-libres/departement-de-la-vendee/accent-suivi-developpement/-/issues/419)
|
* [pick entity]: fix translations in modal (https://gitlab.com/champs-libres/departement-de-la-vendee/accent-suivi-developpement/-/issues/419)
|
||||||
@@ -90,7 +38,7 @@ and this project adheres to
|
|||||||
* [address]: Correction residential address 'depuis le' (https://gitlab.com/champs-libres/departement-de-la-vendee/accent-suivi-developpement/-/issues/459)
|
* [address]: Correction residential address 'depuis le' (https://gitlab.com/champs-libres/departement-de-la-vendee/accent-suivi-developpement/-/issues/459)
|
||||||
* [Documents]: List view adapted to display more information (https://gitlab.com/champs-libres/departement-de-la-vendee/chill/-/issues/414)
|
* [Documents]: List view adapted to display more information (https://gitlab.com/champs-libres/departement-de-la-vendee/chill/-/issues/414)
|
||||||
* [Thirdparty_contact]: address blurred if confidential in view page (https://gitlab.com/champs-libres/departement-de-la-vendee/chill/-/issues/450)
|
* [Thirdparty_contact]: address blurred if confidential in view page (https://gitlab.com/champs-libres/departement-de-la-vendee/chill/-/issues/450)
|
||||||
|
* [homepage_widget]: If no sender then display as 'notification automatique' (https://gitlab.com/champs-libres/departement-de-la-vendee/chill/-/issues/435)
|
||||||
|
|
||||||
### test release 2021-02-01
|
### test release 2021-02-01
|
||||||
|
|
||||||
@@ -111,19 +59,7 @@ and this project adheres to
|
|||||||
* [AddAddress] disable multiselect search, and rely only on most pertinent Cities and Street computed backend
|
* [AddAddress] disable multiselect search, and rely only on most pertinent Cities and Street computed backend
|
||||||
* [fast_actions] improve fast-actions buttons override mechanism, fix https://gitlab.com/champs-libres/departement-de-la-vendee/accent-suivi-developpement/-/issues/413
|
* [fast_actions] improve fast-actions buttons override mechanism, fix https://gitlab.com/champs-libres/departement-de-la-vendee/accent-suivi-developpement/-/issues/413
|
||||||
* [homepage widget] add vue homepage_widget with asynchone loading, give a global view resume of the user concerned actions, notifications, etc.
|
* [homepage widget] add vue homepage_widget with asynchone loading, give a global view resume of the user concerned actions, notifications, etc.
|
||||||
* [thirdparty] Add a contact to a thirdparty from within onTheFly (https://gitlab.com/champs-libres/departement-de-la-vendee/chill/-/issues/345)
|
|
||||||
|
|
||||||
|
|
||||||
## Test releases
|
|
||||||
=======
|
|
||||||
* [homepage widget] add vue homepage_widget with asynchone loading, give a global view resume of the user concerned actions, notifications, etc.
|
|
||||||
>>>>>>> issue422_and_others_on_AddPersons
|
|
||||||
|
|
||||||
=======
|
|
||||||
* [homepage widget] add vue homepage_widget with asynchone loading, give a global view resume of the user concerned actions, notifications, etc.
|
|
||||||
* [thirdparty] Add a contact to a thirdparty from within onTheFly (https://gitlab.com/champs-libres/departement-de-la-vendee/chill/-/issues/345)
|
|
||||||
|
|
||||||
>>>>>>> b0d50d315c8e00959a967badac9cf5057ab2b4bc
|
|
||||||
### test release 2021-01-31
|
### test release 2021-01-31
|
||||||
|
|
||||||
* [person] accompanying course: optimisation: do not fetch some resources for the banner (https://gitlab.com/champs-libres/departement-de-la-vendee/chill/-/issues/409)
|
* [person] accompanying course: optimisation: do not fetch some resources for the banner (https://gitlab.com/champs-libres/departement-de-la-vendee/chill/-/issues/409)
|
||||||
@@ -329,7 +265,6 @@ and this project adheres to
|
|||||||
* add an endpoint for checking permissions. See https://gitlab.com/Chill-Projet/chill-bundles/-/merge_requests/232
|
* add an endpoint for checking permissions. See https://gitlab.com/Chill-Projet/chill-bundles/-/merge_requests/232
|
||||||
* [activity] for a new activity: suggest and create on-the-fly locations based on the accompanying course location + location of the suggested parties
|
* [activity] for a new activity: suggest and create on-the-fly locations based on the accompanying course location + location of the suggested parties
|
||||||
* [calendar] for a new rdv: suggest and create on-the-fly locations based on the accompanying course location + location of the suggested parties
|
* [calendar] for a new rdv: suggest and create on-the-fly locations based on the accompanying course location + location of the suggested parties
|
||||||
* [period] Validation added when period is confidential and confirmed -> user cannot be null.
|
|
||||||
|
|
||||||
|
|
||||||
## Test releases
|
## Test releases
|
||||||
|
@@ -22,7 +22,6 @@
|
|||||||
"league/csv": "^9.7.1",
|
"league/csv": "^9.7.1",
|
||||||
"nyholm/psr7": "^1.4",
|
"nyholm/psr7": "^1.4",
|
||||||
"ocramius/package-versions": "^1.10",
|
"ocramius/package-versions": "^1.10",
|
||||||
"odolbeau/phone-number-bundle": "^3.6",
|
|
||||||
"phpoffice/phpspreadsheet": "^1.16",
|
"phpoffice/phpspreadsheet": "^1.16",
|
||||||
"ramsey/uuid-doctrine": "^1.7",
|
"ramsey/uuid-doctrine": "^1.7",
|
||||||
"sensio/framework-extra-bundle": "^5.5",
|
"sensio/framework-extra-bundle": "^5.5",
|
||||||
|
@@ -25,6 +25,11 @@ parameters:
|
|||||||
count: 1
|
count: 1
|
||||||
path: src/Bundle/ChillActivityBundle/Repository/ActivityACLAwareRepository.php
|
path: src/Bundle/ChillActivityBundle/Repository/ActivityACLAwareRepository.php
|
||||||
|
|
||||||
|
-
|
||||||
|
message: "#^Access to an undefined property Chill\\\\PersonBundle\\\\Household\\\\MembersEditorFactory\\:\\:\\$validator\\.$#"
|
||||||
|
count: 2
|
||||||
|
path: src/Bundle/ChillPersonBundle/Household/MembersEditorFactory.php
|
||||||
|
|
||||||
-
|
-
|
||||||
message: "#^Variable variables are not allowed\\.$#"
|
message: "#^Variable variables are not allowed\\.$#"
|
||||||
count: 4
|
count: 4
|
||||||
|
@@ -105,6 +105,15 @@ parameters:
|
|||||||
count: 1
|
count: 1
|
||||||
path: src/Bundle/ChillActivityBundle/Export/Export/ListActivity.php
|
path: src/Bundle/ChillActivityBundle/Export/Export/ListActivity.php
|
||||||
|
|
||||||
|
-
|
||||||
|
message:
|
||||||
|
"""
|
||||||
|
#^Parameter \\$translator of method Chill\\\\ActivityBundle\\\\Export\\\\Export\\\\ListActivity\\:\\:__construct\\(\\) has typehint with deprecated interface Symfony\\\\Component\\\\Translation\\\\TranslatorInterface\\:
|
||||||
|
since Symfony 4\\.2, use Symfony\\\\Contracts\\\\Translation\\\\TranslatorInterface instead$#
|
||||||
|
"""
|
||||||
|
count: 1
|
||||||
|
path: src/Bundle/ChillActivityBundle/Export/Export/ListActivity.php
|
||||||
|
|
||||||
-
|
-
|
||||||
message:
|
message:
|
||||||
"""
|
"""
|
||||||
@@ -132,6 +141,15 @@ parameters:
|
|||||||
count: 1
|
count: 1
|
||||||
path: src/Bundle/ChillActivityBundle/Export/Export/StatActivityDuration.php
|
path: src/Bundle/ChillActivityBundle/Export/Export/StatActivityDuration.php
|
||||||
|
|
||||||
|
-
|
||||||
|
message:
|
||||||
|
"""
|
||||||
|
#^Parameter \\$translator of method Chill\\\\ActivityBundle\\\\Export\\\\Filter\\\\ActivityDateFilter\\:\\:__construct\\(\\) has typehint with deprecated interface Symfony\\\\Component\\\\Translation\\\\TranslatorInterface\\:
|
||||||
|
since Symfony 4\\.2, use Symfony\\\\Contracts\\\\Translation\\\\TranslatorInterface instead$#
|
||||||
|
"""
|
||||||
|
count: 1
|
||||||
|
path: src/Bundle/ChillActivityBundle/Export/Filter/ActivityDateFilter.php
|
||||||
|
|
||||||
-
|
-
|
||||||
message:
|
message:
|
||||||
"""
|
"""
|
||||||
@@ -177,6 +195,15 @@ parameters:
|
|||||||
count: 1
|
count: 1
|
||||||
path: src/Bundle/ChillActivityBundle/Export/Filter/ActivityTypeFilter.php
|
path: src/Bundle/ChillActivityBundle/Export/Filter/ActivityTypeFilter.php
|
||||||
|
|
||||||
|
-
|
||||||
|
message:
|
||||||
|
"""
|
||||||
|
#^Parameter \\$translator of method Chill\\\\ActivityBundle\\\\Export\\\\Filter\\\\PersonHavingActivityBetweenDateFilter\\:\\:__construct\\(\\) has typehint with deprecated interface Symfony\\\\Component\\\\Translation\\\\TranslatorInterface\\:
|
||||||
|
since Symfony 4\\.2, use Symfony\\\\Contracts\\\\Translation\\\\TranslatorInterface instead$#
|
||||||
|
"""
|
||||||
|
count: 1
|
||||||
|
path: src/Bundle/ChillActivityBundle/Export/Filter/PersonHavingActivityBetweenDateFilter.php
|
||||||
|
|
||||||
-
|
-
|
||||||
message:
|
message:
|
||||||
"""
|
"""
|
||||||
@@ -186,6 +213,15 @@ parameters:
|
|||||||
count: 1
|
count: 1
|
||||||
path: src/Bundle/ChillActivityBundle/Export/Filter/PersonHavingActivityBetweenDateFilter.php
|
path: src/Bundle/ChillActivityBundle/Export/Filter/PersonHavingActivityBetweenDateFilter.php
|
||||||
|
|
||||||
|
-
|
||||||
|
message:
|
||||||
|
"""
|
||||||
|
#^Parameter \\$translator of method Chill\\\\ActivityBundle\\\\Menu\\\\PersonMenuBuilder\\:\\:__construct\\(\\) has typehint with deprecated interface Symfony\\\\Component\\\\Translation\\\\TranslatorInterface\\:
|
||||||
|
since Symfony 4\\.2, use Symfony\\\\Contracts\\\\Translation\\\\TranslatorInterface instead$#
|
||||||
|
"""
|
||||||
|
count: 1
|
||||||
|
path: src/Bundle/ChillActivityBundle/Menu/PersonMenuBuilder.php
|
||||||
|
|
||||||
-
|
-
|
||||||
message:
|
message:
|
||||||
"""
|
"""
|
||||||
@@ -222,6 +258,15 @@ parameters:
|
|||||||
count: 1
|
count: 1
|
||||||
path: src/Bundle/ChillActivityBundle/Timeline/TimelineActivityProvider.php
|
path: src/Bundle/ChillActivityBundle/Timeline/TimelineActivityProvider.php
|
||||||
|
|
||||||
|
-
|
||||||
|
message:
|
||||||
|
"""
|
||||||
|
#^Parameter \\$translator of method Chill\\\\AsideActivityBundle\\\\Menu\\\\UserMenuBuilder\\:\\:__construct\\(\\) has typehint with deprecated interface Symfony\\\\Component\\\\Translation\\\\TranslatorInterface\\:
|
||||||
|
since Symfony 4\\.2, use Symfony\\\\Contracts\\\\Translation\\\\TranslatorInterface instead$#
|
||||||
|
"""
|
||||||
|
count: 1
|
||||||
|
path: src/Bundle/ChillAsideActivityBundle/src/Menu/UserMenuBuilder.php
|
||||||
|
|
||||||
-
|
-
|
||||||
message:
|
message:
|
||||||
"""
|
"""
|
||||||
@@ -231,6 +276,15 @@ parameters:
|
|||||||
count: 1
|
count: 1
|
||||||
path: src/Bundle/ChillBudgetBundle/Controller/AbstractElementController.php
|
path: src/Bundle/ChillBudgetBundle/Controller/AbstractElementController.php
|
||||||
|
|
||||||
|
-
|
||||||
|
message:
|
||||||
|
"""
|
||||||
|
#^Parameter \\$translator of method Chill\\\\AMLI\\\\BudgetBundle\\\\Controller\\\\AbstractElementController\\:\\:__construct\\(\\) has typehint with deprecated interface Symfony\\\\Component\\\\Translation\\\\TranslatorInterface\\:
|
||||||
|
since Symfony 4\\.2, use Symfony\\\\Contracts\\\\Translation\\\\TranslatorInterface instead$#
|
||||||
|
"""
|
||||||
|
count: 1
|
||||||
|
path: src/Bundle/ChillBudgetBundle/Controller/AbstractElementController.php
|
||||||
|
|
||||||
-
|
-
|
||||||
message:
|
message:
|
||||||
"""
|
"""
|
||||||
@@ -240,6 +294,24 @@ parameters:
|
|||||||
count: 1
|
count: 1
|
||||||
path: src/Bundle/ChillBudgetBundle/Controller/ElementController.php
|
path: src/Bundle/ChillBudgetBundle/Controller/ElementController.php
|
||||||
|
|
||||||
|
-
|
||||||
|
message:
|
||||||
|
"""
|
||||||
|
#^Parameter \\$translator of method Chill\\\\AMLI\\\\BudgetBundle\\\\Controller\\\\ElementController\\:\\:__construct\\(\\) has typehint with deprecated interface Symfony\\\\Component\\\\Translation\\\\TranslatorInterface\\:
|
||||||
|
since Symfony 4\\.2, use Symfony\\\\Contracts\\\\Translation\\\\TranslatorInterface instead$#
|
||||||
|
"""
|
||||||
|
count: 1
|
||||||
|
path: src/Bundle/ChillBudgetBundle/Controller/ElementController.php
|
||||||
|
|
||||||
|
-
|
||||||
|
message:
|
||||||
|
"""
|
||||||
|
#^Parameter \\$translator of method Chill\\\\AMLI\\\\BudgetBundle\\\\Menu\\\\UserMenuBuilder\\:\\:__construct\\(\\) has typehint with deprecated interface Symfony\\\\Component\\\\Translation\\\\TranslatorInterface\\:
|
||||||
|
since Symfony 4\\.2, use Symfony\\\\Contracts\\\\Translation\\\\TranslatorInterface instead$#
|
||||||
|
"""
|
||||||
|
count: 1
|
||||||
|
path: src/Bundle/ChillBudgetBundle/Menu/UserMenuBuilder.php
|
||||||
|
|
||||||
-
|
-
|
||||||
message:
|
message:
|
||||||
"""
|
"""
|
||||||
@@ -249,6 +321,15 @@ parameters:
|
|||||||
count: 1
|
count: 1
|
||||||
path: src/Bundle/ChillBudgetBundle/Security/Authorization/BudgetElementVoter.php
|
path: src/Bundle/ChillBudgetBundle/Security/Authorization/BudgetElementVoter.php
|
||||||
|
|
||||||
|
-
|
||||||
|
message:
|
||||||
|
"""
|
||||||
|
#^Parameter \\$translator of method Chill\\\\CalendarBundle\\\\Menu\\\\UserMenuBuilder\\:\\:__construct\\(\\) has typehint with deprecated interface Symfony\\\\Component\\\\Translation\\\\TranslatorInterface\\:
|
||||||
|
since Symfony 4\\.2, use Symfony\\\\Contracts\\\\Translation\\\\TranslatorInterface instead$#
|
||||||
|
"""
|
||||||
|
count: 1
|
||||||
|
path: src/Bundle/ChillCalendarBundle/Menu/UserMenuBuilder.php
|
||||||
|
|
||||||
-
|
-
|
||||||
message:
|
message:
|
||||||
"""
|
"""
|
||||||
@@ -318,6 +399,15 @@ parameters:
|
|||||||
count: 1
|
count: 1
|
||||||
path: src/Bundle/ChillCustomFieldsBundle/Entity/CustomFieldsGroup.php
|
path: src/Bundle/ChillCustomFieldsBundle/Entity/CustomFieldsGroup.php
|
||||||
|
|
||||||
|
-
|
||||||
|
message:
|
||||||
|
"""
|
||||||
|
#^Parameter \\$translator of method Chill\\\\CustomFieldsBundle\\\\Form\\\\CustomFieldsGroupType\\:\\:__construct\\(\\) has typehint with deprecated interface Symfony\\\\Component\\\\Translation\\\\TranslatorInterface\\:
|
||||||
|
since Symfony 4\\.2, use Symfony\\\\Contracts\\\\Translation\\\\TranslatorInterface instead$#
|
||||||
|
"""
|
||||||
|
count: 1
|
||||||
|
path: src/Bundle/ChillCustomFieldsBundle/Form/CustomFieldsGroupType.php
|
||||||
|
|
||||||
-
|
-
|
||||||
message:
|
message:
|
||||||
"""
|
"""
|
||||||
@@ -327,6 +417,15 @@ parameters:
|
|||||||
count: 6
|
count: 6
|
||||||
path: src/Bundle/ChillEventBundle/Controller/EventController.php
|
path: src/Bundle/ChillEventBundle/Controller/EventController.php
|
||||||
|
|
||||||
|
-
|
||||||
|
message:
|
||||||
|
"""
|
||||||
|
#^Parameter \\$translator of method Chill\\\\EventBundle\\\\Controller\\\\EventController\\:\\:__construct\\(\\) has typehint with deprecated interface Symfony\\\\Component\\\\Translation\\\\TranslatorInterface\\:
|
||||||
|
since Symfony 4\\.2, use Symfony\\\\Contracts\\\\Translation\\\\TranslatorInterface instead$#
|
||||||
|
"""
|
||||||
|
count: 1
|
||||||
|
path: src/Bundle/ChillEventBundle/Controller/EventController.php
|
||||||
|
|
||||||
-
|
-
|
||||||
message:
|
message:
|
||||||
"""
|
"""
|
||||||
@@ -345,6 +444,42 @@ parameters:
|
|||||||
count: 1
|
count: 1
|
||||||
path: src/Bundle/ChillEventBundle/Form/Type/PickEventType.php
|
path: src/Bundle/ChillEventBundle/Form/Type/PickEventType.php
|
||||||
|
|
||||||
|
-
|
||||||
|
message:
|
||||||
|
"""
|
||||||
|
#^Parameter \\$translator of method Chill\\\\EventBundle\\\\Form\\\\Type\\\\PickEventType\\:\\:__construct\\(\\) has typehint with deprecated interface Symfony\\\\Component\\\\Translation\\\\TranslatorInterface\\:
|
||||||
|
since Symfony 4\\.2, use Symfony\\\\Contracts\\\\Translation\\\\TranslatorInterface instead$#
|
||||||
|
"""
|
||||||
|
count: 1
|
||||||
|
path: src/Bundle/ChillEventBundle/Form/Type/PickEventType.php
|
||||||
|
|
||||||
|
-
|
||||||
|
message:
|
||||||
|
"""
|
||||||
|
#^Parameter \\$translator of method Chill\\\\EventBundle\\\\Form\\\\Type\\\\PickRoleType\\:\\:__construct\\(\\) has typehint with deprecated interface Symfony\\\\Component\\\\Translation\\\\TranslatorInterface\\:
|
||||||
|
since Symfony 4\\.2, use Symfony\\\\Contracts\\\\Translation\\\\TranslatorInterface instead$#
|
||||||
|
"""
|
||||||
|
count: 1
|
||||||
|
path: src/Bundle/ChillEventBundle/Form/Type/PickRoleType.php
|
||||||
|
|
||||||
|
-
|
||||||
|
message:
|
||||||
|
"""
|
||||||
|
#^Parameter \\$translator of method Chill\\\\EventBundle\\\\Form\\\\Type\\\\PickStatusType\\:\\:__construct\\(\\) has typehint with deprecated interface Symfony\\\\Component\\\\Translation\\\\TranslatorInterface\\:
|
||||||
|
since Symfony 4\\.2, use Symfony\\\\Contracts\\\\Translation\\\\TranslatorInterface instead$#
|
||||||
|
"""
|
||||||
|
count: 1
|
||||||
|
path: src/Bundle/ChillEventBundle/Form/Type/PickStatusType.php
|
||||||
|
|
||||||
|
-
|
||||||
|
message:
|
||||||
|
"""
|
||||||
|
#^Parameter \\$translator of method Chill\\\\EventBundle\\\\Menu\\\\PersonMenuBuilder\\:\\:__construct\\(\\) has typehint with deprecated interface Symfony\\\\Component\\\\Translation\\\\TranslatorInterface\\:
|
||||||
|
since Symfony 4\\.2, use Symfony\\\\Contracts\\\\Translation\\\\TranslatorInterface instead$#
|
||||||
|
"""
|
||||||
|
count: 1
|
||||||
|
path: src/Bundle/ChillEventBundle/Menu/PersonMenuBuilder.php
|
||||||
|
|
||||||
-
|
-
|
||||||
message:
|
message:
|
||||||
"""
|
"""
|
||||||
@@ -354,6 +489,24 @@ parameters:
|
|||||||
count: 1
|
count: 1
|
||||||
path: src/Bundle/ChillEventBundle/Search/EventSearch.php
|
path: src/Bundle/ChillEventBundle/Search/EventSearch.php
|
||||||
|
|
||||||
|
-
|
||||||
|
message:
|
||||||
|
"""
|
||||||
|
#^Parameter \\$translator of method Chill\\\\AMLI\\\\FamilyMembersBundle\\\\Controller\\\\FamilyMemberController\\:\\:__construct\\(\\) has typehint with deprecated interface Symfony\\\\Component\\\\Translation\\\\TranslatorInterface\\:
|
||||||
|
since Symfony 4\\.2, use Symfony\\\\Contracts\\\\Translation\\\\TranslatorInterface instead$#
|
||||||
|
"""
|
||||||
|
count: 1
|
||||||
|
path: src/Bundle/ChillFamilyMembersBundle/Controller/FamilyMemberController.php
|
||||||
|
|
||||||
|
-
|
||||||
|
message:
|
||||||
|
"""
|
||||||
|
#^Parameter \\$translator of method Chill\\\\AMLI\\\\FamilyMembersBundle\\\\Menu\\\\UserMenuBuilder\\:\\:__construct\\(\\) has typehint with deprecated interface Symfony\\\\Component\\\\Translation\\\\TranslatorInterface\\:
|
||||||
|
since Symfony 4\\.2, use Symfony\\\\Contracts\\\\Translation\\\\TranslatorInterface instead$#
|
||||||
|
"""
|
||||||
|
count: 1
|
||||||
|
path: src/Bundle/ChillFamilyMembersBundle/Menu/UserMenuBuilder.php
|
||||||
|
|
||||||
-
|
-
|
||||||
message:
|
message:
|
||||||
"""
|
"""
|
||||||
@@ -363,6 +516,24 @@ parameters:
|
|||||||
count: 1
|
count: 1
|
||||||
path: src/Bundle/ChillFamilyMembersBundle/Security/Voter/FamilyMemberVoter.php
|
path: src/Bundle/ChillFamilyMembersBundle/Security/Voter/FamilyMemberVoter.php
|
||||||
|
|
||||||
|
-
|
||||||
|
message:
|
||||||
|
"""
|
||||||
|
#^Fetching class constant class of deprecated class Symfony\\\\Component\\\\Translation\\\\TranslatorInterface\\:
|
||||||
|
since Symfony 4\\.2, use Symfony\\\\Contracts\\\\Translation\\\\TranslatorInterface instead$#
|
||||||
|
"""
|
||||||
|
count: 1
|
||||||
|
path: src/Bundle/ChillMainBundle/CRUD/Controller/AbstractCRUDController.php
|
||||||
|
|
||||||
|
-
|
||||||
|
message:
|
||||||
|
"""
|
||||||
|
#^Fetching class constant class of deprecated class Symfony\\\\Component\\\\Translation\\\\TranslatorInterface\\:
|
||||||
|
since Symfony 4\\.2, use Symfony\\\\Contracts\\\\Translation\\\\TranslatorInterface instead$#
|
||||||
|
"""
|
||||||
|
count: 1
|
||||||
|
path: src/Bundle/ChillMainBundle/CRUD/Controller/CRUDController.php
|
||||||
|
|
||||||
-
|
-
|
||||||
message:
|
message:
|
||||||
"""
|
"""
|
||||||
@@ -372,6 +543,15 @@ parameters:
|
|||||||
count: 1
|
count: 1
|
||||||
path: src/Bundle/ChillMainBundle/CRUD/Controller/CRUDController.php
|
path: src/Bundle/ChillMainBundle/CRUD/Controller/CRUDController.php
|
||||||
|
|
||||||
|
-
|
||||||
|
message:
|
||||||
|
"""
|
||||||
|
#^Return type of method Chill\\\\MainBundle\\\\CRUD\\\\Controller\\\\CRUDController\\:\\:getTranslator\\(\\) has typehint with deprecated interface Symfony\\\\Component\\\\Translation\\\\TranslatorInterface\\:
|
||||||
|
since Symfony 4\\.2, use Symfony\\\\Contracts\\\\Translation\\\\TranslatorInterface instead$#
|
||||||
|
"""
|
||||||
|
count: 1
|
||||||
|
path: src/Bundle/ChillMainBundle/CRUD/Controller/CRUDController.php
|
||||||
|
|
||||||
-
|
-
|
||||||
message:
|
message:
|
||||||
"""
|
"""
|
||||||
@@ -390,6 +570,24 @@ parameters:
|
|||||||
count: 1
|
count: 1
|
||||||
path: src/Bundle/ChillMainBundle/Command/LoadCountriesCommand.php
|
path: src/Bundle/ChillMainBundle/Command/LoadCountriesCommand.php
|
||||||
|
|
||||||
|
-
|
||||||
|
message:
|
||||||
|
"""
|
||||||
|
#^Parameter \\$translator of method Chill\\\\MainBundle\\\\Controller\\\\ExportController\\:\\:__construct\\(\\) has typehint with deprecated interface Symfony\\\\Component\\\\Translation\\\\TranslatorInterface\\:
|
||||||
|
since Symfony 4\\.2, use Symfony\\\\Contracts\\\\Translation\\\\TranslatorInterface instead$#
|
||||||
|
"""
|
||||||
|
count: 1
|
||||||
|
path: src/Bundle/ChillMainBundle/Controller/ExportController.php
|
||||||
|
|
||||||
|
-
|
||||||
|
message:
|
||||||
|
"""
|
||||||
|
#^Parameter \\$translator of method Chill\\\\MainBundle\\\\Controller\\\\PasswordController\\:\\:__construct\\(\\) has typehint with deprecated interface Symfony\\\\Component\\\\Translation\\\\TranslatorInterface\\:
|
||||||
|
since Symfony 4\\.2, use Symfony\\\\Contracts\\\\Translation\\\\TranslatorInterface instead$#
|
||||||
|
"""
|
||||||
|
count: 1
|
||||||
|
path: src/Bundle/ChillMainBundle/Controller/PasswordController.php
|
||||||
|
|
||||||
-
|
-
|
||||||
message:
|
message:
|
||||||
"""
|
"""
|
||||||
@@ -462,6 +660,42 @@ parameters:
|
|||||||
count: 1
|
count: 1
|
||||||
path: src/Bundle/ChillMainBundle/Export/ExportManager.php
|
path: src/Bundle/ChillMainBundle/Export/ExportManager.php
|
||||||
|
|
||||||
|
-
|
||||||
|
message:
|
||||||
|
"""
|
||||||
|
#^Parameter \\$translatorInterface of method Chill\\\\MainBundle\\\\Export\\\\Formatter\\\\CSVListFormatter\\:\\:__construct\\(\\) has typehint with deprecated interface Symfony\\\\Component\\\\Translation\\\\TranslatorInterface\\:
|
||||||
|
since Symfony 4\\.2, use Symfony\\\\Contracts\\\\Translation\\\\TranslatorInterface instead$#
|
||||||
|
"""
|
||||||
|
count: 1
|
||||||
|
path: src/Bundle/ChillMainBundle/Export/Formatter/CSVListFormatter.php
|
||||||
|
|
||||||
|
-
|
||||||
|
message:
|
||||||
|
"""
|
||||||
|
#^Parameter \\$translatorInterface of method Chill\\\\MainBundle\\\\Export\\\\Formatter\\\\CSVPivotedListFormatter\\:\\:__construct\\(\\) has typehint with deprecated interface Symfony\\\\Component\\\\Translation\\\\TranslatorInterface\\:
|
||||||
|
since Symfony 4\\.2, use Symfony\\\\Contracts\\\\Translation\\\\TranslatorInterface instead$#
|
||||||
|
"""
|
||||||
|
count: 1
|
||||||
|
path: src/Bundle/ChillMainBundle/Export/Formatter/CSVPivotedListFormatter.php
|
||||||
|
|
||||||
|
-
|
||||||
|
message:
|
||||||
|
"""
|
||||||
|
#^Parameter \\$translatorInterface of method Chill\\\\MainBundle\\\\Export\\\\Formatter\\\\SpreadSheetFormatter\\:\\:__construct\\(\\) has typehint with deprecated interface Symfony\\\\Component\\\\Translation\\\\TranslatorInterface\\:
|
||||||
|
since Symfony 4\\.2, use Symfony\\\\Contracts\\\\Translation\\\\TranslatorInterface instead$#
|
||||||
|
"""
|
||||||
|
count: 1
|
||||||
|
path: src/Bundle/ChillMainBundle/Export/Formatter/SpreadSheetFormatter.php
|
||||||
|
|
||||||
|
-
|
||||||
|
message:
|
||||||
|
"""
|
||||||
|
#^Parameter \\$translatorInterface of method Chill\\\\MainBundle\\\\Export\\\\Formatter\\\\SpreadsheetListFormatter\\:\\:__construct\\(\\) has typehint with deprecated interface Symfony\\\\Component\\\\Translation\\\\TranslatorInterface\\:
|
||||||
|
since Symfony 4\\.2, use Symfony\\\\Contracts\\\\Translation\\\\TranslatorInterface instead$#
|
||||||
|
"""
|
||||||
|
count: 1
|
||||||
|
path: src/Bundle/ChillMainBundle/Export/Formatter/SpreadsheetListFormatter.php
|
||||||
|
|
||||||
-
|
-
|
||||||
message:
|
message:
|
||||||
"""
|
"""
|
||||||
@@ -480,6 +714,15 @@ parameters:
|
|||||||
count: 1
|
count: 1
|
||||||
path: src/Bundle/ChillMainBundle/Form/Event/CustomizeFormEvent.php
|
path: src/Bundle/ChillMainBundle/Form/Event/CustomizeFormEvent.php
|
||||||
|
|
||||||
|
-
|
||||||
|
message:
|
||||||
|
"""
|
||||||
|
#^Parameter \\$translator of method Chill\\\\MainBundle\\\\Form\\\\Type\\\\PostalCodeType\\:\\:__construct\\(\\) has typehint with deprecated interface Symfony\\\\Component\\\\Translation\\\\TranslatorInterface\\:
|
||||||
|
since Symfony 4\\.2, use Symfony\\\\Contracts\\\\Translation\\\\TranslatorInterface instead$#
|
||||||
|
"""
|
||||||
|
count: 1
|
||||||
|
path: src/Bundle/ChillMainBundle/Form/Type/PostalCodeType.php
|
||||||
|
|
||||||
-
|
-
|
||||||
message:
|
message:
|
||||||
"""
|
"""
|
||||||
@@ -503,11 +746,38 @@ parameters:
|
|||||||
count: 1
|
count: 1
|
||||||
path: src/Bundle/ChillMainBundle/Form/UserType.php
|
path: src/Bundle/ChillMainBundle/Form/UserType.php
|
||||||
|
|
||||||
|
-
|
||||||
|
message:
|
||||||
|
"""
|
||||||
|
#^Parameter \\$translator of method Chill\\\\MainBundle\\\\Notification\\\\Mailer\\:\\:__construct\\(\\) has typehint with deprecated interface Symfony\\\\Component\\\\Translation\\\\TranslatorInterface\\:
|
||||||
|
since Symfony 4\\.2, use Symfony\\\\Contracts\\\\Translation\\\\TranslatorInterface instead$#
|
||||||
|
"""
|
||||||
|
count: 1
|
||||||
|
path: src/Bundle/ChillMainBundle/Notification/Mailer.php
|
||||||
|
|
||||||
-
|
-
|
||||||
message: "#^Only booleans are allowed in an if condition, mixed given\\.$#"
|
message: "#^Only booleans are allowed in an if condition, mixed given\\.$#"
|
||||||
count: 2
|
count: 2
|
||||||
path: src/Bundle/ChillMainBundle/Repository/NotificationRepository.php
|
path: src/Bundle/ChillMainBundle/Repository/NotificationRepository.php
|
||||||
|
|
||||||
|
-
|
||||||
|
message:
|
||||||
|
"""
|
||||||
|
#^Parameter \\$translator of method Chill\\\\MainBundle\\\\Routing\\\\MenuBuilder\\\\SectionMenuBuilder\\:\\:__construct\\(\\) has typehint with deprecated interface Symfony\\\\Component\\\\Translation\\\\TranslatorInterface\\:
|
||||||
|
since Symfony 4\\.2, use Symfony\\\\Contracts\\\\Translation\\\\TranslatorInterface instead$#
|
||||||
|
"""
|
||||||
|
count: 1
|
||||||
|
path: src/Bundle/ChillMainBundle/Routing/MenuBuilder/SectionMenuBuilder.php
|
||||||
|
|
||||||
|
-
|
||||||
|
message:
|
||||||
|
"""
|
||||||
|
#^Parameter \\$translator of method Chill\\\\MainBundle\\\\Routing\\\\MenuComposer\\:\\:__construct\\(\\) has typehint with deprecated interface Symfony\\\\Component\\\\Translation\\\\TranslatorInterface\\:
|
||||||
|
since Symfony 4\\.2, use Symfony\\\\Contracts\\\\Translation\\\\TranslatorInterface instead$#
|
||||||
|
"""
|
||||||
|
count: 1
|
||||||
|
path: src/Bundle/ChillMainBundle/Routing/MenuComposer.php
|
||||||
|
|
||||||
-
|
-
|
||||||
message:
|
message:
|
||||||
"""
|
"""
|
||||||
@@ -594,6 +864,15 @@ parameters:
|
|||||||
count: 1
|
count: 1
|
||||||
path: src/Bundle/ChillMainBundle/Templating/Events/DelegatedBlockRenderingEvent.php
|
path: src/Bundle/ChillMainBundle/Templating/Events/DelegatedBlockRenderingEvent.php
|
||||||
|
|
||||||
|
-
|
||||||
|
message:
|
||||||
|
"""
|
||||||
|
#^Parameter \\$translator of method Chill\\\\MainBundle\\\\Validation\\\\Validator\\\\RoleScopeScopePresence\\:\\:__construct\\(\\) has typehint with deprecated interface Symfony\\\\Component\\\\Translation\\\\TranslatorInterface\\:
|
||||||
|
since Symfony 4\\.2, use Symfony\\\\Contracts\\\\Translation\\\\TranslatorInterface instead$#
|
||||||
|
"""
|
||||||
|
count: 1
|
||||||
|
path: src/Bundle/ChillMainBundle/Validation/Validator/RoleScopeScopePresence.php
|
||||||
|
|
||||||
-
|
-
|
||||||
message:
|
message:
|
||||||
"""
|
"""
|
||||||
@@ -639,6 +918,33 @@ parameters:
|
|||||||
count: 1
|
count: 1
|
||||||
path: src/Bundle/ChillPersonBundle/Controller/AccompanyingPeriodController.php
|
path: src/Bundle/ChillPersonBundle/Controller/AccompanyingPeriodController.php
|
||||||
|
|
||||||
|
-
|
||||||
|
message:
|
||||||
|
"""
|
||||||
|
#^Parameter \\$translator of method Chill\\\\PersonBundle\\\\Controller\\\\HouseholdController\\:\\:__construct\\(\\) has typehint with deprecated interface Symfony\\\\Component\\\\Translation\\\\TranslatorInterface\\:
|
||||||
|
since Symfony 4\\.2, use Symfony\\\\Contracts\\\\Translation\\\\TranslatorInterface instead$#
|
||||||
|
"""
|
||||||
|
count: 1
|
||||||
|
path: src/Bundle/ChillPersonBundle/Controller/HouseholdController.php
|
||||||
|
|
||||||
|
-
|
||||||
|
message:
|
||||||
|
"""
|
||||||
|
#^Parameter \\$translator of method Chill\\\\PersonBundle\\\\Controller\\\\HouseholdMemberController\\:\\:__construct\\(\\) has typehint with deprecated interface Symfony\\\\Component\\\\Translation\\\\TranslatorInterface\\:
|
||||||
|
since Symfony 4\\.2, use Symfony\\\\Contracts\\\\Translation\\\\TranslatorInterface instead$#
|
||||||
|
"""
|
||||||
|
count: 1
|
||||||
|
path: src/Bundle/ChillPersonBundle/Controller/HouseholdMemberController.php
|
||||||
|
|
||||||
|
-
|
||||||
|
message:
|
||||||
|
"""
|
||||||
|
#^Parameter \\$translator of method Chill\\\\PersonBundle\\\\Controller\\\\PersonController\\:\\:__construct\\(\\) has typehint with deprecated interface Symfony\\\\Component\\\\Translation\\\\TranslatorInterface\\:
|
||||||
|
since Symfony 4\\.2, use Symfony\\\\Contracts\\\\Translation\\\\TranslatorInterface instead$#
|
||||||
|
"""
|
||||||
|
count: 1
|
||||||
|
path: src/Bundle/ChillPersonBundle/Controller/PersonController.php
|
||||||
|
|
||||||
-
|
-
|
||||||
message:
|
message:
|
||||||
"""
|
"""
|
||||||
@@ -648,6 +954,15 @@ parameters:
|
|||||||
count: 1
|
count: 1
|
||||||
path: src/Bundle/ChillPersonBundle/Controller/PersonDuplicateController.php
|
path: src/Bundle/ChillPersonBundle/Controller/PersonDuplicateController.php
|
||||||
|
|
||||||
|
-
|
||||||
|
message:
|
||||||
|
"""
|
||||||
|
#^Parameter \\$translator of method Chill\\\\PersonBundle\\\\Controller\\\\PersonDuplicateController\\:\\:__construct\\(\\) has typehint with deprecated interface Symfony\\\\Component\\\\Translation\\\\TranslatorInterface\\:
|
||||||
|
since Symfony 4\\.2, use Symfony\\\\Contracts\\\\Translation\\\\TranslatorInterface instead$#
|
||||||
|
"""
|
||||||
|
count: 1
|
||||||
|
path: src/Bundle/ChillPersonBundle/Controller/PersonDuplicateController.php
|
||||||
|
|
||||||
-
|
-
|
||||||
message: "#^Access to deprecated property \\$proxyAccompanyingPeriodOpenState of class Chill\\\\PersonBundle\\\\Entity\\\\Person\\.$#"
|
message: "#^Access to deprecated property \\$proxyAccompanyingPeriodOpenState of class Chill\\\\PersonBundle\\\\Entity\\\\Person\\.$#"
|
||||||
count: 2
|
count: 2
|
||||||
@@ -662,6 +977,15 @@ parameters:
|
|||||||
count: 1
|
count: 1
|
||||||
path: src/Bundle/ChillPersonBundle/Export/Aggregator/AgeAggregator.php
|
path: src/Bundle/ChillPersonBundle/Export/Aggregator/AgeAggregator.php
|
||||||
|
|
||||||
|
-
|
||||||
|
message:
|
||||||
|
"""
|
||||||
|
#^Parameter \\$translator of method Chill\\\\PersonBundle\\\\Export\\\\Aggregator\\\\CountryOfBirthAggregator\\:\\:__construct\\(\\) has typehint with deprecated interface Symfony\\\\Component\\\\Translation\\\\TranslatorInterface\\:
|
||||||
|
since Symfony 4\\.2, use Symfony\\\\Contracts\\\\Translation\\\\TranslatorInterface instead$#
|
||||||
|
"""
|
||||||
|
count: 1
|
||||||
|
path: src/Bundle/ChillPersonBundle/Export/Aggregator/CountryOfBirthAggregator.php
|
||||||
|
|
||||||
-
|
-
|
||||||
message:
|
message:
|
||||||
"""
|
"""
|
||||||
@@ -671,6 +995,15 @@ parameters:
|
|||||||
count: 1
|
count: 1
|
||||||
path: src/Bundle/ChillPersonBundle/Export/Aggregator/CountryOfBirthAggregator.php
|
path: src/Bundle/ChillPersonBundle/Export/Aggregator/CountryOfBirthAggregator.php
|
||||||
|
|
||||||
|
-
|
||||||
|
message:
|
||||||
|
"""
|
||||||
|
#^Parameter \\$translator of method Chill\\\\PersonBundle\\\\Export\\\\Aggregator\\\\GenderAggregator\\:\\:__construct\\(\\) has typehint with deprecated interface Symfony\\\\Component\\\\Translation\\\\TranslatorInterface\\:
|
||||||
|
since Symfony 4\\.2, use Symfony\\\\Contracts\\\\Translation\\\\TranslatorInterface instead$#
|
||||||
|
"""
|
||||||
|
count: 1
|
||||||
|
path: src/Bundle/ChillPersonBundle/Export/Aggregator/GenderAggregator.php
|
||||||
|
|
||||||
-
|
-
|
||||||
message:
|
message:
|
||||||
"""
|
"""
|
||||||
@@ -680,6 +1013,15 @@ parameters:
|
|||||||
count: 1
|
count: 1
|
||||||
path: src/Bundle/ChillPersonBundle/Export/Aggregator/GenderAggregator.php
|
path: src/Bundle/ChillPersonBundle/Export/Aggregator/GenderAggregator.php
|
||||||
|
|
||||||
|
-
|
||||||
|
message:
|
||||||
|
"""
|
||||||
|
#^Parameter \\$translator of method Chill\\\\PersonBundle\\\\Export\\\\Aggregator\\\\NationalityAggregator\\:\\:__construct\\(\\) has typehint with deprecated interface Symfony\\\\Component\\\\Translation\\\\TranslatorInterface\\:
|
||||||
|
since Symfony 4\\.2, use Symfony\\\\Contracts\\\\Translation\\\\TranslatorInterface instead$#
|
||||||
|
"""
|
||||||
|
count: 1
|
||||||
|
path: src/Bundle/ChillPersonBundle/Export/Aggregator/NationalityAggregator.php
|
||||||
|
|
||||||
-
|
-
|
||||||
message:
|
message:
|
||||||
"""
|
"""
|
||||||
@@ -716,6 +1058,15 @@ parameters:
|
|||||||
count: 1
|
count: 1
|
||||||
path: src/Bundle/ChillPersonBundle/Export/Export/ListPerson.php
|
path: src/Bundle/ChillPersonBundle/Export/Export/ListPerson.php
|
||||||
|
|
||||||
|
-
|
||||||
|
message:
|
||||||
|
"""
|
||||||
|
#^Parameter \\$translator of method Chill\\\\PersonBundle\\\\Export\\\\Export\\\\ListPerson\\:\\:__construct\\(\\) has typehint with deprecated interface Symfony\\\\Component\\\\Translation\\\\TranslatorInterface\\:
|
||||||
|
since Symfony 4\\.2, use Symfony\\\\Contracts\\\\Translation\\\\TranslatorInterface instead$#
|
||||||
|
"""
|
||||||
|
count: 1
|
||||||
|
path: src/Bundle/ChillPersonBundle/Export/Export/ListPerson.php
|
||||||
|
|
||||||
-
|
-
|
||||||
message:
|
message:
|
||||||
"""
|
"""
|
||||||
@@ -743,6 +1094,15 @@ parameters:
|
|||||||
count: 1
|
count: 1
|
||||||
path: src/Bundle/ChillPersonBundle/Export/Export/ListPersonDuplicate.php
|
path: src/Bundle/ChillPersonBundle/Export/Export/ListPersonDuplicate.php
|
||||||
|
|
||||||
|
-
|
||||||
|
message:
|
||||||
|
"""
|
||||||
|
#^Parameter \\$translator of method Chill\\\\PersonBundle\\\\Export\\\\Export\\\\ListPersonDuplicate\\:\\:__construct\\(\\) has typehint with deprecated interface Symfony\\\\Component\\\\Translation\\\\TranslatorInterface\\:
|
||||||
|
since Symfony 4\\.2, use Symfony\\\\Contracts\\\\Translation\\\\TranslatorInterface instead$#
|
||||||
|
"""
|
||||||
|
count: 1
|
||||||
|
path: src/Bundle/ChillPersonBundle/Export/Export/ListPersonDuplicate.php
|
||||||
|
|
||||||
-
|
-
|
||||||
message:
|
message:
|
||||||
"""
|
"""
|
||||||
@@ -788,6 +1148,15 @@ parameters:
|
|||||||
count: 1
|
count: 1
|
||||||
path: src/Bundle/ChillPersonBundle/Export/Filter/BirthdateFilter.php
|
path: src/Bundle/ChillPersonBundle/Export/Filter/BirthdateFilter.php
|
||||||
|
|
||||||
|
-
|
||||||
|
message:
|
||||||
|
"""
|
||||||
|
#^Parameter \\$translator of method Chill\\\\PersonBundle\\\\Export\\\\Filter\\\\GenderFilter\\:\\:__construct\\(\\) has typehint with deprecated interface Symfony\\\\Component\\\\Translation\\\\TranslatorInterface\\:
|
||||||
|
since Symfony 4\\.2, use Symfony\\\\Contracts\\\\Translation\\\\TranslatorInterface instead$#
|
||||||
|
"""
|
||||||
|
count: 1
|
||||||
|
path: src/Bundle/ChillPersonBundle/Export/Filter/GenderFilter.php
|
||||||
|
|
||||||
-
|
-
|
||||||
message:
|
message:
|
||||||
"""
|
"""
|
||||||
@@ -829,6 +1198,24 @@ parameters:
|
|||||||
count: 1
|
count: 1
|
||||||
path: src/Bundle/ChillPersonBundle/Form/Type/PickPersonType.php
|
path: src/Bundle/ChillPersonBundle/Form/Type/PickPersonType.php
|
||||||
|
|
||||||
|
-
|
||||||
|
message:
|
||||||
|
"""
|
||||||
|
#^Parameter \\$translator of method Chill\\\\PersonBundle\\\\Form\\\\Type\\\\PickPersonType\\:\\:__construct\\(\\) has typehint with deprecated interface Symfony\\\\Component\\\\Translation\\\\TranslatorInterface\\:
|
||||||
|
since Symfony 4\\.2, use Symfony\\\\Contracts\\\\Translation\\\\TranslatorInterface instead$#
|
||||||
|
"""
|
||||||
|
count: 1
|
||||||
|
path: src/Bundle/ChillPersonBundle/Form/Type/PickPersonType.php
|
||||||
|
|
||||||
|
-
|
||||||
|
message:
|
||||||
|
"""
|
||||||
|
#^Parameter \\$translator of method Chill\\\\PersonBundle\\\\Menu\\\\SectionMenuBuilder\\:\\:__construct\\(\\) has typehint with deprecated interface Symfony\\\\Component\\\\Translation\\\\TranslatorInterface\\:
|
||||||
|
since Symfony 4\\.2, use Symfony\\\\Contracts\\\\Translation\\\\TranslatorInterface instead$#
|
||||||
|
"""
|
||||||
|
count: 1
|
||||||
|
path: src/Bundle/ChillPersonBundle/Menu/SectionMenuBuilder.php
|
||||||
|
|
||||||
-
|
-
|
||||||
message:
|
message:
|
||||||
"""
|
"""
|
||||||
@@ -892,6 +1279,15 @@ parameters:
|
|||||||
count: 1
|
count: 1
|
||||||
path: src/Bundle/ChillReportBundle/Export/Export/ReportList.php
|
path: src/Bundle/ChillReportBundle/Export/Export/ReportList.php
|
||||||
|
|
||||||
|
-
|
||||||
|
message:
|
||||||
|
"""
|
||||||
|
#^Parameter \\$translator of method Chill\\\\ReportBundle\\\\Export\\\\Export\\\\ReportList\\:\\:__construct\\(\\) has typehint with deprecated interface Symfony\\\\Component\\\\Translation\\\\TranslatorInterface\\:
|
||||||
|
since Symfony 4\\.2, use Symfony\\\\Contracts\\\\Translation\\\\TranslatorInterface instead$#
|
||||||
|
"""
|
||||||
|
count: 1
|
||||||
|
path: src/Bundle/ChillReportBundle/Export/Export/ReportList.php
|
||||||
|
|
||||||
-
|
-
|
||||||
message:
|
message:
|
||||||
"""
|
"""
|
||||||
@@ -901,6 +1297,15 @@ parameters:
|
|||||||
count: 1
|
count: 1
|
||||||
path: src/Bundle/ChillReportBundle/Export/Export/ReportList.php
|
path: src/Bundle/ChillReportBundle/Export/Export/ReportList.php
|
||||||
|
|
||||||
|
-
|
||||||
|
message:
|
||||||
|
"""
|
||||||
|
#^Parameter \\$translator of method Chill\\\\ReportBundle\\\\Export\\\\Export\\\\ReportListProvider\\:\\:__construct\\(\\) has typehint with deprecated interface Symfony\\\\Component\\\\Translation\\\\TranslatorInterface\\:
|
||||||
|
since Symfony 4\\.2, use Symfony\\\\Contracts\\\\Translation\\\\TranslatorInterface instead$#
|
||||||
|
"""
|
||||||
|
count: 1
|
||||||
|
path: src/Bundle/ChillReportBundle/Export/Export/ReportListProvider.php
|
||||||
|
|
||||||
-
|
-
|
||||||
message:
|
message:
|
||||||
"""
|
"""
|
||||||
@@ -982,6 +1387,15 @@ parameters:
|
|||||||
count: 1
|
count: 1
|
||||||
path: src/Bundle/ChillTaskBundle/Controller/SingleTaskController.php
|
path: src/Bundle/ChillTaskBundle/Controller/SingleTaskController.php
|
||||||
|
|
||||||
|
-
|
||||||
|
message:
|
||||||
|
"""
|
||||||
|
#^Parameter \\$translator of method Chill\\\\TaskBundle\\\\Controller\\\\TaskController\\:\\:applyTransitionAction\\(\\) has typehint with deprecated interface Symfony\\\\Component\\\\Translation\\\\TranslatorInterface\\:
|
||||||
|
since Symfony 4\\.2, use Symfony\\\\Contracts\\\\Translation\\\\TranslatorInterface instead$#
|
||||||
|
"""
|
||||||
|
count: 1
|
||||||
|
path: src/Bundle/ChillTaskBundle/Controller/TaskController.php
|
||||||
|
|
||||||
-
|
-
|
||||||
message:
|
message:
|
||||||
"""
|
"""
|
||||||
@@ -1027,6 +1441,33 @@ parameters:
|
|||||||
count: 1
|
count: 1
|
||||||
path: src/Bundle/ChillTaskBundle/Form/SingleTaskType.php
|
path: src/Bundle/ChillTaskBundle/Form/SingleTaskType.php
|
||||||
|
|
||||||
|
-
|
||||||
|
message:
|
||||||
|
"""
|
||||||
|
#^Parameter \\$translator of method Chill\\\\TaskBundle\\\\Menu\\\\MenuBuilder\\:\\:__construct\\(\\) has typehint with deprecated interface Symfony\\\\Component\\\\Translation\\\\TranslatorInterface\\:
|
||||||
|
since Symfony 4\\.2, use Symfony\\\\Contracts\\\\Translation\\\\TranslatorInterface instead$#
|
||||||
|
"""
|
||||||
|
count: 1
|
||||||
|
path: src/Bundle/ChillTaskBundle/Menu/MenuBuilder.php
|
||||||
|
|
||||||
|
-
|
||||||
|
message:
|
||||||
|
"""
|
||||||
|
#^Parameter \\$translator of method Chill\\\\TaskBundle\\\\Menu\\\\SectionMenuBuilder\\:\\:__construct\\(\\) has typehint with deprecated interface Symfony\\\\Component\\\\Translation\\\\TranslatorInterface\\:
|
||||||
|
since Symfony 4\\.2, use Symfony\\\\Contracts\\\\Translation\\\\TranslatorInterface instead$#
|
||||||
|
"""
|
||||||
|
count: 1
|
||||||
|
path: src/Bundle/ChillTaskBundle/Menu/SectionMenuBuilder.php
|
||||||
|
|
||||||
|
-
|
||||||
|
message:
|
||||||
|
"""
|
||||||
|
#^Parameter \\$translator of method Chill\\\\TaskBundle\\\\Menu\\\\UserMenuBuilder\\:\\:__construct\\(\\) has typehint with deprecated interface Symfony\\\\Component\\\\Translation\\\\TranslatorInterface\\:
|
||||||
|
since Symfony 4\\.2, use Symfony\\\\Contracts\\\\Translation\\\\TranslatorInterface instead$#
|
||||||
|
"""
|
||||||
|
count: 1
|
||||||
|
path: src/Bundle/ChillTaskBundle/Menu/UserMenuBuilder.php
|
||||||
|
|
||||||
-
|
-
|
||||||
message:
|
message:
|
||||||
"""
|
"""
|
||||||
@@ -1063,6 +1504,33 @@ parameters:
|
|||||||
count: 3
|
count: 3
|
||||||
path: src/Bundle/ChillTaskBundle/Timeline/TaskLifeCycleEventTimelineProvider.php
|
path: src/Bundle/ChillTaskBundle/Timeline/TaskLifeCycleEventTimelineProvider.php
|
||||||
|
|
||||||
|
-
|
||||||
|
message:
|
||||||
|
"""
|
||||||
|
#^Parameter \\$translator of method Chill\\\\ThirdPartyBundle\\\\Controller\\\\ThirdPartyController\\:\\:__construct\\(\\) has typehint with deprecated interface Symfony\\\\Component\\\\Translation\\\\TranslatorInterface\\:
|
||||||
|
since Symfony 4\\.2, use Symfony\\\\Contracts\\\\Translation\\\\TranslatorInterface instead$#
|
||||||
|
"""
|
||||||
|
count: 1
|
||||||
|
path: src/Bundle/ChillThirdPartyBundle/Controller/ThirdPartyController.php
|
||||||
|
|
||||||
|
-
|
||||||
|
message:
|
||||||
|
"""
|
||||||
|
#^Parameter \\$translator of method Chill\\\\ThirdPartyBundle\\\\Form\\\\Type\\\\PickThirdPartyType\\:\\:__construct\\(\\) has typehint with deprecated interface Symfony\\\\Component\\\\Translation\\\\TranslatorInterface\\:
|
||||||
|
since Symfony 4\\.2, use Symfony\\\\Contracts\\\\Translation\\\\TranslatorInterface instead$#
|
||||||
|
"""
|
||||||
|
count: 1
|
||||||
|
path: src/Bundle/ChillThirdPartyBundle/Form/Type/PickThirdPartyType.php
|
||||||
|
|
||||||
|
-
|
||||||
|
message:
|
||||||
|
"""
|
||||||
|
#^Parameter \\$translator of method Chill\\\\ThirdPartyBundle\\\\Menu\\\\MenuBuilder\\:\\:__construct\\(\\) has typehint with deprecated interface Symfony\\\\Component\\\\Translation\\\\TranslatorInterface\\:
|
||||||
|
since Symfony 4\\.2, use Symfony\\\\Contracts\\\\Translation\\\\TranslatorInterface instead$#
|
||||||
|
"""
|
||||||
|
count: 1
|
||||||
|
path: src/Bundle/ChillThirdPartyBundle/Menu/MenuBuilder.php
|
||||||
|
|
||||||
-
|
-
|
||||||
message:
|
message:
|
||||||
"""
|
"""
|
||||||
|
@@ -295,6 +295,11 @@ parameters:
|
|||||||
count: 3
|
count: 3
|
||||||
path: src/Bundle/ChillMainBundle/Form/Type/DataTransformer/DateIntervalTransformer.php
|
path: src/Bundle/ChillMainBundle/Form/Type/DataTransformer/DateIntervalTransformer.php
|
||||||
|
|
||||||
|
-
|
||||||
|
message: "#^Only booleans are allowed in a negated boolean, mixed given\\.$#"
|
||||||
|
count: 1
|
||||||
|
path: src/Bundle/ChillMainBundle/Form/Type/DataTransformer/ObjectToIdTransformer.php
|
||||||
|
|
||||||
-
|
-
|
||||||
message: "#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#"
|
message: "#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#"
|
||||||
count: 2
|
count: 2
|
||||||
@@ -320,6 +325,11 @@ parameters:
|
|||||||
count: 1
|
count: 1
|
||||||
path: src/Bundle/ChillMainBundle/Timeline/TimelineBuilder.php
|
path: src/Bundle/ChillMainBundle/Timeline/TimelineBuilder.php
|
||||||
|
|
||||||
|
-
|
||||||
|
message: "#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#"
|
||||||
|
count: 1
|
||||||
|
path: src/Bundle/ChillMainBundle/Validation/Validator/ValidPhonenumber.php
|
||||||
|
|
||||||
-
|
-
|
||||||
message: "#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#"
|
message: "#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#"
|
||||||
count: 1
|
count: 1
|
||||||
|
@@ -1,5 +1,5 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<files psalm-version="4.18.0.0">
|
<files psalm-version="v4.15.0@a1b5e489e6fcebe40cb804793d964e99fc347820">
|
||||||
<file src="src/Bundle/ChillActivityBundle/Controller/ActivityReasonCategoryController.php">
|
<file src="src/Bundle/ChillActivityBundle/Controller/ActivityReasonCategoryController.php">
|
||||||
<UndefinedClass occurrences="4">
|
<UndefinedClass occurrences="4">
|
||||||
<code>'ChillActivityBundle:ActivityReasonCategory'</code>
|
<code>'ChillActivityBundle:ActivityReasonCategory'</code>
|
||||||
@@ -47,11 +47,6 @@
|
|||||||
<code>Activity[]|array</code>
|
<code>Activity[]|array</code>
|
||||||
</UndefinedDocblockClass>
|
</UndefinedDocblockClass>
|
||||||
</file>
|
</file>
|
||||||
<file src="src/Bundle/ChillActivityBundle/Resources/test/Fixtures/App/app/AppKernel.php">
|
|
||||||
<DuplicateClass occurrences="1">
|
|
||||||
<code>AppKernel</code>
|
|
||||||
</DuplicateClass>
|
|
||||||
</file>
|
|
||||||
<file src="src/Bundle/ChillActivityBundle/Resources/test/Fixtures/App/app/autoload.php">
|
<file src="src/Bundle/ChillActivityBundle/Resources/test/Fixtures/App/app/autoload.php">
|
||||||
<MissingFile occurrences="1">
|
<MissingFile occurrences="1">
|
||||||
<code>require __DIR__ . '/../../../../../vendor/autoload.php'</code>
|
<code>require __DIR__ . '/../../../../../vendor/autoload.php'</code>
|
||||||
@@ -169,18 +164,72 @@
|
|||||||
<code>type</code>
|
<code>type</code>
|
||||||
</UndefinedDocblockClass>
|
</UndefinedDocblockClass>
|
||||||
</file>
|
</file>
|
||||||
|
<file src="src/Bundle/ChillActivityBundle/Tests/Export/Aggregator/ActivityReasonAggregatorTest.php">
|
||||||
|
<MethodSignatureMismatch occurrences="1">
|
||||||
|
<code>public function setUp()</code>
|
||||||
|
</MethodSignatureMismatch>
|
||||||
|
</file>
|
||||||
|
<file src="src/Bundle/ChillActivityBundle/Tests/Export/Aggregator/ActivityTypeAggregatorTest.php">
|
||||||
|
<MethodSignatureMismatch occurrences="1">
|
||||||
|
<code>public function setUp()</code>
|
||||||
|
</MethodSignatureMismatch>
|
||||||
|
</file>
|
||||||
|
<file src="src/Bundle/ChillActivityBundle/Tests/Export/Aggregator/ActivityUserAggregatorTest.php">
|
||||||
|
<MethodSignatureMismatch occurrences="1">
|
||||||
|
<code>public function setUp()</code>
|
||||||
|
</MethodSignatureMismatch>
|
||||||
|
</file>
|
||||||
|
<file src="src/Bundle/ChillActivityBundle/Tests/Export/Export/CountActivityTest.php">
|
||||||
|
<MethodSignatureMismatch occurrences="1">
|
||||||
|
<code>public function setUp()</code>
|
||||||
|
</MethodSignatureMismatch>
|
||||||
|
</file>
|
||||||
|
<file src="src/Bundle/ChillActivityBundle/Tests/Export/Export/ListActivityTest.php">
|
||||||
|
<MethodSignatureMismatch occurrences="1">
|
||||||
|
<code>public function setUp()</code>
|
||||||
|
</MethodSignatureMismatch>
|
||||||
|
</file>
|
||||||
|
<file src="src/Bundle/ChillActivityBundle/Tests/Export/Export/StatActivityDurationSumTest.php">
|
||||||
|
<MethodSignatureMismatch occurrences="1">
|
||||||
|
<code>public function setUp()</code>
|
||||||
|
</MethodSignatureMismatch>
|
||||||
|
</file>
|
||||||
|
<file src="src/Bundle/ChillActivityBundle/Tests/Export/Filter/ActivityReasonFilterTest.php">
|
||||||
|
<MethodSignatureMismatch occurrences="1">
|
||||||
|
<code>public function setUp()</code>
|
||||||
|
</MethodSignatureMismatch>
|
||||||
|
</file>
|
||||||
<file src="src/Bundle/ChillActivityBundle/Tests/Export/Filter/PersonHavingActivityBetweenDateFilterTest.php">
|
<file src="src/Bundle/ChillActivityBundle/Tests/Export/Filter/PersonHavingActivityBetweenDateFilterTest.php">
|
||||||
|
<MethodSignatureMismatch occurrences="1">
|
||||||
|
<code>public function setUp()</code>
|
||||||
|
</MethodSignatureMismatch>
|
||||||
<UndefinedDocblockClass occurrences="1">
|
<UndefinedDocblockClass occurrences="1">
|
||||||
<code>\Chill\PersonBundle\Export\Filter\PersonHavingActivityBetweenDateFilter</code>
|
<code>\Chill\PersonBundle\Export\Filter\PersonHavingActivityBetweenDateFilter</code>
|
||||||
</UndefinedDocblockClass>
|
</UndefinedDocblockClass>
|
||||||
</file>
|
</file>
|
||||||
|
<file src="src/Bundle/ChillActivityBundle/Tests/Form/ActivityTypeTest.php">
|
||||||
|
<MethodSignatureMismatch occurrences="1">
|
||||||
|
<code>public function setUp()</code>
|
||||||
|
</MethodSignatureMismatch>
|
||||||
|
</file>
|
||||||
<file src="src/Bundle/ChillActivityBundle/Tests/Form/Type/TranslatableActivityReasonTest.php">
|
<file src="src/Bundle/ChillActivityBundle/Tests/Form/Type/TranslatableActivityReasonTest.php">
|
||||||
|
<MethodSignatureMismatch occurrences="1">
|
||||||
|
<code>public function setUp()</code>
|
||||||
|
</MethodSignatureMismatch>
|
||||||
<TooFewArguments occurrences="2"/>
|
<TooFewArguments occurrences="2"/>
|
||||||
<UndefinedDocblockClass occurrences="1">
|
<UndefinedDocblockClass occurrences="1">
|
||||||
<code>Prophecy\Prophet</code>
|
<code>Prophecy\Prophet</code>
|
||||||
</UndefinedDocblockClass>
|
</UndefinedDocblockClass>
|
||||||
</file>
|
</file>
|
||||||
|
<file src="src/Bundle/ChillActivityBundle/Tests/Form/Type/TranslatableActivityTypeTest.php">
|
||||||
|
<MethodSignatureMismatch occurrences="1">
|
||||||
|
<code>public function setUp()</code>
|
||||||
|
</MethodSignatureMismatch>
|
||||||
|
</file>
|
||||||
<file src="src/Bundle/ChillActivityBundle/Tests/Security/Authorization/ActivityVoterTest.php">
|
<file src="src/Bundle/ChillActivityBundle/Tests/Security/Authorization/ActivityVoterTest.php">
|
||||||
|
<MethodSignatureMismatch occurrences="1">
|
||||||
|
<code>public function setUp()</code>
|
||||||
|
</MethodSignatureMismatch>
|
||||||
<UndefinedDocblockClass occurrences="1">
|
<UndefinedDocblockClass occurrences="1">
|
||||||
<code>type</code>
|
<code>type</code>
|
||||||
</UndefinedDocblockClass>
|
</UndefinedDocblockClass>
|
||||||
@@ -205,6 +254,11 @@
|
|||||||
<code>$asideActivityCategory</code>
|
<code>$asideActivityCategory</code>
|
||||||
</ParamNameMismatch>
|
</ParamNameMismatch>
|
||||||
</file>
|
</file>
|
||||||
|
<file src="src/Bundle/ChillAsideActivityBundle/src/Tests/Controller/AsideActivityControllerTest.php">
|
||||||
|
<MethodSignatureMismatch occurrences="1">
|
||||||
|
<code>public function setUp()</code>
|
||||||
|
</MethodSignatureMismatch>
|
||||||
|
</file>
|
||||||
<file src="src/Bundle/ChillBudgetBundle/Calculator/CalculatorManager.php">
|
<file src="src/Bundle/ChillBudgetBundle/Calculator/CalculatorManager.php">
|
||||||
<InvalidStaticInvocation occurrences="3">
|
<InvalidStaticInvocation occurrences="3">
|
||||||
<code>$calculator::getAlias()</code>
|
<code>$calculator::getAlias()</code>
|
||||||
@@ -234,6 +288,11 @@
|
|||||||
<code>'ChillCalendarBundle:Calendar'</code>
|
<code>'ChillCalendarBundle:Calendar'</code>
|
||||||
</UndefinedClass>
|
</UndefinedClass>
|
||||||
</file>
|
</file>
|
||||||
|
<file src="src/Bundle/ChillCalendarBundle/Tests/Controller/CalendarControllerTest.php">
|
||||||
|
<MethodSignatureMismatch occurrences="1">
|
||||||
|
<code>public function setUp()</code>
|
||||||
|
</MethodSignatureMismatch>
|
||||||
|
</file>
|
||||||
<file src="src/Bundle/ChillCustomFieldsBundle/Command/CreateFieldsOnGroupCommand.php">
|
<file src="src/Bundle/ChillCustomFieldsBundle/Command/CreateFieldsOnGroupCommand.php">
|
||||||
<UndefinedClass occurrences="1">
|
<UndefinedClass occurrences="1">
|
||||||
<code>'ChillCustomFieldsBundle:CustomFieldsGroup'</code>
|
<code>'ChillCustomFieldsBundle:CustomFieldsGroup'</code>
|
||||||
@@ -338,6 +397,10 @@
|
|||||||
</UndefinedDocblockClass>
|
</UndefinedDocblockClass>
|
||||||
</file>
|
</file>
|
||||||
<file src="src/Bundle/ChillCustomFieldsBundle/Tests/CustomFields/CustomFieldsChoiceTest.php">
|
<file src="src/Bundle/ChillCustomFieldsBundle/Tests/CustomFields/CustomFieldsChoiceTest.php">
|
||||||
|
<MethodSignatureMismatch occurrences="2">
|
||||||
|
<code>public function setUp()</code>
|
||||||
|
<code>public function tearDown()</code>
|
||||||
|
</MethodSignatureMismatch>
|
||||||
<UndefinedDocblockClass occurrences="4">
|
<UndefinedDocblockClass occurrences="4">
|
||||||
<code>type</code>
|
<code>type</code>
|
||||||
<code>type</code>
|
<code>type</code>
|
||||||
@@ -345,6 +408,61 @@
|
|||||||
<code>type</code>
|
<code>type</code>
|
||||||
</UndefinedDocblockClass>
|
</UndefinedDocblockClass>
|
||||||
</file>
|
</file>
|
||||||
|
<file src="src/Bundle/ChillCustomFieldsBundle/Tests/CustomFields/CustomFieldsNumberTest.php">
|
||||||
|
<MethodSignatureMismatch occurrences="1">
|
||||||
|
<code>public function setUp()</code>
|
||||||
|
</MethodSignatureMismatch>
|
||||||
|
</file>
|
||||||
|
<file src="src/Bundle/ChillCustomFieldsBundle/Tests/CustomFields/CustomFieldsTextTest.php">
|
||||||
|
<MethodSignatureMismatch occurrences="1">
|
||||||
|
<code>public function setUp()</code>
|
||||||
|
</MethodSignatureMismatch>
|
||||||
|
</file>
|
||||||
|
<file src="src/Bundle/ChillCustomFieldsBundle/Tests/Form/Extension/PostTextIntegerExtensionTest.php">
|
||||||
|
<MethodSignatureMismatch occurrences="1">
|
||||||
|
<code>public function setUp()</code>
|
||||||
|
</MethodSignatureMismatch>
|
||||||
|
</file>
|
||||||
|
<file src="src/Bundle/ChillCustomFieldsBundle/Tests/Form/Extension/PostTextNumberExtensionTest.php">
|
||||||
|
<MethodSignatureMismatch occurrences="1">
|
||||||
|
<code>public function setUp()</code>
|
||||||
|
</MethodSignatureMismatch>
|
||||||
|
</file>
|
||||||
|
<file src="src/Bundle/ChillCustomFieldsBundle/Tests/Service/CustomFieldsHelperTest.php">
|
||||||
|
<MethodSignatureMismatch occurrences="1">
|
||||||
|
<code>public function setUp()</code>
|
||||||
|
</MethodSignatureMismatch>
|
||||||
|
</file>
|
||||||
|
<file src="src/Bundle/ChillCustomFieldsBundle/Tests/Templating/Twig/CustomFieldRenderingTwigTest.php">
|
||||||
|
<MethodSignatureMismatch occurrences="1">
|
||||||
|
<code>public function setUp()</code>
|
||||||
|
</MethodSignatureMismatch>
|
||||||
|
</file>
|
||||||
|
<file src="src/Bundle/ChillCustomFieldsBundle/Tests/Templating/Twig/CustomFieldsGroupRenderingTwigTest.php">
|
||||||
|
<MethodSignatureMismatch occurrences="1">
|
||||||
|
<code>public function setUp()</code>
|
||||||
|
</MethodSignatureMismatch>
|
||||||
|
</file>
|
||||||
|
<file src="src/Bundle/ChillDocGeneratorBundle/tests/Serializer/Encoder/DocGenEncoderTest.php">
|
||||||
|
<MethodSignatureMismatch occurrences="1">
|
||||||
|
<code>protected function setUp()</code>
|
||||||
|
</MethodSignatureMismatch>
|
||||||
|
</file>
|
||||||
|
<file src="src/Bundle/ChillDocGeneratorBundle/tests/Serializer/Normalizer/DocGenObjectNormalizerTest.php">
|
||||||
|
<MethodSignatureMismatch occurrences="1">
|
||||||
|
<code>protected function setUp()</code>
|
||||||
|
</MethodSignatureMismatch>
|
||||||
|
</file>
|
||||||
|
<file src="src/Bundle/ChillDocGeneratorBundle/tests/Service/Context/BaseContextDataTest.php">
|
||||||
|
<MethodSignatureMismatch occurrences="1">
|
||||||
|
<code>protected function setUp()</code>
|
||||||
|
</MethodSignatureMismatch>
|
||||||
|
</file>
|
||||||
|
<file src="src/Bundle/ChillDocStoreBundle/Controller/DocumentAccompanyingCourseController.php">
|
||||||
|
<UndefinedClass occurrences="1">
|
||||||
|
<code>'ChillDocStoreBundle:AccompanyingCourseDocument'</code>
|
||||||
|
</UndefinedClass>
|
||||||
|
</file>
|
||||||
<file src="src/Bundle/ChillDocStoreBundle/Controller/DocumentCategoryController.php">
|
<file src="src/Bundle/ChillDocStoreBundle/Controller/DocumentCategoryController.php">
|
||||||
<UndefinedClass occurrences="3">
|
<UndefinedClass occurrences="3">
|
||||||
<code>'ChillDocStoreBundle:DocumentCategory'</code>
|
<code>'ChillDocStoreBundle:DocumentCategory'</code>
|
||||||
@@ -352,6 +470,11 @@
|
|||||||
<code>'ChillDocStoreBundle:DocumentCategory'</code>
|
<code>'ChillDocStoreBundle:DocumentCategory'</code>
|
||||||
</UndefinedClass>
|
</UndefinedClass>
|
||||||
</file>
|
</file>
|
||||||
|
<file src="src/Bundle/ChillDocStoreBundle/Controller/DocumentPersonController.php">
|
||||||
|
<UndefinedClass occurrences="1">
|
||||||
|
<code>'ChillDocStoreBundle:PersonDocument'</code>
|
||||||
|
</UndefinedClass>
|
||||||
|
</file>
|
||||||
<file src="src/Bundle/ChillDocStoreBundle/Entity/Document.php">
|
<file src="src/Bundle/ChillDocStoreBundle/Entity/Document.php">
|
||||||
<UndefinedDocblockClass occurrences="1">
|
<UndefinedDocblockClass occurrences="1">
|
||||||
<code>\Chill\PersonBundle\Entity\user</code>
|
<code>\Chill\PersonBundle\Entity\user</code>
|
||||||
@@ -447,6 +570,9 @@
|
|||||||
<InvalidParamDefault occurrences="1">
|
<InvalidParamDefault occurrences="1">
|
||||||
<code>type</code>
|
<code>type</code>
|
||||||
</InvalidParamDefault>
|
</InvalidParamDefault>
|
||||||
|
<MethodSignatureMismatch occurrences="1">
|
||||||
|
<code>public function setUp()</code>
|
||||||
|
</MethodSignatureMismatch>
|
||||||
<UndefinedClass occurrences="8">
|
<UndefinedClass occurrences="8">
|
||||||
<code>'ChillEventBundle:Event'</code>
|
<code>'ChillEventBundle:Event'</code>
|
||||||
<code>'ChillEventBundle:Event'</code>
|
<code>'ChillEventBundle:Event'</code>
|
||||||
@@ -462,6 +588,10 @@
|
|||||||
</UndefinedDocblockClass>
|
</UndefinedDocblockClass>
|
||||||
</file>
|
</file>
|
||||||
<file src="src/Bundle/ChillEventBundle/Tests/Search/EventSearchTest.php">
|
<file src="src/Bundle/ChillEventBundle/Tests/Search/EventSearchTest.php">
|
||||||
|
<MethodSignatureMismatch occurrences="2">
|
||||||
|
<code>public function setUp()</code>
|
||||||
|
<code>public function tearDown()</code>
|
||||||
|
</MethodSignatureMismatch>
|
||||||
<UndefinedClass occurrences="1">
|
<UndefinedClass occurrences="1">
|
||||||
<code>'ChillMainBundle:Scope'</code>
|
<code>'ChillMainBundle:Scope'</code>
|
||||||
</UndefinedClass>
|
</UndefinedClass>
|
||||||
@@ -761,6 +891,11 @@
|
|||||||
<code>OptionsResolverInterface</code>
|
<code>OptionsResolverInterface</code>
|
||||||
</UndefinedDocblockClass>
|
</UndefinedDocblockClass>
|
||||||
</file>
|
</file>
|
||||||
|
<file src="src/Bundle/ChillMainBundle/Notification/Mailer.php">
|
||||||
|
<UndefinedDocblockClass occurrences="1">
|
||||||
|
<code>\Symfony\Component\Mailer\Exception\TransportExceptionInterface</code>
|
||||||
|
</UndefinedDocblockClass>
|
||||||
|
</file>
|
||||||
<file src="src/Bundle/ChillMainBundle/Pagination/PageGenerator.php">
|
<file src="src/Bundle/ChillMainBundle/Pagination/PageGenerator.php">
|
||||||
<UndefinedVariable occurrences="1">
|
<UndefinedVariable occurrences="1">
|
||||||
<code>$current</code>
|
<code>$current</code>
|
||||||
@@ -789,6 +924,11 @@
|
|||||||
<code>$onlyEnabled</code>
|
<code>$onlyEnabled</code>
|
||||||
</ParamNameMismatch>
|
</ParamNameMismatch>
|
||||||
</file>
|
</file>
|
||||||
|
<file src="src/Bundle/ChillMainBundle/Resources/test/Fixtures/App/app/AppKernel.php">
|
||||||
|
<DuplicateClass occurrences="1">
|
||||||
|
<code>AppKernel</code>
|
||||||
|
</DuplicateClass>
|
||||||
|
</file>
|
||||||
<file src="src/Bundle/ChillMainBundle/Resources/test/Fixtures/App/app/autoload.php">
|
<file src="src/Bundle/ChillMainBundle/Resources/test/Fixtures/App/app/autoload.php">
|
||||||
<MissingFile occurrences="1">
|
<MissingFile occurrences="1">
|
||||||
<code>require __DIR__ . '/../../../../../vendor/autoload.php'</code>
|
<code>require __DIR__ . '/../../../../../vendor/autoload.php'</code>
|
||||||
@@ -916,15 +1056,158 @@
|
|||||||
</UndefinedClass>
|
</UndefinedClass>
|
||||||
</file>
|
</file>
|
||||||
<file src="src/Bundle/ChillMainBundle/Test/Export/AbstractFilterTest.php">
|
<file src="src/Bundle/ChillMainBundle/Test/Export/AbstractFilterTest.php">
|
||||||
|
<MethodSignatureMismatch occurrences="1">
|
||||||
|
<code>public function setUp()</code>
|
||||||
|
</MethodSignatureMismatch>
|
||||||
<UndefinedDocblockClass occurrences="1">
|
<UndefinedDocblockClass occurrences="1">
|
||||||
<code>type</code>
|
<code>type</code>
|
||||||
</UndefinedDocblockClass>
|
</UndefinedDocblockClass>
|
||||||
</file>
|
</file>
|
||||||
|
<file src="src/Bundle/ChillMainBundle/Tests/Authorization/ParentRoleHelperTest.php">
|
||||||
|
<MethodSignatureMismatch occurrences="1">
|
||||||
|
<code>public function setUp()</code>
|
||||||
|
</MethodSignatureMismatch>
|
||||||
|
</file>
|
||||||
|
<file src="src/Bundle/ChillMainBundle/Tests/Controller/AddressControllerTest.php">
|
||||||
|
<MethodSignatureMismatch occurrences="1">
|
||||||
|
<code>public function setUp()</code>
|
||||||
|
</MethodSignatureMismatch>
|
||||||
|
</file>
|
||||||
|
<file src="src/Bundle/ChillMainBundle/Tests/Controller/UserControllerTest.php">
|
||||||
|
<MethodSignatureMismatch occurrences="2">
|
||||||
|
<code>protected function tearDown()</code>
|
||||||
|
<code>public function setUp()</code>
|
||||||
|
</MethodSignatureMismatch>
|
||||||
|
</file>
|
||||||
|
<file src="src/Bundle/ChillMainBundle/Tests/Export/ExportManagerTest.php">
|
||||||
|
<MethodSignatureMismatch occurrences="2">
|
||||||
|
<code>public function setUp()</code>
|
||||||
|
<code>public function tearDown()</code>
|
||||||
|
</MethodSignatureMismatch>
|
||||||
|
<UndefinedDocblockClass occurrences="40">
|
||||||
|
<code>$this->prophet</code>
|
||||||
|
<code>$this->prophet</code>
|
||||||
|
<code>$this->prophet</code>
|
||||||
|
<code>$this->prophet</code>
|
||||||
|
<code>$this->prophet</code>
|
||||||
|
<code>$this->prophet</code>
|
||||||
|
<code>$this->prophet</code>
|
||||||
|
<code>$this->prophet</code>
|
||||||
|
<code>$this->prophet</code>
|
||||||
|
<code>$this->prophet</code>
|
||||||
|
<code>$this->prophet</code>
|
||||||
|
<code>$this->prophet</code>
|
||||||
|
<code>$this->prophet</code>
|
||||||
|
<code>$this->prophet</code>
|
||||||
|
<code>$this->prophet</code>
|
||||||
|
<code>$this->prophet</code>
|
||||||
|
<code>$this->prophet</code>
|
||||||
|
<code>$this->prophet</code>
|
||||||
|
<code>$this->prophet</code>
|
||||||
|
<code>$this->prophet</code>
|
||||||
|
<code>$this->prophet</code>
|
||||||
|
<code>$this->prophet</code>
|
||||||
|
<code>$this->prophet</code>
|
||||||
|
<code>$this->prophet</code>
|
||||||
|
<code>$this->prophet</code>
|
||||||
|
<code>$this->prophet</code>
|
||||||
|
<code>$this->prophet</code>
|
||||||
|
<code>$this->prophet</code>
|
||||||
|
<code>$this->prophet</code>
|
||||||
|
<code>$this->prophet</code>
|
||||||
|
<code>$this->prophet</code>
|
||||||
|
<code>$this->prophet</code>
|
||||||
|
<code>$this->prophet</code>
|
||||||
|
<code>$this->prophet</code>
|
||||||
|
<code>$this->prophet</code>
|
||||||
|
<code>$this->prophet</code>
|
||||||
|
<code>$this->prophet</code>
|
||||||
|
<code>$this->prophet</code>
|
||||||
|
<code>$this->prophet</code>
|
||||||
|
<code>Prophecy\Prophet</code>
|
||||||
|
</UndefinedDocblockClass>
|
||||||
|
</file>
|
||||||
|
<file src="src/Bundle/ChillMainBundle/Tests/Form/Type/PickCenterTypeTest.php">
|
||||||
|
<UndefinedClass occurrences="1">
|
||||||
|
<code>CenterType</code>
|
||||||
|
</UndefinedClass>
|
||||||
|
<UndefinedDocblockClass occurrences="1">
|
||||||
|
<code>CenterType</code>
|
||||||
|
</UndefinedDocblockClass>
|
||||||
|
</file>
|
||||||
|
<file src="src/Bundle/ChillMainBundle/Tests/Pagination/PageTest.php">
|
||||||
|
<MethodSignatureMismatch occurrences="1">
|
||||||
|
<code>public function setUp()</code>
|
||||||
|
</MethodSignatureMismatch>
|
||||||
|
</file>
|
||||||
|
<file src="src/Bundle/ChillMainBundle/Tests/Pagination/PaginatorTest.php">
|
||||||
|
<MethodSignatureMismatch occurrences="1">
|
||||||
|
<code>public function setUp()</code>
|
||||||
|
</MethodSignatureMismatch>
|
||||||
|
</file>
|
||||||
|
<file src="src/Bundle/ChillMainBundle/Tests/Routing/Loader/RouteLoaderTest.php">
|
||||||
|
<MethodSignatureMismatch occurrences="1">
|
||||||
|
<code>public function setUp()</code>
|
||||||
|
</MethodSignatureMismatch>
|
||||||
|
</file>
|
||||||
|
<file src="src/Bundle/ChillMainBundle/Tests/Search/AbstractSearchTest.php">
|
||||||
|
<MethodSignatureMismatch occurrences="1">
|
||||||
|
<code>public function setUp()</code>
|
||||||
|
</MethodSignatureMismatch>
|
||||||
|
</file>
|
||||||
<file src="src/Bundle/ChillMainBundle/Tests/Search/SearchProviderTest.php">
|
<file src="src/Bundle/ChillMainBundle/Tests/Search/SearchProviderTest.php">
|
||||||
|
<MethodSignatureMismatch occurrences="1">
|
||||||
|
<code>public function setUp()</code>
|
||||||
|
</MethodSignatureMismatch>
|
||||||
<UndefinedDocblockClass occurrences="1">
|
<UndefinedDocblockClass occurrences="1">
|
||||||
<code>unknown</code>
|
<code>unknown</code>
|
||||||
</UndefinedDocblockClass>
|
</UndefinedDocblockClass>
|
||||||
</file>
|
</file>
|
||||||
|
<file src="src/Bundle/ChillMainBundle/Tests/Security/Authorization/AuthorizationHelperTest.php">
|
||||||
|
<MethodSignatureMismatch occurrences="1">
|
||||||
|
<code>public function setUp()</code>
|
||||||
|
</MethodSignatureMismatch>
|
||||||
|
</file>
|
||||||
|
<file src="src/Bundle/ChillMainBundle/Tests/Security/PasswordRecover/TokenManagerTest.php">
|
||||||
|
<MethodSignatureMismatch occurrences="1">
|
||||||
|
<code>public function setUp()</code>
|
||||||
|
</MethodSignatureMismatch>
|
||||||
|
</file>
|
||||||
|
<file src="src/Bundle/ChillMainBundle/Tests/Security/Resolver/CenterResolverDispatcherTest.php">
|
||||||
|
<MethodSignatureMismatch occurrences="1">
|
||||||
|
<code>protected function setUp()</code>
|
||||||
|
</MethodSignatureMismatch>
|
||||||
|
</file>
|
||||||
|
<file src="src/Bundle/ChillMainBundle/Tests/Security/Resolver/DefaultScopeResolverTest.php">
|
||||||
|
<MethodSignatureMismatch occurrences="1">
|
||||||
|
<code>public function setUp()</code>
|
||||||
|
</MethodSignatureMismatch>
|
||||||
|
</file>
|
||||||
|
<file src="src/Bundle/ChillMainBundle/Tests/Security/Resolver/ScopeResolverDispatcherTest.php">
|
||||||
|
<MethodSignatureMismatch occurrences="1">
|
||||||
|
<code>public function setUp()</code>
|
||||||
|
</MethodSignatureMismatch>
|
||||||
|
</file>
|
||||||
|
<file src="src/Bundle/ChillMainBundle/Tests/Serializer/Normalizer/DateNormalizerTest.php">
|
||||||
|
<MethodSignatureMismatch occurrences="1">
|
||||||
|
<code>public function setUp()</code>
|
||||||
|
</MethodSignatureMismatch>
|
||||||
|
</file>
|
||||||
|
<file src="src/Bundle/ChillMainBundle/Tests/Serializer/Normalizer/DoctrineExistingEntityNormalizerTest.php">
|
||||||
|
<MethodSignatureMismatch occurrences="1">
|
||||||
|
<code>protected function setUp()</code>
|
||||||
|
</MethodSignatureMismatch>
|
||||||
|
</file>
|
||||||
|
<file src="src/Bundle/ChillMainBundle/Tests/Services/MenuComposerTest.php">
|
||||||
|
<MethodSignatureMismatch occurrences="1">
|
||||||
|
<code>public function setUp()</code>
|
||||||
|
</MethodSignatureMismatch>
|
||||||
|
</file>
|
||||||
|
<file src="src/Bundle/ChillMainBundle/Tests/Templating/Entity/AddressRenderTest.php">
|
||||||
|
<MethodSignatureMismatch occurrences="1">
|
||||||
|
<code>protected function setUp()</code>
|
||||||
|
</MethodSignatureMismatch>
|
||||||
|
</file>
|
||||||
<file src="src/Bundle/ChillMainBundle/Timeline/TimelineBuilder.php">
|
<file src="src/Bundle/ChillMainBundle/Timeline/TimelineBuilder.php">
|
||||||
<UndefinedDocblockClass occurrences="1">
|
<UndefinedDocblockClass occurrences="1">
|
||||||
<code>unknown</code>
|
<code>unknown</code>
|
||||||
@@ -1129,6 +1412,20 @@
|
|||||||
<code>OptionsResolverInterface</code>
|
<code>OptionsResolverInterface</code>
|
||||||
</UndefinedDocblockClass>
|
</UndefinedDocblockClass>
|
||||||
</file>
|
</file>
|
||||||
|
<file src="src/Bundle/ChillPersonBundle/Repository/AccompanyingPeriod/AccompanyingPeriodWorkRepository.php">
|
||||||
|
<UndefinedClass occurrences="6">
|
||||||
|
<code>$qb</code>
|
||||||
|
<code>$qb</code>
|
||||||
|
<code>$qb</code>
|
||||||
|
<code>QueryBuilder</code>
|
||||||
|
<code>SocialAction</code>
|
||||||
|
<code>SocialAction</code>
|
||||||
|
</UndefinedClass>
|
||||||
|
<UndefinedVariable occurrences="2">
|
||||||
|
<code>$action</code>
|
||||||
|
<code>$orderBy</code>
|
||||||
|
</UndefinedVariable>
|
||||||
|
</file>
|
||||||
<file src="src/Bundle/ChillPersonBundle/Resources/test/Fixtures/App/app/AppKernel.php">
|
<file src="src/Bundle/ChillPersonBundle/Resources/test/Fixtures/App/app/AppKernel.php">
|
||||||
<DuplicateClass occurrences="1">
|
<DuplicateClass occurrences="1">
|
||||||
<code>AppKernel</code>
|
<code>AppKernel</code>
|
||||||
@@ -1208,13 +1505,33 @@
|
|||||||
</ParamNameMismatch>
|
</ParamNameMismatch>
|
||||||
</file>
|
</file>
|
||||||
<file src="src/Bundle/ChillPersonBundle/Tests/AccompanyingPeriod/AccompanyingPeriodConfidentialTest.php">
|
<file src="src/Bundle/ChillPersonBundle/Tests/AccompanyingPeriod/AccompanyingPeriodConfidentialTest.php">
|
||||||
|
<MethodSignatureMismatch occurrences="2">
|
||||||
|
<code>public function setUp()</code>
|
||||||
|
<code>public static function setUpBeforeClass()</code>
|
||||||
|
</MethodSignatureMismatch>
|
||||||
<UndefinedClass occurrences="2">
|
<UndefinedClass occurrences="2">
|
||||||
<code>AccompanyingPeriodRepository</code>
|
<code>AccompanyingPeriodRepository</code>
|
||||||
<code>stdClass</code>
|
<code>stdClass</code>
|
||||||
</UndefinedClass>
|
</UndefinedClass>
|
||||||
</file>
|
</file>
|
||||||
|
<file src="src/Bundle/ChillPersonBundle/Tests/Controller/AccompanyingCourseApiControllerTest.php">
|
||||||
|
<MethodSignatureMismatch occurrences="2">
|
||||||
|
<code>public function setUp()</code>
|
||||||
|
<code>public static function setUpBeforeClass()</code>
|
||||||
|
</MethodSignatureMismatch>
|
||||||
|
</file>
|
||||||
|
<file src="src/Bundle/ChillPersonBundle/Tests/Controller/AccompanyingCourseControllerTest.php">
|
||||||
|
<MethodSignatureMismatch occurrences="1">
|
||||||
|
<code>public function setUp()</code>
|
||||||
|
</MethodSignatureMismatch>
|
||||||
|
</file>
|
||||||
<file src="src/Bundle/ChillPersonBundle/Tests/Controller/AccompanyingPeriodControllerTest.php">
|
<file src="src/Bundle/ChillPersonBundle/Tests/Controller/AccompanyingPeriodControllerTest.php">
|
||||||
<InvalidThrow occurrences="1"/>
|
<InvalidThrow occurrences="1"/>
|
||||||
|
<MethodSignatureMismatch occurrences="3">
|
||||||
|
<code>public function setUp()</code>
|
||||||
|
<code>public function tearDown()</code>
|
||||||
|
<code>public static function setUpBeforeClass()</code>
|
||||||
|
</MethodSignatureMismatch>
|
||||||
<UndefinedClass occurrences="3">
|
<UndefinedClass occurrences="3">
|
||||||
<code>'ChillMainBundle:Center'</code>
|
<code>'ChillMainBundle:Center'</code>
|
||||||
<code>'ChillPersonBundle:AccompanyingPeriod\ClosingMotive'</code>
|
<code>'ChillPersonBundle:AccompanyingPeriod\ClosingMotive'</code>
|
||||||
@@ -1226,19 +1543,40 @@
|
|||||||
</UndefinedDocblockClass>
|
</UndefinedDocblockClass>
|
||||||
</file>
|
</file>
|
||||||
<file src="src/Bundle/ChillPersonBundle/Tests/Controller/HouseholdApiControllerTest.php">
|
<file src="src/Bundle/ChillPersonBundle/Tests/Controller/HouseholdApiControllerTest.php">
|
||||||
|
<MethodSignatureMismatch occurrences="1">
|
||||||
|
<code>protected function tearDown()</code>
|
||||||
|
</MethodSignatureMismatch>
|
||||||
<UndefinedClass occurrences="1">
|
<UndefinedClass occurrences="1">
|
||||||
<code>User</code>
|
<code>User</code>
|
||||||
</UndefinedClass>
|
</UndefinedClass>
|
||||||
</file>
|
</file>
|
||||||
|
<file src="src/Bundle/ChillPersonBundle/Tests/Controller/HouseholdControllerTest.php">
|
||||||
|
<MethodSignatureMismatch occurrences="1">
|
||||||
|
<code>protected function setUp()</code>
|
||||||
|
</MethodSignatureMismatch>
|
||||||
|
</file>
|
||||||
<file src="src/Bundle/ChillPersonBundle/Tests/Controller/PersonAddressControllerTest.php">
|
<file src="src/Bundle/ChillPersonBundle/Tests/Controller/PersonAddressControllerTest.php">
|
||||||
<InvalidScope occurrences="1">
|
<InvalidScope occurrences="1">
|
||||||
<code>$this</code>
|
<code>$this</code>
|
||||||
</InvalidScope>
|
</InvalidScope>
|
||||||
|
<MethodSignatureMismatch occurrences="2">
|
||||||
|
<code>public function setUp()</code>
|
||||||
|
<code>public static function setUpBeforeClass()</code>
|
||||||
|
</MethodSignatureMismatch>
|
||||||
<UndefinedClass occurrences="1">
|
<UndefinedClass occurrences="1">
|
||||||
<code>'ChillPersonBundle:Person'</code>
|
<code>'ChillPersonBundle:Person'</code>
|
||||||
</UndefinedClass>
|
</UndefinedClass>
|
||||||
</file>
|
</file>
|
||||||
|
<file src="src/Bundle/ChillPersonBundle/Tests/Controller/PersonControllerCreateTest.php">
|
||||||
|
<MethodSignatureMismatch occurrences="1">
|
||||||
|
<code>public static function tearDownAfterClass()</code>
|
||||||
|
</MethodSignatureMismatch>
|
||||||
|
</file>
|
||||||
<file src="src/Bundle/ChillPersonBundle/Tests/Controller/PersonControllerUpdateTest.php">
|
<file src="src/Bundle/ChillPersonBundle/Tests/Controller/PersonControllerUpdateTest.php">
|
||||||
|
<MethodSignatureMismatch occurrences="2">
|
||||||
|
<code>public function setUp()</code>
|
||||||
|
<code>public function tearDown()</code>
|
||||||
|
</MethodSignatureMismatch>
|
||||||
<UndefinedClass occurrences="2">
|
<UndefinedClass occurrences="2">
|
||||||
<code>'ChillMainBundle:Country'</code>
|
<code>'ChillMainBundle:Country'</code>
|
||||||
<code>'ChillPersonBundle:Person'</code>
|
<code>'ChillPersonBundle:Person'</code>
|
||||||
@@ -1248,25 +1586,140 @@
|
|||||||
</UndefinedDocblockClass>
|
</UndefinedDocblockClass>
|
||||||
</file>
|
</file>
|
||||||
<file src="src/Bundle/ChillPersonBundle/Tests/Controller/PersonControllerUpdateWithHiddenFieldsTest.php">
|
<file src="src/Bundle/ChillPersonBundle/Tests/Controller/PersonControllerUpdateWithHiddenFieldsTest.php">
|
||||||
|
<MethodSignatureMismatch occurrences="2">
|
||||||
|
<code>public function setUp()</code>
|
||||||
|
<code>public function tearDown()</code>
|
||||||
|
</MethodSignatureMismatch>
|
||||||
<UndefinedClass occurrences="2">
|
<UndefinedClass occurrences="2">
|
||||||
<code>'ChillMainBundle:Country'</code>
|
<code>'ChillMainBundle:Country'</code>
|
||||||
<code>'ChillPersonBundle:Person'</code>
|
<code>'ChillPersonBundle:Person'</code>
|
||||||
</UndefinedClass>
|
</UndefinedClass>
|
||||||
</file>
|
</file>
|
||||||
<file src="src/Bundle/ChillPersonBundle/Tests/Controller/PersonControllerViewTest.php">
|
<file src="src/Bundle/ChillPersonBundle/Tests/Controller/PersonControllerViewTest.php">
|
||||||
|
<MethodSignatureMismatch occurrences="2">
|
||||||
|
<code>public function setUp()</code>
|
||||||
|
<code>public function tearDown()</code>
|
||||||
|
</MethodSignatureMismatch>
|
||||||
<UndefinedClass occurrences="1">
|
<UndefinedClass occurrences="1">
|
||||||
<code>'ChillPersonBundle:Person'</code>
|
<code>'ChillPersonBundle:Person'</code>
|
||||||
</UndefinedClass>
|
</UndefinedClass>
|
||||||
</file>
|
</file>
|
||||||
<file src="src/Bundle/ChillPersonBundle/Tests/Controller/PersonControllerViewWithHiddenFieldsTest.php">
|
<file src="src/Bundle/ChillPersonBundle/Tests/Controller/PersonControllerViewWithHiddenFieldsTest.php">
|
||||||
|
<MethodSignatureMismatch occurrences="2">
|
||||||
|
<code>public function setUp()</code>
|
||||||
|
<code>public function tearDown()</code>
|
||||||
|
</MethodSignatureMismatch>
|
||||||
<UndefinedClass occurrences="1">
|
<UndefinedClass occurrences="1">
|
||||||
<code>'ChillPersonBundle:Person'</code>
|
<code>'ChillPersonBundle:Person'</code>
|
||||||
</UndefinedClass>
|
</UndefinedClass>
|
||||||
</file>
|
</file>
|
||||||
|
<file src="src/Bundle/ChillPersonBundle/Tests/Controller/PersonDuplicateControllerViewTest.php">
|
||||||
|
<MethodSignatureMismatch occurrences="1">
|
||||||
|
<code>public function setUp()</code>
|
||||||
|
</MethodSignatureMismatch>
|
||||||
|
</file>
|
||||||
|
<file src="src/Bundle/ChillPersonBundle/Tests/Controller/RelationshipApiControllerTest.php">
|
||||||
|
<MethodSignatureMismatch occurrences="1">
|
||||||
|
<code>public function setUp()</code>
|
||||||
|
</MethodSignatureMismatch>
|
||||||
|
</file>
|
||||||
|
<file src="src/Bundle/ChillPersonBundle/Tests/Controller/SocialIssueApiControllerTest.php">
|
||||||
|
<MethodSignatureMismatch occurrences="1">
|
||||||
|
<code>public function setUp()</code>
|
||||||
|
</MethodSignatureMismatch>
|
||||||
|
</file>
|
||||||
<file src="src/Bundle/ChillPersonBundle/Tests/Entity/AccompanyingPeriodTest.php">
|
<file src="src/Bundle/ChillPersonBundle/Tests/Entity/AccompanyingPeriodTest.php">
|
||||||
<AssignmentToVoid occurrences="1">
|
<AssignmentToVoid occurrences="1">
|
||||||
<code>$participationL</code>
|
<code>$participationL</code>
|
||||||
</AssignmentToVoid>
|
</AssignmentToVoid>
|
||||||
|
<NullReference occurrences="1">
|
||||||
|
<code>getEndDate</code>
|
||||||
|
</NullReference>
|
||||||
|
</file>
|
||||||
|
<file src="src/Bundle/ChillPersonBundle/Tests/Export/Aggregator/AgeAggregatorTest.php">
|
||||||
|
<MethodSignatureMismatch occurrences="1">
|
||||||
|
<code>public function setUp()</code>
|
||||||
|
</MethodSignatureMismatch>
|
||||||
|
</file>
|
||||||
|
<file src="src/Bundle/ChillPersonBundle/Tests/Export/Aggregator/GenderAggregatorTest.php">
|
||||||
|
<MethodSignatureMismatch occurrences="1">
|
||||||
|
<code>public function setUp()</code>
|
||||||
|
</MethodSignatureMismatch>
|
||||||
|
</file>
|
||||||
|
<file src="src/Bundle/ChillPersonBundle/Tests/Export/Aggregator/NationalityAggregatorTest.php">
|
||||||
|
<MethodSignatureMismatch occurrences="1">
|
||||||
|
<code>public function setUp()</code>
|
||||||
|
</MethodSignatureMismatch>
|
||||||
|
</file>
|
||||||
|
<file src="src/Bundle/ChillPersonBundle/Tests/Export/Export/CountPersonTest.php">
|
||||||
|
<MethodSignatureMismatch occurrences="1">
|
||||||
|
<code>public function setUp()</code>
|
||||||
|
</MethodSignatureMismatch>
|
||||||
|
</file>
|
||||||
|
<file src="src/Bundle/ChillPersonBundle/Tests/Export/Export/ListPersonTest.php">
|
||||||
|
<MethodSignatureMismatch occurrences="1">
|
||||||
|
<code>public function setUp()</code>
|
||||||
|
</MethodSignatureMismatch>
|
||||||
|
</file>
|
||||||
|
<file src="src/Bundle/ChillPersonBundle/Tests/Export/Filter/AccompanyingPeriodFilterTest.php">
|
||||||
|
<MethodSignatureMismatch occurrences="1">
|
||||||
|
<code>public function setUp()</code>
|
||||||
|
</MethodSignatureMismatch>
|
||||||
|
</file>
|
||||||
|
<file src="src/Bundle/ChillPersonBundle/Tests/Export/Filter/BirthdayFilterTest.php">
|
||||||
|
<MethodSignatureMismatch occurrences="1">
|
||||||
|
<code>public function setUp()</code>
|
||||||
|
</MethodSignatureMismatch>
|
||||||
|
</file>
|
||||||
|
<file src="src/Bundle/ChillPersonBundle/Tests/Export/Filter/GenderFilterTest.php">
|
||||||
|
<MethodSignatureMismatch occurrences="1">
|
||||||
|
<code>public function setUp()</code>
|
||||||
|
</MethodSignatureMismatch>
|
||||||
|
</file>
|
||||||
|
<file src="src/Bundle/ChillPersonBundle/Tests/Form/Type/PickPersonTypeTest.php">
|
||||||
|
<MethodSignatureMismatch occurrences="1">
|
||||||
|
<code>public function setUp()</code>
|
||||||
|
</MethodSignatureMismatch>
|
||||||
|
</file>
|
||||||
|
<file src="src/Bundle/ChillPersonBundle/Tests/Household/MembersEditorTest.php">
|
||||||
|
<MethodSignatureMismatch occurrences="1">
|
||||||
|
<code>protected function setUp()</code>
|
||||||
|
</MethodSignatureMismatch>
|
||||||
|
</file>
|
||||||
|
<file src="src/Bundle/ChillPersonBundle/Tests/Security/Authorization/PersonVoterTest.php">
|
||||||
|
<MethodSignatureMismatch occurrences="1">
|
||||||
|
<code>public function setUp()</code>
|
||||||
|
</MethodSignatureMismatch>
|
||||||
|
</file>
|
||||||
|
<file src="src/Bundle/ChillPersonBundle/Tests/Serializer/Normalizer/AccompanyingPeriodWorkDocGenNormalizerTest.php">
|
||||||
|
<MethodSignatureMismatch occurrences="1">
|
||||||
|
<code>protected function setUp()</code>
|
||||||
|
</MethodSignatureMismatch>
|
||||||
|
</file>
|
||||||
|
<file src="src/Bundle/ChillPersonBundle/Tests/Serializer/Normalizer/HouseholdNormalizerTest.php">
|
||||||
|
<MethodSignatureMismatch occurrences="1">
|
||||||
|
<code>protected function setUp()</code>
|
||||||
|
</MethodSignatureMismatch>
|
||||||
|
</file>
|
||||||
|
<file src="src/Bundle/ChillPersonBundle/Tests/Serializer/Normalizer/PersonDocGenNormalizerTest.php">
|
||||||
|
<MethodSignatureMismatch occurrences="1">
|
||||||
|
<code>protected function setUp()</code>
|
||||||
|
</MethodSignatureMismatch>
|
||||||
|
</file>
|
||||||
|
<file src="src/Bundle/ChillPersonBundle/Tests/Serializer/Normalizer/PersonJsonNormalizerTest.php">
|
||||||
|
<MethodSignatureMismatch occurrences="1">
|
||||||
|
<code>protected function setUp()</code>
|
||||||
|
</MethodSignatureMismatch>
|
||||||
|
</file>
|
||||||
|
<file src="src/Bundle/ChillPersonBundle/Tests/Validator/Person/PersonValidationTest.php">
|
||||||
|
<MethodSignatureMismatch occurrences="1">
|
||||||
|
<code>protected function setUp()</code>
|
||||||
|
</MethodSignatureMismatch>
|
||||||
|
</file>
|
||||||
|
<file src="src/Bundle/ChillPersonBundle/Tests/Workflows/AccompanyingPeriodLifecycle.php">
|
||||||
|
<MethodSignatureMismatch occurrences="1">
|
||||||
|
<code>protected function setUp()</code>
|
||||||
|
</MethodSignatureMismatch>
|
||||||
</file>
|
</file>
|
||||||
<file src="src/Bundle/ChillPersonBundle/Timeline/AbstractTimelineAccompanyingPeriod.php">
|
<file src="src/Bundle/ChillPersonBundle/Timeline/AbstractTimelineAccompanyingPeriod.php">
|
||||||
<UndefinedClass occurrences="1">
|
<UndefinedClass occurrences="1">
|
||||||
@@ -1367,13 +1820,20 @@
|
|||||||
<code>require __DIR__ . '/../../../../../vendor/autoload.php'</code>
|
<code>require __DIR__ . '/../../../../../vendor/autoload.php'</code>
|
||||||
</MissingFile>
|
</MissingFile>
|
||||||
</file>
|
</file>
|
||||||
|
<file src="src/Bundle/ChillReportBundle/Tests/Controller/ReportControllerNextTest.php">
|
||||||
|
<MethodSignatureMismatch occurrences="1">
|
||||||
|
<code>public function setUp()</code>
|
||||||
|
</MethodSignatureMismatch>
|
||||||
|
</file>
|
||||||
<file src="src/Bundle/ChillReportBundle/Tests/Controller/ReportControllerTest.php">
|
<file src="src/Bundle/ChillReportBundle/Tests/Controller/ReportControllerTest.php">
|
||||||
<InvalidParamDefault occurrences="1">
|
<InvalidParamDefault occurrences="1">
|
||||||
<code>type</code>
|
<code>type</code>
|
||||||
</InvalidParamDefault>
|
</InvalidParamDefault>
|
||||||
<UndefinedDocblockClass occurrences="31">
|
<MethodSignatureMismatch occurrences="2">
|
||||||
<code>$client</code>
|
<code>public function setUp()</code>
|
||||||
<code>$client</code>
|
<code>public static function setUpBeforeClass()</code>
|
||||||
|
</MethodSignatureMismatch>
|
||||||
|
<UndefinedDocblockClass occurrences="29">
|
||||||
<code>$client</code>
|
<code>$client</code>
|
||||||
<code>$client</code>
|
<code>$client</code>
|
||||||
<code>$client</code>
|
<code>$client</code>
|
||||||
@@ -1405,7 +1865,16 @@
|
|||||||
<code>type</code>
|
<code>type</code>
|
||||||
</UndefinedDocblockClass>
|
</UndefinedDocblockClass>
|
||||||
</file>
|
</file>
|
||||||
|
<file src="src/Bundle/ChillReportBundle/Tests/DependencyInjection/ChillReportExtensionTest.php">
|
||||||
|
<UndefinedClass occurrences="1">
|
||||||
|
<code>Exception</code>
|
||||||
|
</UndefinedClass>
|
||||||
|
</file>
|
||||||
<file src="src/Bundle/ChillReportBundle/Tests/Security/Authorization/ReportVoterTest.php">
|
<file src="src/Bundle/ChillReportBundle/Tests/Security/Authorization/ReportVoterTest.php">
|
||||||
|
<MethodSignatureMismatch occurrences="2">
|
||||||
|
<code>public function setUp()</code>
|
||||||
|
<code>public static function setUpBeforeClass()</code>
|
||||||
|
</MethodSignatureMismatch>
|
||||||
<UndefinedDocblockClass occurrences="3">
|
<UndefinedDocblockClass occurrences="3">
|
||||||
<code>type</code>
|
<code>type</code>
|
||||||
<code>type</code>
|
<code>type</code>
|
||||||
@@ -1413,6 +1882,10 @@
|
|||||||
</UndefinedDocblockClass>
|
</UndefinedDocblockClass>
|
||||||
</file>
|
</file>
|
||||||
<file src="src/Bundle/ChillReportBundle/Tests/Timeline/TimelineProviderTest.php">
|
<file src="src/Bundle/ChillReportBundle/Tests/Timeline/TimelineProviderTest.php">
|
||||||
|
<MethodSignatureMismatch occurrences="2">
|
||||||
|
<code>public function setUp()</code>
|
||||||
|
<code>public function tearDown()</code>
|
||||||
|
</MethodSignatureMismatch>
|
||||||
<UndefinedClass occurrences="1">
|
<UndefinedClass occurrences="1">
|
||||||
<code>'ChillCustomFieldsBundle:CustomFieldsGroup'</code>
|
<code>'ChillCustomFieldsBundle:CustomFieldsGroup'</code>
|
||||||
</UndefinedClass>
|
</UndefinedClass>
|
||||||
@@ -1485,6 +1958,11 @@
|
|||||||
<code>CacheItempPoolInterface</code>
|
<code>CacheItempPoolInterface</code>
|
||||||
</UndefinedDocblockClass>
|
</UndefinedDocblockClass>
|
||||||
</file>
|
</file>
|
||||||
|
<file src="src/Bundle/ChillTaskBundle/Tests/Controller/SingleTaskControllerTest.php">
|
||||||
|
<MethodSignatureMismatch occurrences="1">
|
||||||
|
<code>protected function setUp()</code>
|
||||||
|
</MethodSignatureMismatch>
|
||||||
|
</file>
|
||||||
<file src="src/Bundle/ChillThirdPartyBundle/DependencyInjection/CompilerPass/ThirdPartyTypeCompilerPass.php">
|
<file src="src/Bundle/ChillThirdPartyBundle/DependencyInjection/CompilerPass/ThirdPartyTypeCompilerPass.php">
|
||||||
<UndefinedClass occurrences="1">
|
<UndefinedClass occurrences="1">
|
||||||
<code>$taggedService->getClass()::getKey()</code>
|
<code>$taggedService->getClass()::getKey()</code>
|
||||||
@@ -1510,6 +1988,11 @@
|
|||||||
<code>$thirdParty</code>
|
<code>$thirdParty</code>
|
||||||
</ParamNameMismatch>
|
</ParamNameMismatch>
|
||||||
</file>
|
</file>
|
||||||
|
<file src="src/Bundle/ChillThirdPartyBundle/Tests/Serializer/Normalizer/ThirdPartyJsonDenormalizerTest.php">
|
||||||
|
<MethodSignatureMismatch occurrences="1">
|
||||||
|
<code>protected function setUp()</code>
|
||||||
|
</MethodSignatureMismatch>
|
||||||
|
</file>
|
||||||
<file src="src/Bundle/ChillWopiBundle/src/Service/Wopi/ChillDocumentManager.php">
|
<file src="src/Bundle/ChillWopiBundle/src/Service/Wopi/ChillDocumentManager.php">
|
||||||
<UndefinedDocblockClass occurrences="6">
|
<UndefinedDocblockClass occurrences="6">
|
||||||
<code>$object</code>
|
<code>$object</code>
|
||||||
|
@@ -357,7 +357,7 @@ class Activity implements AccompanyingPeriodLinkedWithSocialIssuesEntityInterfac
|
|||||||
if (null !== $this->accompanyingPeriod) {
|
if (null !== $this->accompanyingPeriod) {
|
||||||
$personsAssociated = [];
|
$personsAssociated = [];
|
||||||
|
|
||||||
foreach ($this->accompanyingPeriod->getOpenParticipations() as $participation) {
|
foreach ($this->accompanyingPeriod->getParticipations() as $participation) {
|
||||||
if ($this->persons->contains($participation->getPerson())) {
|
if ($this->persons->contains($participation->getPerson())) {
|
||||||
$personsAssociated[] = $participation->getPerson();
|
$personsAssociated[] = $participation->getPerson();
|
||||||
}
|
}
|
||||||
|
@@ -24,9 +24,9 @@ use Doctrine\ORM\Query;
|
|||||||
use Symfony\Component\Form\Extension\Core\Type\ChoiceType;
|
use Symfony\Component\Form\Extension\Core\Type\ChoiceType;
|
||||||
use Symfony\Component\Form\FormBuilderInterface;
|
use Symfony\Component\Form\FormBuilderInterface;
|
||||||
use Symfony\Component\Security\Core\Role\Role;
|
use Symfony\Component\Security\Core\Role\Role;
|
||||||
|
use Symfony\Component\Translation\TranslatorInterface;
|
||||||
use Symfony\Component\Validator\Constraints\Callback;
|
use Symfony\Component\Validator\Constraints\Callback;
|
||||||
use Symfony\Component\Validator\Context\ExecutionContextInterface;
|
use Symfony\Component\Validator\Context\ExecutionContextInterface;
|
||||||
use Symfony\Contracts\Translation\TranslatorInterface;
|
|
||||||
|
|
||||||
use function array_key_exists;
|
use function array_key_exists;
|
||||||
use function count;
|
use function count;
|
||||||
|
@@ -21,7 +21,7 @@ use Symfony\Component\Form\FormBuilderInterface;
|
|||||||
use Symfony\Component\Form\FormError;
|
use Symfony\Component\Form\FormError;
|
||||||
use Symfony\Component\Form\FormEvent;
|
use Symfony\Component\Form\FormEvent;
|
||||||
use Symfony\Component\Form\FormEvents;
|
use Symfony\Component\Form\FormEvents;
|
||||||
use Symfony\Contracts\Translation\TranslatorInterface;
|
use Symfony\Component\Translation\TranslatorInterface;
|
||||||
|
|
||||||
class ActivityDateFilter implements FilterInterface
|
class ActivityDateFilter implements FilterInterface
|
||||||
{
|
{
|
||||||
|
@@ -29,8 +29,8 @@ use Symfony\Component\Form\FormError;
|
|||||||
use Symfony\Component\Form\FormEvent;
|
use Symfony\Component\Form\FormEvent;
|
||||||
use Symfony\Component\Form\FormEvents;
|
use Symfony\Component\Form\FormEvents;
|
||||||
use Symfony\Component\Form\FormInterface;
|
use Symfony\Component\Form\FormInterface;
|
||||||
|
use Symfony\Component\Translation\TranslatorInterface;
|
||||||
use Symfony\Component\Validator\Context\ExecutionContextInterface;
|
use Symfony\Component\Validator\Context\ExecutionContextInterface;
|
||||||
use Symfony\Contracts\Translation\TranslatorInterface;
|
|
||||||
|
|
||||||
use function count;
|
use function count;
|
||||||
|
|
||||||
|
@@ -15,7 +15,7 @@ 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\Authorization\AuthorizationCheckerInterface;
|
use Symfony\Component\Security\Core\Authorization\AuthorizationCheckerInterface;
|
||||||
use Symfony\Contracts\Translation\TranslatorInterface;
|
use Symfony\Component\Translation\TranslatorInterface;
|
||||||
|
|
||||||
class PersonMenuBuilder implements LocalMenuBuilderInterface
|
class PersonMenuBuilder implements LocalMenuBuilderInterface
|
||||||
{
|
{
|
||||||
|
@@ -1,7 +1,7 @@
|
|||||||
<template>
|
<template>
|
||||||
<li>
|
<li>
|
||||||
<span :title="person.text" @click.prevent="$emit('remove', person)">
|
<span :title="person.text">
|
||||||
<span class="chill_denomination">
|
<span class="chill_denomination" @click.prevent="$emit('remove', person)">
|
||||||
<person-text :person="person" :isCut="true"></person-text>
|
<person-text :person="person" :isCut="true"></person-text>
|
||||||
</span>
|
</span>
|
||||||
</span>
|
</span>
|
||||||
|
@@ -110,8 +110,10 @@ export default function prepareLocations(store) {
|
|||||||
console.log('default loation id', window.default_location_id);
|
console.log('default loation id', window.default_location_id);
|
||||||
if (window.default_location_id) {
|
if (window.default_location_id) {
|
||||||
for (let group of store.state.availableLocations) {
|
for (let group of store.state.availableLocations) {
|
||||||
|
console.log(group);
|
||||||
let location = group.locations.find((l) => l.id === window.default_location_id);
|
let location = group.locations.find((l) => l.id === window.default_location_id);
|
||||||
if (location !== undefined & store.state.activity.location === null) {
|
console.log(location);
|
||||||
|
if (location !== undefined) {
|
||||||
store.dispatch('updateLocation', location);
|
store.dispatch('updateLocation', location);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@@ -109,9 +109,11 @@
|
|||||||
{{ 'Cancel'|trans }}
|
{{ 'Cancel'|trans }}
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
{% if is_granted('CHILL_ACTIVITY_UPDATE', entity) %}
|
||||||
<button class="btn btn-update" type="submit">{{ 'Save'|trans }}</button>
|
<li>
|
||||||
</li>
|
<button class="btn btn-update" type="submit">{{ 'Save'|trans }}</button>
|
||||||
|
</li>
|
||||||
|
{% endif %}
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
{{ form_end(edit_form) }}
|
{{ form_end(edit_form) }}
|
||||||
|
@@ -35,7 +35,7 @@
|
|||||||
<ul class="record_actions sticky-form-buttons">
|
<ul class="record_actions sticky-form-buttons">
|
||||||
<li>
|
<li>
|
||||||
<a href="{{ path('chill_activity_activity_new', {'person_id': person_id, 'accompanying_period_id': accompanying_course_id}) }}"
|
<a href="{{ path('chill_activity_activity_new', {'person_id': person_id, 'accompanying_period_id': accompanying_course_id}) }}"
|
||||||
class="btn btn-create">{{ 'Create'|trans }}
|
class="btn btn-create">{{ 'Create'|trans }}
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
|
@@ -47,13 +47,13 @@
|
|||||||
{% include 'ChillActivityBundle:Activity:list.html.twig' with {'context': 'person'} %}
|
{% include 'ChillActivityBundle:Activity:list.html.twig' with {'context': 'person'} %}
|
||||||
|
|
||||||
{% if is_granted('CHILL_ACTIVITY_CREATE', person) %}
|
{% if is_granted('CHILL_ACTIVITY_CREATE', person) %}
|
||||||
<ul class="record_actions sticky-form-buttons">
|
<ul class="record_actions sticky-form-buttons">
|
||||||
<li>
|
<li>
|
||||||
<a href="{{ path('chill_activity_activity_new', {'person_id': person_id, 'accompanying_period_id': accompanying_course_id}) }}"
|
<a href="{{ path('chill_activity_activity_new', {'person_id': person_id, 'accompanying_period_id': accompanying_course_id}) }}"
|
||||||
class="btn btn-create" tabindex="-1" role="button" aria-disabled="true">{{ 'Create'|trans }}
|
class="btn btn-create" tabindex="-1" role="button" aria-disabled="true">{{ 'Create'|trans }}
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
@@ -22,7 +22,7 @@ use Chill\DocStoreBundle\Repository\DocumentCategoryRepository;
|
|||||||
use Chill\MainBundle\Templating\TranslatableStringHelperInterface;
|
use Chill\MainBundle\Templating\TranslatableStringHelperInterface;
|
||||||
use Chill\PersonBundle\Entity\AccompanyingPeriod;
|
use Chill\PersonBundle\Entity\AccompanyingPeriod;
|
||||||
use Chill\PersonBundle\Entity\Person;
|
use Chill\PersonBundle\Entity\Person;
|
||||||
use Chill\PersonBundle\Templating\Entity\PersonRenderInterface;
|
use Chill\PersonBundle\Templating\Entity\PersonRender;
|
||||||
use Doctrine\ORM\EntityManagerInterface;
|
use Doctrine\ORM\EntityManagerInterface;
|
||||||
use Symfony\Bridge\Doctrine\Form\Type\EntityType;
|
use Symfony\Bridge\Doctrine\Form\Type\EntityType;
|
||||||
use Symfony\Component\Form\Extension\Core\Type\CheckboxType;
|
use Symfony\Component\Form\Extension\Core\Type\CheckboxType;
|
||||||
@@ -43,7 +43,7 @@ class ActivityContext implements
|
|||||||
|
|
||||||
private NormalizerInterface $normalizer;
|
private NormalizerInterface $normalizer;
|
||||||
|
|
||||||
private PersonRenderInterface $personRender;
|
private PersonRender $personRender;
|
||||||
|
|
||||||
private TranslatableStringHelperInterface $translatableStringHelper;
|
private TranslatableStringHelperInterface $translatableStringHelper;
|
||||||
|
|
||||||
@@ -54,7 +54,7 @@ class ActivityContext implements
|
|||||||
NormalizerInterface $normalizer,
|
NormalizerInterface $normalizer,
|
||||||
TranslatableStringHelperInterface $translatableStringHelper,
|
TranslatableStringHelperInterface $translatableStringHelper,
|
||||||
EntityManagerInterface $em,
|
EntityManagerInterface $em,
|
||||||
PersonRenderInterface $personRender,
|
PersonRender $personRender,
|
||||||
TranslatorInterface $translator,
|
TranslatorInterface $translator,
|
||||||
BaseContextData $baseContextData
|
BaseContextData $baseContextData
|
||||||
) {
|
) {
|
||||||
|
@@ -76,7 +76,7 @@ activity:
|
|||||||
Insert a document: Insérer un document
|
Insert a document: Insérer un document
|
||||||
Remove a document: Supprimer le document
|
Remove a document: Supprimer le document
|
||||||
comment: Commentaire
|
comment: Commentaire
|
||||||
No documents: Aucun document
|
No documents: Pas de documents
|
||||||
|
|
||||||
#timeline
|
#timeline
|
||||||
'%user% has done an %activity_type%': '%user% a effectué une activité de type "%activity_type%"'
|
'%user% has done an %activity_type%': '%user% a effectué une activité de type "%activity_type%"'
|
||||||
|
@@ -16,7 +16,7 @@ use Chill\TaskBundle\Templating\UI\CountNotificationTask;
|
|||||||
use Knp\Menu\MenuItem;
|
use Knp\Menu\MenuItem;
|
||||||
use Symfony\Component\Security\Core\Authentication\Token\Storage\TokenStorageInterface;
|
use Symfony\Component\Security\Core\Authentication\Token\Storage\TokenStorageInterface;
|
||||||
use Symfony\Component\Security\Core\Authorization\AuthorizationCheckerInterface;
|
use Symfony\Component\Security\Core\Authorization\AuthorizationCheckerInterface;
|
||||||
use Symfony\Contracts\Translation\TranslatorInterface;
|
use Symfony\Component\Translation\TranslatorInterface;
|
||||||
|
|
||||||
class UserMenuBuilder implements LocalMenuBuilderInterface
|
class UserMenuBuilder implements LocalMenuBuilderInterface
|
||||||
{
|
{
|
||||||
|
@@ -20,7 +20,7 @@ use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route;
|
|||||||
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
|
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
|
||||||
use Symfony\Component\Form\Extension\Core\Type\SubmitType;
|
use Symfony\Component\Form\Extension\Core\Type\SubmitType;
|
||||||
use Symfony\Component\HttpFoundation\Request;
|
use Symfony\Component\HttpFoundation\Request;
|
||||||
use Symfony\Contracts\Translation\TranslatorInterface;
|
use Symfony\Component\Translation\TranslatorInterface;
|
||||||
|
|
||||||
use function get_class;
|
use function get_class;
|
||||||
|
|
||||||
|
@@ -21,7 +21,7 @@ use Doctrine\ORM\EntityManagerInterface;
|
|||||||
use Psr\Log\LoggerInterface;
|
use Psr\Log\LoggerInterface;
|
||||||
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route;
|
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route;
|
||||||
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
|
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
|
||||||
use Symfony\Contracts\Translation\TranslatorInterface;
|
use Symfony\Component\Translation\TranslatorInterface;
|
||||||
|
|
||||||
use function array_merge;
|
use function array_merge;
|
||||||
use function count;
|
use function count;
|
||||||
|
@@ -15,7 +15,7 @@ use Chill\AMLI\BudgetBundle\Security\Authorization\BudgetElementVoter;
|
|||||||
use Chill\MainBundle\Routing\LocalMenuBuilderInterface;
|
use Chill\MainBundle\Routing\LocalMenuBuilderInterface;
|
||||||
use Knp\Menu\MenuItem;
|
use Knp\Menu\MenuItem;
|
||||||
use Symfony\Component\Security\Core\Authorization\AuthorizationCheckerInterface;
|
use Symfony\Component\Security\Core\Authorization\AuthorizationCheckerInterface;
|
||||||
use Symfony\Contracts\Translation\TranslatorInterface;
|
use Symfony\Component\Translation\TranslatorInterface;
|
||||||
|
|
||||||
class UserMenuBuilder implements LocalMenuBuilderInterface
|
class UserMenuBuilder implements LocalMenuBuilderInterface
|
||||||
{
|
{
|
||||||
|
@@ -2,6 +2,6 @@ services:
|
|||||||
Chill\AMLI\BudgetBundle\Menu\UserMenuBuilder:
|
Chill\AMLI\BudgetBundle\Menu\UserMenuBuilder:
|
||||||
arguments:
|
arguments:
|
||||||
$authorizationChecker: '@Symfony\Component\Security\Core\Authorization\AuthorizationCheckerInterface'
|
$authorizationChecker: '@Symfony\Component\Security\Core\Authorization\AuthorizationCheckerInterface'
|
||||||
$translator: '@Symfony\Contracts\Translation\TranslatorInterface'
|
$translator: '@Symfony\Component\Translation\TranslatorInterface'
|
||||||
tags:
|
tags:
|
||||||
- { name: 'chill.menu_builder' }
|
- { name: 'chill.menu_builder' }
|
||||||
|
@@ -16,7 +16,7 @@ use Chill\TaskBundle\Templating\UI\CountNotificationTask;
|
|||||||
use Knp\Menu\MenuItem;
|
use Knp\Menu\MenuItem;
|
||||||
use Symfony\Component\Security\Core\Authentication\Token\Storage\TokenStorageInterface;
|
use Symfony\Component\Security\Core\Authentication\Token\Storage\TokenStorageInterface;
|
||||||
use Symfony\Component\Security\Core\Authorization\AuthorizationCheckerInterface;
|
use Symfony\Component\Security\Core\Authorization\AuthorizationCheckerInterface;
|
||||||
use Symfony\Contracts\Translation\TranslatorInterface;
|
use Symfony\Component\Translation\TranslatorInterface;
|
||||||
|
|
||||||
class UserMenuBuilder implements LocalMenuBuilderInterface
|
class UserMenuBuilder implements LocalMenuBuilderInterface
|
||||||
{
|
{
|
||||||
|
@@ -19,7 +19,7 @@ use Symfony\Component\Form\FormBuilderInterface;
|
|||||||
use Symfony\Component\Form\FormEvent;
|
use Symfony\Component\Form\FormEvent;
|
||||||
use Symfony\Component\Form\FormEvents;
|
use Symfony\Component\Form\FormEvents;
|
||||||
use Symfony\Component\OptionsResolver\OptionsResolver;
|
use Symfony\Component\OptionsResolver\OptionsResolver;
|
||||||
use Symfony\Contracts\Translation\TranslatorInterface;
|
use Symfony\Component\Translation\TranslatorInterface;
|
||||||
|
|
||||||
use function count;
|
use function count;
|
||||||
|
|
||||||
|
@@ -207,21 +207,21 @@ final class DocGeneratorTemplateController extends AbstractController
|
|||||||
$context instanceof DocGeneratorContextWithPublicFormInterface
|
$context instanceof DocGeneratorContextWithPublicFormInterface
|
||||||
&& $context->hasPublicForm($template, $entity) || $isTest
|
&& $context->hasPublicForm($template, $entity) || $isTest
|
||||||
) {
|
) {
|
||||||
if ($context instanceof DocGeneratorContextWithPublicFormInterface && $context->hasPublicForm($template, $entity)) {
|
if ($context instanceof DocGeneratorContextWithPublicFormInterface) {
|
||||||
$builder = $this->createFormBuilder(
|
$builder = $this->createFormBuilder(
|
||||||
array_merge(
|
array_merge(
|
||||||
$context->getFormData($template, $entity),
|
$context->getFormData($template, $entity),
|
||||||
$isTest ? ['test_file' => null] : []
|
$isTest ? ['test_file' => null] : []
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
|
|
||||||
$context->buildPublicForm($builder, $template, $entity);
|
|
||||||
} else {
|
} else {
|
||||||
$builder = $this->createFormBuilder(
|
$builder = $this->createFormBuilder(
|
||||||
['test_file' => null]
|
['test_file' => null]
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$context->buildPublicForm($builder, $template, $entity);
|
||||||
|
|
||||||
if ($isTest) {
|
if ($isTest) {
|
||||||
$builder->add('test_file', FileType::class, [
|
$builder->add('test_file', FileType::class, [
|
||||||
'label' => 'Template file',
|
'label' => 'Template file',
|
||||||
|
@@ -70,7 +70,6 @@ final class DocGeneratorTemplateRepository implements ObjectRepository
|
|||||||
|
|
||||||
$builder
|
$builder
|
||||||
->where('t.entity LIKE :entity')
|
->where('t.entity LIKE :entity')
|
||||||
->andWhere($builder->expr()->eq('t.active', "'TRUE'"))
|
|
||||||
->setParameter('entity', addslashes($entity));
|
->setParameter('entity', addslashes($entity));
|
||||||
|
|
||||||
return $builder
|
return $builder
|
||||||
|
@@ -16,8 +16,8 @@
|
|||||||
<div class="input-group mb-3">
|
<div class="input-group mb-3">
|
||||||
<select class="form-select" v-model="template">
|
<select class="form-select" v-model="template">
|
||||||
<option disabled selected value="">{{ $t('choose_a_template') }}</option>
|
<option disabled selected value="">{{ $t('choose_a_template') }}</option>
|
||||||
<template v-for="t in templates" :key="t.id">
|
<template v-for="t in templates">
|
||||||
<option :value="t.id" >{{ t.name.fr || 'Aucun nom défini' }}</option>
|
<option v-bind:value="t.id">{{ t.name.fr || 'Aucun nom défini' }}</option>
|
||||||
</template>
|
</template>
|
||||||
</select>
|
</select>
|
||||||
<a v-if="canGenerate" class="btn btn-update btn-sm change-icon" :href="buildUrlGenerate" @click.prevent="clickGenerate($event, buildUrlGenerate)"><i class="fa fa-fw fa-cog"></i></a>
|
<a v-if="canGenerate" class="btn btn-update btn-sm change-icon" :href="buildUrlGenerate" @click.prevent="clickGenerate($event, buildUrlGenerate)"><i class="fa fa-fw fa-cog"></i></a>
|
||||||
|
@@ -2,11 +2,11 @@ docgen:
|
|||||||
Generate a document: Génerer un document
|
Generate a document: Génerer un document
|
||||||
Generate: Génerer
|
Generate: Génerer
|
||||||
Document generation: Génération de documents
|
Document generation: Génération de documents
|
||||||
Manage templates and document generation: Gestion des documents générés et de leurs modèles
|
Manage templates and document generation: Gestion des documents générés et de leurs gabarits
|
||||||
Pick template context: Choisir un contexte
|
Pick template context: Choisir un contexte
|
||||||
Context: Contexte
|
Context: Contexte
|
||||||
New template: Nouveau modèle
|
New template: Nouveau gabarit
|
||||||
Edit template: Modifier modèle
|
Edit template: Modifier gabarit
|
||||||
test generate: Tester la génération
|
test generate: Tester la génération
|
||||||
With context: 'Avec le contexte :'
|
With context: 'Avec le contexte :'
|
||||||
|
|
||||||
|
@@ -21,8 +21,6 @@ use Chill\PersonBundle\Entity\AccompanyingPeriod;
|
|||||||
use DateTime;
|
use DateTime;
|
||||||
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
|
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
|
||||||
use Symfony\Component\EventDispatcher\EventDispatcherInterface;
|
use Symfony\Component\EventDispatcher\EventDispatcherInterface;
|
||||||
use Symfony\Component\Form\Extension\Core\Type\FormType;
|
|
||||||
use Symfony\Component\Form\Extension\Core\Type\SubmitType;
|
|
||||||
use Symfony\Component\HttpFoundation\Request;
|
use Symfony\Component\HttpFoundation\Request;
|
||||||
use Symfony\Component\HttpFoundation\Response;
|
use Symfony\Component\HttpFoundation\Response;
|
||||||
use Symfony\Component\Routing\Annotation\Route;
|
use Symfony\Component\Routing\Annotation\Route;
|
||||||
@@ -61,37 +59,21 @@ class DocumentAccompanyingCourseController extends AbstractController
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @Route("/{id}/delete", name="chill_docstore_accompanying_course_document_delete")
|
* @Route("/{id}", name="accompanying_course_document_delete", methods="DELETE")
|
||||||
*/
|
*/
|
||||||
public function delete(Request $request, AccompanyingPeriod $course, AccompanyingCourseDocument $document): Response
|
public function delete(Request $request, AccompanyingPeriod $course, AccompanyingCourseDocument $document): Response
|
||||||
{
|
{
|
||||||
$this->denyAccessUnlessGranted(AccompanyingCourseDocumentVoter::DELETE, $document);
|
$this->denyAccessUnlessGranted(AccompanyingCourseDocumentVoter::DELETE, $document);
|
||||||
|
|
||||||
$form = $this->createForm(FormType::class);
|
if ($this->isCsrfTokenValid('delete' . $document->getId(), $request->request->get('_token'))) {
|
||||||
$form->add('submit', SubmitType::class, ['label' => 'Delete']);
|
$em = $this->getDoctrine()->getManager();
|
||||||
|
$em->remove($document);
|
||||||
$form->handleRequest($request);
|
$em->flush();
|
||||||
|
|
||||||
if ($form->isSubmitted() && $form->isValid()) {
|
|
||||||
$this->getDoctrine()->getManager()->remove($document);
|
|
||||||
$this->getDoctrine()->getManager()->flush();
|
|
||||||
|
|
||||||
$this->addFlash('success', $this->translator->trans('The document is successfully removed'));
|
|
||||||
|
|
||||||
if ($request->query->has('returnPath')) {
|
|
||||||
return $this->redirect($request->query->get('returnPath'));
|
|
||||||
}
|
|
||||||
|
|
||||||
return $this->redirectToRoute('accompanying_course_document_index', ['course' => $course->getId()]);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return $this->render(
|
return $this->redirectToRoute(
|
||||||
'ChillDocStoreBundle:AccompanyingCourseDocument:delete.html.twig',
|
'accompanying_course_document_index',
|
||||||
[
|
['accompanyingCourse' => $course->getId()]
|
||||||
'document' => $document,
|
|
||||||
'delete_form' => $form->createView(),
|
|
||||||
'accompanyingCourse' => $course,
|
|
||||||
]
|
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -14,7 +14,6 @@ namespace Chill\DocStoreBundle\Controller;
|
|||||||
use Chill\DocStoreBundle\Entity\PersonDocument;
|
use Chill\DocStoreBundle\Entity\PersonDocument;
|
||||||
use Chill\DocStoreBundle\Form\PersonDocumentType;
|
use Chill\DocStoreBundle\Form\PersonDocumentType;
|
||||||
use Chill\DocStoreBundle\Repository\PersonDocumentACLAwareRepositoryInterface;
|
use Chill\DocStoreBundle\Repository\PersonDocumentACLAwareRepositoryInterface;
|
||||||
use Chill\DocStoreBundle\Security\Authorization\PersonDocumentVoter;
|
|
||||||
use Chill\MainBundle\Pagination\PaginatorFactory;
|
use Chill\MainBundle\Pagination\PaginatorFactory;
|
||||||
use Chill\MainBundle\Security\Authorization\AuthorizationHelper;
|
use Chill\MainBundle\Security\Authorization\AuthorizationHelper;
|
||||||
use Chill\PersonBundle\Entity\Person;
|
use Chill\PersonBundle\Entity\Person;
|
||||||
@@ -23,8 +22,6 @@ use Chill\PersonBundle\Security\Authorization\PersonVoter;
|
|||||||
use DateTime;
|
use DateTime;
|
||||||
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
|
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
|
||||||
use Symfony\Component\EventDispatcher\EventDispatcherInterface;
|
use Symfony\Component\EventDispatcher\EventDispatcherInterface;
|
||||||
use Symfony\Component\Form\Extension\Core\Type\FormType;
|
|
||||||
use Symfony\Component\Form\Extension\Core\Type\SubmitType;
|
|
||||||
use Symfony\Component\HttpFoundation\Request;
|
use Symfony\Component\HttpFoundation\Request;
|
||||||
use Symfony\Component\HttpFoundation\Response;
|
use Symfony\Component\HttpFoundation\Response;
|
||||||
use Symfony\Component\Routing\Annotation\Route;
|
use Symfony\Component\Routing\Annotation\Route;
|
||||||
@@ -67,37 +64,22 @@ class DocumentPersonController extends AbstractController
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @Route("/{id}/delete", name="chill_docstore_person_document_delete")
|
* @Route("/{id}", name="person_document_delete", methods="DELETE")
|
||||||
*/
|
*/
|
||||||
public function delete(Request $request, Person $person, PersonDocument $document): Response
|
public function delete(Request $request, Person $person, PersonDocument $document): Response
|
||||||
{
|
{
|
||||||
$this->denyAccessUnlessGranted(PersonDocumentVoter::DELETE, $document);
|
$this->denyAccessUnlessGranted('CHILL_PERSON_SEE', $person);
|
||||||
|
$this->denyAccessUnlessGranted('CHILL_PERSON_DOCUMENT_DELETE', $document);
|
||||||
|
|
||||||
$form = $this->createForm(FormType::class);
|
if ($this->isCsrfTokenValid('delete' . $document->getId(), $request->request->get('_token'))) {
|
||||||
$form->add('submit', SubmitType::class, ['label' => 'Delete']);
|
$em = $this->getDoctrine()->getManager();
|
||||||
|
$em->remove($document);
|
||||||
$form->handleRequest($request);
|
$em->flush();
|
||||||
|
|
||||||
if ($form->isSubmitted() && $form->isValid()) {
|
|
||||||
$this->getDoctrine()->getManager()->remove($document);
|
|
||||||
$this->getDoctrine()->getManager()->flush();
|
|
||||||
|
|
||||||
$this->addFlash('success', $this->translator->trans('The document is successfully removed'));
|
|
||||||
|
|
||||||
if ($request->query->has('returnPath')) {
|
|
||||||
return $this->redirect($request->query->get('returnPath'));
|
|
||||||
}
|
|
||||||
|
|
||||||
return $this->redirectToRoute('person_document_index', ['person' => $person->getId()]);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return $this->render(
|
return $this->redirectToRoute(
|
||||||
'ChillDocStoreBundle:PersonDocument:delete.html.twig',
|
'person_document_index',
|
||||||
[
|
['person' => $person->getId()]
|
||||||
'document' => $document,
|
|
||||||
'delete_form' => $form->createView(),
|
|
||||||
'person' => $person,
|
|
||||||
]
|
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -116,6 +98,7 @@ class DocumentPersonController extends AbstractController
|
|||||||
PersonDocumentType::class,
|
PersonDocumentType::class,
|
||||||
$document,
|
$document,
|
||||||
[
|
[
|
||||||
|
'center' => $document->getCenter(),
|
||||||
'role' => 'CHILL_PERSON_DOCUMENT_UPDATE',
|
'role' => 'CHILL_PERSON_DOCUMENT_UPDATE',
|
||||||
]
|
]
|
||||||
);
|
);
|
||||||
@@ -216,6 +199,7 @@ class DocumentPersonController extends AbstractController
|
|||||||
$document->setDate(new DateTime('Now'));
|
$document->setDate(new DateTime('Now'));
|
||||||
|
|
||||||
$form = $this->createForm(PersonDocumentType::class, $document, [
|
$form = $this->createForm(PersonDocumentType::class, $document, [
|
||||||
|
'center' => $document->getCenter(),
|
||||||
'role' => 'CHILL_PERSON_DOCUMENT_CREATE',
|
'role' => 'CHILL_PERSON_DOCUMENT_CREATE',
|
||||||
]);
|
]);
|
||||||
$form->handleRequest($request);
|
$form->handleRequest($request);
|
||||||
|
@@ -17,7 +17,6 @@ use Symfony\Component\Config\FileLocator;
|
|||||||
use Symfony\Component\DependencyInjection\ContainerBuilder;
|
use Symfony\Component\DependencyInjection\ContainerBuilder;
|
||||||
use Symfony\Component\DependencyInjection\Extension\PrependExtensionInterface;
|
use Symfony\Component\DependencyInjection\Extension\PrependExtensionInterface;
|
||||||
use Symfony\Component\DependencyInjection\Loader;
|
use Symfony\Component\DependencyInjection\Loader;
|
||||||
use Symfony\Component\HttpFoundation\Request;
|
|
||||||
use Symfony\Component\HttpKernel\DependencyInjection\Extension;
|
use Symfony\Component\HttpKernel\DependencyInjection\Extension;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -47,28 +46,6 @@ class ChillDocStoreExtension extends Extension implements PrependExtensionInterf
|
|||||||
$this->prependRoute($container);
|
$this->prependRoute($container);
|
||||||
$this->prependAuthorization($container);
|
$this->prependAuthorization($container);
|
||||||
$this->prependTwig($container);
|
$this->prependTwig($container);
|
||||||
$this->prependApis($container);
|
|
||||||
}
|
|
||||||
|
|
||||||
protected function prependApis(ContainerBuilder $container)
|
|
||||||
{
|
|
||||||
$container->prependExtensionConfig('chill_main', [
|
|
||||||
'apis' => [
|
|
||||||
[
|
|
||||||
'class' => \Chill\DocStoreBundle\Entity\StoredObject::class,
|
|
||||||
'name' => 'stored_object',
|
|
||||||
'base_path' => '/api/1.0/docstore/stored-object',
|
|
||||||
'base_role' => 'ROLE_USER',
|
|
||||||
'actions' => [
|
|
||||||
'_entity' => [
|
|
||||||
'methods' => [
|
|
||||||
Request::METHOD_POST => true,
|
|
||||||
],
|
|
||||||
],
|
|
||||||
],
|
|
||||||
],
|
|
||||||
],
|
|
||||||
]);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
protected function prependAuthorization(ContainerBuilder $container)
|
protected function prependAuthorization(ContainerBuilder $container)
|
||||||
|
@@ -34,19 +34,19 @@ class StoredObject implements AsyncFileInterface, Document
|
|||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* @ORM\Column(type="datetime", name="creation_date")
|
* @ORM\Column(type="datetime", name="creation_date")
|
||||||
* @Serializer\Groups({"read", "write"})
|
* @Serializer\Groups({"read"})
|
||||||
*/
|
*/
|
||||||
private DateTimeInterface $creationDate;
|
private DateTimeInterface $creationDate;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @ORM\Column(type="json", name="datas")
|
* @ORM\Column(type="json", name="datas")
|
||||||
* @Serializer\Groups({"read", "write"})
|
* @Serializer\Groups({"read"})
|
||||||
*/
|
*/
|
||||||
private array $datas = [];
|
private array $datas = [];
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @ORM\Column(type="text")
|
* @ORM\Column(type="text")
|
||||||
* @Serializer\Groups({"read", "write"})
|
* @Serializer\Groups({"read"})
|
||||||
*/
|
*/
|
||||||
private $filename;
|
private $filename;
|
||||||
|
|
||||||
@@ -54,32 +54,30 @@ class StoredObject implements AsyncFileInterface, Document
|
|||||||
* @ORM\Id
|
* @ORM\Id
|
||||||
* @ORM\GeneratedValue
|
* @ORM\GeneratedValue
|
||||||
* @ORM\Column(type="integer")
|
* @ORM\Column(type="integer")
|
||||||
* @Serializer\Groups({"read", "write"})
|
* @Serializer\Groups({"read"})
|
||||||
*/
|
*/
|
||||||
private $id;
|
private $id;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @var int[]
|
* @var int[]
|
||||||
* @ORM\Column(type="json", name="iv")
|
* @ORM\Column(type="json", name="iv")
|
||||||
* @Serializer\Groups({"write"})
|
|
||||||
*/
|
*/
|
||||||
private array $iv = [];
|
private array $iv = [];
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @ORM\Column(type="json", name="key")
|
* @ORM\Column(type="json", name="key")
|
||||||
* @Serializer\Groups({"write"})
|
|
||||||
*/
|
*/
|
||||||
private array $keyInfos = [];
|
private array $keyInfos = [];
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @ORM\Column(type="text", name="type")
|
* @ORM\Column(type="text", name="type")
|
||||||
* @Serializer\Groups({"read", "write"})
|
* @Serializer\Groups({"read"})
|
||||||
*/
|
*/
|
||||||
private string $type = '';
|
private string $type = '';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @ORM\Column(type="uuid", unique=true)
|
* @ORM\Column(type="uuid", unique=true)
|
||||||
* @Serializer\Groups({"read", "write"})
|
* @Serializer\Groups({"read"})
|
||||||
*/
|
*/
|
||||||
private UuidInterface $uuid;
|
private UuidInterface $uuid;
|
||||||
|
|
||||||
|
@@ -13,13 +13,15 @@ namespace Chill\DocStoreBundle\Form;
|
|||||||
|
|
||||||
use Chill\DocStoreBundle\Entity\Document;
|
use Chill\DocStoreBundle\Entity\Document;
|
||||||
use Chill\DocStoreBundle\Entity\PersonDocument;
|
use Chill\DocStoreBundle\Entity\PersonDocument;
|
||||||
|
use Chill\MainBundle\Entity\User;
|
||||||
use Chill\MainBundle\Form\Type\ChillDateType;
|
use Chill\MainBundle\Form\Type\ChillDateType;
|
||||||
use Chill\MainBundle\Form\Type\ChillTextareaType;
|
use Chill\MainBundle\Form\Type\ChillTextareaType;
|
||||||
use Chill\MainBundle\Form\Type\ScopePickerType;
|
use Chill\MainBundle\Form\Type\ScopePickerType;
|
||||||
use Chill\MainBundle\Security\Resolver\CenterResolverDispatcher;
|
use Chill\MainBundle\Security\Authorization\AuthorizationHelper;
|
||||||
use Chill\MainBundle\Security\Resolver\ScopeResolverDispatcher;
|
use Chill\MainBundle\Security\Resolver\ScopeResolverDispatcher;
|
||||||
use Chill\MainBundle\Templating\TranslatableStringHelperInterface;
|
use Chill\MainBundle\Templating\TranslatableStringHelper;
|
||||||
use Doctrine\ORM\EntityRepository;
|
use Doctrine\ORM\EntityRepository;
|
||||||
|
use Doctrine\Persistence\ObjectManager;
|
||||||
use Symfony\Bridge\Doctrine\Form\Type\EntityType;
|
use Symfony\Bridge\Doctrine\Form\Type\EntityType;
|
||||||
use Symfony\Component\DependencyInjection\ParameterBag\ParameterBagInterface;
|
use Symfony\Component\DependencyInjection\ParameterBag\ParameterBagInterface;
|
||||||
use Symfony\Component\Form\AbstractType;
|
use Symfony\Component\Form\AbstractType;
|
||||||
@@ -29,16 +31,34 @@ use Symfony\Component\OptionsResolver\OptionsResolver;
|
|||||||
|
|
||||||
class PersonDocumentType extends AbstractType
|
class PersonDocumentType extends AbstractType
|
||||||
{
|
{
|
||||||
private CenterResolverDispatcher $centerResolverDispatcher;
|
/**
|
||||||
|
* @var AuthorizationHelper
|
||||||
|
*/
|
||||||
|
protected $authorizationHelper;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @var ObjectManager
|
||||||
|
*/
|
||||||
|
protected $om;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @var TranslatableStringHelper
|
||||||
|
*/
|
||||||
|
protected $translatableStringHelper;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* the user running this form.
|
||||||
|
*
|
||||||
|
* @var User
|
||||||
|
*/
|
||||||
|
protected $user;
|
||||||
|
|
||||||
private ParameterBagInterface $parameterBag;
|
private ParameterBagInterface $parameterBag;
|
||||||
|
|
||||||
private ScopeResolverDispatcher $scopeResolverDispatcher;
|
private ScopeResolverDispatcher $scopeResolverDispatcher;
|
||||||
|
|
||||||
private TranslatableStringHelperInterface $translatableStringHelper;
|
|
||||||
|
|
||||||
public function __construct(
|
public function __construct(
|
||||||
TranslatableStringHelperInterface $translatableStringHelper,
|
TranslatableStringHelper $translatableStringHelper,
|
||||||
ScopeResolverDispatcher $scopeResolverDispatcher,
|
ScopeResolverDispatcher $scopeResolverDispatcher,
|
||||||
ParameterBagInterface $parameterBag
|
ParameterBagInterface $parameterBag
|
||||||
) {
|
) {
|
||||||
@@ -76,7 +96,7 @@ class PersonDocumentType extends AbstractType
|
|||||||
|
|
||||||
if ($isScopeConcerned && $this->parameterBag->get('chill_main')['acl']['form_show_scopes']) {
|
if ($isScopeConcerned && $this->parameterBag->get('chill_main')['acl']['form_show_scopes']) {
|
||||||
$builder->add('scope', ScopePickerType::class, [
|
$builder->add('scope', ScopePickerType::class, [
|
||||||
'center' => $this->centerResolverDispatcher->resolveCenter($document),
|
'center' => $options['center'],
|
||||||
'role' => $options['role'],
|
'role' => $options['role'],
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
@@ -88,7 +108,8 @@ class PersonDocumentType extends AbstractType
|
|||||||
'data_class' => Document::class,
|
'data_class' => Document::class,
|
||||||
]);
|
]);
|
||||||
|
|
||||||
$resolver->setRequired(['role'])
|
$resolver->setRequired(['role', 'center'])
|
||||||
->setAllowedTypes('role', ['string']);
|
->setAllowedTypes('role', ['string'])
|
||||||
|
->setAllowedTypes('center', [\Chill\MainBundle\Entity\Center::class]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -37,6 +37,7 @@ var keyDefinition = {
|
|||||||
|
|
||||||
var searchForZones = function(root) {
|
var searchForZones = function(root) {
|
||||||
var zones = root.querySelectorAll('div[data-stored-object]');
|
var zones = root.querySelectorAll('div[data-stored-object]');
|
||||||
|
|
||||||
for(let i=0; i < zones.length; i++) {
|
for(let i=0; i < zones.length; i++) {
|
||||||
initialize(zones[i]);
|
initialize(zones[i]);
|
||||||
}
|
}
|
||||||
@@ -369,5 +370,3 @@ window.addEventListener('load', function(e) {
|
|||||||
window.addEventListener('collection-add-entry', function(e) {
|
window.addEventListener('collection-add-entry', function(e) {
|
||||||
searchForZones(e.detail.entry);
|
searchForZones(e.detail.entry);
|
||||||
});
|
});
|
||||||
|
|
||||||
export { searchForZones };
|
|
||||||
|
@@ -1,157 +0,0 @@
|
|||||||
<template>
|
|
||||||
<a class="btn btn-create" :title="$t(buttonTitle)" @click="openModal">
|
|
||||||
<span>{{ $t(buttonTitle) }}</span>
|
|
||||||
</a>
|
|
||||||
<teleport to="body">
|
|
||||||
<div>
|
|
||||||
<modal v-if="modal.showModal"
|
|
||||||
:modalDialogClass="modal.modalDialogClass"
|
|
||||||
@close="modal.showModal = false">
|
|
||||||
|
|
||||||
<template v-slot:header>
|
|
||||||
{{ $t('upload_a_document') }}
|
|
||||||
</template>
|
|
||||||
|
|
||||||
<template v-slot:body>
|
|
||||||
<div id="dropZoneWrapper" ref="dropZoneWrapper">
|
|
||||||
<div
|
|
||||||
data-stored-object="data-stored-object"
|
|
||||||
:data-label-preparing="$t('data_label_preparing')"
|
|
||||||
:data-label-quiet-button="$t('data_label_quiet_button')"
|
|
||||||
:data-label-ready="$t('data_label_ready')"
|
|
||||||
:data-dict-file-too-big="$t('data_dict_file_too_big')"
|
|
||||||
:data-dict-default-message="$t('data_dict_default_message')"
|
|
||||||
:data-dict-remove-file="$t('data_dict_remove_file')"
|
|
||||||
:data-dict-max-files-exceeded="$t('data_dict_max_files_exceeded')"
|
|
||||||
:data-dict-cancel-upload="$t('data_dict_cancel_upload')"
|
|
||||||
:data-dict-cancel-upload-confirm="$t('data_dict_cancel_upload_confirm')"
|
|
||||||
:data-dict-upload-canceled="$t('data_dict_upload_canceled')"
|
|
||||||
:data-dict-remove="$t('data_dict_remove')"
|
|
||||||
:data-allow-remove="!options.required"
|
|
||||||
data-temp-url-generator="/asyncupload/temp_url/generate/GET">
|
|
||||||
<input
|
|
||||||
type="hidden"
|
|
||||||
data-async-file-upload="data-async-file-upload"
|
|
||||||
data-generate-temp-url-post="/asyncupload/temp_url/generate/post?expires_delay=180&submit_delay=3600"
|
|
||||||
data-temp-url-get="/asyncupload/temp_url/generate/GET"
|
|
||||||
:data-max-files="options.maxFiles"
|
|
||||||
:data-max-post-size="options.maxPostSize"
|
|
||||||
:v-model="dataAsyncFileUpload"
|
|
||||||
>
|
|
||||||
<input
|
|
||||||
type="hidden"
|
|
||||||
data-stored-object-key="1"
|
|
||||||
>
|
|
||||||
<input
|
|
||||||
type="hidden"
|
|
||||||
data-stored-object-iv="1"
|
|
||||||
>
|
|
||||||
<input
|
|
||||||
type="hidden"
|
|
||||||
data-async-file-type="1"
|
|
||||||
>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</template>
|
|
||||||
|
|
||||||
<template v-slot:footer>
|
|
||||||
<button class="btn btn-create"
|
|
||||||
@click.prevent="saveDocument">
|
|
||||||
{{ $t('action.add')}}
|
|
||||||
</button>
|
|
||||||
</template>
|
|
||||||
|
|
||||||
</modal>
|
|
||||||
</div>
|
|
||||||
</teleport>
|
|
||||||
</template>
|
|
||||||
|
|
||||||
<script>
|
|
||||||
import Modal from 'ChillMainAssets/vuejs/_components/Modal';
|
|
||||||
import { searchForZones } from '../../module/async_upload/uploader';
|
|
||||||
import { makeFetch } from "ChillMainAssets/lib/api/apiMethods";
|
|
||||||
|
|
||||||
const i18n = {
|
|
||||||
messages: {
|
|
||||||
fr: {
|
|
||||||
upload_a_document: "Téléversez un document",
|
|
||||||
data_label_preparing: "Chargement...",
|
|
||||||
data_label_quiet_button: "Téléchargez le fichier existant",
|
|
||||||
data_label_ready: "Prêt à montrer",
|
|
||||||
data_dict_file_too_big: "Fichier trop volumineux",
|
|
||||||
data_dict_default_message: "Glissez votre fichier ou cliquez ici",
|
|
||||||
data_dict_remove_file: "Enlevez votre fichier pour en téléversez un autre",
|
|
||||||
data_dict_max_files_exceeded: "Nombre maximum de fichiers atteint. Enlevez les fichiers précédents",
|
|
||||||
data_dict_cancel_upload: "Annulez le téléversement",
|
|
||||||
data_dict_cancel_upload_confirm: "Êtes-vous sûr·e de vouloir annuler ce téléversement?",
|
|
||||||
data_dict_upload_canceled: "Téléversement annulé",
|
|
||||||
data_dict_remove: "Enlevez le fichier existant",
|
|
||||||
}
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
export default {
|
|
||||||
name: "AddAsyncUpload",
|
|
||||||
components: {
|
|
||||||
Modal
|
|
||||||
},
|
|
||||||
i18n,
|
|
||||||
props: [
|
|
||||||
'buttonTitle',
|
|
||||||
'options'
|
|
||||||
],
|
|
||||||
emits: ['addDocument'],
|
|
||||||
data() {
|
|
||||||
return {
|
|
||||||
modal: {
|
|
||||||
showModal: false,
|
|
||||||
modalDialogClass: "modal-dialog-centered modal-md"
|
|
||||||
},
|
|
||||||
}
|
|
||||||
},
|
|
||||||
updated() {
|
|
||||||
if (this.modal.showModal){
|
|
||||||
searchForZones(this.$refs.dropZoneWrapper);
|
|
||||||
}
|
|
||||||
},
|
|
||||||
methods: {
|
|
||||||
openModal() {
|
|
||||||
this.modal.showModal = true;
|
|
||||||
},
|
|
||||||
saveDocument() {
|
|
||||||
const dropzone = this.$refs.dropZoneWrapper;
|
|
||||||
if (dropzone) {
|
|
||||||
const inputKey = dropzone.querySelector('input[data-stored-object-key]');
|
|
||||||
const inputIv = dropzone.querySelector('input[data-stored-object-iv]');
|
|
||||||
const inputObject = dropzone.querySelector('input[data-async-file-upload]');
|
|
||||||
const inputType = dropzone.querySelector('input[data-async-file-type]');
|
|
||||||
|
|
||||||
const url = '/api/1.0/docstore/stored-object.json';
|
|
||||||
const body = {
|
|
||||||
filename: inputObject.value,
|
|
||||||
keyInfos: JSON.parse(inputKey.value),
|
|
||||||
iv: JSON.parse(inputIv.value),
|
|
||||||
type: inputType.value,
|
|
||||||
};
|
|
||||||
makeFetch('POST', url, body)
|
|
||||||
.then(r => {
|
|
||||||
this.$emit("addDocument", r);
|
|
||||||
this.modal.showModal = false;
|
|
||||||
})
|
|
||||||
.catch((error) => {
|
|
||||||
if (error.name === 'ValidationException') {
|
|
||||||
for (let v of error.violations) {
|
|
||||||
this.$toast.open({message: v });
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
console.error(error);
|
|
||||||
this.$toast.open({message: 'An error occurred'});
|
|
||||||
}
|
|
||||||
});
|
|
||||||
} else {
|
|
||||||
this.$toast.open({message: 'An error occurred - drop zone not found'});
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
</script>
|
|
@@ -0,0 +1,5 @@
|
|||||||
|
<form method="post" action="{{ path('accompanying_course_document_delete', {'id': document.id, 'course': course.id}) }}" onsubmit="return confirm('Are you sure you want to delete this item?');">
|
||||||
|
<input type="hidden" name="_method" value="DELETE">
|
||||||
|
<input type="hidden" name="_token" value="{{ csrf_token('delete' ~ document.id) }}">
|
||||||
|
<button class="btn btn-delete">{{ 'Delete' | trans }}</button>
|
||||||
|
</form>
|
@@ -41,24 +41,28 @@
|
|||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
<li>
|
{% if is_granted('CHILL_ACCOMPANYING_COURSE_DOCUMENT_SEE', document) and document.course != null %}
|
||||||
{{ m.download_button(document.object, document.title) }}
|
<li>
|
||||||
</li>
|
{{ m.download_button(document.object, document.title) }}
|
||||||
<li>
|
</li>
|
||||||
{% if chill_document_is_editable(document.object) %}
|
{% endif %}
|
||||||
{% if not freezed %}
|
{% if is_granted('CHILL_ACCOMPANYING_COURSE_DOCUMENT_UPDATE', document) %}
|
||||||
{{ document.object|chill_document_edit_button({'title': document.title|e('html') }) }}
|
<li>
|
||||||
{% else %}
|
{% if chill_document_is_editable(document.object) %}
|
||||||
<a class="btn btn-wopilink disabled" href="#" title="{{ 'workflow.freezed document'|trans }}">
|
{% if not freezed %}
|
||||||
{{ 'Update document'|trans }}
|
{{ document.object|chill_document_edit_button({'title': document.title|e('html') }) }}
|
||||||
</a>
|
{% else %}
|
||||||
|
<a class="btn btn-wopilink disabled" href="#" title="{{ 'workflow.freezed document'|trans }}">
|
||||||
|
{{ 'Update document'|trans }}
|
||||||
|
</a>
|
||||||
|
{% endif %}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
</li>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% if is_granted('CHILL_ACCOMPANYING_COURSE_DOCUMENT_SEE', document) and document.course != null %}
|
{% if is_granted('CHILL_ACCOMPANYING_COURSE_DOCUMENT_SEE', document) and document.course != null %}
|
||||||
<li>
|
<li>
|
||||||
<a href="{{ chill_path_add_return_path('accompanying_course_document_show', {'course': document.course.id, 'id': document.id}) }}" class="btn btn-show"></a>
|
<a href="{{ chill_path_add_return_path('accompanying_course_document_show', {'course': document.course.id, 'id': document.id}) }}" class="btn btn-show"></a>
|
||||||
</li>
|
</li>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
</li>
|
|
||||||
</ul>
|
</ul>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
@@ -0,0 +1,19 @@
|
|||||||
|
{% import '@ChillMain/Workflow/macro_breadcrumb.html.twig' as m %}
|
||||||
|
|
||||||
|
<div class="flex-grow-1 {% if add_classes is defined %}{{ add_classes }}{% else %}h2{% endif %}">
|
||||||
|
<div>
|
||||||
|
{% if concerne is defined and concerne == true %}
|
||||||
|
<span class="item-key">{{ 'Concerne'|trans }}: </span>
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
{{ 'workflow.Document (n°%doc%)'|trans({'%doc%': document.id}) }}
|
||||||
|
|
||||||
|
{% if description is defined and description == true %}
|
||||||
|
{{ ' — ' ~ document.title }}
|
||||||
|
{% endif %}
|
||||||
|
</div>
|
||||||
|
|
||||||
|
{% if breadcrumb is defined and breadcrumb == true %}
|
||||||
|
{{ m.breadcrumb(_context) }}
|
||||||
|
{% endif %}
|
||||||
|
</div>
|
@@ -1,43 +0,0 @@
|
|||||||
{% extends "@ChillPerson/AccompanyingCourse/layout.html.twig" %}
|
|
||||||
|
|
||||||
{% set activeRouteKey = '' %}
|
|
||||||
|
|
||||||
{% block title %}{{ 'Delete document ?' }}{% endblock %}
|
|
||||||
|
|
||||||
{% block docdescription %}
|
|
||||||
<dl class="chill_view_data">
|
|
||||||
<dt>{{ 'Title'|trans }}</dt>
|
|
||||||
<dd>{{ document.title }}</dd>
|
|
||||||
|
|
||||||
{% if document.scope is not null %}
|
|
||||||
<dt>{{ 'Scope' | trans }}</dt>
|
|
||||||
<dd>{{ document.scope.name | localize_translatable_string }}</dd>
|
|
||||||
{% endif %}
|
|
||||||
|
|
||||||
<dt>{{ 'Category'|trans }}</dt>
|
|
||||||
<dd>{{ document.category.name|localize_translatable_string }}</dd>
|
|
||||||
|
|
||||||
<dt>{{ 'Description' | trans }}</dt>
|
|
||||||
<dd>
|
|
||||||
{% if document.description is empty %}
|
|
||||||
<span class="chill-no-data-statement">{{ 'Any description'|trans }}</span>
|
|
||||||
{% else %}
|
|
||||||
<blockquote class="chill-user-quote">
|
|
||||||
{{ document.description|chill_markdown_to_html }}
|
|
||||||
</blockquote>
|
|
||||||
{% endif %}
|
|
||||||
</dd>
|
|
||||||
</dl>
|
|
||||||
{% endblock %}
|
|
||||||
|
|
||||||
{% block content %}
|
|
||||||
{{ include('@ChillMain/Util/confirmation_template.html.twig',
|
|
||||||
{
|
|
||||||
'title' : 'Delete document ?'|trans,
|
|
||||||
'display_content' : block('docdescription'),
|
|
||||||
'confirm_question' : 'Are you sure you want to remove this document ?'|trans,
|
|
||||||
'cancel_route' : 'accompanying_course_document_index',
|
|
||||||
'cancel_parameters' : {'course' : accompanyingCourse.id, 'id': document.id},
|
|
||||||
'form' : delete_form
|
|
||||||
} ) }}
|
|
||||||
{% endblock %}
|
|
@@ -25,14 +25,11 @@
|
|||||||
{{ 'Back to the list' | trans }}
|
{{ 'Back to the list' | trans }}
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
{% if is_granted('CHILL_ACCOMPANYING_COURSE_DOCUMENT_DELETE', document) %}
|
{% if is_granted('CHILL_ACCOMPANYING_COURSE_DOCUMENT_UPDATE', document) %}
|
||||||
<li class="delete">
|
<li class="edit">
|
||||||
<a href="{{ chill_return_path_or('chill_docstore_accompanying_course_document_delete', {'course': accompanyingCourse.id, 'id': document.id}) }}" class="btn btn-delete"></a>
|
<button class="btn btn-edit">{{ 'Edit'|trans }}</button>
|
||||||
</li>
|
</li>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
<li class="edit">
|
|
||||||
<button class="btn btn-edit">{{ 'Edit'|trans }}</button>
|
|
||||||
</li>
|
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
{{ form_end(form) }}
|
{{ form_end(form) }}
|
||||||
|
@@ -10,18 +10,16 @@
|
|||||||
{{ parent() }}
|
{{ parent() }}
|
||||||
{{ encore_entry_script_tags('mod_async_upload') }}
|
{{ encore_entry_script_tags('mod_async_upload') }}
|
||||||
{{ encore_entry_script_tags('mod_docgen_picktemplate') }}
|
{{ encore_entry_script_tags('mod_docgen_picktemplate') }}
|
||||||
{{ encore_entry_script_tags('mod_entity_workflow_pick') }}
|
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|
||||||
{% block css %}
|
{% block css %}
|
||||||
{{ parent() }}
|
{{ parent() }}
|
||||||
{{ encore_entry_link_tags('mod_async_upload') }}
|
{{ encore_entry_link_tags('mod_async_upload') }}
|
||||||
{{ encore_entry_link_tags('mod_docgen_picktemplate') }}
|
{{ encore_entry_link_tags('mod_docgen_picktemplate') }}
|
||||||
{{ encore_entry_link_tags('mod_entity_workflow_pick') }}
|
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|
||||||
{% block content %}
|
{% block content %}
|
||||||
<div class="document-list">
|
<div class="col-md-10 col-xxl">
|
||||||
<h1>{{ 'Documents' }}</h1>
|
<h1>{{ 'Documents' }}</h1>
|
||||||
|
|
||||||
{% if documents|length == 0 %}
|
{% if documents|length == 0 %}
|
||||||
@@ -29,7 +27,7 @@
|
|||||||
{% else %}
|
{% else %}
|
||||||
<div class="flex-table chill-task-list">
|
<div class="flex-table chill-task-list">
|
||||||
{% for document in documents %}
|
{% for document in documents %}
|
||||||
{% include '@ChillDocStore/List/list_item.html.twig' %}
|
{% include 'ChillDocStoreBundle:List:list_item.html.twig' %}
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
</div>
|
</div>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
@@ -49,17 +49,6 @@
|
|||||||
{{ 'Back to the list' | trans }}
|
{{ 'Back to the list' | trans }}
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
{% if is_granted('CHILL_ACCOMPANYING_COURSE_DOCUMENT_DELETE', document) %}
|
|
||||||
<li class="delete">
|
|
||||||
<a href="{{ chill_return_path_or('chill_docstore_accompanying_course_document_delete', {'course': accompanyingCourse.id, 'id': document.id}) }}" class="btn btn-delete"></a>
|
|
||||||
</li>
|
|
||||||
{% endif %}
|
|
||||||
{% if is_granted('CHILL_ACCOMPANYING_COURSE_DOCUMENT_UPDATE', document) %}
|
|
||||||
<li>
|
|
||||||
<a href="{{ path('accompanying_course_document_edit', {'id': document.id, 'course': accompanyingCourse.id}) }}"
|
|
||||||
class="btn btn-edit" title="{{ 'Edit attributes' | trans }}"></a>
|
|
||||||
</li>
|
|
||||||
{% endif %}
|
|
||||||
<li>
|
<li>
|
||||||
{{ m.download_button(document.object, document.title) }}
|
{{ m.download_button(document.object, document.title) }}
|
||||||
</li>
|
</li>
|
||||||
@@ -68,6 +57,12 @@
|
|||||||
{{ document.object|chill_document_edit_button }}
|
{{ document.object|chill_document_edit_button }}
|
||||||
</li>
|
</li>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
{% if is_granted('CHILL_ACCOMPANYING_COURSE_DOCUMENT_UPDATE', document) %}
|
||||||
|
<li>
|
||||||
|
<a href="{{ path('accompanying_course_document_edit', {'id': document.id, 'course': accompanyingCourse.id}) }}"
|
||||||
|
class="btn btn-edit" title="{{ 'Edit attributes' | trans }}"></a>
|
||||||
|
</li>
|
||||||
|
{% endif %}
|
||||||
{% set workflows_frame = chill_entity_workflow_list('Chill\\DocStoreBundle\\Entity\\AccompanyingCourseDocument', document.id) %}
|
{% set workflows_frame = chill_entity_workflow_list('Chill\\DocStoreBundle\\Entity\\AccompanyingCourseDocument', document.id) %}
|
||||||
{% if workflows_frame is not empty %}
|
{% if workflows_frame is not empty %}
|
||||||
<li>
|
<li>
|
||||||
|
@@ -1,10 +1,8 @@
|
|||||||
{% import "@ChillDocStore/Macro/macro.html.twig" as m %}
|
{% import "@ChillDocStore/Macro/macro.html.twig" as m %}
|
||||||
{% import "@ChillDocStore/Macro/macro_mimeicon.html.twig" as mm %}
|
{% import "@ChillDocStore/Macro/macro_mimeicon.html.twig" as mm %}
|
||||||
{% import '@ChillPerson/Macro/updatedBy.html.twig' as mmm %}
|
|
||||||
|
|
||||||
<div class="item-bloc">
|
<div class="item-bloc">
|
||||||
<div class="item-row">
|
<div class="item-row">
|
||||||
<div class="item-col" style="width: unset">
|
<div class="item-col">
|
||||||
<div class="denomination h2">
|
<div class="denomination h2">
|
||||||
{{ document.title }}
|
{{ document.title }}
|
||||||
</div>
|
</div>
|
||||||
@@ -24,68 +22,62 @@
|
|||||||
<div class="item-col">
|
<div class="item-col">
|
||||||
<div class="container">
|
<div class="container">
|
||||||
{% if document.date is not null %}
|
{% if document.date is not null %}
|
||||||
<div class="dates row text-end">
|
<div class="dates row" style="float: right;">
|
||||||
<span>{{ document.date|format_date('short') }}</span>
|
<span>{{ document.createdAt|format_date('short') }}</span>
|
||||||
</div>
|
</div>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
{% if document.description is not empty %}
|
{% if document.description is not empty %}
|
||||||
<div class="item-row">
|
<div class="item-row separator">
|
||||||
<blockquote class="chill-user-quote col">
|
<blockquote class="chill-user-quote">
|
||||||
{{ document.description|chill_markdown_to_html }}
|
{{ document.description|chill_markdown_to_html }}
|
||||||
</blockquote>
|
</blockquote>
|
||||||
</div>
|
</div>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
<div class="item-row separator">
|
<div class="item-row separator">
|
||||||
<div class="item-col item-meta">
|
<div class="item-col item-meta">
|
||||||
{{ mmm.createdBy(document) }}
|
<div class="updatedBy">
|
||||||
|
{{ 'Created by'|trans }}:
|
||||||
|
<span class="user">{{ document.createdBy|chill_entity_render_string }}</span>
|
||||||
|
<span class="date">le {{ document.createdAt|format_date('long') }}</span>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<ul class="item-col record_actions flex-shrink-1">
|
</div>
|
||||||
{% if document.course is defined %}
|
<div>
|
||||||
{% if is_granted('CHILL_ACCOMPANYING_COURSE_DOCUMENT_DELETE', document) %}
|
{% if document.course is defined %}
|
||||||
<li class="delete">
|
<ul class="record_actions">
|
||||||
<a href="{{ chill_return_path_or('chill_docstore_accompanying_course_document_delete', {'course': accompanyingCourse.id, 'id': document.id}) }}" class="btn btn-delete"></a>
|
{% if is_granted('CHILL_ACCOMPANYING_COURSE_DOCUMENT_SEE_DETAILS', document) %}
|
||||||
</li>
|
|
||||||
{% endif %}
|
|
||||||
{% if is_granted('CHILL_ACCOMPANYING_COURSE_DOCUMENT_UPDATE', document) %}
|
|
||||||
<li>
|
|
||||||
<a href="{{ path('accompanying_course_document_edit', {'course': accompanyingCourse.id, 'id': document.id }) }}" class="btn btn-update"></a>
|
|
||||||
</li>
|
|
||||||
{% endif %}
|
|
||||||
{% if is_granted('CHILL_ACCOMPANYING_COURSE_DOCUMENT_SEE_DETAILS', document) %}
|
|
||||||
<li>
|
|
||||||
{{ m.download_button(document.object, document.title) }}
|
|
||||||
</li>
|
|
||||||
<li>
|
|
||||||
<a href="{{ chill_path_add_return_path('accompanying_course_document_show', {'course': accompanyingCourse.id, 'id': document.id}) }}" class="btn btn-show"></a>
|
|
||||||
</li>
|
|
||||||
{% endif %}
|
|
||||||
<li>
|
<li>
|
||||||
{{ chill_entity_workflow_list('Chill\\DocStoreBundle\\Entity\\AccompanyingCourseDocument', document.id) }}
|
{{ m.download_button(document.object, document.title) }}
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<a href="{{ chill_path_add_return_path('accompanying_course_document_show', {'course': accompanyingCourse.id, 'id': document.id}) }}" class="btn btn-show"></a>
|
||||||
|
</li>
|
||||||
|
{% endif %}
|
||||||
|
{% if is_granted('CHILL_ACCOMPANYING_COURSE_DOCUMENT_UPDATE', document) %}
|
||||||
|
<li>
|
||||||
|
<a href="{{ path('accompanying_course_document_edit', {'course': accompanyingCourse.id, 'id': document.id }) }}" class="btn btn-update"></a>
|
||||||
</li>
|
</li>
|
||||||
{% else %}
|
|
||||||
{% if is_granted('CHILL_PERSON_DOCUMENT_DELETE', document) %}
|
|
||||||
<li class="delete">
|
|
||||||
<a href="{{ chill_return_path_or('chill_docstore_person_document_delete', {'person': person.id, 'id': document.id}) }}" class="btn btn-delete"></a>
|
|
||||||
</li>
|
|
||||||
{% endif %}
|
|
||||||
{% if is_granted('CHILL_PERSON_DOCUMENT_UPDATE', document) %}
|
|
||||||
<li>
|
|
||||||
<a href="{{ path('person_document_edit', {'person': person.id, 'id': document.id}) }}" class="btn btn-update"></a>
|
|
||||||
</li>
|
|
||||||
{% endif %}
|
|
||||||
{% if is_granted('CHILL_PERSON_DOCUMENT_SEE_DETAILS', document) %}
|
|
||||||
<li>
|
|
||||||
{{ m.download_button(document.object, document.title) }}
|
|
||||||
</li>
|
|
||||||
<li>
|
|
||||||
<a href="{{ path('person_document_show', {'person': person.id, 'id': document.id}) }}" class="btn btn-show"></a>
|
|
||||||
</li>
|
|
||||||
{% endif %}
|
|
||||||
{% endif %}
|
{% endif %}
|
||||||
</ul>
|
</ul>
|
||||||
|
{% else %}
|
||||||
|
<ul class="record_actions">
|
||||||
|
{% if is_granted('CHILL_PERSON_DOCUMENT_SEE_DETAILS', document) %}
|
||||||
|
<li>
|
||||||
|
{{ m.download_button(document.object, document.title) }}
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<a href="{{ path('person_document_show', {'person': person.id, 'id': document.id}) }}" class="btn btn-show"></a>
|
||||||
|
</li>
|
||||||
|
{% endif %}
|
||||||
|
{% if is_granted('CHILL_PERSON_DOCUMENT_UPDATE', document) %}
|
||||||
|
<li>
|
||||||
|
<a href="{{ path('person_document_edit', {'person': person.id, 'id': document.id}) }}" class="btn btn-update"></a>
|
||||||
|
</li>
|
||||||
|
{% endif %}
|
||||||
|
</ul>
|
||||||
|
{% endif %}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@@ -1,43 +0,0 @@
|
|||||||
{% extends "@ChillPerson/Person/layout.html.twig" %}
|
|
||||||
|
|
||||||
{% set activeRouteKey = '' %}
|
|
||||||
|
|
||||||
{% block title %}{{ 'Delete document ?' }}{% endblock %}
|
|
||||||
|
|
||||||
{% block docdescription %}
|
|
||||||
<dl class="chill_view_data">
|
|
||||||
<dt>{{ 'Title'|trans }}</dt>
|
|
||||||
<dd>{{ document.title }}</dd>
|
|
||||||
|
|
||||||
{% if document.scope is not null %}
|
|
||||||
<dt>{{ 'Scope' | trans }}</dt>
|
|
||||||
<dd>{{ document.scope.name | localize_translatable_string }}</dd>
|
|
||||||
{% endif %}
|
|
||||||
|
|
||||||
<dt>{{ 'Category'|trans }}</dt>
|
|
||||||
<dd>{{ document.category.name|localize_translatable_string }}</dd>
|
|
||||||
|
|
||||||
<dt>{{ 'Description' | trans }}</dt>
|
|
||||||
<dd>
|
|
||||||
{% if document.description is empty %}
|
|
||||||
<span class="chill-no-data-statement">{{ 'Any description'|trans }}</span>
|
|
||||||
{% else %}
|
|
||||||
<blockquote class="chill-user-quote">
|
|
||||||
{{ document.description|chill_markdown_to_html }}
|
|
||||||
</blockquote>
|
|
||||||
{% endif %}
|
|
||||||
</dd>
|
|
||||||
</dl>
|
|
||||||
{% endblock %}
|
|
||||||
|
|
||||||
{% block personcontent %}
|
|
||||||
{{ include('@ChillMain/Util/confirmation_template.html.twig',
|
|
||||||
{
|
|
||||||
'title' : 'Delete document ?'|trans,
|
|
||||||
'display_content' : block('docdescription'),
|
|
||||||
'confirm_question' : 'Are you sure you want to remove this document ?'|trans,
|
|
||||||
'cancel_route' : 'person_document_index',
|
|
||||||
'cancel_parameters' : {'person' : person.id, 'id': document.id},
|
|
||||||
'form' : delete_form
|
|
||||||
} ) }}
|
|
||||||
{% endblock %}
|
|
@@ -36,20 +36,22 @@
|
|||||||
{{ form_row(form.description) }}
|
{{ form_row(form.description) }}
|
||||||
{{ form_row(form.object, { 'label': 'Document', 'existing': document.object }) }}
|
{{ form_row(form.object, { 'label': 'Document', 'existing': document.object }) }}
|
||||||
|
|
||||||
<ul class="record_actions sticky-form-buttons">
|
<ul class="record_actions">
|
||||||
<li class="cancel">
|
<li class="cancel">
|
||||||
<a href="{{ chill_return_path_or('person_document_index', {'person': person.id}) }}" class="btn btn-cancel">
|
<a href="{{ path('person_document_index', {'person': person.id}) }}" class="btn btn-cancel">
|
||||||
{{ 'Back to the list' | trans }}
|
{{ 'Back to the list' | trans }}
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
{% if is_granted('CHILL_PERSON_DOCUMENT_DELETE', document) %}
|
{% if is_granted('CHILL_PERSON_DOCUMENT_UPDATE', document) %}
|
||||||
<li class="delete">
|
<li class="edit">
|
||||||
<a href="{{ chill_return_path_or('chill_docstore_person_document_delete', {'person': person.id, 'id': document.id}) }}" class="btn btn-delete"></a>
|
<button class="btn btn-edit">{{ 'Edit'|trans }}</button>
|
||||||
</li>
|
</li>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
<li class="edit">
|
{# {% if is_granted('CHILL_PERSON_DOCUMENT_DELETE', document) %}
|
||||||
<button class="btn btn-edit">{{ 'Edit'|trans }}</button>
|
<li class="delete">
|
||||||
</li>
|
{{ include('ChillDocStoreBundle:PersonDocument:_delete_form.html.twig') }}
|
||||||
|
</li>
|
||||||
|
{% endif %} #}
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
{{ form_end(form) }}
|
{{ form_end(form) }}
|
||||||
|
@@ -26,17 +26,7 @@
|
|||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|
||||||
{% block js %}
|
{% block js %}
|
||||||
{{ parent() }}
|
|
||||||
{{ encore_entry_script_tags('mod_async_upload') }}
|
{{ encore_entry_script_tags('mod_async_upload') }}
|
||||||
{{ encore_entry_script_tags('mod_docgen_picktemplate') }}
|
|
||||||
{{ encore_entry_script_tags('mod_entity_workflow_pick') }}
|
|
||||||
{% endblock %}
|
|
||||||
|
|
||||||
{% block css %}
|
|
||||||
{{ parent() }}
|
|
||||||
{{ encore_entry_link_tags('mod_async_upload') }}
|
|
||||||
{{ encore_entry_link_tags('mod_docgen_picktemplate') }}
|
|
||||||
{{ encore_entry_link_tags('mod_entity_workflow_pick') }}
|
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|
||||||
{% block personcontent %}
|
{% block personcontent %}
|
||||||
@@ -56,8 +46,6 @@
|
|||||||
|
|
||||||
{{ chill_pagination(pagination) }}
|
{{ chill_pagination(pagination) }}
|
||||||
|
|
||||||
<div data-docgen-template-picker="data-docgen-template-picker" data-entity-class="Chill\PersonBundle\Entity\Person" data-entity-id="{{ person.id }}"></div>
|
|
||||||
|
|
||||||
{% if is_granted('CHILL_PERSON_DOCUMENT_CREATE', person) %}
|
{% if is_granted('CHILL_PERSON_DOCUMENT_CREATE', person) %}
|
||||||
<ul class="record_actions sticky-form-buttons">
|
<ul class="record_actions sticky-form-buttons">
|
||||||
<li class="create">
|
<li class="create">
|
||||||
|
@@ -40,15 +40,17 @@
|
|||||||
{{ form_row(form.description) }}
|
{{ form_row(form.description) }}
|
||||||
{{ form_row(form.object, { 'label': 'Document', 'existing': document.object }) }}
|
{{ form_row(form.object, { 'label': 'Document', 'existing': document.object }) }}
|
||||||
|
|
||||||
<ul class="record_actions sticky-form-buttons">
|
<ul class="record_actions">
|
||||||
<li class="cancel">
|
<li class="cancel">
|
||||||
<a href="{{ chill_return_path_or('person_document_index', {'person': person.id}) }}" class="btn btn-cancel">
|
<a href="{{ path('person_document_index', {'person': person.id}) }}" class="btn btn-cancel">
|
||||||
{{ 'Back to the list' | trans }}
|
{{ 'Back to the list' | trans }}
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
<li class="create">
|
{% if is_granted ('CHILL_PERSON_DOCUMENT_CREATE', person) %}
|
||||||
<button class="btn btn-create">{{ 'Create'|trans }}</button>
|
<li class="create">
|
||||||
</li>
|
<button class="btn btn-create">{{ 'Create'|trans }}</button>
|
||||||
|
</li>
|
||||||
|
{% endif %}
|
||||||
</ul>
|
</ul>
|
||||||
{{ form_end(form) }}
|
{{ form_end(form) }}
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
@@ -64,9 +64,13 @@
|
|||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
{% if is_granted('CHILL_PERSON_DOCUMENT_DELETE', document) %}
|
<li>
|
||||||
<li class="delete">
|
{{ m.download_button(document.object, document.title) }}
|
||||||
<a href="{{ chill_return_path_or('chill_docstore_person_document_delete', {'person': person.id, 'id': document.id}) }}" class="btn btn-delete"></a>
|
</li>
|
||||||
|
|
||||||
|
{% if chill_document_is_editable(document.object) %}
|
||||||
|
<li>
|
||||||
|
{{ document.object|chill_document_edit_button }}
|
||||||
</li>
|
</li>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
@@ -78,15 +82,5 @@
|
|||||||
</li>
|
</li>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
<li>
|
{# {{ include('ChillDocStoreBundle:PersonDocument:_delete_form.html.twig') }} #}
|
||||||
{{ m.download_button(document.object, document.title) }}
|
|
||||||
</li>
|
|
||||||
|
|
||||||
{% if chill_document_is_editable(document.object) %}
|
|
||||||
<li>
|
|
||||||
{{ document.object|chill_document_edit_button }}
|
|
||||||
</li>
|
|
||||||
{% endif %}
|
|
||||||
|
|
||||||
{# {{ include('ChillDocStoreBundle:PersonDocument:_delete_form.html.twig') }} #}
|
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
@@ -1,55 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Chill is a software for social workers
|
|
||||||
*
|
|
||||||
* For the full copyright and license information, please view
|
|
||||||
* the LICENSE file that was distributed with this source code.
|
|
||||||
*/
|
|
||||||
|
|
||||||
declare(strict_types=1);
|
|
||||||
|
|
||||||
namespace Chill\DocStoreBundle\Serializer\Normalizer;
|
|
||||||
|
|
||||||
use Chill\DocStoreBundle\Entity\StoredObject;
|
|
||||||
use Chill\DocStoreBundle\Repository\StoredObjectRepository;
|
|
||||||
use Symfony\Component\Serializer\Normalizer\DenormalizerInterface;
|
|
||||||
use Symfony\Component\Serializer\Normalizer\ObjectToPopulateTrait;
|
|
||||||
use function array_key_exists;
|
|
||||||
use function is_array;
|
|
||||||
|
|
||||||
class StoredObjectDenormalizer implements DenormalizerInterface
|
|
||||||
{
|
|
||||||
use ObjectToPopulateTrait;
|
|
||||||
|
|
||||||
private StoredObjectRepository $storedObjectRepository;
|
|
||||||
|
|
||||||
public function __construct(StoredObjectRepository $storedObjectRepository)
|
|
||||||
{
|
|
||||||
$this->storedObjectRepository = $storedObjectRepository;
|
|
||||||
}
|
|
||||||
|
|
||||||
public function denormalize($data, $type, $format = null, array $context = [])
|
|
||||||
{
|
|
||||||
$object = $this->extractObjectToPopulate(StoredObject::class, $context);
|
|
||||||
|
|
||||||
if (null !== $object) {
|
|
||||||
return $object;
|
|
||||||
}
|
|
||||||
|
|
||||||
return $this->storedObjectRepository->find($data['id']);
|
|
||||||
}
|
|
||||||
|
|
||||||
public function supportsDenormalization($data, $type, $format = null)
|
|
||||||
{
|
|
||||||
if (false === is_array($data)) {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (false === array_key_exists('id', $data)) {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
return StoredObject::class === $type;
|
|
||||||
}
|
|
||||||
}
|
|
@@ -15,12 +15,11 @@ use ChampsLibres\WopiLib\Contract\Service\Discovery\DiscoveryInterface;
|
|||||||
use Chill\DocStoreBundle\Entity\StoredObject;
|
use Chill\DocStoreBundle\Entity\StoredObject;
|
||||||
use Twig\Environment;
|
use Twig\Environment;
|
||||||
use Twig\Extension\RuntimeExtensionInterface;
|
use Twig\Extension\RuntimeExtensionInterface;
|
||||||
|
|
||||||
use function array_key_exists;
|
use function array_key_exists;
|
||||||
|
|
||||||
final class WopiEditTwigExtensionRuntime implements RuntimeExtensionInterface
|
class WopiEditTwigExtensionRuntime implements RuntimeExtensionInterface
|
||||||
{
|
{
|
||||||
private const TEMPLATE = '@ChillDocStore/Button/wopi_edit_document.html.twig';
|
public const TEMPLATE = '@ChillDocStore/Button/wopi_edit_document.html.twig';
|
||||||
|
|
||||||
private DiscoveryInterface $discovery;
|
private DiscoveryInterface $discovery;
|
||||||
|
|
||||||
@@ -33,6 +32,10 @@ final class WopiEditTwigExtensionRuntime implements RuntimeExtensionInterface
|
|||||||
{
|
{
|
||||||
$mime_type = $this->discovery->discoverMimeType($document->getType());
|
$mime_type = $this->discovery->discoverMimeType($document->getType());
|
||||||
|
|
||||||
|
if ([] === $mime_type) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
foreach ($mime_type as $item) {
|
foreach ($mime_type as $item) {
|
||||||
if (array_key_exists('default', $item) && 'true' === $item['default']) {
|
if (array_key_exists('default', $item) && 'true' === $item['default']) {
|
||||||
return true;
|
return true;
|
||||||
|
@@ -12,61 +12,21 @@ declare(strict_types=1);
|
|||||||
namespace Chill\DocStoreBundle\Workflow;
|
namespace Chill\DocStoreBundle\Workflow;
|
||||||
|
|
||||||
use Chill\DocStoreBundle\Entity\AccompanyingCourseDocument;
|
use Chill\DocStoreBundle\Entity\AccompanyingCourseDocument;
|
||||||
use Chill\DocStoreBundle\Security\Authorization\AccompanyingCourseDocumentVoter;
|
|
||||||
use Chill\MainBundle\Entity\Workflow\EntityWorkflow;
|
use Chill\MainBundle\Entity\Workflow\EntityWorkflow;
|
||||||
use Chill\MainBundle\Workflow\EntityWorkflowHandlerInterface;
|
use Chill\MainBundle\Workflow\EntityWorkflowHandlerInterface;
|
||||||
use Chill\PersonBundle\Entity\AccompanyingPeriodParticipation;
|
|
||||||
use Doctrine\ORM\EntityManagerInterface;
|
use Doctrine\ORM\EntityManagerInterface;
|
||||||
use Doctrine\ORM\EntityRepository;
|
use Doctrine\ORM\EntityRepository;
|
||||||
use Symfony\Contracts\Translation\TranslatorInterface;
|
|
||||||
|
|
||||||
class AccompanyingCourseDocumentWorkflowHandler implements EntityWorkflowHandlerInterface
|
class AccompanyingCourseDocumentWorkflowHandler implements EntityWorkflowHandlerInterface
|
||||||
{
|
{
|
||||||
private EntityRepository $repository;
|
private EntityRepository $repository;
|
||||||
|
|
||||||
private TranslatorInterface $translator;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* TODO: injecter le repository directement.
|
* TODO: injecter le repository directement.
|
||||||
*/
|
*/
|
||||||
public function __construct(
|
public function __construct(EntityManagerInterface $em)
|
||||||
EntityManagerInterface $em,
|
{
|
||||||
TranslatorInterface $translator
|
|
||||||
) {
|
|
||||||
$this->repository = $em->getRepository(AccompanyingCourseDocument::class);
|
$this->repository = $em->getRepository(AccompanyingCourseDocument::class);
|
||||||
$this->translator = $translator;
|
|
||||||
}
|
|
||||||
|
|
||||||
public function getDeletionRoles(): array
|
|
||||||
{
|
|
||||||
return [
|
|
||||||
AccompanyingCourseDocumentVoter::DELETE,
|
|
||||||
];
|
|
||||||
}
|
|
||||||
|
|
||||||
public function getEntityData(EntityWorkflow $entityWorkflow, array $options = []): array
|
|
||||||
{
|
|
||||||
$course = $this->getRelatedEntity($entityWorkflow)
|
|
||||||
->getCourse();
|
|
||||||
$persons = [];
|
|
||||||
|
|
||||||
if (null !== $course) {
|
|
||||||
$persons = $course->getCurrentParticipations()->map(static function (AccompanyingPeriodParticipation $participation) {
|
|
||||||
return $participation->getPerson();
|
|
||||||
})->toArray();
|
|
||||||
}
|
|
||||||
|
|
||||||
return [
|
|
||||||
'persons' => array_values($persons),
|
|
||||||
];
|
|
||||||
}
|
|
||||||
|
|
||||||
public function getEntityTitle(EntityWorkflow $entityWorkflow, array $options = []): string
|
|
||||||
{
|
|
||||||
$doc = $this->getRelatedEntity($entityWorkflow);
|
|
||||||
|
|
||||||
return $this->translator->trans('workflow.Document (n°%doc%)', ['%doc%' => $entityWorkflow->getRelatedEntityId()])
|
|
||||||
. ' - ' . $doc->getTitle();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public function getRelatedEntity(EntityWorkflow $entityWorkflow): ?AccompanyingCourseDocument
|
public function getRelatedEntity(EntityWorkflow $entityWorkflow): ?AccompanyingCourseDocument
|
||||||
@@ -74,18 +34,6 @@ class AccompanyingCourseDocumentWorkflowHandler implements EntityWorkflowHandler
|
|||||||
return $this->repository->find($entityWorkflow->getRelatedEntityId());
|
return $this->repository->find($entityWorkflow->getRelatedEntityId());
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* @param AccompanyingCourseDocument $object
|
|
||||||
*
|
|
||||||
* @return array[]
|
|
||||||
*/
|
|
||||||
public function getRelatedObjects(object $object): array
|
|
||||||
{
|
|
||||||
return [
|
|
||||||
['entityClass' => AccompanyingCourseDocument::class, 'entityId' => $object->getId()],
|
|
||||||
];
|
|
||||||
}
|
|
||||||
|
|
||||||
public function getRoleShow(EntityWorkflow $entityWorkflow): ?string
|
public function getRoleShow(EntityWorkflow $entityWorkflow): ?string
|
||||||
{
|
{
|
||||||
return null;
|
return null;
|
||||||
@@ -104,9 +52,14 @@ class AccompanyingCourseDocumentWorkflowHandler implements EntityWorkflowHandler
|
|||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
public function isObjectSupported(object $object): bool
|
public function getTemplateTitle(EntityWorkflow $entityWorkflow, array $options = []): string
|
||||||
{
|
{
|
||||||
return $object instanceof AccompanyingCourseDocument;
|
return '@ChillDocStore/AccompanyingCourseDocument/_workflow.title.html.twig';
|
||||||
|
}
|
||||||
|
|
||||||
|
public function getTemplateTitleData(EntityWorkflow $entityWorkflow, array $options = []): array
|
||||||
|
{
|
||||||
|
return $this->getTemplateData($entityWorkflow, $options);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function supports(EntityWorkflow $entityWorkflow, array $options = []): bool
|
public function supports(EntityWorkflow $entityWorkflow, array $options = []): bool
|
||||||
|
@@ -1,46 +0,0 @@
|
|||||||
---
|
|
||||||
openapi: "3.0.0"
|
|
||||||
info:
|
|
||||||
version: "1.0.0"
|
|
||||||
title: "Chill api"
|
|
||||||
description: "Api documentation for chill. Currently, work in progress"
|
|
||||||
servers:
|
|
||||||
- url: "/api"
|
|
||||||
description: "Your current dev server"
|
|
||||||
|
|
||||||
components:
|
|
||||||
schemas:
|
|
||||||
StoredObject:
|
|
||||||
type: object
|
|
||||||
properties:
|
|
||||||
id:
|
|
||||||
type: integer
|
|
||||||
filename:
|
|
||||||
type: string
|
|
||||||
type:
|
|
||||||
type: string
|
|
||||||
|
|
||||||
paths:
|
|
||||||
/1.0/docstore/stored-object.json:
|
|
||||||
post:
|
|
||||||
tags:
|
|
||||||
- storedobject
|
|
||||||
summary: Create a stored object
|
|
||||||
requestBody:
|
|
||||||
description: "A stored object"
|
|
||||||
required: true
|
|
||||||
content:
|
|
||||||
application/json:
|
|
||||||
schema:
|
|
||||||
$ref: "#/components/schemas/StoredObject"
|
|
||||||
responses:
|
|
||||||
200:
|
|
||||||
description: "OK"
|
|
||||||
content:
|
|
||||||
application/json:
|
|
||||||
schema:
|
|
||||||
$ref: "#/components/schemas/StoredObject"
|
|
||||||
403:
|
|
||||||
description: "Unauthorized"
|
|
||||||
422:
|
|
||||||
description: "Invalid data"
|
|
@@ -1,7 +1,4 @@
|
|||||||
module.exports = function(encore)
|
module.exports = function(encore)
|
||||||
{
|
{
|
||||||
encore.addAliases({
|
|
||||||
ChillDocStoreAssets: __dirname + '/Resources/public'
|
|
||||||
});
|
|
||||||
encore.addEntry('mod_async_upload', __dirname + '/Resources/public/module/async_upload/index.js');
|
encore.addEntry('mod_async_upload', __dirname + '/Resources/public/module/async_upload/index.js');
|
||||||
};
|
};
|
||||||
|
@@ -33,10 +33,3 @@ services:
|
|||||||
resource: './../Workflow/'
|
resource: './../Workflow/'
|
||||||
autoconfigure: true
|
autoconfigure: true
|
||||||
autowire: true
|
autowire: true
|
||||||
|
|
||||||
Chill\DocStoreBundle\Serializer\Normalizer\:
|
|
||||||
autowire: true
|
|
||||||
resource: '../Serializer/Normalizer/'
|
|
||||||
tags:
|
|
||||||
- { name: 'serializer.normalizer', priority: 16 }
|
|
||||||
|
|
||||||
|
@@ -19,12 +19,6 @@ The document is successfully registered: Le document est enregistré
|
|||||||
The document is successfully updated: Le document est mis à jour
|
The document is successfully updated: Le document est mis à jour
|
||||||
Any description: Aucune description
|
Any description: Aucune description
|
||||||
|
|
||||||
# delete
|
|
||||||
Delete document ?: Supprimer le document ?
|
|
||||||
Are you sure you want to remove this document ?: Êtes-vous sûr·e de vouloir supprimer ce document ?
|
|
||||||
The document is successfully removed: Le document a été supprimé
|
|
||||||
|
|
||||||
|
|
||||||
# dropzone upload
|
# dropzone upload
|
||||||
File too big: Fichier trop volumineux
|
File too big: Fichier trop volumineux
|
||||||
Drop your file or click here: Cliquez ici ou faites glissez votre nouveau fichier dans cette zone
|
Drop your file or click here: Cliquez ici ou faites glissez votre nouveau fichier dans cette zone
|
||||||
|
@@ -38,7 +38,7 @@ use Symfony\Component\Form\FormFactoryInterface;
|
|||||||
use Symfony\Component\HttpFoundation\Request;
|
use Symfony\Component\HttpFoundation\Request;
|
||||||
use Symfony\Component\HttpFoundation\StreamedResponse;
|
use Symfony\Component\HttpFoundation\StreamedResponse;
|
||||||
use Symfony\Component\Security\Core\Role\Role;
|
use Symfony\Component\Security\Core\Role\Role;
|
||||||
use Symfony\Contracts\Translation\TranslatorInterface;
|
use Symfony\Component\Translation\TranslatorInterface;
|
||||||
|
|
||||||
use function count;
|
use function count;
|
||||||
|
|
||||||
|
@@ -28,7 +28,7 @@ use Symfony\Component\OptionsResolver\OptionsResolver;
|
|||||||
use Symfony\Component\Routing\Generator\UrlGeneratorInterface;
|
use Symfony\Component\Routing\Generator\UrlGeneratorInterface;
|
||||||
use Symfony\Component\Security\Core\Authentication\Token\Storage\TokenStorageInterface;
|
use Symfony\Component\Security\Core\Authentication\Token\Storage\TokenStorageInterface;
|
||||||
use Symfony\Component\Security\Core\Role\Role;
|
use Symfony\Component\Security\Core\Role\Role;
|
||||||
use Symfony\Contracts\Translation\TranslatorInterface;
|
use Symfony\Component\Translation\TranslatorInterface;
|
||||||
|
|
||||||
use function in_array;
|
use function in_array;
|
||||||
use function is_array;
|
use function is_array;
|
||||||
|
@@ -21,7 +21,7 @@ use Symfony\Component\Form\FormBuilderInterface;
|
|||||||
use Symfony\Component\Form\FormEvent;
|
use Symfony\Component\Form\FormEvent;
|
||||||
use Symfony\Component\Form\FormEvents;
|
use Symfony\Component\Form\FormEvents;
|
||||||
use Symfony\Component\OptionsResolver\OptionsResolver;
|
use Symfony\Component\OptionsResolver\OptionsResolver;
|
||||||
use Symfony\Contracts\Translation\TranslatorInterface;
|
use Symfony\Component\Translation\TranslatorInterface;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Allow to pick a choice amongst different choices.
|
* Allow to pick a choice amongst different choices.
|
||||||
|
@@ -21,7 +21,7 @@ use Symfony\Component\Form\FormBuilderInterface;
|
|||||||
use Symfony\Component\Form\FormEvent;
|
use Symfony\Component\Form\FormEvent;
|
||||||
use Symfony\Component\Form\FormEvents;
|
use Symfony\Component\Form\FormEvents;
|
||||||
use Symfony\Component\OptionsResolver\OptionsResolver;
|
use Symfony\Component\OptionsResolver\OptionsResolver;
|
||||||
use Symfony\Contracts\Translation\TranslatorInterface;
|
use Symfony\Component\Translation\TranslatorInterface;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Allow to pick amongst type.
|
* Allow to pick amongst type.
|
||||||
|
@@ -15,7 +15,7 @@ use Chill\EventBundle\Security\Authorization\EventVoter;
|
|||||||
use Chill\MainBundle\Routing\LocalMenuBuilderInterface;
|
use Chill\MainBundle\Routing\LocalMenuBuilderInterface;
|
||||||
use Knp\Menu\MenuItem;
|
use Knp\Menu\MenuItem;
|
||||||
use Symfony\Component\Security\Core\Authorization\AuthorizationCheckerInterface;
|
use Symfony\Component\Security\Core\Authorization\AuthorizationCheckerInterface;
|
||||||
use Symfony\Contracts\Translation\TranslatorInterface;
|
use Symfony\Component\Translation\TranslatorInterface;
|
||||||
|
|
||||||
class PersonMenuBuilder implements LocalMenuBuilderInterface
|
class PersonMenuBuilder implements LocalMenuBuilderInterface
|
||||||
{
|
{
|
||||||
|
@@ -5,7 +5,7 @@ services:
|
|||||||
$eventDispatcher: '@Symfony\Component\EventDispatcher\EventDispatcherInterface'
|
$eventDispatcher: '@Symfony\Component\EventDispatcher\EventDispatcherInterface'
|
||||||
$authorizationHelper: '@Chill\MainBundle\Security\Authorization\AuthorizationHelper'
|
$authorizationHelper: '@Chill\MainBundle\Security\Authorization\AuthorizationHelper'
|
||||||
$formFactoryInterface: '@Symfony\Component\Form\FormFactoryInterface'
|
$formFactoryInterface: '@Symfony\Component\Form\FormFactoryInterface'
|
||||||
$translator: '@Symfony\Contracts\Translation\TranslatorInterface'
|
$translator: '@Symfony\Component\Translation\TranslatorInterface'
|
||||||
$paginator: '@chill_main.paginator_factory'
|
$paginator: '@chill_main.paginator_factory'
|
||||||
public: true
|
public: true
|
||||||
tags: ['controller.service_arguments']
|
tags: ['controller.service_arguments']
|
||||||
|
@@ -44,6 +44,6 @@ services:
|
|||||||
$tokenStorage: "@security.token_storage"
|
$tokenStorage: "@security.token_storage"
|
||||||
$authorizationHelper: "@chill.main.security.authorization.helper"
|
$authorizationHelper: "@chill.main.security.authorization.helper"
|
||||||
$urlGenerator: '@Symfony\Component\Routing\Generator\UrlGeneratorInterface'
|
$urlGenerator: '@Symfony\Component\Routing\Generator\UrlGeneratorInterface'
|
||||||
$translator: '@Symfony\Contracts\Translation\TranslatorInterface'
|
$translator: '@Symfony\Component\Translation\TranslatorInterface'
|
||||||
tags:
|
tags:
|
||||||
- { name: form.type }
|
- { name: form.type }
|
||||||
|
@@ -2,6 +2,6 @@ services:
|
|||||||
Chill\EventBundle\Menu\PersonMenuBuilder:
|
Chill\EventBundle\Menu\PersonMenuBuilder:
|
||||||
arguments:
|
arguments:
|
||||||
$authorizationChecker: '@Symfony\Component\Security\Core\Authorization\AuthorizationCheckerInterface'
|
$authorizationChecker: '@Symfony\Component\Security\Core\Authorization\AuthorizationCheckerInterface'
|
||||||
$translator: '@Symfony\Contracts\Translation\TranslatorInterface'
|
$translator: '@Symfony\Component\Translation\TranslatorInterface'
|
||||||
tags:
|
tags:
|
||||||
- { name: 'chill.menu_builder' }
|
- { name: 'chill.menu_builder' }
|
@@ -24,7 +24,7 @@ use Symfony\Component\Form\FormInterface;
|
|||||||
use Symfony\Component\HttpFoundation\Request;
|
use Symfony\Component\HttpFoundation\Request;
|
||||||
use Symfony\Component\HttpFoundation\Response;
|
use Symfony\Component\HttpFoundation\Response;
|
||||||
use Symfony\Component\Routing\Annotation\Route;
|
use Symfony\Component\Routing\Annotation\Route;
|
||||||
use Symfony\Contracts\Translation\TranslatorInterface;
|
use Symfony\Component\Translation\TranslatorInterface;
|
||||||
|
|
||||||
class FamilyMemberController extends AbstractController
|
class FamilyMemberController extends AbstractController
|
||||||
{
|
{
|
||||||
|
@@ -15,7 +15,7 @@ use Chill\AMLI\FamilyMembersBundle\Security\Voter\FamilyMemberVoter;
|
|||||||
use Chill\MainBundle\Routing\LocalMenuBuilderInterface;
|
use Chill\MainBundle\Routing\LocalMenuBuilderInterface;
|
||||||
use Knp\Menu\MenuItem;
|
use Knp\Menu\MenuItem;
|
||||||
use Symfony\Component\Security\Core\Authorization\AuthorizationCheckerInterface;
|
use Symfony\Component\Security\Core\Authorization\AuthorizationCheckerInterface;
|
||||||
use Symfony\Contracts\Translation\TranslatorInterface;
|
use Symfony\Component\Translation\TranslatorInterface;
|
||||||
|
|
||||||
class UserMenuBuilder implements LocalMenuBuilderInterface
|
class UserMenuBuilder implements LocalMenuBuilderInterface
|
||||||
{
|
{
|
||||||
|
@@ -2,6 +2,6 @@ services:
|
|||||||
Chill\AMLI\FamilyMembersBundle\Menu\UserMenuBuilder:
|
Chill\AMLI\FamilyMembersBundle\Menu\UserMenuBuilder:
|
||||||
arguments:
|
arguments:
|
||||||
$authorizationChecker: '@Symfony\Component\Security\Core\Authorization\AuthorizationCheckerInterface'
|
$authorizationChecker: '@Symfony\Component\Security\Core\Authorization\AuthorizationCheckerInterface'
|
||||||
$translator: '@Symfony\Contracts\Translation\TranslatorInterface'
|
$translator: '@Symfony\Component\Translation\TranslatorInterface'
|
||||||
tags:
|
tags:
|
||||||
- { name: 'chill.menu_builder' }
|
- { name: 'chill.menu_builder' }
|
||||||
|
@@ -20,8 +20,8 @@ use Symfony\Component\EventDispatcher\EventDispatcherInterface;
|
|||||||
use Symfony\Component\HttpFoundation\Request;
|
use Symfony\Component\HttpFoundation\Request;
|
||||||
use Symfony\Component\HttpFoundation\Response;
|
use Symfony\Component\HttpFoundation\Response;
|
||||||
use Symfony\Component\Serializer\SerializerInterface;
|
use Symfony\Component\Serializer\SerializerInterface;
|
||||||
|
use Symfony\Component\Translation\TranslatorInterface;
|
||||||
use Symfony\Component\Validator\Validator\ValidatorInterface;
|
use Symfony\Component\Validator\Validator\ValidatorInterface;
|
||||||
use Symfony\Contracts\Translation\TranslatorInterface;
|
|
||||||
|
|
||||||
use function array_merge;
|
use function array_merge;
|
||||||
|
|
||||||
|
@@ -27,7 +27,7 @@ use Symfony\Component\HttpFoundation\Request;
|
|||||||
use Symfony\Component\HttpFoundation\Response;
|
use Symfony\Component\HttpFoundation\Response;
|
||||||
use Symfony\Component\Security\Core\Role\Role;
|
use Symfony\Component\Security\Core\Role\Role;
|
||||||
use Symfony\Component\Serializer\SerializerInterface;
|
use Symfony\Component\Serializer\SerializerInterface;
|
||||||
use Symfony\Contracts\Translation\TranslatorInterface;
|
use Symfony\Component\Translation\TranslatorInterface;
|
||||||
|
|
||||||
use function array_key_exists;
|
use function array_key_exists;
|
||||||
use function array_merge;
|
use function array_merge;
|
||||||
|
@@ -29,6 +29,7 @@ use Chill\MainBundle\Security\ProvideRoleInterface;
|
|||||||
use Chill\MainBundle\Security\Resolver\CenterResolverInterface;
|
use Chill\MainBundle\Security\Resolver\CenterResolverInterface;
|
||||||
use Chill\MainBundle\Security\Resolver\ScopeResolverInterface;
|
use Chill\MainBundle\Security\Resolver\ScopeResolverInterface;
|
||||||
use Chill\MainBundle\Templating\Entity\ChillEntityRenderInterface;
|
use Chill\MainBundle\Templating\Entity\ChillEntityRenderInterface;
|
||||||
|
use Chill\MainBundle\Templating\Entity\CompilerPass as RenderEntityCompilerPass;
|
||||||
use Chill\MainBundle\Templating\UI\NotificationCounterInterface;
|
use Chill\MainBundle\Templating\UI\NotificationCounterInterface;
|
||||||
use Chill\MainBundle\Workflow\EntityWorkflowHandlerInterface;
|
use Chill\MainBundle\Workflow\EntityWorkflowHandlerInterface;
|
||||||
use Symfony\Component\DependencyInjection\ContainerBuilder;
|
use Symfony\Component\DependencyInjection\ContainerBuilder;
|
||||||
@@ -69,6 +70,7 @@ class ChillMainBundle extends Bundle
|
|||||||
$container->addCompilerPass(new MenuCompilerPass());
|
$container->addCompilerPass(new MenuCompilerPass());
|
||||||
$container->addCompilerPass(new ACLFlagsCompilerPass());
|
$container->addCompilerPass(new ACLFlagsCompilerPass());
|
||||||
$container->addCompilerPass(new GroupingCenterCompilerPass());
|
$container->addCompilerPass(new GroupingCenterCompilerPass());
|
||||||
|
$container->addCompilerPass(new RenderEntityCompilerPass());
|
||||||
$container->addCompilerPass(new CRUDControllerCompilerPass());
|
$container->addCompilerPass(new CRUDControllerCompilerPass());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -1,24 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Chill is a software for social workers
|
|
||||||
*
|
|
||||||
* For the full copyright and license information, please view
|
|
||||||
* the LICENSE file that was distributed with this source code.
|
|
||||||
*/
|
|
||||||
|
|
||||||
declare(strict_types=1);
|
|
||||||
|
|
||||||
namespace Chill\MainBundle\Controller;
|
|
||||||
|
|
||||||
use Chill\MainBundle\CRUD\Controller\ApiController;
|
|
||||||
use Chill\MainBundle\Pagination\PaginatorInterface;
|
|
||||||
use Symfony\Component\HttpFoundation\Request;
|
|
||||||
|
|
||||||
class CivilityApiController extends ApiController
|
|
||||||
{
|
|
||||||
protected function orderQuery(string $action, $query, Request $request, PaginatorInterface $paginator, $_format)
|
|
||||||
{
|
|
||||||
return $query->addOrderBy('e.order', 'ASC');
|
|
||||||
}
|
|
||||||
}
|
|
@@ -20,7 +20,7 @@ class DefaultController extends AbstractController
|
|||||||
{
|
{
|
||||||
public function indexAction()
|
public function indexAction()
|
||||||
{
|
{
|
||||||
if ($this->isGranted('ROLE_ADMIN') && !in_array('ROLE_USER',$this->getUser()->getRoles())) {
|
if ($this->isGranted('ROLE_ADMIN')) {
|
||||||
return $this->redirectToRoute('chill_main_admin_central', [], 302);
|
return $this->redirectToRoute('chill_main_admin_central', [], 302);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -24,7 +24,7 @@ use Symfony\Component\Form\Extension\Core\Type\SubmitType;
|
|||||||
use Symfony\Component\Form\FormFactoryInterface;
|
use Symfony\Component\Form\FormFactoryInterface;
|
||||||
use Symfony\Component\HttpFoundation\Request;
|
use Symfony\Component\HttpFoundation\Request;
|
||||||
use Symfony\Component\HttpFoundation\Session\SessionInterface;
|
use Symfony\Component\HttpFoundation\Session\SessionInterface;
|
||||||
use Symfony\Contracts\Translation\TranslatorInterface;
|
use Symfony\Component\Translation\TranslatorInterface;
|
||||||
|
|
||||||
use function count;
|
use function count;
|
||||||
use function serialize;
|
use function serialize;
|
||||||
|
@@ -27,9 +27,9 @@ use Symfony\Component\Form\Extension\Core\Type\TextType;
|
|||||||
use Symfony\Component\HttpFoundation\Request;
|
use Symfony\Component\HttpFoundation\Request;
|
||||||
use Symfony\Component\HttpFoundation\Response;
|
use Symfony\Component\HttpFoundation\Response;
|
||||||
use Symfony\Component\Security\Core\Encoder\UserPasswordEncoderInterface;
|
use Symfony\Component\Security\Core\Encoder\UserPasswordEncoderInterface;
|
||||||
|
use Symfony\Component\Translation\TranslatorInterface;
|
||||||
use Symfony\Component\Validator\Constraints\Callback;
|
use Symfony\Component\Validator\Constraints\Callback;
|
||||||
use Symfony\Component\Validator\Context\ExecutionContextInterface;
|
use Symfony\Component\Validator\Context\ExecutionContextInterface;
|
||||||
use Symfony\Contracts\Translation\TranslatorInterface;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Class PasswordController.
|
* Class PasswordController.
|
||||||
|
@@ -11,12 +11,7 @@ declare(strict_types=1);
|
|||||||
|
|
||||||
namespace Chill\MainBundle\Controller;
|
namespace Chill\MainBundle\Controller;
|
||||||
|
|
||||||
use Chill\MainBundle\Entity\User;
|
|
||||||
use Chill\MainBundle\Entity\Workflow\EntityWorkflow;
|
use Chill\MainBundle\Entity\Workflow\EntityWorkflow;
|
||||||
use Chill\MainBundle\Pagination\PaginatorFactory;
|
|
||||||
use Chill\MainBundle\Repository\Workflow\EntityWorkflowRepository;
|
|
||||||
use Chill\MainBundle\Serializer\Model\Collection;
|
|
||||||
use Chill\MainBundle\Serializer\Model\Counter;
|
|
||||||
use Doctrine\ORM\EntityManagerInterface;
|
use Doctrine\ORM\EntityManagerInterface;
|
||||||
use LogicException;
|
use LogicException;
|
||||||
use Symfony\Component\HttpFoundation\JsonResponse;
|
use Symfony\Component\HttpFoundation\JsonResponse;
|
||||||
@@ -26,71 +21,17 @@ use Symfony\Component\HttpKernel\Exception\BadRequestHttpException;
|
|||||||
use Symfony\Component\Routing\Annotation\Route;
|
use Symfony\Component\Routing\Annotation\Route;
|
||||||
use Symfony\Component\Security\Core\Exception\AccessDeniedException;
|
use Symfony\Component\Security\Core\Exception\AccessDeniedException;
|
||||||
use Symfony\Component\Security\Core\Security;
|
use Symfony\Component\Security\Core\Security;
|
||||||
use Symfony\Component\Serializer\SerializerInterface;
|
|
||||||
|
|
||||||
class WorkflowApiController
|
class WorkflowApiController
|
||||||
{
|
{
|
||||||
private EntityManagerInterface $entityManager;
|
private EntityManagerInterface $entityManager;
|
||||||
|
|
||||||
private EntityWorkflowRepository $entityWorkflowRepository;
|
|
||||||
|
|
||||||
private PaginatorFactory $paginatorFactory;
|
|
||||||
|
|
||||||
private Security $security;
|
private Security $security;
|
||||||
|
|
||||||
private SerializerInterface $serializer;
|
public function __construct(Security $security, EntityManagerInterface $entityManager)
|
||||||
|
|
||||||
public function __construct(
|
|
||||||
EntityManagerInterface $entityManager,
|
|
||||||
EntityWorkflowRepository $entityWorkflowRepository,
|
|
||||||
PaginatorFactory $paginatorFactory,
|
|
||||||
Security $security,
|
|
||||||
SerializerInterface $serializer
|
|
||||||
) {
|
|
||||||
$this->entityManager = $entityManager;
|
|
||||||
$this->entityWorkflowRepository = $entityWorkflowRepository;
|
|
||||||
$this->paginatorFactory = $paginatorFactory;
|
|
||||||
$this->security = $security;
|
|
||||||
$this->serializer = $serializer;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Return a list of workflow which are waiting an action for the user.
|
|
||||||
*
|
|
||||||
* @Route("/api/1.0/main/workflow/my", methods={"GET"})
|
|
||||||
*/
|
|
||||||
public function myWorkflow(Request $request): JsonResponse
|
|
||||||
{
|
{
|
||||||
if (!$this->security->isGranted('ROLE_USER') || !$this->security->getUser() instanceof User) {
|
$this->entityManager = $entityManager;
|
||||||
throw new AccessDeniedException();
|
$this->security = $security;
|
||||||
}
|
|
||||||
|
|
||||||
$total = $this->entityWorkflowRepository->countByDest($this->security->getUser());
|
|
||||||
|
|
||||||
if ($request->query->getBoolean('countOnly', false)) {
|
|
||||||
return new JsonResponse(
|
|
||||||
$this->serializer->serialize(new Counter($total), 'json'),
|
|
||||||
JsonResponse::HTTP_OK,
|
|
||||||
[],
|
|
||||||
true
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
$paginator = $this->paginatorFactory->create($total);
|
|
||||||
|
|
||||||
$workflows = $this->entityWorkflowRepository->findByDest(
|
|
||||||
$this->security->getUser(),
|
|
||||||
['id' => 'DESC'],
|
|
||||||
$paginator->getItemsPerPage(),
|
|
||||||
$paginator->getCurrentPageFirstItemNumber()
|
|
||||||
);
|
|
||||||
|
|
||||||
return new JsonResponse(
|
|
||||||
$this->serializer->serialize(new Collection($workflows, $paginator), 'json', ['groups' => ['read']]),
|
|
||||||
JsonResponse::HTTP_OK,
|
|
||||||
[],
|
|
||||||
true
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@@ -11,26 +11,21 @@ declare(strict_types=1);
|
|||||||
|
|
||||||
namespace Chill\MainBundle\Controller;
|
namespace Chill\MainBundle\Controller;
|
||||||
|
|
||||||
use Chill\MainBundle\Entity\User;
|
|
||||||
use Chill\MainBundle\Entity\Workflow\EntityWorkflow;
|
use Chill\MainBundle\Entity\Workflow\EntityWorkflow;
|
||||||
use Chill\MainBundle\Entity\Workflow\EntityWorkflowComment;
|
use Chill\MainBundle\Entity\Workflow\EntityWorkflowComment;
|
||||||
use Chill\MainBundle\Entity\Workflow\EntityWorkflowStep;
|
|
||||||
use Chill\MainBundle\Form\EntityWorkflowCommentType;
|
use Chill\MainBundle\Form\EntityWorkflowCommentType;
|
||||||
use Chill\MainBundle\Form\WorkflowStepType;
|
use Chill\MainBundle\Form\WorkflowStepType;
|
||||||
use Chill\MainBundle\Pagination\PaginatorFactory;
|
use Chill\MainBundle\Pagination\PaginatorFactory;
|
||||||
use Chill\MainBundle\Repository\Workflow\EntityWorkflowRepository;
|
use Chill\MainBundle\Repository\Workflow\EntityWorkflowRepository;
|
||||||
use Chill\MainBundle\Security\Authorization\EntityWorkflowVoter;
|
use Chill\MainBundle\Security\Authorization\EntityWorkflowVoter;
|
||||||
use Chill\MainBundle\Workflow\EntityWorkflowManager;
|
use Chill\MainBundle\Workflow\EntityWorkflowManager;
|
||||||
|
use Chill\MainBundle\Workflow\Validator\StepDestValid;
|
||||||
use Doctrine\ORM\EntityManagerInterface;
|
use Doctrine\ORM\EntityManagerInterface;
|
||||||
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
|
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
|
||||||
use Symfony\Component\Form\Extension\Core\Type\FormType;
|
|
||||||
use Symfony\Component\Form\Extension\Core\Type\SubmitType;
|
|
||||||
use Symfony\Component\HttpFoundation\Exception\BadRequestException;
|
|
||||||
use Symfony\Component\HttpFoundation\Request;
|
use Symfony\Component\HttpFoundation\Request;
|
||||||
use Symfony\Component\HttpFoundation\Response;
|
use Symfony\Component\HttpFoundation\Response;
|
||||||
use Symfony\Component\HttpKernel\Exception\BadRequestHttpException;
|
use Symfony\Component\HttpKernel\Exception\BadRequestHttpException;
|
||||||
use Symfony\Component\Routing\Annotation\Route;
|
use Symfony\Component\Routing\Annotation\Route;
|
||||||
use Symfony\Component\Security\Core\Exception\AccessDeniedException;
|
|
||||||
use Symfony\Component\Validator\Validator\ValidatorInterface;
|
use Symfony\Component\Validator\Validator\ValidatorInterface;
|
||||||
use Symfony\Component\Workflow\Registry;
|
use Symfony\Component\Workflow\Registry;
|
||||||
use Symfony\Component\Workflow\TransitionBlocker;
|
use Symfony\Component\Workflow\TransitionBlocker;
|
||||||
@@ -85,9 +80,7 @@ class WorkflowController extends AbstractController
|
|||||||
$entityWorkflow
|
$entityWorkflow
|
||||||
->setRelatedEntityClass($request->query->get('entityClass'))
|
->setRelatedEntityClass($request->query->get('entityClass'))
|
||||||
->setRelatedEntityId($request->query->getInt('entityId'))
|
->setRelatedEntityId($request->query->getInt('entityId'))
|
||||||
->setWorkflowName($request->query->get('workflow'))
|
->setWorkflowName($request->query->get('workflow'));
|
||||||
->addSubscriberToStep($this->getUser())
|
|
||||||
->addSubscriberToFinal($this->getUser());
|
|
||||||
|
|
||||||
$errors = $this->validator->validate($entityWorkflow, null, ['creation']);
|
$errors = $this->validator->validate($entityWorkflow, null, ['creation']);
|
||||||
|
|
||||||
@@ -111,121 +104,6 @@ class WorkflowController extends AbstractController
|
|||||||
return $this->redirectToRoute('chill_main_workflow_show', ['id' => $entityWorkflow->getId()]);
|
return $this->redirectToRoute('chill_main_workflow_show', ['id' => $entityWorkflow->getId()]);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* @Route("/{_locale}/main/workflow/{id}/delete", name="chill_main_workflow_delete")
|
|
||||||
*/
|
|
||||||
public function delete(EntityWorkflow $entityWorkflow, Request $request): Response
|
|
||||||
{
|
|
||||||
$this->denyAccessUnlessGranted(EntityWorkflowVoter::DELETE, $entityWorkflow);
|
|
||||||
|
|
||||||
$form = $this->createForm(FormType::class);
|
|
||||||
$form->add('submit', SubmitType::class, ['label' => 'workflow.Delete workflow']);
|
|
||||||
$form->handleRequest($request);
|
|
||||||
|
|
||||||
if ($form->isSubmitted() && $form->isValid()) {
|
|
||||||
$this->entityManager->remove($entityWorkflow);
|
|
||||||
$this->entityManager->flush();
|
|
||||||
|
|
||||||
$this->addFlash('success', $this->translator->trans('workflow.Workflow deleted with success'));
|
|
||||||
|
|
||||||
return $this->redirectToRoute('chill_main_homepage');
|
|
||||||
}
|
|
||||||
|
|
||||||
return $this->render('@ChillMain/Workflow/delete.html.twig', [
|
|
||||||
'entityWorkflow' => $entityWorkflow,
|
|
||||||
'delete_form' => $form->createView(),
|
|
||||||
'handler' => $this->entityWorkflowManager->getHandler($entityWorkflow),
|
|
||||||
]);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @Route("/{_locale}/main/workflow-step/{id}/access_key", name="chill_main_workflow_grant_access_by_key")
|
|
||||||
*/
|
|
||||||
public function getAccessByAccessKey(EntityWorkflowStep $entityWorkflowStep, Request $request): Response
|
|
||||||
{
|
|
||||||
if (null === $accessKey = $request->query->get('accessKey', null)) {
|
|
||||||
throw new BadRequestException('accessKey is missing');
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!$this->getUser() instanceof User) {
|
|
||||||
throw new AccessDeniedException('Not a valid user');
|
|
||||||
}
|
|
||||||
|
|
||||||
if ($entityWorkflowStep->getAccessKey() !== $accessKey) {
|
|
||||||
throw new AccessDeniedException('Access key is invalid');
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!$entityWorkflowStep->isWaitingForTransition()) {
|
|
||||||
$this->addFlash('error', $this->translator->trans('workflow.Steps is not waiting for transition. Maybe someone apply the transition before you ?'));
|
|
||||||
} else {
|
|
||||||
$entityWorkflowStep->addDestUserByAccessKey($this->getUser());
|
|
||||||
$this->entityManager->flush();
|
|
||||||
$this->addFlash('success', $this->translator->trans('workflow.You get access to this step'));
|
|
||||||
}
|
|
||||||
|
|
||||||
return $this->redirectToRoute('chill_main_workflow_show', ['id' => $entityWorkflowStep->getEntityWorkflow()->getId()]);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Previous workflows where the user has applyed a transition.
|
|
||||||
*
|
|
||||||
* @Route("/{_locale}/main/workflow/list/previous_transitionned", name="chill_main_workflow_list_previous_transitionned")
|
|
||||||
*/
|
|
||||||
public function myPreviousWorkflowsTransitionned(Request $request): Response
|
|
||||||
{
|
|
||||||
$this->denyAccessUnlessGranted('IS_AUTHENTICATED_REMEMBERED');
|
|
||||||
|
|
||||||
$total = $this->entityWorkflowRepository->countByPreviousTransitionned($this->getUser());
|
|
||||||
$paginator = $this->paginatorFactory->create($total);
|
|
||||||
|
|
||||||
$workflows = $this->entityWorkflowRepository->findByPreviousTransitionned(
|
|
||||||
$this->getUser(),
|
|
||||||
['createdAt' => 'DESC'],
|
|
||||||
$paginator->getItemsPerPage(),
|
|
||||||
$paginator->getCurrentPageFirstItemNumber()
|
|
||||||
);
|
|
||||||
|
|
||||||
return $this->render(
|
|
||||||
'@ChillMain/Workflow/list.html.twig',
|
|
||||||
[
|
|
||||||
'help' => 'workflow.Previous workflow transitionned help',
|
|
||||||
'workflows' => $this->buildHandler($workflows),
|
|
||||||
'paginator' => $paginator,
|
|
||||||
'step' => 'previous_transitionned',
|
|
||||||
]
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Previous workflows where the user was mentioned, but did not give any reaction.
|
|
||||||
*
|
|
||||||
* @Route("/{_locale}/main/workflow/list/previous_without_reaction", name="chill_main_workflow_list_previous_without_reaction")
|
|
||||||
*/
|
|
||||||
public function myPreviousWorkflowsWithoutReaction(Request $request): Response
|
|
||||||
{
|
|
||||||
$this->denyAccessUnlessGranted('IS_AUTHENTICATED_REMEMBERED');
|
|
||||||
|
|
||||||
$total = $this->entityWorkflowRepository->countByPreviousDestWithoutReaction($this->getUser());
|
|
||||||
$paginator = $this->paginatorFactory->create($total);
|
|
||||||
|
|
||||||
$workflows = $this->entityWorkflowRepository->findByPreviousDestWithoutReaction(
|
|
||||||
$this->getUser(),
|
|
||||||
['createdAt' => 'DESC'],
|
|
||||||
$paginator->getItemsPerPage(),
|
|
||||||
$paginator->getCurrentPageFirstItemNumber()
|
|
||||||
);
|
|
||||||
|
|
||||||
return $this->render(
|
|
||||||
'@ChillMain/Workflow/list.html.twig',
|
|
||||||
[
|
|
||||||
'help' => 'workflow.Previous workflow without reaction help',
|
|
||||||
'workflows' => $this->buildHandler($workflows),
|
|
||||||
'paginator' => $paginator,
|
|
||||||
'step' => 'previous_without_reaction',
|
|
||||||
]
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @Route("/{_locale}/main/workflow/list/dest", name="chill_main_workflow_list_dest")
|
* @Route("/{_locale}/main/workflow/list/dest", name="chill_main_workflow_list_dest")
|
||||||
*/
|
*/
|
||||||
@@ -319,22 +197,24 @@ class WorkflowController extends AbstractController
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
$entityWorkflow->futureDestUsers = $transitionForm['future_dest_users']->getData();
|
|
||||||
$entityWorkflow->futureDestEmails = $transitionForm['future_dest_emails']->getData();
|
|
||||||
|
|
||||||
$workflow->apply($entityWorkflow, $transition);
|
$workflow->apply($entityWorkflow, $transition);
|
||||||
|
|
||||||
foreach ($transitionForm['future_dest_users']->getData() as $user) {
|
foreach ($transitionForm['future_dest_users']->getData() as $user) {
|
||||||
$entityWorkflow->getCurrentStep()->addDestUser($user);
|
$entityWorkflow->getCurrentStep()->addDestUser($user);
|
||||||
}
|
}
|
||||||
|
|
||||||
foreach ($transitionForm['future_dest_emails']->getData() as $email) {
|
$errors = $this->validator->validate(
|
||||||
$entityWorkflow->getCurrentStep()->addDestEmail($email);
|
$entityWorkflow->getCurrentStep(),
|
||||||
|
new StepDestValid()
|
||||||
|
);
|
||||||
|
|
||||||
|
if (count($errors) === 0) {
|
||||||
|
$this->entityManager->flush();
|
||||||
|
|
||||||
|
return $this->redirectToRoute('chill_main_workflow_show', ['id' => $entityWorkflow->getId()]);
|
||||||
}
|
}
|
||||||
|
|
||||||
$this->entityManager->flush();
|
return new Response((string) $errors, Response::HTTP_UNPROCESSABLE_ENTITY);
|
||||||
|
|
||||||
return $this->redirectToRoute('chill_main_workflow_show', ['id' => $entityWorkflow->getId()]);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($transitionForm->isSubmitted() && !$transitionForm->isValid()) {
|
if ($transitionForm->isSubmitted() && !$transitionForm->isValid()) {
|
||||||
@@ -361,8 +241,8 @@ class WorkflowController extends AbstractController
|
|||||||
return $this->render(
|
return $this->render(
|
||||||
'@ChillMain/Workflow/index.html.twig',
|
'@ChillMain/Workflow/index.html.twig',
|
||||||
[
|
[
|
||||||
'handler' => $handler,
|
|
||||||
'handler_template' => $handler->getTemplate($entityWorkflow),
|
'handler_template' => $handler->getTemplate($entityWorkflow),
|
||||||
|
'handler_template_title' => $handler->getTemplateTitle($entityWorkflow),
|
||||||
'handler_template_data' => $handler->getTemplateData($entityWorkflow),
|
'handler_template_data' => $handler->getTemplateData($entityWorkflow),
|
||||||
'transition_form' => isset($transitionForm) ? $transitionForm->createView() : null,
|
'transition_form' => isset($transitionForm) ? $transitionForm->createView() : null,
|
||||||
'entity_workflow' => $entityWorkflow,
|
'entity_workflow' => $entityWorkflow,
|
||||||
|
@@ -12,7 +12,6 @@ declare(strict_types=1);
|
|||||||
namespace Chill\MainBundle\DependencyInjection;
|
namespace Chill\MainBundle\DependencyInjection;
|
||||||
|
|
||||||
use Chill\MainBundle\Controller\AddressApiController;
|
use Chill\MainBundle\Controller\AddressApiController;
|
||||||
use Chill\MainBundle\Controller\CivilityApiController;
|
|
||||||
use Chill\MainBundle\Controller\LocationController;
|
use Chill\MainBundle\Controller\LocationController;
|
||||||
use Chill\MainBundle\Controller\LocationTypeController;
|
use Chill\MainBundle\Controller\LocationTypeController;
|
||||||
use Chill\MainBundle\Controller\UserController;
|
use Chill\MainBundle\Controller\UserController;
|
||||||
@@ -39,7 +38,6 @@ use Chill\MainBundle\Form\LocationTypeType;
|
|||||||
use Chill\MainBundle\Form\UserJobType;
|
use Chill\MainBundle\Form\UserJobType;
|
||||||
use Chill\MainBundle\Form\UserType;
|
use Chill\MainBundle\Form\UserType;
|
||||||
use Exception;
|
use Exception;
|
||||||
use Misd\PhoneNumberBundle\Doctrine\DBAL\Types\PhoneNumberType;
|
|
||||||
use Ramsey\Uuid\Doctrine\UuidType;
|
use Ramsey\Uuid\Doctrine\UuidType;
|
||||||
use Symfony\Component\Config\FileLocator;
|
use Symfony\Component\Config\FileLocator;
|
||||||
use Symfony\Component\DependencyInjection\ContainerBuilder;
|
use Symfony\Component\DependencyInjection\ContainerBuilder;
|
||||||
@@ -236,7 +234,6 @@ class ChillMainExtension extends Extension implements
|
|||||||
'dateinterval' => NativeDateIntervalType::class,
|
'dateinterval' => NativeDateIntervalType::class,
|
||||||
'point' => PointType::class,
|
'point' => PointType::class,
|
||||||
'uuid' => UuidType::class,
|
'uuid' => UuidType::class,
|
||||||
'phone_number' => PhoneNumberType::class,
|
|
||||||
],
|
],
|
||||||
],
|
],
|
||||||
]
|
]
|
||||||
@@ -256,13 +253,6 @@ class ChillMainExtension extends Extension implements
|
|||||||
'channels' => ['chill'],
|
'channels' => ['chill'],
|
||||||
]);
|
]);
|
||||||
|
|
||||||
$container->prependExtensionConfig('security', [
|
|
||||||
'access_decision_manager' => [
|
|
||||||
'strategy' => 'unanimous',
|
|
||||||
'allow_if_all_abstain' => false,
|
|
||||||
],
|
|
||||||
]);
|
|
||||||
|
|
||||||
//add crud api
|
//add crud api
|
||||||
$this->prependCruds($container);
|
$this->prependCruds($container);
|
||||||
}
|
}
|
||||||
@@ -569,21 +559,6 @@ class ChillMainExtension extends Extension implements
|
|||||||
],
|
],
|
||||||
],
|
],
|
||||||
],
|
],
|
||||||
[
|
|
||||||
'class' => \Chill\MainBundle\Entity\Civility::class,
|
|
||||||
'name' => 'civility',
|
|
||||||
'base_path' => '/api/1.0/main/civility',
|
|
||||||
'base_role' => 'ROLE_USER',
|
|
||||||
'controller' => CivilityApiController::class,
|
|
||||||
'actions' => [
|
|
||||||
'_index' => [
|
|
||||||
'methods' => [
|
|
||||||
Request::METHOD_GET => true,
|
|
||||||
Request::METHOD_HEAD => true,
|
|
||||||
],
|
|
||||||
],
|
|
||||||
],
|
|
||||||
],
|
|
||||||
],
|
],
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
|
@@ -97,9 +97,6 @@ class Configuration implements ConfigurationInterface
|
|||||||
->scalarNode('twilio_secret')
|
->scalarNode('twilio_secret')
|
||||||
->defaultNull()
|
->defaultNull()
|
||||||
->end()
|
->end()
|
||||||
->scalarNode('default_carrier_code')
|
|
||||||
->defaultNull()
|
|
||||||
->end()
|
|
||||||
->end()
|
->end()
|
||||||
->end()
|
->end()
|
||||||
->arrayNode('acl')
|
->arrayNode('acl')
|
||||||
|
@@ -139,10 +139,12 @@ class Address
|
|||||||
private $point;
|
private $point;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
* @var PostalCode
|
||||||
|
*
|
||||||
* @ORM\ManyToOne(targetEntity="Chill\MainBundle\Entity\PostalCode")
|
* @ORM\ManyToOne(targetEntity="Chill\MainBundle\Entity\PostalCode")
|
||||||
* @Groups({"write"})
|
* @Groups({"write"})
|
||||||
*/
|
*/
|
||||||
private ?PostalCode $postcode = null;
|
private $postcode;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @var string|null
|
* @var string|null
|
||||||
@@ -304,8 +306,10 @@ class Address
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Get postcode.
|
* Get postcode.
|
||||||
|
*
|
||||||
|
* @return PostalCode
|
||||||
*/
|
*/
|
||||||
public function getPostcode(): ?PostalCode
|
public function getPostcode()
|
||||||
{
|
{
|
||||||
return $this->postcode;
|
return $this->postcode;
|
||||||
}
|
}
|
||||||
|
@@ -17,7 +17,6 @@ use Symfony\Component\Serializer\Annotation as Serializer;
|
|||||||
/**
|
/**
|
||||||
* @ORM\Table(name="chill_main_civility")
|
* @ORM\Table(name="chill_main_civility")
|
||||||
* @ORM\Entity
|
* @ORM\Entity
|
||||||
* @Serializer\DiscriminatorMap(typeProperty="type", mapping={"chill_main_civility": Civility::class})
|
|
||||||
*/
|
*/
|
||||||
class Civility
|
class Civility
|
||||||
{
|
{
|
||||||
@@ -30,7 +29,6 @@ class Civility
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* @ORM\Column(type="boolean")
|
* @ORM\Column(type="boolean")
|
||||||
* @Serializer\Groups({"read"})
|
|
||||||
*/
|
*/
|
||||||
private bool $active = true;
|
private bool $active = true;
|
||||||
|
|
||||||
|
@@ -18,9 +18,9 @@ use Chill\MainBundle\Validation\Constraint\PhonenumberConstraint;
|
|||||||
use DateTimeImmutable;
|
use DateTimeImmutable;
|
||||||
use DateTimeInterface;
|
use DateTimeInterface;
|
||||||
use Doctrine\ORM\Mapping as ORM;
|
use Doctrine\ORM\Mapping as ORM;
|
||||||
use libphonenumber\PhoneNumber;
|
|
||||||
use Symfony\Component\Serializer\Annotation as Serializer;
|
use Symfony\Component\Serializer\Annotation as Serializer;
|
||||||
use Symfony\Component\Serializer\Annotation\DiscriminatorMap;
|
use Symfony\Component\Serializer\Annotation\DiscriminatorMap;
|
||||||
|
use Symfony\Component\Validator\Constraints as Assert;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @ORM\Table(name="chill_main_location")
|
* @ORM\Table(name="chill_main_location")
|
||||||
@@ -90,18 +90,20 @@ class Location implements TrackCreationInterface, TrackUpdateInterface
|
|||||||
private ?string $name = null;
|
private ?string $name = null;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @ORM\Column(type="phone_number", nullable=true)
|
* @ORM\Column(type="string", length=64, nullable=true)
|
||||||
* @Serializer\Groups({"read", "write", "docgen:read"})
|
* @Serializer\Groups({"read", "write", "docgen:read"})
|
||||||
|
* @Assert\Regex(pattern="/^([\+{1}])([0-9\s*]{4,20})$/")
|
||||||
* @PhonenumberConstraint(type="any")
|
* @PhonenumberConstraint(type="any")
|
||||||
*/
|
*/
|
||||||
private ?PhoneNumber $phonenumber1 = null;
|
private ?string $phonenumber1 = null;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @ORM\Column(type="phone_number", nullable=true)
|
* @ORM\Column(type="string", length=64, nullable=true)
|
||||||
* @Serializer\Groups({"read", "write", "docgen:read"})
|
* @Serializer\Groups({"read", "write", "docgen:read"})
|
||||||
|
* @Assert\Regex(pattern="/^([\+{1}])([0-9\s*]{4,20})$/")
|
||||||
* @PhonenumberConstraint(type="any")
|
* @PhonenumberConstraint(type="any")
|
||||||
*/
|
*/
|
||||||
private ?PhoneNumber $phonenumber2 = null;
|
private ?string $phonenumber2 = null;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @ORM\Column(type="datetime_immutable", nullable=true)
|
* @ORM\Column(type="datetime_immutable", nullable=true)
|
||||||
@@ -160,12 +162,12 @@ class Location implements TrackCreationInterface, TrackUpdateInterface
|
|||||||
return $this->name;
|
return $this->name;
|
||||||
}
|
}
|
||||||
|
|
||||||
public function getPhonenumber1(): ?PhoneNumber
|
public function getPhonenumber1(): ?string
|
||||||
{
|
{
|
||||||
return $this->phonenumber1;
|
return $this->phonenumber1;
|
||||||
}
|
}
|
||||||
|
|
||||||
public function getPhonenumber2(): ?PhoneNumber
|
public function getPhonenumber2(): ?string
|
||||||
{
|
{
|
||||||
return $this->phonenumber2;
|
return $this->phonenumber2;
|
||||||
}
|
}
|
||||||
@@ -236,14 +238,14 @@ class Location implements TrackCreationInterface, TrackUpdateInterface
|
|||||||
return $this;
|
return $this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public function setPhonenumber1(?PhoneNumber $phonenumber1): self
|
public function setPhonenumber1(?string $phonenumber1): self
|
||||||
{
|
{
|
||||||
$this->phonenumber1 = $phonenumber1;
|
$this->phonenumber1 = $phonenumber1;
|
||||||
|
|
||||||
return $this;
|
return $this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public function setPhonenumber2(?PhoneNumber $phonenumber2): self
|
public function setPhonenumber2(?string $phonenumber2): self
|
||||||
{
|
{
|
||||||
$this->phonenumber2 = $phonenumber2;
|
$this->phonenumber2 = $phonenumber2;
|
||||||
|
|
||||||
|
@@ -9,28 +9,24 @@
|
|||||||
|
|
||||||
declare(strict_types=1);
|
declare(strict_types=1);
|
||||||
|
|
||||||
namespace Chill\PersonBundle\Entity\Person;
|
namespace Chill\MainBundle\Entity;
|
||||||
|
|
||||||
use Chill\MainBundle\Entity\Address;
|
|
||||||
use Chill\MainBundle\Entity\Embeddable\CommentEmbeddable;
|
use Chill\MainBundle\Entity\Embeddable\CommentEmbeddable;
|
||||||
|
use Chill\MainBundle\Repository\ResidentialAddressRepository;
|
||||||
use Chill\PersonBundle\Entity\Person;
|
use Chill\PersonBundle\Entity\Person;
|
||||||
use Chill\PersonBundle\Repository\ResidentialAddressRepository;
|
|
||||||
use Chill\ThirdPartyBundle\Entity\ThirdParty;
|
use Chill\ThirdPartyBundle\Entity\ThirdParty;
|
||||||
use DateTimeImmutable;
|
use DateTimeImmutable;
|
||||||
use Doctrine\ORM\Mapping as ORM;
|
use Doctrine\ORM\Mapping as ORM;
|
||||||
use Symfony\Component\Serializer\Annotation\Context;
|
|
||||||
use Symfony\Component\Serializer\Annotation\Groups;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @ORM\Entity(repositoryClass=ResidentialAddressRepository::class)
|
* @ORM\Entity(repositoryClass=ResidentialAddressRepository::class)
|
||||||
* @ORM\Table(name="chill_person_residential_address")
|
* @ORM\Table(name="chill_main_residential_address")
|
||||||
*/
|
*/
|
||||||
class ResidentialAddress
|
class ResidentialAddress
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* @ORM\ManyToOne(targetEntity=Address::class)
|
* @ORM\ManyToOne(targetEntity=Address::class)
|
||||||
* @ORM\JoinColumn(nullable=true)
|
* @ORM\JoinColumn(nullable=true)
|
||||||
* @Groups({"read"})
|
|
||||||
*/
|
*/
|
||||||
private ?Address $address = null;
|
private ?Address $address = null;
|
||||||
|
|
||||||
@@ -41,22 +37,18 @@ class ResidentialAddress
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* @ORM\Column(type="datetime_immutable", nullable=true)
|
* @ORM\Column(type="datetime_immutable", nullable=true)
|
||||||
* @Groups({"read"})
|
|
||||||
*/
|
*/
|
||||||
private ?DateTimeImmutable $endDate = null;
|
private ?DateTimeImmutable $endDate = null;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @ORM\ManyToOne(targetEntity=Person::class)
|
* @ORM\ManyToOne(targetEntity=Person::class)
|
||||||
* @ORM\JoinColumn(nullable=true)
|
* @ORM\JoinColumn(nullable=true)
|
||||||
* @Groups({"read"})
|
|
||||||
* @Context(normalizationContext={"groups": {"minimal"}})
|
|
||||||
*/
|
*/
|
||||||
private ?Person $hostPerson = null;
|
private ?Person $hostPerson = null;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @ORM\ManyToOne(targetEntity=ThirdParty::class)
|
* @ORM\ManyToOne(targetEntity=ThirdParty::class)
|
||||||
* @ORM\JoinColumn(nullable=true)
|
* @ORM\JoinColumn(nullable=true)
|
||||||
* @Groups({"read"})
|
|
||||||
*/
|
*/
|
||||||
private ?ThirdParty $hostThirdParty = null;
|
private ?ThirdParty $hostThirdParty = null;
|
||||||
|
|
||||||
@@ -75,7 +67,6 @@ class ResidentialAddress
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* @ORM\Column(type="datetime_immutable")
|
* @ORM\Column(type="datetime_immutable")
|
||||||
* @Groups({"read"})
|
|
||||||
*/
|
*/
|
||||||
private ?DateTimeImmutable $startDate = null;
|
private ?DateTimeImmutable $startDate = null;
|
||||||
|
|
@@ -112,11 +112,6 @@ class User implements AdvancedUserInterface
|
|||||||
*/
|
*/
|
||||||
private string $password = '';
|
private string $password = '';
|
||||||
|
|
||||||
/**
|
|
||||||
* @ORM\Column(type="json")
|
|
||||||
*/
|
|
||||||
private array $roles = ['ROLE_USER'];
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @internal must be set to null if we use bcrypt
|
* @internal must be set to null if we use bcrypt
|
||||||
*
|
*
|
||||||
@@ -151,24 +146,36 @@ class User implements AdvancedUserInterface
|
|||||||
$this->groupCenters = new ArrayCollection();
|
$this->groupCenters = new ArrayCollection();
|
||||||
}
|
}
|
||||||
|
|
||||||
public function __toString(): string
|
/**
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
public function __toString()
|
||||||
{
|
{
|
||||||
return $this->getLabel();
|
return $this->getLabel();
|
||||||
}
|
}
|
||||||
|
|
||||||
public function addGroupCenter(GroupCenter $groupCenter): self
|
/**
|
||||||
|
* @param \Chill\MainBundle\Entity\GroupCenter $groupCenter
|
||||||
|
*
|
||||||
|
* @return \Chill\MainBundle\Entity\User
|
||||||
|
*/
|
||||||
|
public function addGroupCenter(GroupCenter $groupCenter)
|
||||||
{
|
{
|
||||||
$this->groupCenters->add($groupCenter);
|
$this->groupCenters->add($groupCenter);
|
||||||
|
|
||||||
return $this;
|
return $this;
|
||||||
}
|
}
|
||||||
|
|
||||||
// empty function... remove?
|
|
||||||
public function eraseCredentials()
|
public function eraseCredentials()
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
public function getAttributes(): ?array
|
/**
|
||||||
|
* Get attributes.
|
||||||
|
*
|
||||||
|
* @return array
|
||||||
|
*/
|
||||||
|
public function getAttributes()
|
||||||
{
|
{
|
||||||
if (null === $this->attributes) {
|
if (null === $this->attributes) {
|
||||||
$this->attributes = [];
|
$this->attributes = [];
|
||||||
@@ -182,12 +189,18 @@ class User implements AdvancedUserInterface
|
|||||||
return $this->currentLocation;
|
return $this->currentLocation;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
public function getEmail(): ?string
|
public function getEmail(): ?string
|
||||||
{
|
{
|
||||||
return $this->email;
|
return $this->email;
|
||||||
}
|
}
|
||||||
|
|
||||||
public function getEmailCanonical(): ?string
|
/**
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
public function getEmailCanonical()
|
||||||
{
|
{
|
||||||
return $this->emailCanonical;
|
return $this->emailCanonical;
|
||||||
}
|
}
|
||||||
@@ -200,7 +213,12 @@ class User implements AdvancedUserInterface
|
|||||||
return $this->groupCenters;
|
return $this->groupCenters;
|
||||||
}
|
}
|
||||||
|
|
||||||
public function getId(): ?int
|
/**
|
||||||
|
* Get id.
|
||||||
|
*
|
||||||
|
* @return int
|
||||||
|
*/
|
||||||
|
public function getId()
|
||||||
{
|
{
|
||||||
return $this->id;
|
return $this->id;
|
||||||
}
|
}
|
||||||
@@ -225,17 +243,23 @@ class User implements AdvancedUserInterface
|
|||||||
return $this->mainScope;
|
return $this->mainScope;
|
||||||
}
|
}
|
||||||
|
|
||||||
public function getPassword(): string
|
/**
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
public function getPassword()
|
||||||
{
|
{
|
||||||
return $this->password;
|
return $this->password;
|
||||||
}
|
}
|
||||||
|
|
||||||
public function getRoles(): array
|
public function getRoles(): array
|
||||||
{
|
{
|
||||||
return array_unique($this->roles);
|
return ['ROLE_USER'];
|
||||||
}
|
}
|
||||||
|
|
||||||
public function getSalt(): ?string
|
/**
|
||||||
|
* @return string|null
|
||||||
|
*/
|
||||||
|
public function getSalt()
|
||||||
{
|
{
|
||||||
return $this->salt;
|
return $this->salt;
|
||||||
}
|
}
|
||||||
@@ -245,32 +269,50 @@ class User implements AdvancedUserInterface
|
|||||||
return $this->userJob;
|
return $this->userJob;
|
||||||
}
|
}
|
||||||
|
|
||||||
public function getUsername(): string
|
/**
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
public function getUsername()
|
||||||
{
|
{
|
||||||
return $this->username;
|
return $this->username;
|
||||||
}
|
}
|
||||||
|
|
||||||
public function getUsernameCanonical(): ?string
|
/**
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
public function getUsernameCanonical()
|
||||||
{
|
{
|
||||||
return $this->usernameCanonical;
|
return $this->usernameCanonical;
|
||||||
}
|
}
|
||||||
|
|
||||||
public function isAccountNonExpired(): bool
|
/**
|
||||||
|
* @return bool
|
||||||
|
*/
|
||||||
|
public function isAccountNonExpired()
|
||||||
{
|
{
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
public function isAccountNonLocked(): bool
|
/**
|
||||||
|
* @return bool
|
||||||
|
*/
|
||||||
|
public function isAccountNonLocked()
|
||||||
{
|
{
|
||||||
return $this->locked;
|
return $this->locked;
|
||||||
}
|
}
|
||||||
|
|
||||||
public function isCredentialsNonExpired(): bool
|
/**
|
||||||
|
* @return bool
|
||||||
|
*/
|
||||||
|
public function isCredentialsNonExpired()
|
||||||
{
|
{
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
public function isEnabled(): bool
|
/**
|
||||||
|
* @return bool
|
||||||
|
*/
|
||||||
|
public function isEnabled()
|
||||||
{
|
{
|
||||||
return $this->enabled;
|
return $this->enabled;
|
||||||
}
|
}
|
||||||
@@ -321,84 +363,97 @@ class User implements AdvancedUserInterface
|
|||||||
return $this;
|
return $this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public function setCurrentLocation(?Location $currentLocation): self
|
public function setCurrentLocation(?Location $currentLocation): User
|
||||||
{
|
{
|
||||||
$this->currentLocation = $currentLocation;
|
$this->currentLocation = $currentLocation;
|
||||||
|
|
||||||
return $this;
|
return $this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public function setEmail($email): self
|
/**
|
||||||
|
* @param $email
|
||||||
|
*
|
||||||
|
* @return $this
|
||||||
|
*/
|
||||||
|
public function setEmail($email)
|
||||||
{
|
{
|
||||||
$this->email = $email;
|
$this->email = $email;
|
||||||
|
|
||||||
return $this;
|
return $this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public function setEmailCanonical($emailCanonical): self
|
/**
|
||||||
|
* @param $emailCanonical
|
||||||
|
*
|
||||||
|
* @return $this
|
||||||
|
*/
|
||||||
|
public function setEmailCanonical($emailCanonical)
|
||||||
{
|
{
|
||||||
$this->emailCanonical = $emailCanonical;
|
$this->emailCanonical = $emailCanonical;
|
||||||
|
|
||||||
return $this;
|
return $this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public function setEnabled(bool $enabled): self
|
public function setEnabled(bool $enabled)
|
||||||
{
|
{
|
||||||
$this->enabled = $enabled;
|
$this->enabled = $enabled;
|
||||||
|
|
||||||
return $this;
|
return $this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public function setLabel(string $label): self
|
public function setLabel(string $label): User
|
||||||
{
|
{
|
||||||
$this->label = $label;
|
$this->label = $label;
|
||||||
|
|
||||||
return $this;
|
return $this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public function setMainCenter(?Center $mainCenter): self
|
public function setMainCenter(?Center $mainCenter): User
|
||||||
{
|
{
|
||||||
$this->mainCenter = $mainCenter;
|
$this->mainCenter = $mainCenter;
|
||||||
|
|
||||||
return $this;
|
return $this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public function setMainLocation(?Location $mainLocation): self
|
public function setMainLocation(?Location $mainLocation): User
|
||||||
{
|
{
|
||||||
$this->mainLocation = $mainLocation;
|
$this->mainLocation = $mainLocation;
|
||||||
|
|
||||||
return $this;
|
return $this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public function setMainScope(?Scope $mainScope): self
|
public function setMainScope(?Scope $mainScope): User
|
||||||
{
|
{
|
||||||
$this->mainScope = $mainScope;
|
$this->mainScope = $mainScope;
|
||||||
|
|
||||||
return $this;
|
return $this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public function setPassword($password): self
|
/**
|
||||||
|
* @param $password
|
||||||
|
*
|
||||||
|
* @return $this
|
||||||
|
*/
|
||||||
|
public function setPassword($password)
|
||||||
{
|
{
|
||||||
$this->password = $password;
|
$this->password = $password;
|
||||||
|
|
||||||
return $this;
|
return $this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public function setRoles($roles): self
|
/**
|
||||||
{
|
* @param $salt
|
||||||
$this->roles = $roles;
|
*
|
||||||
|
* @return $this
|
||||||
return $this;
|
*/
|
||||||
}
|
public function setSalt($salt)
|
||||||
|
|
||||||
public function setSalt($salt): self
|
|
||||||
{
|
{
|
||||||
$this->salt = $salt;
|
$this->salt = $salt;
|
||||||
|
|
||||||
return $this;
|
return $this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public function setUserJob(?UserJob $userJob): self
|
public function setUserJob(?UserJob $userJob): User
|
||||||
{
|
{
|
||||||
$this->userJob = $userJob;
|
$this->userJob = $userJob;
|
||||||
|
|
||||||
@@ -423,7 +478,12 @@ class User implements AdvancedUserInterface
|
|||||||
return $this;
|
return $this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public function setUsernameCanonical($usernameCanonical): self
|
/**
|
||||||
|
* @param $usernameCanonical
|
||||||
|
*
|
||||||
|
* @return $this
|
||||||
|
*/
|
||||||
|
public function setUsernameCanonical($usernameCanonical)
|
||||||
{
|
{
|
||||||
$this->usernameCanonical = $usernameCanonical;
|
$this->usernameCanonical = $usernameCanonical;
|
||||||
|
|
||||||
|
@@ -41,28 +41,6 @@ class EntityWorkflow implements TrackCreationInterface, TrackUpdateInterface
|
|||||||
|
|
||||||
use TrackUpdateTrait;
|
use TrackUpdateTrait;
|
||||||
|
|
||||||
/**
|
|
||||||
* a list of future dest emails for the next steps.
|
|
||||||
*
|
|
||||||
* This is in used in order to let controller inform who will be the future emails which will validate
|
|
||||||
* the next step. This is necessary to perform some computation about the next emails, before they are
|
|
||||||
* associated to the entity EntityWorkflowStep.
|
|
||||||
*
|
|
||||||
* @var array|string[]
|
|
||||||
*/
|
|
||||||
public array $futureDestEmails = [];
|
|
||||||
|
|
||||||
/**
|
|
||||||
* a list of future dest users for the next steps.
|
|
||||||
*
|
|
||||||
* This is in used in order to let controller inform who will be the future users which will validate
|
|
||||||
* the next step. This is necessary to perform some computation about the next users, before they are
|
|
||||||
* associated to the entity EntityWorkflowStep.
|
|
||||||
*
|
|
||||||
* @var array|User[]
|
|
||||||
*/
|
|
||||||
public array $futureDestUsers = [];
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @ORM\OneToMany(targetEntity=EntityWorkflowComment::class, mappedBy="entityWorkflow", orphanRemoval=true)
|
* @ORM\OneToMany(targetEntity=EntityWorkflowComment::class, mappedBy="entityWorkflow", orphanRemoval=true)
|
||||||
*
|
*
|
||||||
|
@@ -27,11 +27,6 @@ use function in_array;
|
|||||||
*/
|
*/
|
||||||
class EntityWorkflowStep
|
class EntityWorkflowStep
|
||||||
{
|
{
|
||||||
/**
|
|
||||||
* @ORM\Column(type="text", nullable=false)
|
|
||||||
*/
|
|
||||||
private string $accessKey;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @ORM\Column(type="text", options={"default": ""})
|
* @ORM\Column(type="text", options={"default": ""})
|
||||||
*/
|
*/
|
||||||
@@ -53,12 +48,6 @@ class EntityWorkflowStep
|
|||||||
*/
|
*/
|
||||||
private Collection $destUser;
|
private Collection $destUser;
|
||||||
|
|
||||||
/**
|
|
||||||
* @ORM\ManyToMany(targetEntity=User::class)
|
|
||||||
* @ORM\JoinTable(name="chill_main_workflow_entity_step_user_by_accesskey")
|
|
||||||
*/
|
|
||||||
private Collection $destUserByAccessKey;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @ORM\ManyToOne(targetEntity=EntityWorkflow::class, inversedBy="steps")
|
* @ORM\ManyToOne(targetEntity=EntityWorkflow::class, inversedBy="steps")
|
||||||
*/
|
*/
|
||||||
@@ -97,7 +86,7 @@ class EntityWorkflowStep
|
|||||||
private ?string $transitionAfter = null;
|
private ?string $transitionAfter = null;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @ORM\Column(type="datetime_immutable", nullable=true, options={"default": null})
|
* @ORM\Column(type="datetime_immutable")
|
||||||
*/
|
*/
|
||||||
private ?DateTimeImmutable $transitionAt = null;
|
private ?DateTimeImmutable $transitionAt = null;
|
||||||
|
|
||||||
@@ -115,8 +104,6 @@ class EntityWorkflowStep
|
|||||||
public function __construct()
|
public function __construct()
|
||||||
{
|
{
|
||||||
$this->destUser = new ArrayCollection();
|
$this->destUser = new ArrayCollection();
|
||||||
$this->destUserByAccessKey = new ArrayCollection();
|
|
||||||
$this->accessKey = bin2hex(openssl_random_pseudo_bytes(32));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public function addDestEmail(string $email): self
|
public function addDestEmail(string $email): self
|
||||||
@@ -132,45 +119,11 @@ class EntityWorkflowStep
|
|||||||
{
|
{
|
||||||
if (!$this->destUser->contains($user)) {
|
if (!$this->destUser->contains($user)) {
|
||||||
$this->destUser[] = $user;
|
$this->destUser[] = $user;
|
||||||
$this->getEntityWorkflow()
|
|
||||||
->addSubscriberToFinal($user)
|
|
||||||
->addSubscriberToStep($user);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return $this;
|
return $this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public function addDestUserByAccessKey(User $user): self
|
|
||||||
{
|
|
||||||
if (!$this->destUserByAccessKey->contains($user) && !$this->destUser->contains($user)) {
|
|
||||||
$this->destUserByAccessKey[] = $user;
|
|
||||||
$this->getEntityWorkflow()
|
|
||||||
->addSubscriberToFinal($user)
|
|
||||||
->addSubscriberToStep($user);
|
|
||||||
}
|
|
||||||
|
|
||||||
return $this;
|
|
||||||
}
|
|
||||||
|
|
||||||
public function getAccessKey(): string
|
|
||||||
{
|
|
||||||
return $this->accessKey;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* get all the users which are allowed to apply a transition: those added manually, and
|
|
||||||
* those added automatically bu using an access key.
|
|
||||||
*/
|
|
||||||
public function getAllDestUser(): Collection
|
|
||||||
{
|
|
||||||
return new ArrayCollection(
|
|
||||||
[
|
|
||||||
...$this->getDestUser()->toArray(),
|
|
||||||
...$this->getDestUserByAccessKey()->toArray(),
|
|
||||||
]
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
public function getComment(): string
|
public function getComment(): string
|
||||||
{
|
{
|
||||||
return $this->comment;
|
return $this->comment;
|
||||||
@@ -187,21 +140,13 @@ class EntityWorkflowStep
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* get dest users added by the creator.
|
* @return ArrayCollection|Collection
|
||||||
*
|
|
||||||
* You should **not** rely on this method to get all users which are able to
|
|
||||||
* apply a transition on this step. Use @see{EntityWorkflowStep::getAllDestUser} instead.
|
|
||||||
*/
|
*/
|
||||||
public function getDestUser(): collection
|
public function getDestUser()
|
||||||
{
|
{
|
||||||
return $this->destUser;
|
return $this->destUser;
|
||||||
}
|
}
|
||||||
|
|
||||||
public function getDestUserByAccessKey(): Collection
|
|
||||||
{
|
|
||||||
return $this->destUserByAccessKey;
|
|
||||||
}
|
|
||||||
|
|
||||||
public function getEntityWorkflow(): ?EntityWorkflow
|
public function getEntityWorkflow(): ?EntityWorkflow
|
||||||
{
|
{
|
||||||
return $this->entityWorkflow;
|
return $this->entityWorkflow;
|
||||||
@@ -252,19 +197,6 @@ class EntityWorkflowStep
|
|||||||
return $this->freezeAfter;
|
return $this->freezeAfter;
|
||||||
}
|
}
|
||||||
|
|
||||||
public function isWaitingForTransition(): bool
|
|
||||||
{
|
|
||||||
if (null !== $this->transitionAfter) {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
if ($this->isFinal()) {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
public function removeDestEmail(string $email): self
|
public function removeDestEmail(string $email): self
|
||||||
{
|
{
|
||||||
$this->destEmail = array_filter($this->destEmail, static function (string $existing) use ($email) {
|
$this->destEmail = array_filter($this->destEmail, static function (string $existing) use ($email) {
|
||||||
@@ -281,13 +213,6 @@ class EntityWorkflowStep
|
|||||||
return $this;
|
return $this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public function removeDestUserByAccessKey(User $user): self
|
|
||||||
{
|
|
||||||
$this->destUserByAccessKey->removeElement($user);
|
|
||||||
|
|
||||||
return $this;
|
|
||||||
}
|
|
||||||
|
|
||||||
public function setComment(?string $comment): EntityWorkflowStep
|
public function setComment(?string $comment): EntityWorkflowStep
|
||||||
{
|
{
|
||||||
$this->comment = (string) $comment;
|
$this->comment = (string) $comment;
|
||||||
|
@@ -18,7 +18,7 @@ use OutOfBoundsException;
|
|||||||
use Symfony\Component\Form\Extension\Core\Type\ChoiceType;
|
use Symfony\Component\Form\Extension\Core\Type\ChoiceType;
|
||||||
use Symfony\Component\Form\FormBuilderInterface;
|
use Symfony\Component\Form\FormBuilderInterface;
|
||||||
use Symfony\Component\HttpFoundation\Response;
|
use Symfony\Component\HttpFoundation\Response;
|
||||||
use Symfony\Contracts\Translation\TranslatorInterface;
|
use Symfony\Component\Translation\TranslatorInterface;
|
||||||
|
|
||||||
use function array_key_exists;
|
use function array_key_exists;
|
||||||
use function array_keys;
|
use function array_keys;
|
||||||
|
@@ -17,7 +17,7 @@ use LogicException;
|
|||||||
use Symfony\Component\Form\Extension\Core\Type\ChoiceType;
|
use Symfony\Component\Form\Extension\Core\Type\ChoiceType;
|
||||||
use Symfony\Component\Form\FormBuilderInterface;
|
use Symfony\Component\Form\FormBuilderInterface;
|
||||||
use Symfony\Component\HttpFoundation\Response;
|
use Symfony\Component\HttpFoundation\Response;
|
||||||
use Symfony\Contracts\Translation\TranslatorInterface;
|
use Symfony\Component\Translation\TranslatorInterface;
|
||||||
|
|
||||||
use function array_map;
|
use function array_map;
|
||||||
use function count;
|
use function count;
|
||||||
|
@@ -19,7 +19,7 @@ use Symfony\Component\Form\Extension\Core\Type\ChoiceType;
|
|||||||
use Symfony\Component\Form\Extension\Core\Type\FormType;
|
use Symfony\Component\Form\Extension\Core\Type\FormType;
|
||||||
use Symfony\Component\Form\FormBuilderInterface;
|
use Symfony\Component\Form\FormBuilderInterface;
|
||||||
use Symfony\Component\HttpFoundation\Response;
|
use Symfony\Component\HttpFoundation\Response;
|
||||||
use Symfony\Contracts\Translation\TranslatorInterface;
|
use Symfony\Component\Translation\TranslatorInterface;
|
||||||
|
|
||||||
use function array_map;
|
use function array_map;
|
||||||
use function array_merge;
|
use function array_merge;
|
||||||
|
@@ -23,7 +23,7 @@ use PhpOffice\PhpSpreadsheet\Worksheet\Worksheet;
|
|||||||
use Symfony\Component\Form\Extension\Core\Type\ChoiceType;
|
use Symfony\Component\Form\Extension\Core\Type\ChoiceType;
|
||||||
use Symfony\Component\Form\FormBuilderInterface;
|
use Symfony\Component\Form\FormBuilderInterface;
|
||||||
use Symfony\Component\HttpFoundation\Response;
|
use Symfony\Component\HttpFoundation\Response;
|
||||||
use Symfony\Contracts\Translation\TranslatorInterface;
|
use Symfony\Component\Translation\TranslatorInterface;
|
||||||
|
|
||||||
use function array_key_exists;
|
use function array_key_exists;
|
||||||
use function array_keys;
|
use function array_keys;
|
||||||
|
@@ -12,7 +12,6 @@ declare(strict_types=1);
|
|||||||
namespace Chill\MainBundle\Form;
|
namespace Chill\MainBundle\Form;
|
||||||
|
|
||||||
use Chill\MainBundle\Entity\LocationType as EntityLocationType;
|
use Chill\MainBundle\Entity\LocationType as EntityLocationType;
|
||||||
use Chill\MainBundle\Form\Type\ChillPhoneNumberType;
|
|
||||||
use Chill\MainBundle\Form\Type\PickAddressType;
|
use Chill\MainBundle\Form\Type\PickAddressType;
|
||||||
use Chill\MainBundle\Templating\TranslatableStringHelper;
|
use Chill\MainBundle\Templating\TranslatableStringHelper;
|
||||||
use Symfony\Bridge\Doctrine\Form\Type\EntityType;
|
use Symfony\Bridge\Doctrine\Form\Type\EntityType;
|
||||||
@@ -47,8 +46,8 @@ final class LocationFormType extends AbstractType
|
|||||||
},
|
},
|
||||||
])
|
])
|
||||||
->add('name', TextType::class)
|
->add('name', TextType::class)
|
||||||
->add('phonenumber1', ChillPhoneNumberType::class, ['required' => false])
|
->add('phonenumber1', TextType::class, ['required' => false])
|
||||||
->add('phonenumber2', ChillPhoneNumberType::class, ['required' => false])
|
->add('phonenumber2', TextType::class, ['required' => false])
|
||||||
->add('email', TextType::class, ['required' => false])
|
->add('email', TextType::class, ['required' => false])
|
||||||
->add('address', PickAddressType::class, [
|
->add('address', PickAddressType::class, [
|
||||||
'required' => false,
|
'required' => false,
|
||||||
|
@@ -1,61 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Chill is a software for social workers
|
|
||||||
*
|
|
||||||
* For the full copyright and license information, please view
|
|
||||||
* the LICENSE file that was distributed with this source code.
|
|
||||||
*/
|
|
||||||
|
|
||||||
declare(strict_types=1);
|
|
||||||
|
|
||||||
namespace Chill\MainBundle\Form\Type;
|
|
||||||
|
|
||||||
use libphonenumber\PhoneNumberFormat;
|
|
||||||
use libphonenumber\PhoneNumberUtil;
|
|
||||||
use Misd\PhoneNumberBundle\Form\Type\PhoneNumberType;
|
|
||||||
use Symfony\Component\DependencyInjection\ParameterBag\ParameterBagInterface;
|
|
||||||
use Symfony\Component\Form\AbstractType;
|
|
||||||
use Symfony\Component\OptionsResolver\Options;
|
|
||||||
use Symfony\Component\OptionsResolver\OptionsResolver;
|
|
||||||
use function array_key_exists;
|
|
||||||
|
|
||||||
class ChillPhoneNumberType extends AbstractType
|
|
||||||
{
|
|
||||||
private string $defaultCarrierCode;
|
|
||||||
|
|
||||||
private PhoneNumberUtil $phoneNumberUtil;
|
|
||||||
|
|
||||||
public function __construct(ParameterBagInterface $parameterBag)
|
|
||||||
{
|
|
||||||
$this->defaultCarrierCode = $parameterBag->get('chill_main')['phone_helper']['default_carrier_code'];
|
|
||||||
$this->phoneNumberUtil = PhoneNumberUtil::getInstance();
|
|
||||||
}
|
|
||||||
|
|
||||||
public function configureOptions(OptionsResolver $resolver)
|
|
||||||
{
|
|
||||||
$resolver
|
|
||||||
->setDefault('default_region', $this->defaultCarrierCode)
|
|
||||||
->setDefault('format', PhoneNumberFormat::NATIONAL)
|
|
||||||
->setDefault('type', \libphonenumber\PhoneNumberType::FIXED_LINE_OR_MOBILE)
|
|
||||||
->setNormalizer('attr', function (Options $options, $value) {
|
|
||||||
if (array_key_exists('placeholder', $value)) {
|
|
||||||
return $value;
|
|
||||||
}
|
|
||||||
|
|
||||||
$examplePhoneNumber = $this->phoneNumberUtil->getExampleNumberForType($this->defaultCarrierCode, $options['type']);
|
|
||||||
|
|
||||||
return array_merge(
|
|
||||||
$value,
|
|
||||||
[
|
|
||||||
'placeholder' => PhoneNumberUtil::getInstance()->format($examplePhoneNumber, $options['format']),
|
|
||||||
]
|
|
||||||
);
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
public function getParent()
|
|
||||||
{
|
|
||||||
return PhoneNumberType::class;
|
|
||||||
}
|
|
||||||
}
|
|
@@ -38,7 +38,7 @@ class ObjectToIdTransformer implements DataTransformerInterface
|
|||||||
*/
|
*/
|
||||||
public function reverseTransform($id)
|
public function reverseTransform($id)
|
||||||
{
|
{
|
||||||
if (null === $id) {
|
if (!$id) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -46,7 +46,7 @@ class ObjectToIdTransformer implements DataTransformerInterface
|
|||||||
->getRepository($this->class)
|
->getRepository($this->class)
|
||||||
->find($id);
|
->find($id);
|
||||||
|
|
||||||
if (null === $object) {
|
if (!$object) {
|
||||||
throw new TransformationFailedException();
|
throw new TransformationFailedException();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -62,7 +62,7 @@ class ObjectToIdTransformer implements DataTransformerInterface
|
|||||||
*/
|
*/
|
||||||
public function transform($object)
|
public function transform($object)
|
||||||
{
|
{
|
||||||
if (null === $object) {
|
if (!$object) {
|
||||||
return '';
|
return '';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -1,57 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Chill is a software for social workers
|
|
||||||
*
|
|
||||||
* For the full copyright and license information, please view
|
|
||||||
* the LICENSE file that was distributed with this source code.
|
|
||||||
*/
|
|
||||||
|
|
||||||
declare(strict_types=1);
|
|
||||||
|
|
||||||
namespace Chill\MainBundle\Form\Type;
|
|
||||||
|
|
||||||
use Chill\MainBundle\Entity\Civility;
|
|
||||||
use Chill\MainBundle\Templating\TranslatableStringHelper;
|
|
||||||
use Doctrine\ORM\EntityRepository;
|
|
||||||
use Doctrine\ORM\QueryBuilder;
|
|
||||||
use Symfony\Bridge\Doctrine\Form\Type\EntityType;
|
|
||||||
use Symfony\Component\Form\AbstractType;
|
|
||||||
use Symfony\Component\OptionsResolver\OptionsResolver;
|
|
||||||
|
|
||||||
class PickCivilityType extends AbstractType
|
|
||||||
{
|
|
||||||
private TranslatableStringHelper $translatableStringHelper;
|
|
||||||
|
|
||||||
public function __construct(TranslatableStringHelper $translatableStringHelper)
|
|
||||||
{
|
|
||||||
$this->translatableStringHelper = $translatableStringHelper;
|
|
||||||
}
|
|
||||||
|
|
||||||
public function configureOptions(OptionsResolver $resolver)
|
|
||||||
{
|
|
||||||
$resolver
|
|
||||||
->setDefault('label', 'Civility')
|
|
||||||
->setDefault(
|
|
||||||
'choice_label',
|
|
||||||
function (Civility $civility): string {
|
|
||||||
return $this->translatableStringHelper->localize($civility->getName());
|
|
||||||
}
|
|
||||||
)
|
|
||||||
->setDefault(
|
|
||||||
'query_builder',
|
|
||||||
static function (EntityRepository $er): QueryBuilder {
|
|
||||||
return $er->createQueryBuilder('c')
|
|
||||||
->where('c.active = true')
|
|
||||||
->orderBy('c.order');
|
|
||||||
},
|
|
||||||
)
|
|
||||||
->setDefault('placeholder', 'choose civility')
|
|
||||||
->setDefault('class', Civility::class);
|
|
||||||
}
|
|
||||||
|
|
||||||
public function getParent()
|
|
||||||
{
|
|
||||||
return EntityType::class;
|
|
||||||
}
|
|
||||||
}
|
|
@@ -20,7 +20,7 @@ use Symfony\Component\Form\FormInterface;
|
|||||||
use Symfony\Component\Form\FormView;
|
use Symfony\Component\Form\FormView;
|
||||||
use Symfony\Component\OptionsResolver\OptionsResolver;
|
use Symfony\Component\OptionsResolver\OptionsResolver;
|
||||||
use Symfony\Component\Routing\Generator\UrlGeneratorInterface;
|
use Symfony\Component\Routing\Generator\UrlGeneratorInterface;
|
||||||
use Symfony\Contracts\Translation\TranslatorInterface;
|
use Symfony\Component\Translation\TranslatorInterface;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A form to pick between PostalCode.
|
* A form to pick between PostalCode.
|
||||||
|
@@ -9,11 +9,9 @@
|
|||||||
|
|
||||||
declare(strict_types=1);
|
declare(strict_types=1);
|
||||||
|
|
||||||
namespace Chill\PersonBundle\Form;
|
namespace Chill\MainBundle\Form\Type;
|
||||||
|
|
||||||
use Chill\MainBundle\Form\Type\CommentType;
|
use Chill\MainBundle\Entity\ResidentialAddress;
|
||||||
use Chill\MainBundle\Form\Type\PickAddressType;
|
|
||||||
use Chill\PersonBundle\Entity\Person\ResidentialAddress;
|
|
||||||
use Chill\PersonBundle\Form\Type\PickPersonDynamicType;
|
use Chill\PersonBundle\Form\Type\PickPersonDynamicType;
|
||||||
use Chill\ThirdPartyBundle\Form\Type\PickThirdpartyDynamicType;
|
use Chill\ThirdPartyBundle\Form\Type\PickThirdpartyDynamicType;
|
||||||
use Symfony\Component\Form\AbstractType;
|
use Symfony\Component\Form\AbstractType;
|
@@ -19,7 +19,6 @@ use Chill\MainBundle\Templating\TranslatableStringHelper;
|
|||||||
use Doctrine\ORM\EntityRepository;
|
use Doctrine\ORM\EntityRepository;
|
||||||
use Symfony\Bridge\Doctrine\Form\Type\EntityType;
|
use Symfony\Bridge\Doctrine\Form\Type\EntityType;
|
||||||
use Symfony\Component\Form\AbstractType;
|
use Symfony\Component\Form\AbstractType;
|
||||||
use Symfony\Component\Form\CallbackTransformer;
|
|
||||||
use Symfony\Component\Form\Extension\Core\Type\ChoiceType;
|
use Symfony\Component\Form\Extension\Core\Type\ChoiceType;
|
||||||
use Symfony\Component\Form\Extension\Core\Type\EmailType;
|
use Symfony\Component\Form\Extension\Core\Type\EmailType;
|
||||||
use Symfony\Component\Form\Extension\Core\Type\PasswordType;
|
use Symfony\Component\Form\Extension\Core\Type\PasswordType;
|
||||||
@@ -60,16 +59,6 @@ class UserType extends AbstractType
|
|||||||
return $qb;
|
return $qb;
|
||||||
},
|
},
|
||||||
])
|
])
|
||||||
->add('roles', ChoiceType::class, [
|
|
||||||
'required' => true,
|
|
||||||
'multiple' => true,
|
|
||||||
'expanded' => true,
|
|
||||||
'label' => 'Roles',
|
|
||||||
'choices' => [
|
|
||||||
'Usager' => 'ROLE_USER',
|
|
||||||
'Administrateur' => 'ROLE_ADMIN',
|
|
||||||
],
|
|
||||||
])
|
|
||||||
->add('mainScope', EntityType::class, [
|
->add('mainScope', EntityType::class, [
|
||||||
'label' => 'Main scope',
|
'label' => 'Main scope',
|
||||||
'required' => false,
|
'required' => false,
|
||||||
@@ -105,18 +94,6 @@ class UserType extends AbstractType
|
|||||||
},
|
},
|
||||||
]);
|
]);
|
||||||
|
|
||||||
// $builder->get('roles')
|
|
||||||
// ->addModelTransformer(new CallbackTransformer(
|
|
||||||
// function ($rolesArray) {
|
|
||||||
// // transform the array to a string
|
|
||||||
// return count($rolesArray)? $rolesArray[0]: null;
|
|
||||||
// },
|
|
||||||
// function ($rolesString) {
|
|
||||||
// // transform the string back to an array
|
|
||||||
// return [$rolesString];
|
|
||||||
// }
|
|
||||||
// ));
|
|
||||||
|
|
||||||
if ($options['is_creation']) {
|
if ($options['is_creation']) {
|
||||||
$builder->add('plainPassword', RepeatedType::class, [
|
$builder->add('plainPassword', RepeatedType::class, [
|
||||||
'mapped' => false,
|
'mapped' => false,
|
||||||
|
@@ -13,7 +13,6 @@ namespace Chill\MainBundle\Form;
|
|||||||
|
|
||||||
use Chill\MainBundle\Entity\Workflow\EntityWorkflow;
|
use Chill\MainBundle\Entity\Workflow\EntityWorkflow;
|
||||||
use Chill\MainBundle\Entity\Workflow\EntityWorkflowStep;
|
use Chill\MainBundle\Entity\Workflow\EntityWorkflowStep;
|
||||||
use Chill\MainBundle\Form\Type\ChillCollectionType;
|
|
||||||
use Chill\MainBundle\Form\Type\ChillTextareaType;
|
use Chill\MainBundle\Form\Type\ChillTextareaType;
|
||||||
use Chill\MainBundle\Form\Type\PickUserDynamicType;
|
use Chill\MainBundle\Form\Type\PickUserDynamicType;
|
||||||
use Chill\MainBundle\Templating\TranslatableStringHelperInterface;
|
use Chill\MainBundle\Templating\TranslatableStringHelperInterface;
|
||||||
@@ -22,14 +21,8 @@ use LogicException;
|
|||||||
use Symfony\Component\Form\AbstractType;
|
use Symfony\Component\Form\AbstractType;
|
||||||
use Symfony\Component\Form\Extension\Core\Type\CheckboxType;
|
use Symfony\Component\Form\Extension\Core\Type\CheckboxType;
|
||||||
use Symfony\Component\Form\Extension\Core\Type\ChoiceType;
|
use Symfony\Component\Form\Extension\Core\Type\ChoiceType;
|
||||||
use Symfony\Component\Form\Extension\Core\Type\EmailType;
|
|
||||||
use Symfony\Component\Form\FormBuilderInterface;
|
use Symfony\Component\Form\FormBuilderInterface;
|
||||||
use Symfony\Component\OptionsResolver\OptionsResolver;
|
use Symfony\Component\OptionsResolver\OptionsResolver;
|
||||||
use Symfony\Component\Validator\Constraints\Callback;
|
|
||||||
use Symfony\Component\Validator\Constraints\Email;
|
|
||||||
use Symfony\Component\Validator\Constraints\NotBlank;
|
|
||||||
use Symfony\Component\Validator\Constraints\NotNull;
|
|
||||||
use Symfony\Component\Validator\Context\ExecutionContextInterface;
|
|
||||||
use Symfony\Component\Workflow\Registry;
|
use Symfony\Component\Workflow\Registry;
|
||||||
use Symfony\Component\Workflow\Transition;
|
use Symfony\Component\Workflow\Transition;
|
||||||
use function array_key_exists;
|
use function array_key_exists;
|
||||||
@@ -153,22 +146,6 @@ class WorkflowStepType extends AbstractType
|
|||||||
'label' => 'workflow.dest for next steps',
|
'label' => 'workflow.dest for next steps',
|
||||||
'multiple' => true,
|
'multiple' => true,
|
||||||
'mapped' => false,
|
'mapped' => false,
|
||||||
])
|
|
||||||
->add('future_dest_emails', ChillCollectionType::class, [
|
|
||||||
'label' => 'workflow.dest by email',
|
|
||||||
'help' => 'workflow.dest by email help',
|
|
||||||
'mapped' => false,
|
|
||||||
'allow_add' => true,
|
|
||||||
'entry_type' => EmailType::class,
|
|
||||||
'button_add_label' => 'workflow.Add an email',
|
|
||||||
'button_remove_label' => 'workflow.Remove an email',
|
|
||||||
'empty_collection_explain' => 'workflow.Any email',
|
|
||||||
'entry_options' => [
|
|
||||||
'constraints' => [
|
|
||||||
new NotNull(), new NotBlank(), new Email(['checkMX' => true]),
|
|
||||||
],
|
|
||||||
'label' => 'Email',
|
|
||||||
],
|
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -198,37 +175,6 @@ class WorkflowStepType extends AbstractType
|
|||||||
->setRequired('transition')
|
->setRequired('transition')
|
||||||
->setAllowedTypes('transition', 'bool')
|
->setAllowedTypes('transition', 'bool')
|
||||||
->setRequired('entity_workflow')
|
->setRequired('entity_workflow')
|
||||||
->setAllowedTypes('entity_workflow', EntityWorkflow::class)
|
->setAllowedTypes('entity_workflow', EntityWorkflow::class);
|
||||||
->setDefault('constraints', [
|
|
||||||
new Callback(
|
|
||||||
function ($step, ExecutionContextInterface $context, $payload) {
|
|
||||||
/** @var EntityWorkflowStep $step */
|
|
||||||
$form = $context->getObject();
|
|
||||||
$workflow = $this->registry->get($step->getEntityWorkflow(), $step->getEntityWorkflow()->getWorkflowName());
|
|
||||||
$transition = $form['transition']->getData();
|
|
||||||
$toFinal = true;
|
|
||||||
|
|
||||||
foreach ($transition->getTos() as $to) {
|
|
||||||
$meta = $workflow->getMetadataStore()->getPlaceMetadata($to);
|
|
||||||
|
|
||||||
if (
|
|
||||||
!array_key_exists('isFinal', $meta) || false === $meta['isFinal']
|
|
||||||
) {
|
|
||||||
$toFinal = false;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
$destUsers = $form['future_dest_users']->getData();
|
|
||||||
$destEmails = $form['future_dest_emails']->getData();
|
|
||||||
|
|
||||||
if (!$toFinal && [] === $destUsers && [] === $destEmails) {
|
|
||||||
$context
|
|
||||||
->buildViolation('workflow.You must add at least one dest user or email')
|
|
||||||
->atPath('future_dest_users')
|
|
||||||
->addViolation();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
),
|
|
||||||
]);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -16,7 +16,7 @@ use Psr\Log\LoggerInterface;
|
|||||||
use Swift_Mailer;
|
use Swift_Mailer;
|
||||||
use Swift_Message;
|
use Swift_Message;
|
||||||
use Symfony\Component\Routing\RouterInterface;
|
use Symfony\Component\Routing\RouterInterface;
|
||||||
use Symfony\Contracts\Translation\TranslatorInterface;
|
use Symfony\Component\Translation\TranslatorInterface;
|
||||||
use Twig\Environment;
|
use Twig\Environment;
|
||||||
|
|
||||||
use function call_user_func;
|
use function call_user_func;
|
||||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user