mirror of
				https://gitlab.com/Chill-Projet/chill-bundles.git
				synced 2025-11-04 03:08:25 +00:00 
			
		
		
		
	Compare commits
	
		
			3 Commits
		
	
	
		
			v3.0.0-alp
			...
			integrate_
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 23a0cfae14 | |||
| 1a213ab5f8 | |||
| aee8e17cfa | 
@@ -1,5 +0,0 @@
 | 
			
		||||
kind: Feature
 | 
			
		||||
body: '[DX] move async-upload-bundle features into chill-bundles'
 | 
			
		||||
time: 2023-12-12T15:48:41.954970271+01:00
 | 
			
		||||
custom:
 | 
			
		||||
  Issue: "221"
 | 
			
		||||
@@ -1,6 +0,0 @@
 | 
			
		||||
kind: Fixed
 | 
			
		||||
body: Fix resolving of centers for an household, which will fix in turn the access
 | 
			
		||||
  control
 | 
			
		||||
time: 2024-04-10T10:37:36.462484988+02:00
 | 
			
		||||
custom:
 | 
			
		||||
  Issue: ""
 | 
			
		||||
@@ -1,3 +0,0 @@
 | 
			
		||||
## v2.16.2 - 2024-02-21
 | 
			
		||||
### Fixed
 | 
			
		||||
* Check for null values in closing motive of parcours d'accompagnement for correct rendering of template 
 | 
			
		||||
@@ -1,5 +0,0 @@
 | 
			
		||||
## v2.16.3 - 2024-02-26
 | 
			
		||||
### Fixed
 | 
			
		||||
* ([#236](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/236)) Fix translation of user job -> 'service' must be 'métier' 
 | 
			
		||||
### UX
 | 
			
		||||
* ([#232](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/232)) Order user jobs and services alphabetically in export filters 
 | 
			
		||||
@@ -1,9 +0,0 @@
 | 
			
		||||
## v2.17.0 - 2024-03-19
 | 
			
		||||
### Feature
 | 
			
		||||
* ([#237](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/237)) New export filter for social actions with an evaluation created between two dates 
 | 
			
		||||
* ([#258](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/258)) In the list of accompangying period, add the list of person's centers and the duration of the course 
 | 
			
		||||
* ([#238](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/238)) Allow to customize list person with new fields 
 | 
			
		||||
* ([#159](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/159)) Admin can publish news on the homepage
 | 
			
		||||
### Fixed
 | 
			
		||||
* ([#264](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/264)) Fix languages: load the languages in all availables languages configured for Chill 
 | 
			
		||||
* ([#259](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/259)) Keep a consistent behaviour between the filtering of activities within the document generation (model "accompanying period with activities"), and the same filter in the list of activities for an accompanying period 
 | 
			
		||||
@@ -1,5 +0,0 @@
 | 
			
		||||
## v2.18.0 - 2024-03-26
 | 
			
		||||
### Feature
 | 
			
		||||
* ([#268](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/268)) Improve admin UX to configure document templates for document generation 
 | 
			
		||||
### Fixed
 | 
			
		||||
* ([#267](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/267)) Fix the join between job and user in the user list (admin): show only the current user job 
 | 
			
		||||
@@ -1,3 +0,0 @@
 | 
			
		||||
## v2.18.1 - 2024-03-26
 | 
			
		||||
### Fixed
 | 
			
		||||
* Fix layout issue in document generation for admin (minor) 
 | 
			
		||||
@@ -23,7 +23,3 @@ max_line_length = 0
 | 
			
		||||
indent_size = 2
 | 
			
		||||
indent_style = space
 | 
			
		||||
 | 
			
		||||
[.rst]
 | 
			
		||||
ident_size = 3
 | 
			
		||||
ident_style = space
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										94
									
								
								.env
									
									
									
									
									
								
							
							
						
						
									
										94
									
								
								.env
									
									
									
									
									
								
							@@ -1,94 +0,0 @@
 | 
			
		||||
#  * .env                contains default values for the environment variables needed by the app
 | 
			
		||||
#  * .env.local          uncommitted file with local overrides
 | 
			
		||||
#  * .env.$APP_ENV       committed environment-specific defaults
 | 
			
		||||
#  * .env.$APP_ENV.local uncommitted environment-specific overrides
 | 
			
		||||
#
 | 
			
		||||
# Real environment variables win over .env files.
 | 
			
		||||
#
 | 
			
		||||
# DO NOT DEFINE PRODUCTION SECRETS IN THIS FILE NOR IN ANY OTHER COMMITTED FILES.
 | 
			
		||||
# https://symfony.com/doc/current/configuration/secrets.html
 | 
			
		||||
#
 | 
			
		||||
# Run "composer dump-env prod" to compile .env files for production use (requires symfony/flex >=1.2).
 | 
			
		||||
# https://symfony.com/doc/current/best_practices.html#use-environment-variables-for-infrastructure-configuration
 | 
			
		||||
 | 
			
		||||
## Locale
 | 
			
		||||
LOCALE=fr
 | 
			
		||||
 | 
			
		||||
###> symfony/framework-bundle ###
 | 
			
		||||
# this should be set in docker-compose.yml file
 | 
			
		||||
APP_ENV=prod
 | 
			
		||||
APP_SECRET=ChangeItf2b58287ef7f9976409d3f6c72529e99ChangeIt
 | 
			
		||||
TRUSTED_PROXIES=127.0.0.0/8,10.0.0.0/8,172.16.0.0/12,192.168.0.0/16
 | 
			
		||||
TRUSTED_HOSTS='^(localhost|example\.com|nginx)$'
 | 
			
		||||
###< symfony/framework-bundle ###
 | 
			
		||||
 | 
			
		||||
## Wopi server for editing documents online
 | 
			
		||||
WOPI_SERVER=http://collabora:9980
 | 
			
		||||
 | 
			
		||||
# must be manually set in .env.local
 | 
			
		||||
# ADMIN_PASSWORD=
 | 
			
		||||
 | 
			
		||||
###> symfony/mailer ###
 | 
			
		||||
# MAILER_DSN=null://null
 | 
			
		||||
###< symfony/mailer ###
 | 
			
		||||
 | 
			
		||||
## Notifications
 | 
			
		||||
NOTIFICATION_HOST=localhost:8001
 | 
			
		||||
NOTIFICATION_FROM_EMAIL=admin@chill.social
 | 
			
		||||
NOTIFICATION_FROM_NAME="Chill <admin@chill.social>"
 | 
			
		||||
 | 
			
		||||
## Pgadmin credential
 | 
			
		||||
PGADMIN_DEFAULT_EMAIL=
 | 
			
		||||
PGADMIN_DEFAULT_PASSWORD=
 | 
			
		||||
 | 
			
		||||
## OVH OpenStack Storage Container
 | 
			
		||||
ASYNC_UPLOAD_TEMP_URL_KEY=
 | 
			
		||||
ASYNC_UPLOAD_TEMP_URL_BASE_PATH=
 | 
			
		||||
ASYNC_UPLOAD_TEMP_URL_CONTAINER=
 | 
			
		||||
 | 
			
		||||
## Redis Cache
 | 
			
		||||
REDIS_HOST=redis
 | 
			
		||||
REDIS_PORT=6379
 | 
			
		||||
REDIS_URL=redis://${REDIS_HOST}:${REDIS_PORT}
 | 
			
		||||
 | 
			
		||||
## Twilio
 | 
			
		||||
TWILIO_SID=~
 | 
			
		||||
TWILIO_SECRET=~
 | 
			
		||||
DEFAULT_CARRIER_CODE=BE
 | 
			
		||||
 | 
			
		||||
ADD_ADDRESS_DEFAULT_COUNTRY=BE
 | 
			
		||||
 | 
			
		||||
ADD_ADDRESS_MAP_CENTER_X=50.8443
 | 
			
		||||
ADD_ADDRESS_MAP_CENTER_Y=4.3523
 | 
			
		||||
ADD_ADDRESS_MAP_CENTER_Z=15
 | 
			
		||||
 | 
			
		||||
SHORT_MESSAGE_DSN=null://null
 | 
			
		||||
 | 
			
		||||
## DOCKER IMAGES REGISTRY
 | 
			
		||||
#IMAGE_PHP=
 | 
			
		||||
#IMAGE_NGINX=
 | 
			
		||||
 | 
			
		||||
## DOCKER IMAGES TAG
 | 
			
		||||
#VERSION=test
 | 
			
		||||
#VERSION=prod
 | 
			
		||||
 | 
			
		||||
###> symfony/messenger ###
 | 
			
		||||
# Choose one of the transports below
 | 
			
		||||
# MESSENGER_TRANSPORT_DSN=amqp://guest:guest@localhost:5672/%2f/messages
 | 
			
		||||
# MESSENGER_TRANSPORT_DSN=redis://localhost:6379/messages
 | 
			
		||||
MESSENGER_TRANSPORT_DSN=sync://
 | 
			
		||||
MESSENGER_TRANSPORT_DSN=doctrine://default?auto_setup=0
 | 
			
		||||
###< symfony/messenger ###
 | 
			
		||||
 | 
			
		||||
###> doctrine/doctrine-bundle ###
 | 
			
		||||
# Format described at https://www.doctrine-project.org/projects/doctrine-dbal/en/latest/reference/configuration.html#connecting-using-a-url
 | 
			
		||||
# IMPORTANT: You MUST configure your server version, either here or in config/packages/doctrine.yaml
 | 
			
		||||
#
 | 
			
		||||
DATABASE_URL="postgresql://postgres:postgres@db:5432/postgres?serverVersion=14&charset=utf8"
 | 
			
		||||
###< doctrine/doctrine-bundle ###
 | 
			
		||||
 | 
			
		||||
###> lexik/jwt-authentication-bundle ###
 | 
			
		||||
JWT_SECRET_KEY=%kernel.project_dir%/config/jwt/private.pem
 | 
			
		||||
JWT_PUBLIC_KEY=%kernel.project_dir%/config/jwt/public.pem
 | 
			
		||||
JWT_PASSPHRASE=2a30f6ba26521a2613821da35f28386e
 | 
			
		||||
###< lexik/jwt-authentication-bundle ###
 | 
			
		||||
@@ -4,8 +4,6 @@
 | 
			
		||||
KERNEL_CLASS='App\Kernel'
 | 
			
		||||
APP_SECRET='$ecretf0rt3st'
 | 
			
		||||
 | 
			
		||||
TRUSTED_HOSTS=
 | 
			
		||||
 | 
			
		||||
ADMIN_PASSWORD=password
 | 
			
		||||
 | 
			
		||||
LOCALE=fr
 | 
			
		||||
 
 | 
			
		||||
@@ -20,7 +20,6 @@ services:
 | 
			
		||||
 | 
			
		||||
# Set any variables we need
 | 
			
		||||
variables:
 | 
			
		||||
    APP_ENV: test
 | 
			
		||||
    GIT_DEPTH: 1
 | 
			
		||||
    # Configure postgres environment variables (https://hub.docker.com/r/_/postgres/)
 | 
			
		||||
    POSTGRES_USER: postgres
 | 
			
		||||
@@ -36,7 +35,7 @@ variables:
 | 
			
		||||
    # force a timezone
 | 
			
		||||
    TZ: Europe/Brussels
 | 
			
		||||
    # avoid direct deprecations (using symfony phpunit bridge: https://symfony.com/doc/4.x/components/phpunit_bridge.html#internal-deprecations
 | 
			
		||||
    SYMFONY_DEPRECATIONS_HELPER: max[total]=99999999&max[self]=0&max[direct]=45&verbose=0
 | 
			
		||||
    SYMFONY_DEPRECATIONS_HELPER: max[total]=99999999&max[self]=0&max[direct]=0&verbose=0
 | 
			
		||||
 | 
			
		||||
stages:
 | 
			
		||||
    - Composer install
 | 
			
		||||
@@ -121,7 +120,7 @@ unit_tests:
 | 
			
		||||
        - php tests/console doctrine:migrations:migrate -n --env=test
 | 
			
		||||
        - php tests/console chill:db:sync-views --env=test
 | 
			
		||||
        - php -d memory_limit=2G tests/console cache:clear --env=test
 | 
			
		||||
        - php -d memory_limit=3G tests/console doctrine:fixtures:load -n --env=test
 | 
			
		||||
        - php -d memory_limit=3G tests/console doctrine:fixtures:load -n
 | 
			
		||||
        - php -d memory_limit=4G bin/phpunit --colors=never --exclude-group dbIntensive
 | 
			
		||||
    artifacts:
 | 
			
		||||
        expire_in: 1 day
 | 
			
		||||
 
 | 
			
		||||
@@ -112,7 +112,6 @@ $rules = array_merge(
 | 
			
		||||
            ],
 | 
			
		||||
            'sort_algorithm' => 'alpha',
 | 
			
		||||
        ],
 | 
			
		||||
        'single_line_empty_body' => true,
 | 
			
		||||
    ],
 | 
			
		||||
    $rules,
 | 
			
		||||
    $riskyRules,
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										30
									
								
								CHANGELOG.md
									
									
									
									
									
								
							
							
						
						
									
										30
									
								
								CHANGELOG.md
									
									
									
									
									
								
							@@ -6,36 +6,6 @@ adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html),
 | 
			
		||||
and is generated by [Changie](https://github.com/miniscruff/changie).
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
## v2.18.1 - 2024-03-26
 | 
			
		||||
### Fixed
 | 
			
		||||
* Fix layout issue in document generation for admin (minor) 
 | 
			
		||||
 | 
			
		||||
## v2.18.0 - 2024-03-26
 | 
			
		||||
### Feature
 | 
			
		||||
* ([#268](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/268)) Improve admin UX to configure document templates for document generation 
 | 
			
		||||
### Fixed
 | 
			
		||||
* ([#267](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/267)) Fix the join between job and user in the user list (admin): show only the current user job 
 | 
			
		||||
 | 
			
		||||
## v2.17.0 - 2024-03-19
 | 
			
		||||
### Feature
 | 
			
		||||
* ([#237](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/237)) New export filter for social actions with an evaluation created between two dates 
 | 
			
		||||
* ([#258](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/258)) In the list of accompangying period, add the list of person's centers and the duration of the course 
 | 
			
		||||
* ([#238](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/238)) Allow to customize list person with new fields 
 | 
			
		||||
* ([#159](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/159)) Admin can publish news on the homepage
 | 
			
		||||
### Fixed
 | 
			
		||||
* ([#264](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/264)) Fix languages: load the languages in all availables languages configured for Chill 
 | 
			
		||||
* ([#259](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/259)) Keep a consistent behaviour between the filtering of activities within the document generation (model "accompanying period with activities"), and the same filter in the list of activities for an accompanying period 
 | 
			
		||||
 | 
			
		||||
## v2.16.3 - 2024-02-26
 | 
			
		||||
### Fixed
 | 
			
		||||
* ([#236](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/236)) Fix translation of user job -> 'service' must be 'métier' 
 | 
			
		||||
### UX
 | 
			
		||||
* ([#232](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/232)) Order user jobs and services alphabetically in export filters 
 | 
			
		||||
 | 
			
		||||
## v2.16.2 - 2024-02-21
 | 
			
		||||
### Fixed
 | 
			
		||||
* Check for null values in closing motive of parcours d'accompagnement for correct rendering of template 
 | 
			
		||||
 | 
			
		||||
## v2.16.1 - 2024-02-09
 | 
			
		||||
### Fixed
 | 
			
		||||
* Force bootstrap version to avoid error in builds with newer version 
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										117
									
								
								MIGRATION.md
									
									
									
									
									
								
							
							
						
						
									
										117
									
								
								MIGRATION.md
									
									
									
									
									
								
							@@ -1,117 +0,0 @@
 | 
			
		||||
 | 
			
		||||
# Switch to symfony 5.0
 | 
			
		||||
 | 
			
		||||
- the tag `chill.role` is now renamed to `chill_main.provide_role`.
 | 
			
		||||
 | 
			
		||||
  **Note**: It is not necessary to apply this tag on service definition: the tag is automatically applyied if the
 | 
			
		||||
  service implements `\Chill\MainBundle\Security\ProvideRoleInterface`.
 | 
			
		||||
 | 
			
		||||
- those annotation can be converted to attribute:
 | 
			
		||||
 | 
			
		||||
  - `Chill\PersonBundle\Validator\Constraints\AccompanyingPeriod\AccompanyingPeriodValidity`
 | 
			
		||||
  - `Chill\PersonBundle\Validator\Constraints\Household\HouseholdMembershipSequential`
 | 
			
		||||
  - `Chill\PersonBundle\Validator\Constraints\Household\MaxHolder`
 | 
			
		||||
  - `Chill\PersonBundle\Validator\Constraints\AccompanyingPeriod\ConfidentialCourseMustHaveReferrer`
 | 
			
		||||
  - `Chill\PersonBundle\Validator\Constraints\AccompanyingPeriod\LocationValidity`
 | 
			
		||||
  - `Chill\PersonBundle\Validator\Constraints\AccompanyingPeriod\ParticipationOverlap`
 | 
			
		||||
  - `Chill\PersonBundle\Validator\Constraints\AccompanyingPeriod\ResourceDuplicateCheck`
 | 
			
		||||
  - `Chill\PersonBundle\Validator\Constraints\Person\Birthdate`
 | 
			
		||||
  - `Chill\PersonBundle\Validator\Constraints\Person\PersonHasCenter`
 | 
			
		||||
  - `Chill\PersonBundle\Validator\Constraints\Relationship\RelationshipNoDuplicate`
 | 
			
		||||
  - `Chill\ActivityBundle\Validator\Constraints\ActivityValidity`
 | 
			
		||||
  - `Chill\DocStoreBundle\Validator\Constraints\AsyncFileExists`
 | 
			
		||||
  - `Chill\MainBundle\Validation\Constraint\PhonenumberConstraint`
 | 
			
		||||
  - `Chill\MainBundle\Validator\Constraints\Entity\UserCircleConsistency`
 | 
			
		||||
  - `Chill\MainBundle\Workflow\Validator\EntityWorkflowCreation`
 | 
			
		||||
 | 
			
		||||
  Here is the rector rule that can be used to switch attributes to annotations:
 | 
			
		||||
 | 
			
		||||
  ```php
 | 
			
		||||
    $rectorConfig->ruleWithConfiguration(\Rector\Php80\Rector\Class_\AnnotationToAttributeRector::class, [
 | 
			
		||||
        new \Rector\Php80\ValueObject\AnnotationToAttribute('Chill\PersonBundle\Validator\Constraints\AccompanyingPeriod\AccompanyingPeriodValidity'),
 | 
			
		||||
        new \Rector\Php80\ValueObject\AnnotationToAttribute('Chill\PersonBundle\Validator\Constraints\Household\HouseholdMembershipSequential'),
 | 
			
		||||
        new \Rector\Php80\ValueObject\AnnotationToAttribute('Chill\PersonBundle\Validator\Constraints\Household\MaxHolder'),
 | 
			
		||||
        new \Rector\Php80\ValueObject\AnnotationToAttribute('Chill\PersonBundle\Validator\Constraints\AccompanyingPeriod\ConfidentialCourseMustHaveReferrer'),
 | 
			
		||||
        new \Rector\Php80\ValueObject\AnnotationToAttribute('Chill\PersonBundle\Validator\Constraints\AccompanyingPeriod\LocationValidity'),
 | 
			
		||||
        new \Rector\Php80\ValueObject\AnnotationToAttribute('Chill\PersonBundle\Validator\Constraints\AccompanyingPeriod\ParticipationOverlap'),
 | 
			
		||||
        new \Rector\Php80\ValueObject\AnnotationToAttribute('Chill\PersonBundle\Validator\Constraints\AccompanyingPeriod\ResourceDuplicateCheck'),
 | 
			
		||||
        new \Rector\Php80\ValueObject\AnnotationToAttribute('Chill\PersonBundle\Validator\Constraints\Person\Birthdate'),
 | 
			
		||||
        new \Rector\Php80\ValueObject\AnnotationToAttribute('Chill\PersonBundle\Validator\Constraints\Person\PersonHasCenter'),
 | 
			
		||||
        new \Rector\Php80\ValueObject\AnnotationToAttribute('Chill\PersonBundle\Validator\Constraints\Relationship\RelationshipNoDuplicate'),
 | 
			
		||||
        new \Rector\Php80\ValueObject\AnnotationToAttribute('Chill\ActivityBundle\Validator\Constraints\ActivityValidity'),
 | 
			
		||||
        new \Rector\Php80\ValueObject\AnnotationToAttribute('Chill\DocStoreBundle\Validator\Constraints\AsyncFileExists'),
 | 
			
		||||
        new \Rector\Php80\ValueObject\AnnotationToAttribute('Chill\MainBundle\Validation\Constraint\PhonenumberConstraint'),
 | 
			
		||||
        new \Rector\Php80\ValueObject\AnnotationToAttribute('Chill\MainBundle\Validator\Constraints\Entity\UserCircleConsistency'),
 | 
			
		||||
        new \Rector\Php80\ValueObject\AnnotationToAttribute('Chill\MainBundle\Workflow\Validator\EntityWorkflowCreation'),
 | 
			
		||||
    ]);
 | 
			
		||||
    ```
 | 
			
		||||
 | 
			
		||||
- to keep cleaner definition in container's dependency injection and framework bundle, the definition of crud or api
 | 
			
		||||
  requires to define explicitly a controller.
 | 
			
		||||
 | 
			
		||||
  Before:
 | 
			
		||||
 | 
			
		||||
  ```php
 | 
			
		||||
  $container->prependExtensionConfig('chill_main', [
 | 
			
		||||
      'apis' => [
 | 
			
		||||
          [
 | 
			
		||||
              'class' => ThirdParty::class,
 | 
			
		||||
              'name' => 'thirdparty',
 | 
			
		||||
              'base_path' => '/api/1.0/thirdparty/thirdparty',
 | 
			
		||||
              'actions' => [
 | 
			
		||||
                  '_entity' => [
 | 
			
		||||
                      'methods' => [
 | 
			
		||||
                          Request::METHOD_GET => true,
 | 
			
		||||
                          Request::METHOD_HEAD => true,
 | 
			
		||||
                          Request::METHOD_POST => true,
 | 
			
		||||
                          Request::METHOD_PUT => true,
 | 
			
		||||
                          Request::METHOD_PATCH => true,
 | 
			
		||||
                      ],
 | 
			
		||||
                      'roles' => [
 | 
			
		||||
                          Request::METHOD_GET => ThirdPartyVoter::SHOW,
 | 
			
		||||
                          Request::METHOD_HEAD => ThirdPartyVoter::SHOW,
 | 
			
		||||
                          Request::METHOD_POST => ThirdPartyVoter::CREATE,
 | 
			
		||||
                          Request::METHOD_PUT => ThirdPartyVoter::CREATE,
 | 
			
		||||
                          Request::METHOD_PATCH => ThirdPartyVoter::CREATE,
 | 
			
		||||
                      ],
 | 
			
		||||
                  ],
 | 
			
		||||
              ],
 | 
			
		||||
          ],
 | 
			
		||||
      ],
 | 
			
		||||
  ]);
 | 
			
		||||
 | 
			
		||||
  After:
 | 
			
		||||
 | 
			
		||||
  ```php
 | 
			
		||||
  $container->prependExtensionConfig('chill_main', [
 | 
			
		||||
      'apis' => [
 | 
			
		||||
          [
 | 
			
		||||
              'class' => ThirdParty::class,
 | 
			
		||||
              'controller' => ThirdPartyApiController::class,
 | 
			
		||||
              'name' => 'thirdparty',
 | 
			
		||||
              'base_path' => '/api/1.0/thirdparty/thirdparty',
 | 
			
		||||
              'actions' => [
 | 
			
		||||
                  '_entity' => [
 | 
			
		||||
                      'methods' => [
 | 
			
		||||
                          Request::METHOD_GET => true,
 | 
			
		||||
                          Request::METHOD_HEAD => true,
 | 
			
		||||
                          Request::METHOD_POST => true,
 | 
			
		||||
                          Request::METHOD_PUT => true,
 | 
			
		||||
                          Request::METHOD_PATCH => true,
 | 
			
		||||
                      ],
 | 
			
		||||
                      'roles' => [
 | 
			
		||||
                          Request::METHOD_GET => ThirdPartyVoter::SHOW,
 | 
			
		||||
                          Request::METHOD_HEAD => ThirdPartyVoter::SHOW,
 | 
			
		||||
                          Request::METHOD_POST => ThirdPartyVoter::CREATE,
 | 
			
		||||
                          Request::METHOD_PUT => ThirdPartyVoter::CREATE,
 | 
			
		||||
                          Request::METHOD_PATCH => ThirdPartyVoter::CREATE,
 | 
			
		||||
                      ],
 | 
			
		||||
                  ],
 | 
			
		||||
              ],
 | 
			
		||||
          ],
 | 
			
		||||
      ],
 | 
			
		||||
  ]);
 | 
			
		||||
 | 
			
		||||
  ```
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@@ -12,6 +12,7 @@
 | 
			
		||||
        "ext-json": "*",
 | 
			
		||||
        "ext-openssl": "*",
 | 
			
		||||
        "ext-redis": "*",
 | 
			
		||||
        "champs-libres/async-uploader-bundle": "dev-sf4#d57134aee8e504a83c902ff0cf9f8d36ac418290",
 | 
			
		||||
        "champs-libres/wopi-bundle": "dev-master@dev",
 | 
			
		||||
        "champs-libres/wopi-lib": "dev-master@dev",
 | 
			
		||||
        "doctrine/doctrine-bundle": "^2.1",
 | 
			
		||||
@@ -32,47 +33,27 @@
 | 
			
		||||
        "ramsey/uuid-doctrine": "^1.7",
 | 
			
		||||
        "sensio/framework-extra-bundle": "^5.5",
 | 
			
		||||
        "spomky-labs/base64url": "^2.0",
 | 
			
		||||
        "symfony/asset": "^5.4",
 | 
			
		||||
        "symfony/browser-kit": "^5.4",
 | 
			
		||||
        "symfony/cache": "^5.4",
 | 
			
		||||
        "symfony/browser-kit": "^4.4",
 | 
			
		||||
        "symfony/clock": "^6.2",
 | 
			
		||||
        "symfony/config": "^5.4",
 | 
			
		||||
        "symfony/console": "^5.4",
 | 
			
		||||
        "symfony/css-selector": "^5.4",
 | 
			
		||||
        "symfony/dom-crawler": "^5.4",
 | 
			
		||||
        "symfony/error-handler": "^5.4",
 | 
			
		||||
        "symfony/event-dispatcher": "^5.4",
 | 
			
		||||
        "symfony/expression-language": "^5.4",
 | 
			
		||||
        "symfony/filesystem": "^5.4",
 | 
			
		||||
        "symfony/finder": "^5.4",
 | 
			
		||||
        "symfony/form": "^5.4",
 | 
			
		||||
        "symfony/framework-bundle": "^5.4",
 | 
			
		||||
        "symfony/http-client": "^5.4",
 | 
			
		||||
        "symfony/http-foundation": "^5.4",
 | 
			
		||||
        "symfony/intl": "^5.4",
 | 
			
		||||
        "symfony/css-selector": "^4.4",
 | 
			
		||||
        "symfony/expression-language": "^4.4",
 | 
			
		||||
        "symfony/form": "^4.4",
 | 
			
		||||
        "symfony/framework-bundle": "^4.4",
 | 
			
		||||
        "symfony/http-client": "^4.4 || ^5",
 | 
			
		||||
        "symfony/http-foundation": "^4.4",
 | 
			
		||||
        "symfony/intl": "^4.4",
 | 
			
		||||
        "symfony/mailer": "^5.4",
 | 
			
		||||
        "symfony/messenger": "^5.4",
 | 
			
		||||
        "symfony/mime": "^5.4",
 | 
			
		||||
        "symfony/monolog-bundle": "^3.5",
 | 
			
		||||
        "symfony/options-resolver": "^5.4",
 | 
			
		||||
        "symfony/process": "^5.4",
 | 
			
		||||
        "symfony/property-access": "^5.4",
 | 
			
		||||
        "symfony/property-info": "^5.4",
 | 
			
		||||
        "symfony/routing": "^5.4",
 | 
			
		||||
        "symfony/security-bundle": "^5.4",
 | 
			
		||||
        "symfony/security-core": "^5.4",
 | 
			
		||||
        "symfony/security-csrf": "^5.4",
 | 
			
		||||
        "symfony/security-guard": "^5.4",
 | 
			
		||||
        "symfony/security-http": "^5.4",
 | 
			
		||||
        "symfony/serializer": "^5.4",
 | 
			
		||||
        "symfony/string": "^5.4",
 | 
			
		||||
        "symfony/templating": "^5.4",
 | 
			
		||||
        "symfony/translation": "^5.4",
 | 
			
		||||
        "symfony/twig-bundle": "^5.4",
 | 
			
		||||
        "symfony/validator": "^5.4",
 | 
			
		||||
        "symfony/security-bundle": "^4.4",
 | 
			
		||||
        "symfony/serializer": "^5.3",
 | 
			
		||||
        "symfony/translation": "^4.4",
 | 
			
		||||
        "symfony/twig-bundle": "^4.4",
 | 
			
		||||
        "symfony/validator": "^4.4",
 | 
			
		||||
        "symfony/webpack-encore-bundle": "^1.11",
 | 
			
		||||
        "symfony/workflow": "^5.4",
 | 
			
		||||
        "symfony/yaml": "^5.4",
 | 
			
		||||
        "symfony/workflow": "^4.4",
 | 
			
		||||
        "symfony/yaml": "^4.4",
 | 
			
		||||
        "thenetworg/oauth2-azure": "^2.0",
 | 
			
		||||
        "twig/extra-bundle": "^3.0",
 | 
			
		||||
        "twig/intl-extra": "^3.0",
 | 
			
		||||
@@ -81,6 +62,7 @@
 | 
			
		||||
        "twig/twig": "^3.0"
 | 
			
		||||
    },
 | 
			
		||||
    "require-dev": {
 | 
			
		||||
        "dama/doctrine-test-bundle": "^7.1",
 | 
			
		||||
        "doctrine/doctrine-fixtures-bundle": "^3.3",
 | 
			
		||||
        "fakerphp/faker": "^1.13",
 | 
			
		||||
        "jangregor/phpstan-prophecy": "^1.0",
 | 
			
		||||
@@ -92,14 +74,17 @@
 | 
			
		||||
        "phpstan/phpstan-deprecation-rules": "^1.1",
 | 
			
		||||
        "phpstan/phpstan-strict-rules": "^1.0",
 | 
			
		||||
        "phpunit/phpunit": ">= 7.5",
 | 
			
		||||
        "rector/rector": "^1.0.0",
 | 
			
		||||
        "symfony/debug-bundle": "^5.4",
 | 
			
		||||
        "symfony/dotenv": "^5.4",
 | 
			
		||||
        "psalm/plugin-phpunit": "^0.18.4",
 | 
			
		||||
        "psalm/plugin-symfony": "^4.0.2",
 | 
			
		||||
        "rector/rector": "^0.17.7",
 | 
			
		||||
        "symfony/debug-bundle": "^5.1",
 | 
			
		||||
        "symfony/dotenv": "^4.4",
 | 
			
		||||
        "symfony/maker-bundle": "^1.20",
 | 
			
		||||
        "symfony/phpunit-bridge": "^5.4",
 | 
			
		||||
        "symfony/runtime": "^5.4",
 | 
			
		||||
        "symfony/stopwatch": "^5.4",
 | 
			
		||||
        "symfony/var-dumper": "^5.4"
 | 
			
		||||
        "symfony/phpunit-bridge": "^4.4",
 | 
			
		||||
        "symfony/stopwatch": "^4.4",
 | 
			
		||||
        "symfony/var-dumper": "^4.4",
 | 
			
		||||
        "vimeo/psalm": "^4.30.0",
 | 
			
		||||
        "zenstruck/foundry": "^1.36"
 | 
			
		||||
    },
 | 
			
		||||
    "conflict": {
 | 
			
		||||
        "symfony/symfony": "*"
 | 
			
		||||
 
 | 
			
		||||
@@ -242,129 +242,3 @@ This is an example of the *filter by birthdate*. This filter asks some informati
 | 
			
		||||
   Continue to explain the export framework
 | 
			
		||||
 | 
			
		||||
.. _main bundle: https://git.framasoft.org/Chill-project/Chill-Main
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
With many-to-* relationship, why should we set WHERE clauses in an EXISTS subquery instead of a JOIN ?
 | 
			
		||||
``````````````````````````````````````````````````````````````````````````````````````````````````````
 | 
			
		||||
 | 
			
		||||
As we described above, the doctrine builder is converted into a sql query. Let's see how to compute the "number of course
 | 
			
		||||
which count at least one activity type with the id 7". For the purpose of this demonstration, we will restrict this on
 | 
			
		||||
two accompanying period only: the ones with id 329 and 334.
 | 
			
		||||
 | 
			
		||||
Let's see the list of activities associated with those accompanying period:
 | 
			
		||||
 | 
			
		||||
.. code-block:: sql
 | 
			
		||||
 | 
			
		||||
   SELECT id, accompanyingperiod_id, type_id FROM activity WHERE accompanyingperiod_id IN (329, 334) AND type_id = 7
 | 
			
		||||
       ORDER BY accompanyingperiod_id;
 | 
			
		||||
 | 
			
		||||
We see that we have 6 activities for the accompanying period with id 329, and only one for the 334's one.
 | 
			
		||||
 | 
			
		||||
.. csv-table::
 | 
			
		||||
   :header: id, accompanyingperiod_id, type_id
 | 
			
		||||
 | 
			
		||||
   990,329,7
 | 
			
		||||
   986,329,7
 | 
			
		||||
   987,329,7
 | 
			
		||||
   993,329,7
 | 
			
		||||
   991,329,7
 | 
			
		||||
   992,329,7
 | 
			
		||||
   1000,334,7
 | 
			
		||||
 | 
			
		||||
Let's calculate the average duration for those accompanying periods, and the number of period:
 | 
			
		||||
 | 
			
		||||
.. code-block:: sql
 | 
			
		||||
 | 
			
		||||
   SELECT AVG(age(COALESCE(closingdate, CURRENT_DATE), openingdate)), COUNT(id) from chill_person_accompanying_period WHERE id IN (329, 334);
 | 
			
		||||
 | 
			
		||||
The result of this query is:
 | 
			
		||||
 | 
			
		||||
.. csv-table::
 | 
			
		||||
   :header: AVG, COUNT
 | 
			
		||||
 | 
			
		||||
   2 years 2 mons 21 days 12 hours 0 mins 0.0 secs,2
 | 
			
		||||
 | 
			
		||||
Now, we count the number of accompanying period, adding a :code:`JOIN` clause which make a link to the :code:`activity` table, and add a :code:`WHERE` clause to keep
 | 
			
		||||
only the accompanying period which contains the given activity type:
 | 
			
		||||
 | 
			
		||||
.. code-block:: sql
 | 
			
		||||
 | 
			
		||||
   SELECT COUNT(chill_person_accompanying_period.id) from chill_person_accompanying_period
 | 
			
		||||
                 JOIN activity ON chill_person_accompanying_period.id = activity.accompanyingperiod_id
 | 
			
		||||
                 WHERE chill_person_accompanying_period.id IN (329, 334) AND activity.type_id = 7;
 | 
			
		||||
 | 
			
		||||
What are the results here ?
 | 
			
		||||
 | 
			
		||||
.. csv-table::
 | 
			
		||||
   :header: COUNT
 | 
			
		||||
 | 
			
		||||
   7
 | 
			
		||||
 | 
			
		||||
:code:`7` ! Why this result ? Because the number of lines is duplicated for each activity. Let's see the list of rows which
 | 
			
		||||
are taken into account for the computation:
 | 
			
		||||
 | 
			
		||||
.. code-block:: sql
 | 
			
		||||
 | 
			
		||||
   SELECT chill_person_accompanying_period.id, activity.id from chill_person_accompanying_period
 | 
			
		||||
   JOIN activity ON chill_person_accompanying_period.id = activity.accompanyingperiod_id
 | 
			
		||||
   WHERE chill_person_accompanying_period.id IN (329, 334) AND activity.type_id = 7;
 | 
			
		||||
 | 
			
		||||
.. csv-table::
 | 
			
		||||
   :header: accompanyingperiod.id, activity.id
 | 
			
		||||
 | 
			
		||||
   329,993
 | 
			
		||||
   334,1000
 | 
			
		||||
   329,987
 | 
			
		||||
   329,990
 | 
			
		||||
   329,991
 | 
			
		||||
   329,992
 | 
			
		||||
   329,986
 | 
			
		||||
 | 
			
		||||
For each activity, a row is created and, as we count the number of non-null :code:`accompanyingperiod.id` columns, we
 | 
			
		||||
count one entry for each activity (actually, we count the number of activities).
 | 
			
		||||
 | 
			
		||||
So, let's use the :code:`DISTINCT` keyword to count only once the equal ids:
 | 
			
		||||
 | 
			
		||||
.. code-block::
 | 
			
		||||
 | 
			
		||||
   SELECT COUNT(DISTINCT chill_person_accompanying_period.id) from chill_person_accompanying_period
 | 
			
		||||
   JOIN activity ON chill_person_accompanying_period.id = activity.accompanyingperiod_id
 | 
			
		||||
   WHERE chill_person_accompanying_period.id IN (329, 334) AND activity.type_id = 7;
 | 
			
		||||
 | 
			
		||||
Now, it works again...
 | 
			
		||||
 | 
			
		||||
.. csv-table::
 | 
			
		||||
   :header: COUNT
 | 
			
		||||
 | 
			
		||||
   2
 | 
			
		||||
 | 
			
		||||
But, for the average duration, this won't work: the duration which are equals (because the :code:`openingdate` is the same and
 | 
			
		||||
:code:`closingdate` is still :code:`NULL`, for instance) will be counted only once, which will give unexpected result.
 | 
			
		||||
 | 
			
		||||
The solution is to move the condition "having an activity with activity type with id 7" in a :code:`EXISTS` clause:
 | 
			
		||||
 | 
			
		||||
.. code-block:: sql
 | 
			
		||||
 | 
			
		||||
   SELECT COUNT(chill_person_accompanying_period.id) from chill_person_accompanying_period
 | 
			
		||||
   WHERE chill_person_accompanying_period.id IN (329, 334) AND EXISTS (SELECT 1 FROM activity WHERE type_id = 7 AND accompanyingperiod_id = chill_person_accompanying_period.id);
 | 
			
		||||
 | 
			
		||||
The result is correct without :code:`DISTINCT` keyword:
 | 
			
		||||
 | 
			
		||||
.. csv-table::
 | 
			
		||||
   :header: COUNT
 | 
			
		||||
 | 
			
		||||
   2
 | 
			
		||||
 | 
			
		||||
And we can now compute the average duration without fear:
 | 
			
		||||
 | 
			
		||||
.. code-block:: sql
 | 
			
		||||
 | 
			
		||||
  SELECT AVG(age(COALESCE(closingdate, CURRENT_DATE), openingdate)) from chill_person_accompanying_period
 | 
			
		||||
  WHERE chill_person_accompanying_period.id IN (329, 334) AND EXISTS (SELECT 1 FROM activity WHERE type_id = 7 AND accompanyingperiod_id = chill_person_accompanying_period.id);
 | 
			
		||||
 | 
			
		||||
Give the result:
 | 
			
		||||
 | 
			
		||||
.. csv-table::
 | 
			
		||||
   :header: AVG
 | 
			
		||||
 | 
			
		||||
   2 years 2 mons 21 days 12 hours 0 mins 0.0 secs
 | 
			
		||||
 
 | 
			
		||||
@@ -15,12 +15,9 @@ use Symfony\Bundle\FrameworkBundle\Controller\Controller;
 | 
			
		||||
 | 
			
		||||
class example extends \Symfony\Bundle\FrameworkBundle\Controller\AbstractController
 | 
			
		||||
{
 | 
			
		||||
    public function __construct(private readonly \Doctrine\Persistence\ManagerRegistry $managerRegistry)
 | 
			
		||||
    {
 | 
			
		||||
    }
 | 
			
		||||
    public function yourAction()
 | 
			
		||||
    {
 | 
			
		||||
        $em = $this->managerRegistry->getManager();
 | 
			
		||||
        $em = $this->getDoctrine()->getManager();
 | 
			
		||||
        // first, get the number of total item are available
 | 
			
		||||
        $total = $em
 | 
			
		||||
            ->createQuery('SELECT COUNT (item.id) FROM ChillMyBundle:Item item')
 | 
			
		||||
 
 | 
			
		||||
@@ -18,9 +18,6 @@ use Symfony\Component\Security\Core\Role\Role;
 | 
			
		||||
 | 
			
		||||
class ConsultationController extends \Symfony\Bundle\FrameworkBundle\Controller\AbstractController
 | 
			
		||||
{
 | 
			
		||||
    public function __construct(private readonly \Doctrine\Persistence\ManagerRegistry $managerRegistry)
 | 
			
		||||
    {
 | 
			
		||||
    }
 | 
			
		||||
    /**
 | 
			
		||||
     * @param int $id personId
 | 
			
		||||
     *
 | 
			
		||||
@@ -51,7 +48,7 @@ class ConsultationController extends \Symfony\Bundle\FrameworkBundle\Controller\
 | 
			
		||||
        );
 | 
			
		||||
 | 
			
		||||
        // create a query which take circles into account
 | 
			
		||||
        $consultations = $this->managerRegistry->getManager()
 | 
			
		||||
        $consultations = $this->getDoctrine()->getManager()
 | 
			
		||||
            ->createQuery('SELECT c FROM ChillHealthBundle:Consultation c '
 | 
			
		||||
                . 'WHERE c.patient = :person AND c.circle IN(:circles) '
 | 
			
		||||
                . 'ORDER BY c.date DESC')
 | 
			
		||||
 
 | 
			
		||||
@@ -14,15 +14,12 @@
 | 
			
		||||
    "@ckeditor/ckeditor5-vue": "^4.0.1",
 | 
			
		||||
    "@symfony/webpack-encore": "^4.1.0",
 | 
			
		||||
    "@tsconfig/node14": "^1.0.1",
 | 
			
		||||
      "@types/dompurify": "^3.0.5",
 | 
			
		||||
    "bindings": "^1.5.0",
 | 
			
		||||
    "bootstrap": "5.2.3",
 | 
			
		||||
    "chokidar": "^3.5.1",
 | 
			
		||||
    "dompurify": "^3.1.0",
 | 
			
		||||
    "fork-awesome": "^1.1.7",
 | 
			
		||||
    "jquery": "^3.6.0",
 | 
			
		||||
    "node-sass": "^8.0.0",
 | 
			
		||||
    "marked": "^12.0.1",
 | 
			
		||||
    "popper.js": "^1.16.1",
 | 
			
		||||
    "postcss-loader": "^7.0.2",
 | 
			
		||||
    "raw-loader": "^4.0.2",
 | 
			
		||||
@@ -49,7 +46,7 @@
 | 
			
		||||
    "es6-promise": "^4.2.8",
 | 
			
		||||
    "leaflet": "^1.7.1",
 | 
			
		||||
    "masonry-layout": "^4.2.2",
 | 
			
		||||
    "mime": "^4.0.0",
 | 
			
		||||
    "mime": "^3.0.0",
 | 
			
		||||
    "swagger-ui": "^4.15.5",
 | 
			
		||||
    "vis-network": "^9.1.0",
 | 
			
		||||
    "vue": "^3.2.37",
 | 
			
		||||
 
 | 
			
		||||
@@ -1,58 +0,0 @@
 | 
			
		||||
# See https://github.com/doctrine/orm/issues/11313 for a follow-up
 | 
			
		||||
parameters:
 | 
			
		||||
	ignoreErrors:
 | 
			
		||||
		-
 | 
			
		||||
			message: """
 | 
			
		||||
				#^Fetching deprecated class constant ASC of class Doctrine\\\\Common\\\\Collections\\\\Criteria\\:
 | 
			
		||||
				use Order\\:\\:Ascending instead$#
 | 
			
		||||
			"""
 | 
			
		||||
			count: 1
 | 
			
		||||
			path: src/Bundle/ChillCustomFieldsBundle/Entity/CustomFieldsGroup.php
 | 
			
		||||
 | 
			
		||||
		-
 | 
			
		||||
			message: """
 | 
			
		||||
				#^Fetching deprecated class constant ASC of class Doctrine\\\\Common\\\\Collections\\\\Criteria\\:
 | 
			
		||||
				use Order\\:\\:Ascending instead$#
 | 
			
		||||
			"""
 | 
			
		||||
			count: 1
 | 
			
		||||
			path: src/Bundle/ChillMainBundle/Entity/Notification.php
 | 
			
		||||
 | 
			
		||||
		-
 | 
			
		||||
			message: """
 | 
			
		||||
				#^Fetching deprecated class constant DESC of class Doctrine\\\\Common\\\\Collections\\\\Criteria\\:
 | 
			
		||||
				use Order\\:\\:Descending instead$#
 | 
			
		||||
			"""
 | 
			
		||||
			count: 1
 | 
			
		||||
			path: src/Bundle/ChillPersonBundle/Entity/AccompanyingPeriod/AccompanyingPeriodWork.php
 | 
			
		||||
 | 
			
		||||
		-
 | 
			
		||||
			message: """
 | 
			
		||||
				#^Fetching deprecated class constant DESC of class Doctrine\\\\Common\\\\Collections\\\\Criteria\\:
 | 
			
		||||
				use Order\\:\\:Descending instead$#
 | 
			
		||||
			"""
 | 
			
		||||
			count: 1
 | 
			
		||||
			path: src/Bundle/ChillPersonBundle/Entity/AccompanyingPeriod/AccompanyingPeriodWorkEvaluation.php
 | 
			
		||||
 | 
			
		||||
		-
 | 
			
		||||
			message: """
 | 
			
		||||
				#^Fetching deprecated class constant DESC of class Doctrine\\\\Common\\\\Collections\\\\Criteria\\:
 | 
			
		||||
				use Order\\:\\:Descending instead$#
 | 
			
		||||
			"""
 | 
			
		||||
			count: 2
 | 
			
		||||
			path: src/Bundle/ChillPersonBundle/Entity/Household/Household.php
 | 
			
		||||
 | 
			
		||||
		-
 | 
			
		||||
			message: """
 | 
			
		||||
				#^Fetching deprecated class constant DESC of class Doctrine\\\\Common\\\\Collections\\\\Criteria\\:
 | 
			
		||||
				use Order\\:\\:Descending instead$#
 | 
			
		||||
			"""
 | 
			
		||||
			count: 2
 | 
			
		||||
			path: src/Bundle/ChillPersonBundle/Entity/Person.php
 | 
			
		||||
 | 
			
		||||
		-
 | 
			
		||||
			message: """
 | 
			
		||||
				#^Fetching deprecated class constant DESC of class Doctrine\\\\Common\\\\Collections\\\\Criteria\\:
 | 
			
		||||
				use Order\\:\\:Descending instead$#
 | 
			
		||||
			"""
 | 
			
		||||
			count: 1
 | 
			
		||||
			path: src/Bundle/ChillPersonBundle/Entity/AccompanyingPeriod.php
 | 
			
		||||
@@ -100,6 +100,11 @@ parameters:
 | 
			
		||||
			count: 1
 | 
			
		||||
			path: src/Bundle/ChillEventBundle/Controller/EventController.php
 | 
			
		||||
 | 
			
		||||
		-
 | 
			
		||||
			message: "#^Parameter \\#1 \\$name of method Symfony\\\\Component\\\\Form\\\\FormFactoryInterface\\:\\:createNamedBuilder\\(\\) expects string, null given\\.$#"
 | 
			
		||||
			count: 1
 | 
			
		||||
			path: src/Bundle/ChillEventBundle/Controller/EventController.php
 | 
			
		||||
 | 
			
		||||
		-
 | 
			
		||||
			message: "#^Parameter \\#1 \\$value of function count expects array\\|Countable, Chill\\\\MainBundle\\\\Entity\\\\Center given\\.$#"
 | 
			
		||||
			count: 1
 | 
			
		||||
@@ -160,6 +165,11 @@ parameters:
 | 
			
		||||
			count: 1
 | 
			
		||||
			path: src/Bundle/ChillMainBundle/Controller/ExportController.php
 | 
			
		||||
 | 
			
		||||
		-
 | 
			
		||||
			message: "#^Parameter \\#1 \\$name of method Symfony\\\\Component\\\\Form\\\\FormFactoryInterface\\:\\:createNamedBuilder\\(\\) expects string, null given\\.$#"
 | 
			
		||||
			count: 1
 | 
			
		||||
			path: src/Bundle/ChillMainBundle/Controller/ExportController.php
 | 
			
		||||
 | 
			
		||||
		-
 | 
			
		||||
			message: "#^Parameter \\#3 \\$alias of method Chill\\\\MainBundle\\\\Controller\\\\ExportController\\:\\:exportFormStep\\(\\) expects string, Symfony\\\\Component\\\\HttpFoundation\\\\Request given\\.$#"
 | 
			
		||||
			count: 1
 | 
			
		||||
 
 | 
			
		||||
@@ -1,30 +1,5 @@
 | 
			
		||||
parameters:
 | 
			
		||||
	ignoreErrors:
 | 
			
		||||
		-
 | 
			
		||||
			message: "#^Only booleans are allowed in an if condition, mixed given\\.$#"
 | 
			
		||||
			count: 1
 | 
			
		||||
			path: src/Bundle/ChillCustomFieldsBundle/Entity/CustomField.php
 | 
			
		||||
 | 
			
		||||
		-
 | 
			
		||||
			message: "#^Only booleans are allowed in an if condition, mixed given\\.$#"
 | 
			
		||||
			count: 1
 | 
			
		||||
			path: src/Bundle/ChillPersonBundle/Form/PersonType.php
 | 
			
		||||
 | 
			
		||||
		-
 | 
			
		||||
			message: "#^Only booleans are allowed in an if condition, mixed given\\.$#"
 | 
			
		||||
			count: 1
 | 
			
		||||
			path: src/Bundle/ChillMainBundle/Templating/ChillTwigRoutingHelper.php
 | 
			
		||||
 | 
			
		||||
		-
 | 
			
		||||
			message: "#^Only booleans are allowed in an if condition, mixed given\\.$#"
 | 
			
		||||
			count: 1
 | 
			
		||||
			path: src/Bundle/ChillCustomFieldsBundle/Entity/CustomFieldsGroup.php
 | 
			
		||||
 | 
			
		||||
		-
 | 
			
		||||
			message: "#^Only booleans are allowed in an if condition, mixed given\\.$#"
 | 
			
		||||
			count: 2
 | 
			
		||||
			path: src/Bundle/ChillMainBundle/Repository/NotificationRepository.php
 | 
			
		||||
 | 
			
		||||
		-
 | 
			
		||||
			message: "#^Foreach overwrites \\$key with its key variable\\.$#"
 | 
			
		||||
			count: 1
 | 
			
		||||
 
 | 
			
		||||
@@ -1,153 +0,0 @@
 | 
			
		||||
parameters:
 | 
			
		||||
	ignoreErrors:
 | 
			
		||||
		-
 | 
			
		||||
			message: """
 | 
			
		||||
				#^Call to deprecated method get\\(\\) of class Symfony\\\\Bundle\\\\FrameworkBundle\\\\Controller\\\\AbstractController\\:
 | 
			
		||||
				since Symfony 5\\.4, use method or constructor injection in your controller instead$#
 | 
			
		||||
			"""
 | 
			
		||||
			count: 2
 | 
			
		||||
			path: src/Bundle/ChillCustomFieldsBundle/Controller/CustomFieldsGroupController.php
 | 
			
		||||
 | 
			
		||||
		-
 | 
			
		||||
			message: """
 | 
			
		||||
				#^Call to deprecated method get\\(\\) of class Symfony\\\\Bundle\\\\FrameworkBundle\\\\Controller\\\\AbstractController\\:
 | 
			
		||||
				since Symfony 5\\.4, use method or constructor injection in your controller instead$#
 | 
			
		||||
			"""
 | 
			
		||||
			count: 1
 | 
			
		||||
			path: src/Bundle/ChillMainBundle/CRUD/Controller/AbstractCRUDController.php
 | 
			
		||||
 | 
			
		||||
		-
 | 
			
		||||
			message: """
 | 
			
		||||
				#^Call to deprecated method get\\(\\) of class Symfony\\\\Bundle\\\\FrameworkBundle\\\\Controller\\\\AbstractController\\:
 | 
			
		||||
				since Symfony 5\\.4, use method or constructor injection in your controller instead$#
 | 
			
		||||
			"""
 | 
			
		||||
			count: 1
 | 
			
		||||
			path: src/Bundle/ChillMainBundle/CRUD/Controller/ApiController.php
 | 
			
		||||
 | 
			
		||||
		-
 | 
			
		||||
			message: """
 | 
			
		||||
				#^Call to deprecated method get\\(\\) of class Symfony\\\\Bundle\\\\FrameworkBundle\\\\Controller\\\\AbstractController\\:
 | 
			
		||||
				since Symfony 5\\.4, use method or constructor injection in your controller instead$#
 | 
			
		||||
			"""
 | 
			
		||||
			count: 3
 | 
			
		||||
			path: src/Bundle/ChillMainBundle/CRUD/Controller/CRUDController.php
 | 
			
		||||
 | 
			
		||||
		-
 | 
			
		||||
			message: """
 | 
			
		||||
				#^Call to deprecated method getUsername\\(\\) of class Chill\\\\MainBundle\\\\Entity\\\\User\\:
 | 
			
		||||
				since Symfony 5\\.3, use getUserIdentifier\\(\\) instead$#
 | 
			
		||||
			"""
 | 
			
		||||
			count: 2
 | 
			
		||||
			path: src/Bundle/ChillMainBundle/Command/ChillImportUsersCommand.php
 | 
			
		||||
 | 
			
		||||
		-
 | 
			
		||||
			message: """
 | 
			
		||||
				#^Call to deprecated method getUsername\\(\\) of class Chill\\\\MainBundle\\\\Entity\\\\User\\:
 | 
			
		||||
				since Symfony 5\\.3, use getUserIdentifier\\(\\) instead$#
 | 
			
		||||
			"""
 | 
			
		||||
			count: 1
 | 
			
		||||
			path: src/Bundle/ChillMainBundle/Command/ChillUserSendRenewPasswordCodeCommand.php
 | 
			
		||||
 | 
			
		||||
		-
 | 
			
		||||
			message: """
 | 
			
		||||
				#^Instantiation of deprecated class Symfony\\\\Component\\\\Security\\\\Core\\\\Encoder\\\\EncoderFactory\\:
 | 
			
		||||
				since Symfony 5\\.3, use \\{@link PasswordHasherFactory\\} instead$#
 | 
			
		||||
			"""
 | 
			
		||||
			count: 1
 | 
			
		||||
			path: src/Bundle/ChillMainBundle/Command/SetPasswordCommand.php
 | 
			
		||||
 | 
			
		||||
		-
 | 
			
		||||
			message: """
 | 
			
		||||
				#^Call to deprecated method get\\(\\) of class Symfony\\\\Bundle\\\\FrameworkBundle\\\\Controller\\\\AbstractController\\:
 | 
			
		||||
				since Symfony 5\\.4, use method or constructor injection in your controller instead$#
 | 
			
		||||
			"""
 | 
			
		||||
			count: 1
 | 
			
		||||
			path: src/Bundle/ChillMainBundle/Controller/MenuController.php
 | 
			
		||||
 | 
			
		||||
		-
 | 
			
		||||
			message: """
 | 
			
		||||
				#^Call to deprecated method get\\(\\) of class Symfony\\\\Bundle\\\\FrameworkBundle\\\\Controller\\\\AbstractController\\:
 | 
			
		||||
				since Symfony 5\\.4, use method or constructor injection in your controller instead$#
 | 
			
		||||
			"""
 | 
			
		||||
			count: 1
 | 
			
		||||
			path: src/Bundle/ChillMainBundle/Controller/SearchController.php
 | 
			
		||||
 | 
			
		||||
		-
 | 
			
		||||
			message: """
 | 
			
		||||
				#^Call to deprecated method getUsername\\(\\) of class Chill\\\\MainBundle\\\\Entity\\\\User\\:
 | 
			
		||||
				since Symfony 5\\.3, use getUserIdentifier\\(\\) instead$#
 | 
			
		||||
			"""
 | 
			
		||||
			count: 1
 | 
			
		||||
			path: src/Bundle/ChillMainBundle/Controller/UserController.php
 | 
			
		||||
 | 
			
		||||
		-
 | 
			
		||||
			message: """
 | 
			
		||||
				#^Instantiation of deprecated class Symfony\\\\Component\\\\Security\\\\Core\\\\Encoder\\\\EncoderFactory\\:
 | 
			
		||||
				since Symfony 5\\.3, use \\{@link PasswordHasherFactory\\} instead$#
 | 
			
		||||
			"""
 | 
			
		||||
			count: 1
 | 
			
		||||
			path: src/Bundle/ChillMainBundle/DataFixtures/ORM/LoadUsers.php
 | 
			
		||||
 | 
			
		||||
		-
 | 
			
		||||
			message: """
 | 
			
		||||
				#^Call to deprecated method getUsername\\(\\) of class Chill\\\\MainBundle\\\\Entity\\\\User\\:
 | 
			
		||||
				since Symfony 5\\.3, use getUserIdentifier\\(\\) instead$#
 | 
			
		||||
			"""
 | 
			
		||||
			count: 2
 | 
			
		||||
			path: src/Bundle/ChillMainBundle/Security/Authorization/AuthorizationHelper.php
 | 
			
		||||
 | 
			
		||||
		-
 | 
			
		||||
			message: """
 | 
			
		||||
				#^Call to deprecated method getUsername\\(\\) of class Chill\\\\MainBundle\\\\Entity\\\\User\\:
 | 
			
		||||
				since Symfony 5\\.3, use getUserIdentifier\\(\\) instead$#
 | 
			
		||||
			"""
 | 
			
		||||
			count: 1
 | 
			
		||||
			path: src/Bundle/ChillMainBundle/Serializer/Normalizer/UserNormalizer.php
 | 
			
		||||
 | 
			
		||||
		-
 | 
			
		||||
			message: """
 | 
			
		||||
				#^Call to deprecated method getUsername\\(\\) of class Chill\\\\MainBundle\\\\Entity\\\\User\\:
 | 
			
		||||
				since Symfony 5\\.3, use getUserIdentifier\\(\\) instead$#
 | 
			
		||||
			"""
 | 
			
		||||
			count: 3
 | 
			
		||||
			path: src/Bundle/ChillMainBundle/Validation/Validator/UserUniqueEmailAndUsername.php
 | 
			
		||||
 | 
			
		||||
		-
 | 
			
		||||
			message: """
 | 
			
		||||
				#^Call to deprecated method getUsername\\(\\) of class Chill\\\\MainBundle\\\\Entity\\\\User\\:
 | 
			
		||||
				since Symfony 5\\.3, use getUserIdentifier\\(\\) instead$#
 | 
			
		||||
			"""
 | 
			
		||||
			count: 1
 | 
			
		||||
			path: src/Bundle/ChillMainBundle/Validator/Constraints/Entity/UserCircleConsistencyValidator.php
 | 
			
		||||
 | 
			
		||||
		-
 | 
			
		||||
			message: """
 | 
			
		||||
				#^Call to deprecated method get\\(\\) of class Symfony\\\\Bundle\\\\FrameworkBundle\\\\Controller\\\\AbstractController\\:
 | 
			
		||||
				since Symfony 5\\.4, use method or constructor injection in your controller instead$#
 | 
			
		||||
			"""
 | 
			
		||||
			count: 13
 | 
			
		||||
			path: src/Bundle/ChillPersonBundle/Controller/AccompanyingPeriodController.php
 | 
			
		||||
 | 
			
		||||
		-
 | 
			
		||||
			message: """
 | 
			
		||||
				#^Call to deprecated method get\\(\\) of class Symfony\\\\Bundle\\\\FrameworkBundle\\\\Controller\\\\AbstractController\\:
 | 
			
		||||
				since Symfony 5\\.4, use method or constructor injection in your controller instead$#
 | 
			
		||||
			"""
 | 
			
		||||
			count: 4
 | 
			
		||||
			path: src/Bundle/ChillPersonBundle/Controller/PersonController.php
 | 
			
		||||
 | 
			
		||||
		-
 | 
			
		||||
			message: """
 | 
			
		||||
				#^Call to deprecated method get\\(\\) of class Symfony\\\\Bundle\\\\FrameworkBundle\\\\Controller\\\\AbstractController\\:
 | 
			
		||||
				since Symfony 5\\.4, use method or constructor injection in your controller instead$#
 | 
			
		||||
			"""
 | 
			
		||||
			count: 7
 | 
			
		||||
			path: src/Bundle/ChillReportBundle/Controller/ReportController.php
 | 
			
		||||
 | 
			
		||||
		-
 | 
			
		||||
			message: """
 | 
			
		||||
				#^Call to deprecated method getUsername\\(\\) of class Chill\\\\MainBundle\\\\Entity\\\\User\\:
 | 
			
		||||
				since Symfony 5\\.3, use getUserIdentifier\\(\\) instead$#
 | 
			
		||||
			"""
 | 
			
		||||
			count: 1
 | 
			
		||||
			path: src/Bundle/ChillTaskBundle/Form/SingleTaskListType.php
 | 
			
		||||
@@ -1,5 +1,36 @@
 | 
			
		||||
parameters:
 | 
			
		||||
	ignoreErrors:
 | 
			
		||||
		-
 | 
			
		||||
			message: """
 | 
			
		||||
				#^Instantiation of deprecated class Symfony\\\\Component\\\\Security\\\\Core\\\\Role\\\\Role\\:
 | 
			
		||||
				since Symfony 4\\.3, to be removed in 5\\.0\\. Use strings as roles instead\\.$#
 | 
			
		||||
			"""
 | 
			
		||||
			count: 2
 | 
			
		||||
			path: src/Bundle/ChillActivityBundle/Controller/ActivityController.php
 | 
			
		||||
 | 
			
		||||
		-
 | 
			
		||||
			message: "#^Call to deprecated method setType\\(\\) of class Chill\\\\ActivityBundle\\\\Entity\\\\Activity\\.$#"
 | 
			
		||||
			count: 1
 | 
			
		||||
			path: src/Bundle/ChillActivityBundle/DataFixtures/ORM/LoadActivity.php
 | 
			
		||||
 | 
			
		||||
		-
 | 
			
		||||
			message: "#^Only booleans are allowed in an if condition, mixed given\\.$#"
 | 
			
		||||
			count: 1
 | 
			
		||||
			path: src/Bundle/ChillActivityBundle/Entity/ActivityReason.php
 | 
			
		||||
 | 
			
		||||
		-
 | 
			
		||||
			message: "#^Only booleans are allowed in an if condition, mixed given\\.$#"
 | 
			
		||||
			count: 1
 | 
			
		||||
			path: src/Bundle/ChillActivityBundle/Entity/ActivityReasonCategory.php
 | 
			
		||||
 | 
			
		||||
		-
 | 
			
		||||
			message: """
 | 
			
		||||
				#^Fetching class constant class of deprecated class Symfony\\\\Component\\\\Security\\\\Core\\\\Role\\\\Role\\:
 | 
			
		||||
				since Symfony 4\\.3, to be removed in 5\\.0\\. Use strings as roles instead\\.$#
 | 
			
		||||
			"""
 | 
			
		||||
			count: 1
 | 
			
		||||
			path: src/Bundle/ChillActivityBundle/Form/ActivityType.php
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
		-
 | 
			
		||||
			message: """
 | 
			
		||||
@@ -9,10 +40,201 @@ parameters:
 | 
			
		||||
			count: 1
 | 
			
		||||
			path: src/Bundle/ChillActivityBundle/Repository/ActivityACLAwareRepository.php
 | 
			
		||||
 | 
			
		||||
		-
 | 
			
		||||
			message: """
 | 
			
		||||
				#^Instantiation of deprecated class Symfony\\\\Component\\\\Security\\\\Core\\\\Role\\\\Role\\:
 | 
			
		||||
				since Symfony 4\\.3, to be removed in 5\\.0\\. Use strings as roles instead\\.$#
 | 
			
		||||
			"""
 | 
			
		||||
			count: 1
 | 
			
		||||
			path: src/Bundle/ChillActivityBundle/Timeline/TimelineActivityProvider.php
 | 
			
		||||
 | 
			
		||||
		-
 | 
			
		||||
			message: """
 | 
			
		||||
				#^Parameter \\$templating of method Chill\\\\CustomFieldsBundle\\\\CustomFields\\\\CustomFieldChoice\\:\\:__construct\\(\\) has typehint with deprecated class Symfony\\\\Bridge\\\\Twig\\\\TwigEngine\\:
 | 
			
		||||
				since version 4\\.3, to be removed in 5\\.0; use Twig instead\\.$#
 | 
			
		||||
			"""
 | 
			
		||||
			count: 1
 | 
			
		||||
			path: src/Bundle/ChillCustomFieldsBundle/CustomFields/CustomFieldChoice.php
 | 
			
		||||
 | 
			
		||||
		-
 | 
			
		||||
			message: "#^Used function LogicException not found\\.$#"
 | 
			
		||||
			count: 1
 | 
			
		||||
			path: src/Bundle/ChillCustomFieldsBundle/CustomFields/CustomFieldChoice.php
 | 
			
		||||
 | 
			
		||||
		-
 | 
			
		||||
			message: """
 | 
			
		||||
				#^Parameter \\$templating of method Chill\\\\CustomFieldsBundle\\\\CustomFields\\\\CustomFieldDate\\:\\:__construct\\(\\) has typehint with deprecated class Symfony\\\\Bundle\\\\TwigBundle\\\\TwigEngine\\:
 | 
			
		||||
				since version 4\\.3, to be removed in 5\\.0; use Twig instead\\.$#
 | 
			
		||||
			"""
 | 
			
		||||
			count: 1
 | 
			
		||||
			path: src/Bundle/ChillCustomFieldsBundle/CustomFields/CustomFieldDate.php
 | 
			
		||||
 | 
			
		||||
		-
 | 
			
		||||
			message: """
 | 
			
		||||
				#^Parameter \\$twigEngine of method Chill\\\\CustomFieldsBundle\\\\CustomFields\\\\CustomFieldLongChoice\\:\\:__construct\\(\\) has typehint with deprecated class Symfony\\\\Bridge\\\\Twig\\\\TwigEngine\\:
 | 
			
		||||
				since version 4\\.3, to be removed in 5\\.0; use Twig instead\\.$#
 | 
			
		||||
			"""
 | 
			
		||||
			count: 1
 | 
			
		||||
			path: src/Bundle/ChillCustomFieldsBundle/CustomFields/CustomFieldLongChoice.php
 | 
			
		||||
 | 
			
		||||
		-
 | 
			
		||||
			message: """
 | 
			
		||||
				#^Parameter \\$templating of method Chill\\\\CustomFieldsBundle\\\\CustomFields\\\\CustomFieldNumber\\:\\:__construct\\(\\) has typehint with deprecated class Symfony\\\\Bundle\\\\TwigBundle\\\\TwigEngine\\:
 | 
			
		||||
				since version 4\\.3, to be removed in 5\\.0; use Twig instead\\.$#
 | 
			
		||||
			"""
 | 
			
		||||
			count: 1
 | 
			
		||||
			path: src/Bundle/ChillCustomFieldsBundle/CustomFields/CustomFieldNumber.php
 | 
			
		||||
 | 
			
		||||
		-
 | 
			
		||||
			message: """
 | 
			
		||||
				#^Parameter \\$templating of method Chill\\\\CustomFieldsBundle\\\\CustomFields\\\\CustomFieldText\\:\\:__construct\\(\\) has typehint with deprecated class Symfony\\\\Bundle\\\\TwigBundle\\\\TwigEngine\\:
 | 
			
		||||
				since version 4\\.3, to be removed in 5\\.0; use Twig instead\\.$#
 | 
			
		||||
			"""
 | 
			
		||||
			count: 1
 | 
			
		||||
			path: src/Bundle/ChillCustomFieldsBundle/CustomFields/CustomFieldText.php
 | 
			
		||||
 | 
			
		||||
		-
 | 
			
		||||
			message: """
 | 
			
		||||
				#^Parameter \\$templating of method Chill\\\\CustomFieldsBundle\\\\CustomFields\\\\CustomFieldTitle\\:\\:__construct\\(\\) has typehint with deprecated class Symfony\\\\Bundle\\\\TwigBundle\\\\TwigEngine\\:
 | 
			
		||||
				since version 4\\.3, to be removed in 5\\.0; use Twig instead\\.$#
 | 
			
		||||
			"""
 | 
			
		||||
			count: 1
 | 
			
		||||
			path: src/Bundle/ChillCustomFieldsBundle/CustomFields/CustomFieldTitle.php
 | 
			
		||||
 | 
			
		||||
		-
 | 
			
		||||
			message: "#^Only booleans are allowed in an if condition, mixed given\\.$#"
 | 
			
		||||
			count: 1
 | 
			
		||||
			path: src/Bundle/ChillActivityBundle/Entity/ActivityReasonCategory.php
 | 
			
		||||
			path: src/Bundle/ChillCustomFieldsBundle/Entity/CustomField.php
 | 
			
		||||
 | 
			
		||||
		-
 | 
			
		||||
			message: "#^Only booleans are allowed in an if condition, mixed given\\.$#"
 | 
			
		||||
			count: 1
 | 
			
		||||
			path: src/Bundle/ChillCustomFieldsBundle/Entity/CustomFieldsGroup.php
 | 
			
		||||
 | 
			
		||||
		-
 | 
			
		||||
			message: """
 | 
			
		||||
				#^Instantiation of deprecated class Symfony\\\\Component\\\\Security\\\\Core\\\\Role\\\\Role\\:
 | 
			
		||||
				since Symfony 4\\.3, to be removed in 5\\.0\\. Use strings as roles instead\\.$#
 | 
			
		||||
			"""
 | 
			
		||||
			count: 6
 | 
			
		||||
			path: src/Bundle/ChillEventBundle/Controller/EventController.php
 | 
			
		||||
 | 
			
		||||
		-
 | 
			
		||||
			message: """
 | 
			
		||||
				#^Fetching class constant class of deprecated class Symfony\\\\Component\\\\Security\\\\Core\\\\Role\\\\Role\\:
 | 
			
		||||
				since Symfony 4\\.3, to be removed in 5\\.0\\. Use strings as roles instead\\.$#
 | 
			
		||||
			"""
 | 
			
		||||
			count: 1
 | 
			
		||||
			path: src/Bundle/ChillEventBundle/Form/EventType.php
 | 
			
		||||
 | 
			
		||||
		-
 | 
			
		||||
			message: """
 | 
			
		||||
				#^Fetching class constant class of deprecated class Symfony\\\\Component\\\\Security\\\\Core\\\\Role\\\\Role\\:
 | 
			
		||||
				since Symfony 4\\.3, to be removed in 5\\.0\\. Use strings as roles instead\\.$#
 | 
			
		||||
			"""
 | 
			
		||||
			count: 1
 | 
			
		||||
			path: src/Bundle/ChillEventBundle/Form/Type/PickEventType.php
 | 
			
		||||
 | 
			
		||||
		-
 | 
			
		||||
			message: """
 | 
			
		||||
				#^Instantiation of deprecated class Symfony\\\\Component\\\\Security\\\\Core\\\\Role\\\\Role\\:
 | 
			
		||||
				since Symfony 4\\.3, to be removed in 5\\.0\\. Use strings as roles instead\\.$#
 | 
			
		||||
			"""
 | 
			
		||||
			count: 1
 | 
			
		||||
			path: src/Bundle/ChillFamilyMembersBundle/Security/Voter/FamilyMemberVoter.php
 | 
			
		||||
 | 
			
		||||
		-
 | 
			
		||||
			message: """
 | 
			
		||||
				#^Parameter \\$role of method Chill\\\\MainBundle\\\\CRUD\\\\Controller\\\\CRUDController\\:\\:getReachableCenters\\(\\) has typehint with deprecated class Symfony\\\\Component\\\\Security\\\\Core\\\\Role\\\\Role\\:
 | 
			
		||||
				since Symfony 4\\.3, to be removed in 5\\.0\\. Use strings as roles instead\\.$#
 | 
			
		||||
			"""
 | 
			
		||||
			count: 1
 | 
			
		||||
			path: src/Bundle/ChillMainBundle/CRUD/Controller/CRUDController.php
 | 
			
		||||
 | 
			
		||||
		-
 | 
			
		||||
			message: """
 | 
			
		||||
				#^Call to deprecated method getLanguageBundle\\(\\) of class Symfony\\\\Component\\\\Intl\\\\Intl\\:
 | 
			
		||||
				since Symfony 4\\.3, to be removed in 5\\.0\\. Use \\{@see Languages\\} or \\{@see Scripts\\} instead\\.$#
 | 
			
		||||
			"""
 | 
			
		||||
			count: 1
 | 
			
		||||
			path: src/Bundle/ChillMainBundle/Command/LoadAndUpdateLanguagesCommand.php
 | 
			
		||||
 | 
			
		||||
		-
 | 
			
		||||
			message: """
 | 
			
		||||
				#^Call to deprecated method getRegionBundle\\(\\) of class Symfony\\\\Component\\\\Intl\\\\Intl\\:
 | 
			
		||||
				since Symfony 4\\.3, to be removed in 5\\.0\\. Use \\{@see Countries\\} instead\\.$#
 | 
			
		||||
			"""
 | 
			
		||||
			count: 1
 | 
			
		||||
			path: src/Bundle/ChillMainBundle/Command/LoadCountriesCommand.php
 | 
			
		||||
 | 
			
		||||
		-
 | 
			
		||||
			message: """
 | 
			
		||||
				#^Instantiation of deprecated class Symfony\\\\Component\\\\Security\\\\Core\\\\Role\\\\Role\\:
 | 
			
		||||
				since Symfony 4\\.3, to be removed in 5\\.0\\. Use strings as roles instead\\.$#
 | 
			
		||||
			"""
 | 
			
		||||
			count: 1
 | 
			
		||||
			path: src/Bundle/ChillMainBundle/Controller/PermissionsGroupController.php
 | 
			
		||||
 | 
			
		||||
		-
 | 
			
		||||
			message: """
 | 
			
		||||
				#^Parameter \\$role of anonymous function has typehint with deprecated class Symfony\\\\Component\\\\Security\\\\Core\\\\Role\\\\Role\\:
 | 
			
		||||
				since Symfony 4\\.3, to be removed in 5\\.0\\. Use strings as roles instead\\.$#
 | 
			
		||||
			"""
 | 
			
		||||
			count: 1
 | 
			
		||||
			path: src/Bundle/ChillMainBundle/Controller/PermissionsGroupController.php
 | 
			
		||||
 | 
			
		||||
		-
 | 
			
		||||
			message: """
 | 
			
		||||
				#^Call to deprecated method getLanguageBundle\\(\\) of class Symfony\\\\Component\\\\Intl\\\\Intl\\:
 | 
			
		||||
				since Symfony 4\\.3, to be removed in 5\\.0\\. Use \\{@see Languages\\} or \\{@see Scripts\\} instead\\.$#
 | 
			
		||||
			"""
 | 
			
		||||
			count: 2
 | 
			
		||||
			path: src/Bundle/ChillMainBundle/DataFixtures/ORM/LoadLanguages.php
 | 
			
		||||
 | 
			
		||||
		-
 | 
			
		||||
			message: """
 | 
			
		||||
				#^Return type of method Chill\\\\MainBundle\\\\Entity\\\\User\\:\\:getRoles\\(\\) has typehint with deprecated class Symfony\\\\Component\\\\Security\\\\Core\\\\Role\\\\Role\\:
 | 
			
		||||
				since Symfony 4\\.3, to be removed in 5\\.0\\. Use strings as roles instead\\.$#
 | 
			
		||||
			"""
 | 
			
		||||
			count: 1
 | 
			
		||||
			path: src/Bundle/ChillMainBundle/Entity/User.php
 | 
			
		||||
 | 
			
		||||
		-
 | 
			
		||||
			message: """
 | 
			
		||||
				#^Class Chill\\\\MainBundle\\\\Form\\\\Event\\\\CustomizeFormEvent extends deprecated class Symfony\\\\Component\\\\EventDispatcher\\\\Event\\:
 | 
			
		||||
				since Symfony 4\\.3, use "Symfony\\\\Contracts\\\\EventDispatcher\\\\Event" instead$#
 | 
			
		||||
			"""
 | 
			
		||||
			count: 1
 | 
			
		||||
			path: src/Bundle/ChillMainBundle/Form/Event/CustomizeFormEvent.php
 | 
			
		||||
 | 
			
		||||
		-
 | 
			
		||||
			message: """
 | 
			
		||||
				#^Fetching class constant class of deprecated class Symfony\\\\Component\\\\Security\\\\Core\\\\Role\\\\Role\\:
 | 
			
		||||
				since Symfony 4\\.3, to be removed in 5\\.0\\. Use strings as roles instead\\.$#
 | 
			
		||||
			"""
 | 
			
		||||
			count: 1
 | 
			
		||||
			path: src/Bundle/ChillMainBundle/Form/Type/ScopePickerType.php
 | 
			
		||||
 | 
			
		||||
		-
 | 
			
		||||
			message: """
 | 
			
		||||
				#^Fetching class constant class of deprecated class Symfony\\\\Component\\\\Security\\\\Core\\\\Role\\\\Role\\:
 | 
			
		||||
				since Symfony 4\\.3, to be removed in 5\\.0\\. Use strings as roles instead\\.$#
 | 
			
		||||
			"""
 | 
			
		||||
			count: 1
 | 
			
		||||
			path: src/Bundle/ChillMainBundle/Form/Type/UserPickerType.php
 | 
			
		||||
 | 
			
		||||
		-
 | 
			
		||||
			message: "#^Only booleans are allowed in an if condition, mixed given\\.$#"
 | 
			
		||||
			count: 2
 | 
			
		||||
			path: src/Bundle/ChillMainBundle/Repository/NotificationRepository.php
 | 
			
		||||
 | 
			
		||||
		-
 | 
			
		||||
			message: """
 | 
			
		||||
				#^Parameter \\$attribute of method Chill\\\\MainBundle\\\\Security\\\\Authorization\\\\AuthorizationHelper\\:\\:userHasAccess\\(\\) has typehint with deprecated class Symfony\\\\Component\\\\Security\\\\Core\\\\Role\\\\Role\\:
 | 
			
		||||
				since Symfony 4\\.3, to be removed in 5\\.0\\. Use strings as roles instead\\.$#
 | 
			
		||||
			"""
 | 
			
		||||
			count: 1
 | 
			
		||||
			path: src/Bundle/ChillMainBundle/Security/Authorization/AuthorizationHelper.php
 | 
			
		||||
 | 
			
		||||
		-
 | 
			
		||||
			message: """
 | 
			
		||||
@@ -22,6 +244,14 @@ parameters:
 | 
			
		||||
			count: 1
 | 
			
		||||
			path: src/Bundle/ChillMainBundle/Security/Authorization/AuthorizationHelper.php
 | 
			
		||||
 | 
			
		||||
		-
 | 
			
		||||
			message: """
 | 
			
		||||
				#^Parameter \\$role of method Chill\\\\MainBundle\\\\Security\\\\Authorization\\\\AuthorizationHelper\\:\\:getReachableCircles\\(\\) has typehint with deprecated class Symfony\\\\Component\\\\Security\\\\Core\\\\Role\\\\Role\\:
 | 
			
		||||
				since Symfony 4\\.3, to be removed in 5\\.0\\. Use strings as roles instead\\.$#
 | 
			
		||||
			"""
 | 
			
		||||
			count: 1
 | 
			
		||||
			path: src/Bundle/ChillMainBundle/Security/Authorization/AuthorizationHelper.php
 | 
			
		||||
 | 
			
		||||
		-
 | 
			
		||||
			message: """
 | 
			
		||||
				#^Parameter \\$centerResolverDispatcher of method Chill\\\\MainBundle\\\\Security\\\\Authorization\\\\DefaultVoterHelper\\:\\:__construct\\(\\) has typehint with deprecated interface Chill\\\\MainBundle\\\\Security\\\\Resolver\\\\CenterResolverDispatcherInterface\\:
 | 
			
		||||
@@ -46,6 +276,14 @@ parameters:
 | 
			
		||||
			count: 1
 | 
			
		||||
			path: src/Bundle/ChillMainBundle/Security/Authorization/DefaultVoterHelperGenerator.php
 | 
			
		||||
 | 
			
		||||
		-
 | 
			
		||||
			message: """
 | 
			
		||||
				#^Class Chill\\\\MainBundle\\\\Security\\\\PasswordRecover\\\\PasswordRecoverEvent extends deprecated class Symfony\\\\Component\\\\EventDispatcher\\\\Event\\:
 | 
			
		||||
				since Symfony 4\\.3, use "Symfony\\\\Contracts\\\\EventDispatcher\\\\Event" instead$#
 | 
			
		||||
			"""
 | 
			
		||||
			count: 1
 | 
			
		||||
			path: src/Bundle/ChillMainBundle/Security/PasswordRecover/PasswordRecoverEvent.php
 | 
			
		||||
 | 
			
		||||
		-
 | 
			
		||||
			message: """
 | 
			
		||||
				#^Class Chill\\\\MainBundle\\\\Security\\\\Resolver\\\\CenterResolverDispatcher implements deprecated interface Chill\\\\MainBundle\\\\Security\\\\Resolver\\\\CenterResolverDispatcherInterface\\:
 | 
			
		||||
@@ -54,6 +292,35 @@ parameters:
 | 
			
		||||
			count: 1
 | 
			
		||||
			path: src/Bundle/ChillMainBundle/Security/Resolver/CenterResolverDispatcher.php
 | 
			
		||||
 | 
			
		||||
		-
 | 
			
		||||
			message: "#^Only booleans are allowed in an if condition, mixed given\\.$#"
 | 
			
		||||
			count: 1
 | 
			
		||||
			path: src/Bundle/ChillMainBundle/Templating/ChillTwigRoutingHelper.php
 | 
			
		||||
 | 
			
		||||
		-
 | 
			
		||||
			message: """
 | 
			
		||||
				#^Class Chill\\\\MainBundle\\\\Templating\\\\Events\\\\DelegatedBlockRenderingEvent extends deprecated class Symfony\\\\Component\\\\EventDispatcher\\\\Event\\:
 | 
			
		||||
				since Symfony 4\\.3, use "Symfony\\\\Contracts\\\\EventDispatcher\\\\Event" instead$#
 | 
			
		||||
			"""
 | 
			
		||||
			count: 1
 | 
			
		||||
			path: src/Bundle/ChillMainBundle/Templating/Events/DelegatedBlockRenderingEvent.php
 | 
			
		||||
 | 
			
		||||
		-
 | 
			
		||||
			message: """
 | 
			
		||||
				#^Class Chill\\\\PersonBundle\\\\Actions\\\\ActionEvent extends deprecated class Symfony\\\\Component\\\\EventDispatcher\\\\Event\\:
 | 
			
		||||
				since Symfony 4\\.3, use "Symfony\\\\Contracts\\\\EventDispatcher\\\\Event" instead$#
 | 
			
		||||
			"""
 | 
			
		||||
			count: 1
 | 
			
		||||
			path: src/Bundle/ChillPersonBundle/Actions/ActionEvent.php
 | 
			
		||||
 | 
			
		||||
		-
 | 
			
		||||
			message: """
 | 
			
		||||
				#^Class Chill\\\\PersonBundle\\\\Controller\\\\AccompanyingCourseController extends deprecated class Symfony\\\\Bundle\\\\FrameworkBundle\\\\Controller\\\\Controller\\:
 | 
			
		||||
				since Symfony 4\\.2, use "Symfony\\\\Bundle\\\\FrameworkBundle\\\\Controller\\\\AbstractController" instead\\.$#
 | 
			
		||||
			"""
 | 
			
		||||
			count: 1
 | 
			
		||||
			path: src/Bundle/ChillPersonBundle/Controller/AccompanyingCourseController.php
 | 
			
		||||
 | 
			
		||||
		-
 | 
			
		||||
			message: """
 | 
			
		||||
				#^Call to deprecated method getCurrentAccompanyingPeriod\\(\\) of class Chill\\\\PersonBundle\\\\Entity\\\\Person\\:
 | 
			
		||||
@@ -62,10 +329,56 @@ parameters:
 | 
			
		||||
			count: 1
 | 
			
		||||
			path: src/Bundle/ChillPersonBundle/Controller/AccompanyingPeriodController.php
 | 
			
		||||
 | 
			
		||||
		-
 | 
			
		||||
			message: """
 | 
			
		||||
				#^Class Chill\\\\PersonBundle\\\\Controller\\\\PersonDuplicateController extends deprecated class Symfony\\\\Bundle\\\\FrameworkBundle\\\\Controller\\\\Controller\\:
 | 
			
		||||
				since Symfony 4\\.2, use "Symfony\\\\Bundle\\\\FrameworkBundle\\\\Controller\\\\AbstractController" instead\\.$#
 | 
			
		||||
			"""
 | 
			
		||||
			count: 1
 | 
			
		||||
			path: src/Bundle/ChillPersonBundle/Controller/PersonDuplicateController.php
 | 
			
		||||
 | 
			
		||||
		-
 | 
			
		||||
			message: "#^Access to deprecated property \\$proxyAccompanyingPeriodOpenState of class Chill\\\\PersonBundle\\\\Entity\\\\Person\\.$#"
 | 
			
		||||
			count: 2
 | 
			
		||||
			path: src/Bundle/ChillPersonBundle/Entity/Person.php
 | 
			
		||||
 | 
			
		||||
		-
 | 
			
		||||
			message: """
 | 
			
		||||
				#^Instantiation of deprecated class Symfony\\\\Component\\\\Security\\\\Core\\\\Role\\\\Role\\:
 | 
			
		||||
				since Symfony 4\\.3, to be removed in 5\\.0\\. Use strings as roles instead\\.$#
 | 
			
		||||
			"""
 | 
			
		||||
			count: 1
 | 
			
		||||
			path: src/Bundle/ChillPersonBundle/Form/AccompanyingPeriodType.php
 | 
			
		||||
 | 
			
		||||
		-
 | 
			
		||||
			message: "#^Only booleans are allowed in an if condition, mixed given\\.$#"
 | 
			
		||||
			count: 1
 | 
			
		||||
			path: src/Bundle/ChillPersonBundle/Form/PersonType.php
 | 
			
		||||
 | 
			
		||||
		-
 | 
			
		||||
			message: """
 | 
			
		||||
				#^Fetching class constant class of deprecated class Symfony\\\\Component\\\\Security\\\\Core\\\\Role\\\\Role\\:
 | 
			
		||||
				since Symfony 4\\.3, to be removed in 5\\.0\\. Use strings as roles instead\\.$#
 | 
			
		||||
			"""
 | 
			
		||||
			count: 1
 | 
			
		||||
			path: src/Bundle/ChillPersonBundle/Form/Type/PickPersonType.php
 | 
			
		||||
 | 
			
		||||
		-
 | 
			
		||||
			message: """
 | 
			
		||||
				#^Class Chill\\\\PersonBundle\\\\Privacy\\\\AccompanyingPeriodPrivacyEvent extends deprecated class Symfony\\\\Component\\\\EventDispatcher\\\\Event\\:
 | 
			
		||||
				since Symfony 4\\.3, use "Symfony\\\\Contracts\\\\EventDispatcher\\\\Event" instead$#
 | 
			
		||||
			"""
 | 
			
		||||
			count: 1
 | 
			
		||||
			path: src/Bundle/ChillPersonBundle/Privacy/AccompanyingPeriodPrivacyEvent.php
 | 
			
		||||
 | 
			
		||||
		-
 | 
			
		||||
			message: """
 | 
			
		||||
				#^Class Chill\\\\PersonBundle\\\\Privacy\\\\PrivacyEvent extends deprecated class Symfony\\\\Component\\\\EventDispatcher\\\\Event\\:
 | 
			
		||||
				since Symfony 4\\.3, use "Symfony\\\\Contracts\\\\EventDispatcher\\\\Event" instead$#
 | 
			
		||||
			"""
 | 
			
		||||
			count: 1
 | 
			
		||||
			path: src/Bundle/ChillPersonBundle/Privacy/PrivacyEvent.php
 | 
			
		||||
 | 
			
		||||
		-
 | 
			
		||||
			message: """
 | 
			
		||||
				#^Parameter \\$centerResolverDispatcher of method Chill\\\\PersonBundle\\\\Repository\\\\AccompanyingPeriodACLAwareRepository\\:\\:__construct\\(\\) has typehint with deprecated interface Chill\\\\MainBundle\\\\Security\\\\Resolver\\\\CenterResolverDispatcherInterface\\:
 | 
			
		||||
@@ -74,6 +387,48 @@ parameters:
 | 
			
		||||
			count: 1
 | 
			
		||||
			path: src/Bundle/ChillPersonBundle/Repository/AccompanyingPeriodACLAwareRepository.php
 | 
			
		||||
 | 
			
		||||
		-
 | 
			
		||||
			message: """
 | 
			
		||||
				#^Instantiation of deprecated class Symfony\\\\Component\\\\Security\\\\Core\\\\Role\\\\Role\\:
 | 
			
		||||
				since Symfony 4\\.3, to be removed in 5\\.0\\. Use strings as roles instead\\.$#
 | 
			
		||||
			"""
 | 
			
		||||
			count: 1
 | 
			
		||||
			path: src/Bundle/ChillPersonBundle/Widget/PersonListWidget.php
 | 
			
		||||
 | 
			
		||||
		-
 | 
			
		||||
			message: """
 | 
			
		||||
				#^Instantiation of deprecated class Symfony\\\\Component\\\\Security\\\\Core\\\\Role\\\\Role\\:
 | 
			
		||||
				since Symfony 4\\.3, to be removed in 5\\.0\\. Use strings as roles instead\\.$#
 | 
			
		||||
			"""
 | 
			
		||||
			count: 3
 | 
			
		||||
			path: src/Bundle/ChillReportBundle/Controller/ReportController.php
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
		-
 | 
			
		||||
			message: """
 | 
			
		||||
				#^Parameter \\$role of method Chill\\\\ReportBundle\\\\Form\\\\ReportType\\:\\:appendScopeChoices\\(\\) has typehint with deprecated class Symfony\\\\Component\\\\Security\\\\Core\\\\Role\\\\Role\\:
 | 
			
		||||
				since Symfony 4\\.3, to be removed in 5\\.0\\. Use strings as roles instead\\.$#
 | 
			
		||||
			"""
 | 
			
		||||
			count: 1
 | 
			
		||||
			path: src/Bundle/ChillReportBundle/Form/ReportType.php
 | 
			
		||||
 | 
			
		||||
		-
 | 
			
		||||
			message: """
 | 
			
		||||
				#^Instantiation of deprecated class Symfony\\\\Component\\\\Security\\\\Core\\\\Role\\\\Role\\:
 | 
			
		||||
				since Symfony 4\\.3, to be removed in 5\\.0\\. Use strings as roles instead\\.$#
 | 
			
		||||
			"""
 | 
			
		||||
			count: 1
 | 
			
		||||
			path: src/Bundle/ChillReportBundle/Search/ReportSearch.php
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
		-
 | 
			
		||||
			message: """
 | 
			
		||||
				#^Instantiation of deprecated class Symfony\\\\Component\\\\Security\\\\Core\\\\Role\\\\Role\\:
 | 
			
		||||
				since Symfony 4\\.3, to be removed in 5\\.0\\. Use strings as roles instead\\.$#
 | 
			
		||||
			"""
 | 
			
		||||
			count: 2
 | 
			
		||||
			path: src/Bundle/ChillTaskBundle/Controller/SingleTaskController.php
 | 
			
		||||
 | 
			
		||||
		-
 | 
			
		||||
			message: """
 | 
			
		||||
				#^Parameter \\$centerResolverDispatcher of method Chill\\\\TaskBundle\\\\Controller\\\\SingleTaskController\\:\\:__construct\\(\\) has typehint with deprecated interface Chill\\\\MainBundle\\\\Security\\\\Resolver\\\\CenterResolverDispatcherInterface\\:
 | 
			
		||||
@@ -82,6 +437,46 @@ parameters:
 | 
			
		||||
			count: 1
 | 
			
		||||
			path: src/Bundle/ChillTaskBundle/Controller/SingleTaskController.php
 | 
			
		||||
 | 
			
		||||
		-
 | 
			
		||||
			message: """
 | 
			
		||||
				#^Parameter \\$role of method Chill\\\\TaskBundle\\\\Controller\\\\SingleTaskController\\:\\:setCreateForm\\(\\) has typehint with deprecated class Symfony\\\\Component\\\\Security\\\\Core\\\\Role\\\\Role\\:
 | 
			
		||||
				since Symfony 4\\.3, to be removed in 5\\.0\\. Use strings as roles instead\\.$#
 | 
			
		||||
			"""
 | 
			
		||||
			count: 1
 | 
			
		||||
			path: src/Bundle/ChillTaskBundle/Controller/SingleTaskController.php
 | 
			
		||||
 | 
			
		||||
		-
 | 
			
		||||
			message: """
 | 
			
		||||
				#^Class Chill\\\\TaskBundle\\\\Event\\\\TaskEvent extends deprecated class Symfony\\\\Component\\\\EventDispatcher\\\\Event\\:
 | 
			
		||||
				since Symfony 4\\.3, use "Symfony\\\\Contracts\\\\EventDispatcher\\\\Event" instead$#
 | 
			
		||||
			"""
 | 
			
		||||
			count: 1
 | 
			
		||||
			path: src/Bundle/ChillTaskBundle/Event/TaskEvent.php
 | 
			
		||||
 | 
			
		||||
		-
 | 
			
		||||
			message: """
 | 
			
		||||
				#^Class Chill\\\\TaskBundle\\\\Event\\\\UI\\\\UIEvent extends deprecated class Symfony\\\\Component\\\\EventDispatcher\\\\Event\\:
 | 
			
		||||
				since Symfony 4\\.3, use "Symfony\\\\Contracts\\\\EventDispatcher\\\\Event" instead$#
 | 
			
		||||
			"""
 | 
			
		||||
			count: 1
 | 
			
		||||
			path: src/Bundle/ChillTaskBundle/Event/UI/UIEvent.php
 | 
			
		||||
 | 
			
		||||
		-
 | 
			
		||||
			message: """
 | 
			
		||||
				#^Instantiation of deprecated class Symfony\\\\Component\\\\Security\\\\Core\\\\Role\\\\Role\\:
 | 
			
		||||
				since Symfony 4\\.3, to be removed in 5\\.0\\. Use strings as roles instead\\.$#
 | 
			
		||||
			"""
 | 
			
		||||
			count: 4
 | 
			
		||||
			path: src/Bundle/ChillTaskBundle/Form/SingleTaskListType.php
 | 
			
		||||
 | 
			
		||||
		-
 | 
			
		||||
			message: """
 | 
			
		||||
				#^Fetching class constant class of deprecated class Symfony\\\\Component\\\\Security\\\\Core\\\\Role\\\\Role\\:
 | 
			
		||||
				since Symfony 4\\.3, to be removed in 5\\.0\\. Use strings as roles instead\\.$#
 | 
			
		||||
			"""
 | 
			
		||||
			count: 1
 | 
			
		||||
			path: src/Bundle/ChillTaskBundle/Form/SingleTaskType.php
 | 
			
		||||
 | 
			
		||||
		-
 | 
			
		||||
			message: """
 | 
			
		||||
				#^Parameter \\$centerResolverDispatcher of method Chill\\\\TaskBundle\\\\Form\\\\SingleTaskType\\:\\:__construct\\(\\) has typehint with deprecated interface Chill\\\\MainBundle\\\\Security\\\\Resolver\\\\CenterResolverDispatcherInterface\\:
 | 
			
		||||
@@ -89,3 +484,28 @@ parameters:
 | 
			
		||||
			"""
 | 
			
		||||
			count: 1
 | 
			
		||||
			path: src/Bundle/ChillTaskBundle/Form/SingleTaskType.php
 | 
			
		||||
 | 
			
		||||
		-
 | 
			
		||||
			message: """
 | 
			
		||||
				#^Instantiation of deprecated class Symfony\\\\Component\\\\Security\\\\Core\\\\Role\\\\Role\\:
 | 
			
		||||
				since Symfony 4\\.3, to be removed in 5\\.0\\. Use strings as roles instead\\.$#
 | 
			
		||||
			"""
 | 
			
		||||
			count: 1
 | 
			
		||||
			path: src/Bundle/ChillTaskBundle/Repository/SingleTaskRepository.php
 | 
			
		||||
 | 
			
		||||
		-
 | 
			
		||||
			message: """
 | 
			
		||||
				#^Class Chill\\\\TaskBundle\\\\Security\\\\Authorization\\\\AuthorizationEvent extends deprecated class Symfony\\\\Component\\\\EventDispatcher\\\\Event\\:
 | 
			
		||||
				since Symfony 4\\.3, use "Symfony\\\\Contracts\\\\EventDispatcher\\\\Event" instead$#
 | 
			
		||||
			"""
 | 
			
		||||
			count: 1
 | 
			
		||||
			path: src/Bundle/ChillTaskBundle/Security/Authorization/AuthorizationEvent.php
 | 
			
		||||
 | 
			
		||||
		-
 | 
			
		||||
			message: """
 | 
			
		||||
				#^Instantiation of deprecated class Symfony\\\\Component\\\\Security\\\\Core\\\\Role\\\\Role\\:
 | 
			
		||||
				since Symfony 4\\.3, to be removed in 5\\.0\\. Use strings as roles instead\\.$#
 | 
			
		||||
			"""
 | 
			
		||||
			count: 3
 | 
			
		||||
			path: src/Bundle/ChillTaskBundle/Timeline/TaskLifeCycleEventTimelineProvider.php
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -31,5 +31,4 @@ includes:
 | 
			
		||||
    - phpstan-baseline-level-3.neon
 | 
			
		||||
    - phpstan-baseline-level-4.neon
 | 
			
		||||
    - phpstan-baseline-level-5.neon
 | 
			
		||||
    - phpstan-deprecations-sf54.neon
 | 
			
		||||
    - phpstan-baseline-deprecations-doctrine-orm.neon
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -1,13 +1,29 @@
 | 
			
		||||
<?xml version="1.0" encoding="UTF-8"?>
 | 
			
		||||
<phpunit xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="https://schema.phpunit.de/10.5/phpunit.xsd" bootstrap="vendor/autoload.php" executionOrder="depends,defects" beStrictAboutOutputDuringTests="true" failOnRisky="true" failOnWarning="true" colors="true" cacheDirectory="var/cache/phpunit.rector.cache" requireCoverageMetadata="true" beStrictAboutCoverageMetadata="true">
 | 
			
		||||
  <testsuites>
 | 
			
		||||
    <testsuite name="default">
 | 
			
		||||
      <directory>utils/rector/tests</directory>
 | 
			
		||||
    </testsuite>
 | 
			
		||||
  </testsuites>
 | 
			
		||||
  <source>
 | 
			
		||||
    <include>
 | 
			
		||||
      <directory suffix=".php">utils/rector/src</directory>
 | 
			
		||||
    </include>
 | 
			
		||||
  </source>
 | 
			
		||||
<phpunit xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 | 
			
		||||
         xsi:noNamespaceSchemaLocation="https://schema.phpunit.de/9.6/phpunit.xsd"
 | 
			
		||||
         bootstrap="tests/app/vendor/autoload.php"
 | 
			
		||||
         cacheResultFile=".cache/phpunit/test-results-rector"
 | 
			
		||||
         executionOrder="depends,defects"
 | 
			
		||||
         forceCoversAnnotation="true"
 | 
			
		||||
         beStrictAboutCoversAnnotation="true"
 | 
			
		||||
         beStrictAboutOutputDuringTests="true"
 | 
			
		||||
         beStrictAboutTodoAnnotatedTests="true"
 | 
			
		||||
         convertDeprecationsToExceptions="true"
 | 
			
		||||
         failOnRisky="true"
 | 
			
		||||
         failOnWarning="true"
 | 
			
		||||
         verbose="true"
 | 
			
		||||
         colors="true"
 | 
			
		||||
>
 | 
			
		||||
    <testsuites>
 | 
			
		||||
        <testsuite name="default">
 | 
			
		||||
            <directory>utils/rector/tests</directory>
 | 
			
		||||
        </testsuite>
 | 
			
		||||
    </testsuites>
 | 
			
		||||
 | 
			
		||||
    <coverage cacheDirectory=".cache/phpunit/code-coverage-rector"
 | 
			
		||||
              processUncoveredFiles="true">
 | 
			
		||||
        <include>
 | 
			
		||||
            <directory suffix=".php">utils/rector/src</directory>
 | 
			
		||||
        </include>
 | 
			
		||||
    </coverage>
 | 
			
		||||
</phpunit>
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										120
									
								
								phpunit.xml.dist
									
									
									
									
									
								
							
							
						
						
									
										120
									
								
								phpunit.xml.dist
									
									
									
									
									
								
							@@ -1,73 +1,89 @@
 | 
			
		||||
<?xml version="1.0" encoding="UTF-8"?>
 | 
			
		||||
 | 
			
		||||
<!-- https://phpunit.readthedocs.io/en/latest/configuration.html -->
 | 
			
		||||
<phpunit xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="https://schema.phpunit.de/10.5/phpunit.xsd" backupGlobals="false" colors="true" bootstrap="tests/bootstrap.php">
 | 
			
		||||
  <php>
 | 
			
		||||
    <ini name="error_reporting" value="-1"/>
 | 
			
		||||
    <server name="APP_ENV" value="test" force="true"/>
 | 
			
		||||
    <env name="SYMFONY_DEPRECATIONS_HELPER" value="max[direct]=93&max[indirect]=999999"/>
 | 
			
		||||
    <server name="SHELL_VERBOSITY" value="-1"/>
 | 
			
		||||
    <env name="KERNEL_CLASS" value="\App\Kernel"/>
 | 
			
		||||
  </php>
 | 
			
		||||
  <testsuites>
 | 
			
		||||
    <!--
 | 
			
		||||
<phpunit xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 | 
			
		||||
         xsi:noNamespaceSchemaLocation="vendor/phpunit/phpunit/phpunit.xsd"
 | 
			
		||||
         backupGlobals="false"
 | 
			
		||||
         colors="true"
 | 
			
		||||
         bootstrap="tests/bootstrap.php"
 | 
			
		||||
>
 | 
			
		||||
    <php>
 | 
			
		||||
        <ini name="error_reporting" value="-1" />
 | 
			
		||||
        <server name="APP_ENV" value="test" force="true" />
 | 
			
		||||
        <env name="SYMFONY_DEPRECATIONS_HELPER" value="max[direct]=0&max[indirect]=999999" />
 | 
			
		||||
        <server name="SHELL_VERBOSITY" value="-1" />
 | 
			
		||||
        <env name="KERNEL_CLASS" value="\App\Kernel" />
 | 
			
		||||
    </php>
 | 
			
		||||
 | 
			
		||||
    <testsuites>
 | 
			
		||||
        <!--
 | 
			
		||||
        <testsuite name="ActivityBundle">
 | 
			
		||||
            <directory suffix="Test.php">src/Bundle/ChillActivityBundle/Tests/</directory>
 | 
			
		||||
        </testsuite>
 | 
			
		||||
        -->
 | 
			
		||||
    <testsuite name="AsideActivityBundle">
 | 
			
		||||
      <directory suffix="Test.php">src/Bundle/ChillAsideActivityBundle/src/Tests/</directory>
 | 
			
		||||
    </testsuite>
 | 
			
		||||
    <testsuite name="BudgetBundle">
 | 
			
		||||
      <directory suffix="Test.php">src/Bundle/ChillBudgetBundle/Tests/</directory>
 | 
			
		||||
    </testsuite>
 | 
			
		||||
    <testsuite name="CalendarBundle">
 | 
			
		||||
      <directory suffix="Test.php">src/Bundle/ChillCalendarBundle/Tests/</directory>
 | 
			
		||||
    </testsuite>
 | 
			
		||||
    <!-- Missing CustomFieldBundle -->
 | 
			
		||||
    <testsuite name="DocGeneratorBundle">
 | 
			
		||||
      <directory suffix="Test.php">src/Bundle/ChillDocGeneratorBundle/tests/</directory>
 | 
			
		||||
    </testsuite>
 | 
			
		||||
    <testsuite name="DocStoreBundle">
 | 
			
		||||
      <directory suffix="Test.php">src/Bundle/ChillDocStoreBundle/Tests/</directory>
 | 
			
		||||
    </testsuite>
 | 
			
		||||
    <!--
 | 
			
		||||
        <testsuite name="AsideActivityBundle">
 | 
			
		||||
            <directory suffix="Test.php">src/Bundle/ChillAsideActivityBundle/src/Tests/</directory>
 | 
			
		||||
        </testsuite>
 | 
			
		||||
        <testsuite name="BudgetBundle">
 | 
			
		||||
            <directory suffix="Test.php">src/Bundle/ChillBudgetBundle/Tests/</directory>
 | 
			
		||||
        </testsuite>
 | 
			
		||||
        <testsuite name="CalendarBundle">
 | 
			
		||||
            <directory suffix="Test.php">src/Bundle/ChillCalendarBundle/Tests/</directory>
 | 
			
		||||
        </testsuite>
 | 
			
		||||
        <!-- Missing CustomFieldBundle -->
 | 
			
		||||
        <testsuite name="DocGeneratorBundle">
 | 
			
		||||
            <directory suffix="Test.php">src/Bundle/ChillDocGeneratorBundle/tests/</directory>
 | 
			
		||||
        </testsuite>
 | 
			
		||||
        <testsuite name="DocStoreBundle">
 | 
			
		||||
            <directory suffix="Test.php">src/Bundle/ChillDocStoreBundle/Tests/</directory>
 | 
			
		||||
        </testsuite>
 | 
			
		||||
        <!--
 | 
			
		||||
        <testsuite name="EventBundle">
 | 
			
		||||
            <directory suffix="Test.php">src/Bundle/ChillEventBundle/tests/</directory>
 | 
			
		||||
        </testsuite>
 | 
			
		||||
        -->
 | 
			
		||||
    <testsuite name="MainBundle">
 | 
			
		||||
      <directory suffix="Test.php">src/Bundle/ChillMainBundle/Tests/</directory>
 | 
			
		||||
    </testsuite>
 | 
			
		||||
    <testsuite name="PersonBundle">
 | 
			
		||||
      <directory suffix="Test.php">src/Bundle/ChillPersonBundle/Tests/</directory>
 | 
			
		||||
      <!-- we are rewriting accompanying periods... Work in progress -->
 | 
			
		||||
      <exclude>src/Bundle/ChillPersonBundle/Tests/Controller/AccompanyingPeriodControllerTest.php</exclude>
 | 
			
		||||
      <!-- we are rewriting address, Work in progress -->
 | 
			
		||||
      <exclude>src/Bundle/ChillPersonBundle/Tests/Controller/PersonAddressControllerTest.php</exclude>
 | 
			
		||||
      <!-- find a solution to create multiple configs -->
 | 
			
		||||
      <exclude>src/Bundle/ChillPersonBundle/Tests/Controller/PersonControllerUpdateWithHiddenFieldsTest.php</exclude>
 | 
			
		||||
      <!-- temporarily removed, the time to find a fix -->
 | 
			
		||||
      <exclude>src/Bundle/ChillPersonBundle/Tests/Controller/PersonDuplicateControllerViewTest.php</exclude>
 | 
			
		||||
    </testsuite>
 | 
			
		||||
    <!--
 | 
			
		||||
       <testsuite name="MainBundle">
 | 
			
		||||
         <directory suffix="Test.php">src/Bundle/ChillMainBundle/Tests/</directory>
 | 
			
		||||
       </testsuite>
 | 
			
		||||
       <testsuite name="PersonBundle">
 | 
			
		||||
         <directory suffix="Test.php">src/Bundle/ChillPersonBundle/Tests/</directory>
 | 
			
		||||
         <!-- we are rewriting accompanying periods... Work in progress -->
 | 
			
		||||
         <exclude>src/Bundle/ChillPersonBundle/Tests/Controller/AccompanyingPeriodControllerTest.php</exclude>
 | 
			
		||||
         <!-- we are rewriting address, Work in progress -->
 | 
			
		||||
         <exclude>src/Bundle/ChillPersonBundle/Tests/Controller/PersonAddressControllerTest.php</exclude>
 | 
			
		||||
         <!-- find a solution to create multiple configs -->
 | 
			
		||||
         <exclude>src/Bundle/ChillPersonBundle/Tests/Controller/PersonControllerUpdateWithHiddenFieldsTest.php</exclude>
 | 
			
		||||
         <!-- temporarily removed, the time to find a fix -->
 | 
			
		||||
         <exclude>src/Bundle/ChillPersonBundle/Tests/Controller/PersonDuplicateControllerViewTest.php</exclude>
 | 
			
		||||
        </testsuite>
 | 
			
		||||
        <!--
 | 
			
		||||
        <testsuite name="ReportBundle">
 | 
			
		||||
            <directory suffix="Test.php">src/Bundle/ChillReportBundle/Tests/</directory>
 | 
			
		||||
        </testsuite>
 | 
			
		||||
        -->
 | 
			
		||||
    <!--
 | 
			
		||||
        <!--
 | 
			
		||||
        <testsuite name="TaskBundle">
 | 
			
		||||
            <directory suffix="Test.php">src/Bundle/ChillTaskBundle/Tests</directory>
 | 
			
		||||
        </testsuite>
 | 
			
		||||
        -->
 | 
			
		||||
    <testsuite name="ThirdPartyBundle">
 | 
			
		||||
      <directory suffix="Test.php">src/Bundle/ChillThirdPartyBundle/Tests</directory>
 | 
			
		||||
    </testsuite>
 | 
			
		||||
    <testsuite name="WopiBundle">
 | 
			
		||||
      <directory suffix="Test.php">src/Bundle/ChillWopiBundle/tests/</directory>
 | 
			
		||||
    </testsuite>
 | 
			
		||||
  </testsuites>
 | 
			
		||||
  <!-- Run `composer require symfony/panther` before enabling this extension -->
 | 
			
		||||
  <!--
 | 
			
		||||
        <testsuite name="ThirdPartyBundle">
 | 
			
		||||
            <directory suffix="Test.php">src/Bundle/ChillThirdPartyBundle/Tests</directory>
 | 
			
		||||
        </testsuite>
 | 
			
		||||
        <testsuite name="WopiBundle">
 | 
			
		||||
            <directory suffix="Test.php">src/Bundle/ChillWopiBundle/tests/</directory>
 | 
			
		||||
        </testsuite>
 | 
			
		||||
    </testsuites>
 | 
			
		||||
 | 
			
		||||
    <listeners>
 | 
			
		||||
        <listener class="Symfony\Bridge\PhpUnit\SymfonyTestsListener" />
 | 
			
		||||
    </listeners>
 | 
			
		||||
 | 
			
		||||
    <extensions>
 | 
			
		||||
        <extension class="DAMA\DoctrineTestBundle\PHPUnit\PHPUnitExtension" />
 | 
			
		||||
    </extensions>
 | 
			
		||||
 | 
			
		||||
    <!-- Run `composer require symfony/panther` before enabling this extension -->
 | 
			
		||||
    <!--
 | 
			
		||||
    <extensions>
 | 
			
		||||
        <extension class="Symfony\Component\Panther\ServerExtension" />
 | 
			
		||||
    </extensions>
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										52
									
								
								rector.php
									
									
									
									
									
								
							
							
						
						
									
										52
									
								
								rector.php
									
									
									
									
									
								
							@@ -11,7 +11,6 @@ declare(strict_types=1);
 | 
			
		||||
 | 
			
		||||
use Rector\CodeQuality\Rector\Class_\InlineConstructorDefaultToPropertyRector;
 | 
			
		||||
use Rector\Config\RectorConfig;
 | 
			
		||||
use Rector\Php80\Rector\Class_\AnnotationToAttributeRector;
 | 
			
		||||
use Rector\Set\ValueObject\LevelSetList;
 | 
			
		||||
 | 
			
		||||
return static function (RectorConfig $rectorConfig): void {
 | 
			
		||||
@@ -20,7 +19,7 @@ return static function (RectorConfig $rectorConfig): void {
 | 
			
		||||
        __DIR__ . '/src',
 | 
			
		||||
    ]);
 | 
			
		||||
 | 
			
		||||
    $rectorConfig->symfonyContainerXml(__DIR__ . '/var/cache/dev/test/App_KernelTestDebugContainer.xml  ');
 | 
			
		||||
    $rectorConfig->symfonyContainerXml(__DIR__ . '/var/cache/dev/testsApp_KernelDevDebugContainer.xml');
 | 
			
		||||
    $rectorConfig->symfonyContainerPhp(__DIR__ . '/tests/symfony-container.php');
 | 
			
		||||
 | 
			
		||||
    //$rectorConfig->cacheClass(\Rector\Caching\ValueObject\Storage\FileCacheStorage::class);
 | 
			
		||||
@@ -28,64 +27,29 @@ return static function (RectorConfig $rectorConfig): void {
 | 
			
		||||
 | 
			
		||||
    // register a single rule
 | 
			
		||||
    $rectorConfig->rule(InlineConstructorDefaultToPropertyRector::class);
 | 
			
		||||
 | 
			
		||||
    // part of the symfony 54 rules
 | 
			
		||||
    $rectorConfig->rule(\Rector\Symfony\Symfony53\Rector\StaticPropertyFetch\KernelTestCaseContainerPropertyDeprecationRector::class);
 | 
			
		||||
    $rectorConfig->rule(\Rector\Symfony\Symfony60\Rector\MethodCall\GetHelperControllerToServiceRector::class);
 | 
			
		||||
    $rectorConfig->disableParallel();
 | 
			
		||||
 | 
			
		||||
    //define sets of rules
 | 
			
		||||
    $rectorConfig->sets([
 | 
			
		||||
        \Rector\Symfony\Set\SymfonySetList::SYMFONY_50,
 | 
			
		||||
        \Rector\Symfony\Set\SymfonySetList::SYMFONY_50_TYPES,
 | 
			
		||||
        \Rector\Symfony\Set\SymfonySetList::SYMFONY_51,
 | 
			
		||||
        \Rector\Symfony\Set\SymfonySetList::SYMFONY_52,
 | 
			
		||||
        \Rector\Symfony\Set\SymfonySetList::SYMFONY_53,
 | 
			
		||||
        \Rector\Symfony\Set\SymfonySetList::SYMFONY_54,
 | 
			
		||||
        LevelSetList::UP_TO_PHP_82,
 | 
			
		||||
        \Rector\Symfony\Set\SymfonyLevelSetList::UP_TO_SYMFONY_44,
 | 
			
		||||
        \Rector\Doctrine\Set\DoctrineSetList::DOCTRINE_CODE_QUALITY,
 | 
			
		||||
        \Rector\Doctrine\Set\DoctrineSetList::ANNOTATIONS_TO_ATTRIBUTES,
 | 
			
		||||
    ]);
 | 
			
		||||
 | 
			
		||||
    $rectorConfig->ruleWithConfiguration(\Rector\Php80\Rector\Class_\AnnotationToAttributeRector::class, [
 | 
			
		||||
        new \Rector\Php80\ValueObject\AnnotationToAttribute('Symfony\Component\Serializer\Annotation\Context'),
 | 
			
		||||
    ]);
 | 
			
		||||
 | 
			
		||||
    // migrate for phpunit
 | 
			
		||||
    $rectorConfig->rules([
 | 
			
		||||
        \Rector\PHPUnit\PHPUnit100\Rector\Class_\StaticDataProviderClassMethodRector::class,
 | 
			
		||||
        \Rector\PHPUnit\PHPUnit100\Rector\Class_\PublicDataProviderClassMethodRector::class
 | 
			
		||||
        \Rector\PHPUnit\Set\PHPUnitLevelSetList::UP_TO_PHPUNIT_90,
 | 
			
		||||
    ]);
 | 
			
		||||
 | 
			
		||||
    // some routes are added twice if it remains activated
 | 
			
		||||
    // $rectorConfig->rule(\Rector\Symfony\Configs\Rector\ClassMethod\AddRouteAnnotationRector::class);
 | 
			
		||||
 | 
			
		||||
    // chill rules
 | 
			
		||||
    $rectorConfig->rules([
 | 
			
		||||
        \Chill\Utils\Rector\Rector\ChillBundleMakeDataProviderStaticForAbstractExportTestRector::class,
 | 
			
		||||
    ]);
 | 
			
		||||
    //$rectorConfig->rule(\Chill\Utils\Rector\Rector\ChillBundleAddFormDefaultDataOnExportFilterAggregatorRector::class);
 | 
			
		||||
 | 
			
		||||
    // skip some path...
 | 
			
		||||
    $rectorConfig->skip([
 | 
			
		||||
        // we need to discuss this: are we going to have FALSE in tests instead of an error ?
 | 
			
		||||
        \Rector\Php71\Rector\FuncCall\CountOnNullRector::class,
 | 
			
		||||
 | 
			
		||||
        // we must adapt service definition
 | 
			
		||||
        \Rector\Symfony\Symfony28\Rector\MethodCall\GetToConstructorInjectionRector::class,
 | 
			
		||||
        \Rector\Symfony\Symfony34\Rector\Closure\ContainerGetNameToTypeInTestsRector::class,
 | 
			
		||||
    ]);
 | 
			
		||||
 | 
			
		||||
    $rectorConfig->ruleWithConfiguration(AnnotationToAttributeRector::class, [
 | 
			
		||||
        new \Rector\Php80\ValueObject\AnnotationToAttribute('Chill\PersonBundle\Validator\Constraints\AccompanyingPeriod\AccompanyingPeriodValidity'),
 | 
			
		||||
        new \Rector\Php80\ValueObject\AnnotationToAttribute('Chill\PersonBundle\Validator\Constraints\Household\HouseholdMembershipSequential'),
 | 
			
		||||
        new \Rector\Php80\ValueObject\AnnotationToAttribute('Chill\PersonBundle\Validator\Constraints\Household\MaxHolder'),
 | 
			
		||||
        new \Rector\Php80\ValueObject\AnnotationToAttribute('Chill\PersonBundle\Validator\Constraints\AccompanyingPeriod\ConfidentialCourseMustHaveReferrer'),
 | 
			
		||||
        new \Rector\Php80\ValueObject\AnnotationToAttribute('Chill\PersonBundle\Validator\Constraints\AccompanyingPeriod\LocationValidity'),
 | 
			
		||||
        new \Rector\Php80\ValueObject\AnnotationToAttribute('Chill\PersonBundle\Validator\Constraints\AccompanyingPeriod\ParticipationOverlap'),
 | 
			
		||||
        new \Rector\Php80\ValueObject\AnnotationToAttribute('Chill\PersonBundle\Validator\Constraints\AccompanyingPeriod\ResourceDuplicateCheck'),
 | 
			
		||||
        new \Rector\Php80\ValueObject\AnnotationToAttribute('Chill\PersonBundle\Validator\Constraints\Person\Birthdate'),
 | 
			
		||||
        new \Rector\Php80\ValueObject\AnnotationToAttribute('Chill\PersonBundle\Validator\Constraints\Person\PersonHasCenter'),
 | 
			
		||||
        new \Rector\Php80\ValueObject\AnnotationToAttribute('Chill\PersonBundle\Validator\Constraints\Relationship\RelationshipNoDuplicate'),
 | 
			
		||||
        new \Rector\Php80\ValueObject\AnnotationToAttribute('Chill\ActivityBundle\Validator\Constraints\ActivityValidity'),
 | 
			
		||||
        new \Rector\Php80\ValueObject\AnnotationToAttribute('Chill\DocStoreBundle\Validator\Constraints\AsyncFileExists'),
 | 
			
		||||
        new \Rector\Php80\ValueObject\AnnotationToAttribute('Chill\MainBundle\Validation\Constraint\PhonenumberConstraint'),
 | 
			
		||||
        new \Rector\Php80\ValueObject\AnnotationToAttribute('Chill\MainBundle\Validator\Constraints\Entity\UserCircleConsistency'),
 | 
			
		||||
        new \Rector\Php80\ValueObject\AnnotationToAttribute('Chill\MainBundle\Workflow\Validator\EntityWorkflowCreation'),
 | 
			
		||||
    ]);
 | 
			
		||||
};
 | 
			
		||||
 
 | 
			
		||||
@@ -13,4 +13,6 @@ namespace Chill\ActivityBundle;
 | 
			
		||||
 | 
			
		||||
use Symfony\Component\HttpKernel\Bundle\Bundle;
 | 
			
		||||
 | 
			
		||||
class ChillActivityBundle extends Bundle {}
 | 
			
		||||
class ChillActivityBundle extends Bundle
 | 
			
		||||
{
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -24,7 +24,6 @@ use Chill\MainBundle\Entity\UserJob;
 | 
			
		||||
use Chill\MainBundle\Pagination\PaginatorFactory;
 | 
			
		||||
use Chill\MainBundle\Repository\LocationRepository;
 | 
			
		||||
use Chill\MainBundle\Repository\UserRepositoryInterface;
 | 
			
		||||
use Chill\MainBundle\Security\ChillSecurity;
 | 
			
		||||
use Chill\MainBundle\Security\Resolver\CenterResolverManagerInterface;
 | 
			
		||||
use Chill\MainBundle\Templating\Listing\FilterOrderHelper;
 | 
			
		||||
use Chill\MainBundle\Templating\Listing\FilterOrderHelperFactoryInterface;
 | 
			
		||||
@@ -68,13 +67,14 @@ final class ActivityController extends AbstractController
 | 
			
		||||
        private readonly FilterOrderHelperFactoryInterface $filterOrderHelperFactory,
 | 
			
		||||
        private readonly TranslatableStringHelperInterface $translatableStringHelper,
 | 
			
		||||
        private readonly PaginatorFactory $paginatorFactory,
 | 
			
		||||
        private readonly ChillSecurity $security
 | 
			
		||||
    ) {}
 | 
			
		||||
    ) {
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Deletes a Activity entity.
 | 
			
		||||
     *
 | 
			
		||||
     * @\Symfony\Component\Routing\Annotation\Route(path="/{_locale}/activity/{id}/delete", name="chill_activity_activity_delete", methods={"GET", "POST", "DELETE"})
 | 
			
		||||
     */
 | 
			
		||||
    #[\Symfony\Component\Routing\Annotation\Route(path: '/{_locale}/activity/{id}/delete', name: 'chill_activity_activity_delete', methods: ['GET', 'POST', 'DELETE'])]
 | 
			
		||||
    public function deleteAction(Request $request, mixed $id)
 | 
			
		||||
    {
 | 
			
		||||
        $view = null;
 | 
			
		||||
@@ -142,8 +142,9 @@ final class ActivityController extends AbstractController
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Displays a form to edit an existing Activity entity.
 | 
			
		||||
     *
 | 
			
		||||
     * @\Symfony\Component\Routing\Annotation\Route(path="/{_locale}/activity/{id}/edit", name="chill_activity_activity_edit", methods={"GET", "POST", "PUT"})
 | 
			
		||||
     */
 | 
			
		||||
    #[\Symfony\Component\Routing\Annotation\Route(path: '/{_locale}/activity/{id}/edit', name: 'chill_activity_activity_edit', methods: ['GET', 'POST', 'PUT'])]
 | 
			
		||||
    public function editAction(int $id, Request $request): Response
 | 
			
		||||
    {
 | 
			
		||||
        $view = null;
 | 
			
		||||
@@ -236,8 +237,9 @@ final class ActivityController extends AbstractController
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Lists all Activity entities.
 | 
			
		||||
     *
 | 
			
		||||
     * @\Symfony\Component\Routing\Annotation\Route(path="/{_locale}/activity/", name="chill_activity_activity_list")
 | 
			
		||||
     */
 | 
			
		||||
    #[\Symfony\Component\Routing\Annotation\Route(path: '/{_locale}/activity/', name: 'chill_activity_activity_list')]
 | 
			
		||||
    public function listAction(Request $request): Response
 | 
			
		||||
    {
 | 
			
		||||
        $view = null;
 | 
			
		||||
@@ -341,7 +343,9 @@ final class ActivityController extends AbstractController
 | 
			
		||||
        return $filterBuilder->build();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    #[\Symfony\Component\Routing\Annotation\Route(path: '/{_locale}/activity/new', name: 'chill_activity_activity_new', methods: ['POST', 'GET'])]
 | 
			
		||||
    /**
 | 
			
		||||
     * @\Symfony\Component\Routing\Annotation\Route(path="/{_locale}/activity/new", name="chill_activity_activity_new", methods={"POST", "GET"})
 | 
			
		||||
     */
 | 
			
		||||
    public function newAction(Request $request): Response
 | 
			
		||||
    {
 | 
			
		||||
        $view = null;
 | 
			
		||||
@@ -381,7 +385,7 @@ final class ActivityController extends AbstractController
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        $entity = new Activity();
 | 
			
		||||
        $entity->setUser($this->security->getUser());
 | 
			
		||||
        $entity->setUser($this->getUser());
 | 
			
		||||
 | 
			
		||||
        if ($person instanceof Person) {
 | 
			
		||||
            $entity->setPerson($person);
 | 
			
		||||
@@ -396,7 +400,7 @@ final class ActivityController extends AbstractController
 | 
			
		||||
        $entity->setDate(new \DateTime('now'));
 | 
			
		||||
 | 
			
		||||
        if ($request->query->has('activityData')) {
 | 
			
		||||
            $activityData = $request->query->all('activityData');
 | 
			
		||||
            $activityData = $request->query->get('activityData');
 | 
			
		||||
 | 
			
		||||
            if (\array_key_exists('durationTime', $activityData) && $activityType->getDurationTimeVisible() > 0) {
 | 
			
		||||
                $durationTimeInMinutes = $activityData['durationTime'];
 | 
			
		||||
@@ -449,7 +453,7 @@ final class ActivityController extends AbstractController
 | 
			
		||||
            if (\array_key_exists('comment', $activityData) && $activityType->getCommentVisible() > 0) {
 | 
			
		||||
                $comment = new CommentEmbeddable();
 | 
			
		||||
                $comment->setComment($activityData['comment']);
 | 
			
		||||
                $comment->setUserId($this->security->getUser()->getId());
 | 
			
		||||
                $comment->setUserId($this->getUser()->getid());
 | 
			
		||||
                $comment->setDate(new \DateTime('now'));
 | 
			
		||||
                $entity->setComment($comment);
 | 
			
		||||
            }
 | 
			
		||||
@@ -510,7 +514,7 @@ final class ActivityController extends AbstractController
 | 
			
		||||
 | 
			
		||||
        $activity_array = $this->serializer->normalize($entity, 'json', ['groups' => 'read']);
 | 
			
		||||
 | 
			
		||||
        $defaultLocation = $this->security->getUser()->getCurrentLocation();
 | 
			
		||||
        $defaultLocation = $this->getUser()->getCurrentLocation();
 | 
			
		||||
 | 
			
		||||
        return $this->render($view, [
 | 
			
		||||
            'person' => $person,
 | 
			
		||||
@@ -522,7 +526,9 @@ final class ActivityController extends AbstractController
 | 
			
		||||
        ]);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    #[\Symfony\Component\Routing\Annotation\Route(path: '/{_locale}/activity/select-type', name: 'chill_activity_activity_select_type')]
 | 
			
		||||
    /**
 | 
			
		||||
     * @\Symfony\Component\Routing\Annotation\Route(path="/{_locale}/activity/select-type", name="chill_activity_activity_select_type")
 | 
			
		||||
     */
 | 
			
		||||
    public function selectTypeAction(Request $request): Response
 | 
			
		||||
    {
 | 
			
		||||
        $view = null;
 | 
			
		||||
@@ -563,11 +569,13 @@ final class ActivityController extends AbstractController
 | 
			
		||||
            'person' => $person,
 | 
			
		||||
            'accompanyingCourse' => $accompanyingPeriod,
 | 
			
		||||
            'data' => $data,
 | 
			
		||||
            'activityData' => $request->query->all('activityData'),
 | 
			
		||||
            'activityData' => $request->query->get('activityData', []),
 | 
			
		||||
        ]);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    #[\Symfony\Component\Routing\Annotation\Route(path: '/{_locale}/activity/{id}/show', name: 'chill_activity_activity_show')]
 | 
			
		||||
    /**
 | 
			
		||||
     * @\Symfony\Component\Routing\Annotation\Route(path="/{_locale}/activity/{id}/show", name="chill_activity_activity_show")
 | 
			
		||||
     */
 | 
			
		||||
    public function showAction(Request $request, int $id): Response
 | 
			
		||||
    {
 | 
			
		||||
        $entity = $this->activityRepository->find($id);
 | 
			
		||||
 
 | 
			
		||||
@@ -22,12 +22,11 @@ use Symfony\Component\HttpFoundation\Request;
 | 
			
		||||
 */
 | 
			
		||||
class ActivityReasonCategoryController extends AbstractController
 | 
			
		||||
{
 | 
			
		||||
    public function __construct(private readonly \Doctrine\Persistence\ManagerRegistry $managerRegistry) {}
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Creates a new ActivityReasonCategory entity.
 | 
			
		||||
     *
 | 
			
		||||
     * @\Symfony\Component\Routing\Annotation\Route(path="/{_locale}/admin/activityreasoncategory/create", name="chill_activity_activityreasoncategory_create", methods={"POST"})
 | 
			
		||||
     */
 | 
			
		||||
    #[\Symfony\Component\Routing\Annotation\Route(path: '/{_locale}/admin/activityreasoncategory/create', name: 'chill_activity_activityreasoncategory_create', methods: ['POST'])]
 | 
			
		||||
    public function createAction(Request $request)
 | 
			
		||||
    {
 | 
			
		||||
        $entity = new ActivityReasonCategory();
 | 
			
		||||
@@ -35,7 +34,7 @@ class ActivityReasonCategoryController extends AbstractController
 | 
			
		||||
        $form->handleRequest($request);
 | 
			
		||||
 | 
			
		||||
        if ($form->isSubmitted() && $form->isValid()) {
 | 
			
		||||
            $em = $this->managerRegistry->getManager();
 | 
			
		||||
            $em = $this->getDoctrine()->getManager();
 | 
			
		||||
            $em->persist($entity);
 | 
			
		||||
            $em->flush();
 | 
			
		||||
 | 
			
		||||
@@ -50,11 +49,12 @@ class ActivityReasonCategoryController extends AbstractController
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Displays a form to edit an existing ActivityReasonCategory entity.
 | 
			
		||||
     *
 | 
			
		||||
     * @\Symfony\Component\Routing\Annotation\Route(path="/{_locale}/admin/activityreasoncategory/{id}/edit", name="chill_activity_activityreasoncategory_edit")
 | 
			
		||||
     */
 | 
			
		||||
    #[\Symfony\Component\Routing\Annotation\Route(path: '/{_locale}/admin/activityreasoncategory/{id}/edit', name: 'chill_activity_activityreasoncategory_edit')]
 | 
			
		||||
    public function editAction(mixed $id)
 | 
			
		||||
    {
 | 
			
		||||
        $em = $this->managerRegistry->getManager();
 | 
			
		||||
        $em = $this->getDoctrine()->getManager();
 | 
			
		||||
 | 
			
		||||
        $entity = $em->getRepository(ActivityReasonCategory::class)->find($id);
 | 
			
		||||
 | 
			
		||||
@@ -72,11 +72,12 @@ class ActivityReasonCategoryController extends AbstractController
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Lists all ActivityReasonCategory entities.
 | 
			
		||||
     *
 | 
			
		||||
     * @\Symfony\Component\Routing\Annotation\Route(path="/{_locale}/admin/activityreasoncategory/", name="chill_activity_activityreasoncategory")
 | 
			
		||||
     */
 | 
			
		||||
    #[\Symfony\Component\Routing\Annotation\Route(path: '/{_locale}/admin/activityreasoncategory/', name: 'chill_activity_activityreasoncategory')]
 | 
			
		||||
    public function indexAction()
 | 
			
		||||
    {
 | 
			
		||||
        $em = $this->managerRegistry->getManager();
 | 
			
		||||
        $em = $this->getDoctrine()->getManager();
 | 
			
		||||
 | 
			
		||||
        $entities = $em->getRepository(ActivityReasonCategory::class)->findAll();
 | 
			
		||||
 | 
			
		||||
@@ -87,8 +88,9 @@ class ActivityReasonCategoryController extends AbstractController
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Displays a form to create a new ActivityReasonCategory entity.
 | 
			
		||||
     *
 | 
			
		||||
     * @\Symfony\Component\Routing\Annotation\Route(path="/{_locale}/admin/activityreasoncategory/new", name="chill_activity_activityreasoncategory_new")
 | 
			
		||||
     */
 | 
			
		||||
    #[\Symfony\Component\Routing\Annotation\Route(path: '/{_locale}/admin/activityreasoncategory/new', name: 'chill_activity_activityreasoncategory_new')]
 | 
			
		||||
    public function newAction()
 | 
			
		||||
    {
 | 
			
		||||
        $entity = new ActivityReasonCategory();
 | 
			
		||||
@@ -102,11 +104,12 @@ class ActivityReasonCategoryController extends AbstractController
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Finds and displays a ActivityReasonCategory entity.
 | 
			
		||||
     *
 | 
			
		||||
     * @\Symfony\Component\Routing\Annotation\Route(path="/{_locale}/admin/activityreasoncategory/{id}/show", name="chill_activity_activityreasoncategory_show")
 | 
			
		||||
     */
 | 
			
		||||
    #[\Symfony\Component\Routing\Annotation\Route(path: '/{_locale}/admin/activityreasoncategory/{id}/show', name: 'chill_activity_activityreasoncategory_show')]
 | 
			
		||||
    public function showAction(mixed $id)
 | 
			
		||||
    {
 | 
			
		||||
        $em = $this->managerRegistry->getManager();
 | 
			
		||||
        $em = $this->getDoctrine()->getManager();
 | 
			
		||||
 | 
			
		||||
        $entity = $em->getRepository(ActivityReasonCategory::class)->find($id);
 | 
			
		||||
 | 
			
		||||
@@ -121,11 +124,12 @@ class ActivityReasonCategoryController extends AbstractController
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Edits an existing ActivityReasonCategory entity.
 | 
			
		||||
     *
 | 
			
		||||
     * @\Symfony\Component\Routing\Annotation\Route(path="/{_locale}/admin/activityreasoncategory/{id}/update", name="chill_activity_activityreasoncategory_update", methods={"POST", "PUT"})
 | 
			
		||||
     */
 | 
			
		||||
    #[\Symfony\Component\Routing\Annotation\Route(path: '/{_locale}/admin/activityreasoncategory/{id}/update', name: 'chill_activity_activityreasoncategory_update', methods: ['POST', 'PUT'])]
 | 
			
		||||
    public function updateAction(Request $request, mixed $id)
 | 
			
		||||
    {
 | 
			
		||||
        $em = $this->managerRegistry->getManager();
 | 
			
		||||
        $em = $this->getDoctrine()->getManager();
 | 
			
		||||
 | 
			
		||||
        $entity = $em->getRepository(ActivityReasonCategory::class)->find($id);
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -24,12 +24,15 @@ use Symfony\Component\HttpKernel\Exception\NotFoundHttpException;
 | 
			
		||||
 */
 | 
			
		||||
class ActivityReasonController extends AbstractController
 | 
			
		||||
{
 | 
			
		||||
    public function __construct(private readonly ActivityReasonRepository $activityReasonRepository, private readonly \Doctrine\Persistence\ManagerRegistry $managerRegistry) {}
 | 
			
		||||
    public function __construct(private readonly ActivityReasonRepository $activityReasonRepository)
 | 
			
		||||
    {
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Creates a new ActivityReason entity.
 | 
			
		||||
     *
 | 
			
		||||
     * @\Symfony\Component\Routing\Annotation\Route(path="/{_locale}/admin/activityreason/create", name="chill_activity_activityreason_create", methods={"POST"})
 | 
			
		||||
     */
 | 
			
		||||
    #[\Symfony\Component\Routing\Annotation\Route(path: '/{_locale}/admin/activityreason/create', name: 'chill_activity_activityreason_create', methods: ['POST'])]
 | 
			
		||||
    public function createAction(Request $request)
 | 
			
		||||
    {
 | 
			
		||||
        $entity = new ActivityReason();
 | 
			
		||||
@@ -37,7 +40,7 @@ class ActivityReasonController extends AbstractController
 | 
			
		||||
        $form->handleRequest($request);
 | 
			
		||||
 | 
			
		||||
        if ($form->isSubmitted() && $form->isValid()) {
 | 
			
		||||
            $em = $this->managerRegistry->getManager();
 | 
			
		||||
            $em = $this->getDoctrine()->getManager();
 | 
			
		||||
            $em->persist($entity);
 | 
			
		||||
            $em->flush();
 | 
			
		||||
 | 
			
		||||
@@ -52,11 +55,12 @@ class ActivityReasonController extends AbstractController
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Displays a form to edit an existing ActivityReason entity.
 | 
			
		||||
     *
 | 
			
		||||
     * @\Symfony\Component\Routing\Annotation\Route(path="/{_locale}/admin/activityreason/{id}/edit", name="chill_activity_activityreason_edit")
 | 
			
		||||
     */
 | 
			
		||||
    #[\Symfony\Component\Routing\Annotation\Route(path: '/{_locale}/admin/activityreason/{id}/edit', name: 'chill_activity_activityreason_edit')]
 | 
			
		||||
    public function editAction(mixed $id)
 | 
			
		||||
    {
 | 
			
		||||
        $em = $this->managerRegistry->getManager();
 | 
			
		||||
        $em = $this->getDoctrine()->getManager();
 | 
			
		||||
 | 
			
		||||
        $entity = $em->getRepository(ActivityReason::class)->find($id);
 | 
			
		||||
 | 
			
		||||
@@ -74,11 +78,12 @@ class ActivityReasonController extends AbstractController
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Lists all ActivityReason entities.
 | 
			
		||||
     *
 | 
			
		||||
     * @\Symfony\Component\Routing\Annotation\Route(path="/{_locale}/admin/activityreason/", name="chill_activity_activityreason")
 | 
			
		||||
     */
 | 
			
		||||
    #[\Symfony\Component\Routing\Annotation\Route(path: '/{_locale}/admin/activityreason/', name: 'chill_activity_activityreason')]
 | 
			
		||||
    public function indexAction()
 | 
			
		||||
    {
 | 
			
		||||
        $em = $this->managerRegistry->getManager();
 | 
			
		||||
        $em = $this->getDoctrine()->getManager();
 | 
			
		||||
 | 
			
		||||
        $entities = $this->activityReasonRepository->findAll();
 | 
			
		||||
 | 
			
		||||
@@ -89,8 +94,9 @@ class ActivityReasonController extends AbstractController
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Displays a form to create a new ActivityReason entity.
 | 
			
		||||
     *
 | 
			
		||||
     * @\Symfony\Component\Routing\Annotation\Route(path="/{_locale}/admin/activityreason/new", name="chill_activity_activityreason_new")
 | 
			
		||||
     */
 | 
			
		||||
    #[\Symfony\Component\Routing\Annotation\Route(path: '/{_locale}/admin/activityreason/new', name: 'chill_activity_activityreason_new')]
 | 
			
		||||
    public function newAction()
 | 
			
		||||
    {
 | 
			
		||||
        $entity = new ActivityReason();
 | 
			
		||||
@@ -104,11 +110,12 @@ class ActivityReasonController extends AbstractController
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Finds and displays a ActivityReason entity.
 | 
			
		||||
     *
 | 
			
		||||
     * @\Symfony\Component\Routing\Annotation\Route(path="/{_locale}/admin/activityreason/{id}/show", name="chill_activity_activityreason_show")
 | 
			
		||||
     */
 | 
			
		||||
    #[\Symfony\Component\Routing\Annotation\Route(path: '/{_locale}/admin/activityreason/{id}/show', name: 'chill_activity_activityreason_show')]
 | 
			
		||||
    public function showAction(mixed $id)
 | 
			
		||||
    {
 | 
			
		||||
        $em = $this->managerRegistry->getManager();
 | 
			
		||||
        $em = $this->getDoctrine()->getManager();
 | 
			
		||||
 | 
			
		||||
        $entity = $em->getRepository(ActivityReason::class)->find($id);
 | 
			
		||||
 | 
			
		||||
@@ -123,11 +130,12 @@ class ActivityReasonController extends AbstractController
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Edits an existing ActivityReason entity.
 | 
			
		||||
     *
 | 
			
		||||
     * @\Symfony\Component\Routing\Annotation\Route(path="/{_locale}/admin/activityreason/{id}/update", name="chill_activity_activityreason_update", methods={"POST", "PUT"})
 | 
			
		||||
     */
 | 
			
		||||
    #[\Symfony\Component\Routing\Annotation\Route(path: '/{_locale}/admin/activityreason/{id}/update', name: 'chill_activity_activityreason_update', methods: ['POST', 'PUT'])]
 | 
			
		||||
    public function updateAction(Request $request, mixed $id)
 | 
			
		||||
    {
 | 
			
		||||
        $em = $this->managerRegistry->getManager();
 | 
			
		||||
        $em = $this->getDoctrine()->getManager();
 | 
			
		||||
 | 
			
		||||
        $entity = $em->getRepository(ActivityReason::class)->find($id);
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -18,14 +18,18 @@ use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
 | 
			
		||||
 */
 | 
			
		||||
class AdminController extends AbstractController
 | 
			
		||||
{
 | 
			
		||||
    #[\Symfony\Component\Routing\Annotation\Route(path: '/{_locale}/admin/activity', name: 'chill_activity_admin_index')]
 | 
			
		||||
    /**
 | 
			
		||||
     * @\Symfony\Component\Routing\Annotation\Route(path="/{_locale}/admin/activity", name="chill_activity_admin_index")
 | 
			
		||||
     */
 | 
			
		||||
    public function indexActivityAction()
 | 
			
		||||
    {
 | 
			
		||||
        return $this->render('@ChillActivity/Admin/layout_activity.html.twig');
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    #[\Symfony\Component\Routing\Annotation\Route(path: '/{_locale}/admin/activity_redirect_to_main', name: 'chill_admin_aside_activity_redirect_to_admin_index', options: [null])]
 | 
			
		||||
    #[\Symfony\Component\Routing\Annotation\Route(path: '/{_locale}/admin/activity_redirect_to_main', name: 'chill_admin_activity_redirect_to_admin_index')]
 | 
			
		||||
    /**
 | 
			
		||||
     * @\Symfony\Component\Routing\Annotation\Route(path="/{_locale}/admin/activity_redirect_to_main", name="chill_admin_aside_activity_redirect_to_admin_index", options={null})
 | 
			
		||||
     * @\Symfony\Component\Routing\Annotation\Route(path="/{_locale}/admin/activity_redirect_to_main", name="chill_admin_activity_redirect_to_admin_index")
 | 
			
		||||
     */
 | 
			
		||||
    public function redirectToAdminIndexAction()
 | 
			
		||||
    {
 | 
			
		||||
        return $this->redirectToRoute('chill_main_admin_central');
 | 
			
		||||
 
 | 
			
		||||
@@ -64,7 +64,7 @@ class LoadActivity extends AbstractFixture implements OrderedFixtureInterface
 | 
			
		||||
            ->setPerson($person)
 | 
			
		||||
            ->setDate($this->faker->dateTimeThisYear())
 | 
			
		||||
            ->setDurationTime($this->faker->dateTime(36000))
 | 
			
		||||
            ->setActivityType($this->getRandomActivityType())
 | 
			
		||||
            ->setType($this->getRandomActivityType())
 | 
			
		||||
            ->setScope($this->getRandomScope());
 | 
			
		||||
 | 
			
		||||
        //      ->setAttendee($this->faker->boolean())
 | 
			
		||||
 
 | 
			
		||||
@@ -25,12 +25,14 @@ use Chill\MainBundle\Entity\HasScopesInterface;
 | 
			
		||||
use Chill\MainBundle\Entity\Location;
 | 
			
		||||
use Chill\MainBundle\Entity\Scope;
 | 
			
		||||
use Chill\MainBundle\Entity\User;
 | 
			
		||||
use Chill\MainBundle\Validator\Constraints\Entity\UserCircleConsistency;
 | 
			
		||||
use Chill\PersonBundle\AccompanyingPeriod\SocialIssueConsistency\AccompanyingPeriodLinkedWithSocialIssuesEntityInterface;
 | 
			
		||||
use Chill\PersonBundle\Entity\AccompanyingPeriod;
 | 
			
		||||
use Chill\PersonBundle\Entity\Person;
 | 
			
		||||
use Chill\PersonBundle\Entity\SocialWork\SocialAction;
 | 
			
		||||
use Chill\PersonBundle\Entity\SocialWork\SocialIssue;
 | 
			
		||||
use Chill\ThirdPartyBundle\Entity\ThirdParty;
 | 
			
		||||
use DateTime;
 | 
			
		||||
use Doctrine\Common\Collections\ArrayCollection;
 | 
			
		||||
use Doctrine\Common\Collections\Collection;
 | 
			
		||||
use Doctrine\ORM\Mapping as ORM;
 | 
			
		||||
@@ -41,12 +43,25 @@ use Symfony\Component\Validator\Constraints as Assert;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Class Activity.
 | 
			
		||||
 *
 | 
			
		||||
 * @ORM\Entity(repositoryClass="Chill\ActivityBundle\Repository\ActivityRepository")
 | 
			
		||||
 *
 | 
			
		||||
 * @ORM\Table(name="activity")
 | 
			
		||||
 *
 | 
			
		||||
 * @ORM\HasLifecycleCallbacks
 | 
			
		||||
 *
 | 
			
		||||
 * @DiscriminatorMap(typeProperty="type", mapping={
 | 
			
		||||
 *     "activity": Activity::class
 | 
			
		||||
 * })
 | 
			
		||||
 *
 | 
			
		||||
 * @ActivityValidator\ActivityValidity
 | 
			
		||||
 *
 | 
			
		||||
 * TODO see if necessary
 | 
			
		||||
 * UserCircleConsistency(
 | 
			
		||||
 *     "CHILL_ACTIVITY_SEE_DETAILS",
 | 
			
		||||
 *     getUserFunction="getUser",
 | 
			
		||||
 * path="scope")
 | 
			
		||||
 */
 | 
			
		||||
#[DiscriminatorMap(typeProperty: 'type', mapping: ['activity' => Activity::class])]
 | 
			
		||||
#[ORM\Entity(repositoryClass: \Chill\ActivityBundle\Repository\ActivityRepository::class)]
 | 
			
		||||
#[ORM\HasLifecycleCallbacks]
 | 
			
		||||
#[ORM\Table(name: 'activity')]
 | 
			
		||||
#[ActivityValidator\ActivityValidity] // TODO see if necessary
 | 
			
		||||
class Activity implements AccompanyingPeriodLinkedWithSocialIssuesEntityInterface, HasCentersInterface, HasScopesInterface, TrackCreationInterface, TrackUpdateInterface
 | 
			
		||||
{
 | 
			
		||||
    use TrackCreationTrait;
 | 
			
		||||
@@ -57,115 +72,176 @@ class Activity implements AccompanyingPeriodLinkedWithSocialIssuesEntityInterfac
 | 
			
		||||
 | 
			
		||||
    final public const SENTRECEIVED_SENT = 'sent';
 | 
			
		||||
 | 
			
		||||
    #[Groups(['read'])]
 | 
			
		||||
    #[ORM\ManyToOne(targetEntity: AccompanyingPeriod::class)]
 | 
			
		||||
    /**
 | 
			
		||||
     * @ORM\ManyToOne(targetEntity="Chill\PersonBundle\Entity\AccompanyingPeriod")
 | 
			
		||||
     *
 | 
			
		||||
     * @Groups({"read"})
 | 
			
		||||
     */
 | 
			
		||||
    private ?AccompanyingPeriod $accompanyingPeriod = null;
 | 
			
		||||
 | 
			
		||||
    #[Groups(['read', 'docgen:read'])]
 | 
			
		||||
    #[SerializedName('activityType')]
 | 
			
		||||
    #[ORM\ManyToOne(targetEntity: ActivityType::class)]
 | 
			
		||||
    #[ORM\JoinColumn(name: 'type_id')]
 | 
			
		||||
    /**
 | 
			
		||||
     * @ORM\ManyToOne(targetEntity="Chill\ActivityBundle\Entity\ActivityType")
 | 
			
		||||
     *
 | 
			
		||||
     * @Groups({"read", "docgen:read"})
 | 
			
		||||
     *
 | 
			
		||||
     * @SerializedName("activityType")
 | 
			
		||||
     *
 | 
			
		||||
     * @ORM\JoinColumn(name="type_id")
 | 
			
		||||
     */
 | 
			
		||||
    private ActivityType $activityType;
 | 
			
		||||
 | 
			
		||||
    #[Groups(['docgen:read'])]
 | 
			
		||||
    #[ORM\ManyToOne(targetEntity: ActivityPresence::class)]
 | 
			
		||||
    /**
 | 
			
		||||
     * @ORM\ManyToOne(targetEntity="Chill\ActivityBundle\Entity\ActivityPresence")
 | 
			
		||||
     *
 | 
			
		||||
     * @Groups({"docgen:read"})
 | 
			
		||||
     */
 | 
			
		||||
    private ?ActivityPresence $attendee = null;
 | 
			
		||||
 | 
			
		||||
    #[Groups(['docgen:read'])]
 | 
			
		||||
    #[ORM\Embedded(class: CommentEmbeddable::class, columnPrefix: 'comment_')]
 | 
			
		||||
    /**
 | 
			
		||||
     * @ORM\Embedded(class="Chill\MainBundle\Entity\Embeddable\CommentEmbeddable", columnPrefix="comment_")
 | 
			
		||||
     *
 | 
			
		||||
     * @Groups({"docgen:read"})
 | 
			
		||||
     */
 | 
			
		||||
    private CommentEmbeddable $comment;
 | 
			
		||||
 | 
			
		||||
    #[Groups(['docgen:read'])]
 | 
			
		||||
    #[ORM\Column(type: \Doctrine\DBAL\Types\Types::DATETIME_MUTABLE)]
 | 
			
		||||
    /**
 | 
			
		||||
     * @ORM\Column(type="datetime")
 | 
			
		||||
     *
 | 
			
		||||
     * @Groups({"docgen:read"})
 | 
			
		||||
     */
 | 
			
		||||
    private \DateTime $date;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * @ORM\ManyToMany(targetEntity="Chill\DocStoreBundle\Entity\StoredObject", cascade={"persist"})
 | 
			
		||||
     *
 | 
			
		||||
     * @Assert\Valid(traverse=true)
 | 
			
		||||
     *
 | 
			
		||||
     * @var Collection<StoredObject>
 | 
			
		||||
     */
 | 
			
		||||
    #[Assert\Valid(traverse: true)]
 | 
			
		||||
    #[ORM\ManyToMany(targetEntity: StoredObject::class, cascade: ['persist'])]
 | 
			
		||||
    private Collection $documents;
 | 
			
		||||
 | 
			
		||||
    #[ORM\Column(type: \Doctrine\DBAL\Types\Types::TIME_MUTABLE, nullable: true)]
 | 
			
		||||
    /**
 | 
			
		||||
     * @ORM\Column(type="time", nullable=true)
 | 
			
		||||
     */
 | 
			
		||||
    private ?\DateTime $durationTime = null;
 | 
			
		||||
 | 
			
		||||
    #[Groups(['docgen:read'])]
 | 
			
		||||
    #[ORM\Column(type: \Doctrine\DBAL\Types\Types::BOOLEAN, options: ['default' => false])]
 | 
			
		||||
    /**
 | 
			
		||||
     * @ORM\Column(type="boolean", options={"default": false})
 | 
			
		||||
     *
 | 
			
		||||
     * @Groups({"docgen:read"})
 | 
			
		||||
     */
 | 
			
		||||
    private bool $emergency = false;
 | 
			
		||||
 | 
			
		||||
    #[Groups(['read', 'docgen:read'])]
 | 
			
		||||
    #[ORM\Id]
 | 
			
		||||
    #[ORM\Column(name: 'id', type: \Doctrine\DBAL\Types\Types::INTEGER)]
 | 
			
		||||
    #[ORM\GeneratedValue(strategy: 'AUTO')]
 | 
			
		||||
    /**
 | 
			
		||||
     * @ORM\Id
 | 
			
		||||
     *
 | 
			
		||||
     * @ORM\Column(name="id", type="integer")
 | 
			
		||||
     *
 | 
			
		||||
     * @ORM\GeneratedValue(strategy="AUTO")
 | 
			
		||||
     *
 | 
			
		||||
     * @Groups({"read", "docgen:read"})
 | 
			
		||||
     */
 | 
			
		||||
    private ?int $id = null;
 | 
			
		||||
 | 
			
		||||
    #[Groups(['read', 'docgen:read'])]
 | 
			
		||||
    #[ORM\ManyToOne(targetEntity: Location::class)]
 | 
			
		||||
    /**
 | 
			
		||||
     * @ORM\ManyToOne(targetEntity="Chill\MainBundle\Entity\Location")
 | 
			
		||||
     *
 | 
			
		||||
     * @groups({"read", "docgen:read"})
 | 
			
		||||
     */
 | 
			
		||||
    private ?Location $location = null;
 | 
			
		||||
 | 
			
		||||
    #[ORM\ManyToOne(targetEntity: Person::class)]
 | 
			
		||||
    /**
 | 
			
		||||
     * @ORM\ManyToOne(targetEntity="Chill\PersonBundle\Entity\Person")
 | 
			
		||||
     */
 | 
			
		||||
    private ?Person $person = null;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * @ORM\ManyToMany(targetEntity="Chill\PersonBundle\Entity\Person")
 | 
			
		||||
     *
 | 
			
		||||
     * @Groups({"read", "docgen:read"})
 | 
			
		||||
     *
 | 
			
		||||
     * @var Collection<Person>
 | 
			
		||||
     */
 | 
			
		||||
    #[Groups(['read', 'docgen:read'])]
 | 
			
		||||
    #[ORM\ManyToMany(targetEntity: Person::class)]
 | 
			
		||||
    private Collection $persons;
 | 
			
		||||
 | 
			
		||||
    #[ORM\Embedded(class: PrivateCommentEmbeddable::class, columnPrefix: 'privateComment_')]
 | 
			
		||||
    /**
 | 
			
		||||
     * @ORM\Embedded(class="Chill\MainBundle\Entity\Embeddable\PrivateCommentEmbeddable", columnPrefix="privateComment_")
 | 
			
		||||
     */
 | 
			
		||||
    private PrivateCommentEmbeddable $privateComment;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * @ORM\ManyToMany(targetEntity="Chill\ActivityBundle\Entity\ActivityReason")
 | 
			
		||||
     *
 | 
			
		||||
     * @Groups({"docgen:read"})
 | 
			
		||||
     *
 | 
			
		||||
     * @var Collection<ActivityReason>
 | 
			
		||||
     */
 | 
			
		||||
    #[Groups(['docgen:read'])]
 | 
			
		||||
    #[ORM\ManyToMany(targetEntity: ActivityReason::class)]
 | 
			
		||||
    private Collection $reasons;
 | 
			
		||||
 | 
			
		||||
    #[Groups(['docgen:read'])]
 | 
			
		||||
    #[ORM\ManyToOne(targetEntity: Scope::class)]
 | 
			
		||||
    /**
 | 
			
		||||
     * @ORM\ManyToOne(targetEntity="Chill\MainBundle\Entity\Scope")
 | 
			
		||||
     *
 | 
			
		||||
     * @Groups({"docgen:read"})
 | 
			
		||||
     */
 | 
			
		||||
    private ?Scope $scope = null;
 | 
			
		||||
 | 
			
		||||
    #[Groups(['docgen:read'])]
 | 
			
		||||
    #[ORM\Column(type: \Doctrine\DBAL\Types\Types::STRING, options: ['default' => ''])]
 | 
			
		||||
    /**
 | 
			
		||||
     * @ORM\Column(type="string", options={"default": ""})
 | 
			
		||||
     *
 | 
			
		||||
     * @Groups({"docgen:read"})
 | 
			
		||||
     */
 | 
			
		||||
    private string $sentReceived = '';
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * @ORM\ManyToMany(targetEntity="Chill\PersonBundle\Entity\SocialWork\SocialAction")
 | 
			
		||||
     *
 | 
			
		||||
     * @ORM\JoinTable(name="chill_activity_activity_chill_person_socialaction")
 | 
			
		||||
     *
 | 
			
		||||
     * @Groups({"read", "docgen:read"})
 | 
			
		||||
     *
 | 
			
		||||
     * @var Collection<SocialAction>
 | 
			
		||||
     */
 | 
			
		||||
    #[Groups(['read', 'docgen:read'])]
 | 
			
		||||
    #[ORM\ManyToMany(targetEntity: SocialAction::class)]
 | 
			
		||||
    #[ORM\JoinTable(name: 'chill_activity_activity_chill_person_socialaction')]
 | 
			
		||||
    private Collection $socialActions;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * @ORM\ManyToMany(targetEntity="Chill\PersonBundle\Entity\SocialWork\SocialIssue")
 | 
			
		||||
     *
 | 
			
		||||
     * @ORM\JoinTable(name="chill_activity_activity_chill_person_socialissue")
 | 
			
		||||
     *
 | 
			
		||||
     * @Groups({"read", "docgen:read"})
 | 
			
		||||
     *
 | 
			
		||||
     * @var Collection<SocialIssue>
 | 
			
		||||
     */
 | 
			
		||||
    #[Groups(['read', 'docgen:read'])]
 | 
			
		||||
    #[ORM\ManyToMany(targetEntity: SocialIssue::class)]
 | 
			
		||||
    #[ORM\JoinTable(name: 'chill_activity_activity_chill_person_socialissue')]
 | 
			
		||||
    private Collection $socialIssues;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * @ORM\ManyToMany(targetEntity="Chill\ThirdPartyBundle\Entity\ThirdParty")
 | 
			
		||||
     *
 | 
			
		||||
     * @Groups({"read", "docgen:read"})
 | 
			
		||||
     *
 | 
			
		||||
     * @var Collection<ThirdParty>
 | 
			
		||||
     */
 | 
			
		||||
    #[Groups(['read', 'docgen:read'])]
 | 
			
		||||
    #[ORM\ManyToMany(targetEntity: ThirdParty::class)]
 | 
			
		||||
    private Collection $thirdParties;
 | 
			
		||||
 | 
			
		||||
    #[ORM\Column(type: \Doctrine\DBAL\Types\Types::TIME_MUTABLE, nullable: true)]
 | 
			
		||||
    /**
 | 
			
		||||
     * @ORM\Column(type="time", nullable=true)
 | 
			
		||||
     */
 | 
			
		||||
    private ?\DateTime $travelTime = null;
 | 
			
		||||
 | 
			
		||||
    #[Groups(['docgen:read'])]
 | 
			
		||||
    #[ORM\ManyToOne(targetEntity: User::class)]
 | 
			
		||||
    /**
 | 
			
		||||
     * @ORM\ManyToOne(targetEntity="Chill\MainBundle\Entity\User")
 | 
			
		||||
     *
 | 
			
		||||
     * @Groups({"docgen:read"})
 | 
			
		||||
     */
 | 
			
		||||
    private ?User $user = null;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * @ORM\ManyToMany(targetEntity="Chill\MainBundle\Entity\User")
 | 
			
		||||
     *
 | 
			
		||||
     * @Groups({"read", "docgen:read"})
 | 
			
		||||
     *
 | 
			
		||||
     * @var Collection<User>
 | 
			
		||||
     */
 | 
			
		||||
    #[Groups(['read', 'docgen:read'])]
 | 
			
		||||
    #[ORM\ManyToMany(targetEntity: User::class)]
 | 
			
		||||
    private Collection $users;
 | 
			
		||||
 | 
			
		||||
    public function __construct()
 | 
			
		||||
@@ -309,7 +385,9 @@ class Activity implements AccompanyingPeriodLinkedWithSocialIssuesEntityInterfac
 | 
			
		||||
        return $this->documents;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    #[Groups(['docgen:read'])]
 | 
			
		||||
    /**
 | 
			
		||||
     * @Groups({"docgen:read"})
 | 
			
		||||
     */
 | 
			
		||||
    public function getDurationMinute(): int
 | 
			
		||||
    {
 | 
			
		||||
        if (null === $this->durationTime) {
 | 
			
		||||
@@ -437,7 +515,9 @@ class Activity implements AccompanyingPeriodLinkedWithSocialIssuesEntityInterfac
 | 
			
		||||
        return $this->travelTime;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    #[Groups(['docgen:read'])]
 | 
			
		||||
    /**
 | 
			
		||||
     * @Groups({"docgen:read"})
 | 
			
		||||
     */
 | 
			
		||||
    public function getTravelTimeMinute(): int
 | 
			
		||||
    {
 | 
			
		||||
        if (null === $this->travelTime) {
 | 
			
		||||
 
 | 
			
		||||
@@ -16,24 +16,38 @@ use Symfony\Component\Serializer\Annotation as Serializer;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Class ActivityPresence.
 | 
			
		||||
 *
 | 
			
		||||
 * @ORM\Entity
 | 
			
		||||
 *
 | 
			
		||||
 * @ORM\Table(name="activitytpresence")
 | 
			
		||||
 *
 | 
			
		||||
 * @ORM\HasLifecycleCallbacks
 | 
			
		||||
 */
 | 
			
		||||
#[ORM\Entity]
 | 
			
		||||
#[ORM\HasLifecycleCallbacks]
 | 
			
		||||
#[ORM\Table(name: 'activitytpresence')]
 | 
			
		||||
class ActivityPresence
 | 
			
		||||
{
 | 
			
		||||
    #[ORM\Column(type: \Doctrine\DBAL\Types\Types::BOOLEAN)]
 | 
			
		||||
    /**
 | 
			
		||||
     * @ORM\Column(type="boolean")
 | 
			
		||||
     */
 | 
			
		||||
    private bool $active = true;
 | 
			
		||||
 | 
			
		||||
    #[Serializer\Groups(['docgen:read'])]
 | 
			
		||||
    #[ORM\Id]
 | 
			
		||||
    #[ORM\Column(name: 'id', type: \Doctrine\DBAL\Types\Types::INTEGER)]
 | 
			
		||||
    #[ORM\GeneratedValue(strategy: 'AUTO')]
 | 
			
		||||
    /**
 | 
			
		||||
     * @ORM\Id
 | 
			
		||||
     *
 | 
			
		||||
     * @ORM\Column(name="id", type="integer")
 | 
			
		||||
     *
 | 
			
		||||
     * @ORM\GeneratedValue(strategy="AUTO")
 | 
			
		||||
     *
 | 
			
		||||
     * @Serializer\Groups({"docgen:read"})
 | 
			
		||||
     */
 | 
			
		||||
    private ?int $id = null;
 | 
			
		||||
 | 
			
		||||
    #[Serializer\Groups(['docgen:read'])]
 | 
			
		||||
    #[ORM\Column(type: \Doctrine\DBAL\Types\Types::JSON)]
 | 
			
		||||
    #[Serializer\Context(['is-translatable' => true], groups: ['docgen:read'])]
 | 
			
		||||
    /**
 | 
			
		||||
     * @ORM\Column(type="json")
 | 
			
		||||
     *
 | 
			
		||||
     * @Serializer\Groups({"docgen:read"})
 | 
			
		||||
     *
 | 
			
		||||
     * @Serializer\Context({"is-translatable": true}, groups={"docgen:read"})
 | 
			
		||||
     */
 | 
			
		||||
    private array $name = [];
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
 
 | 
			
		||||
@@ -15,24 +15,39 @@ use Doctrine\ORM\Mapping as ORM;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Class ActivityReason.
 | 
			
		||||
 *
 | 
			
		||||
 * @ORM\Entity
 | 
			
		||||
 *
 | 
			
		||||
 * @ORM\Table(name="activityreason")
 | 
			
		||||
 *
 | 
			
		||||
 * @ORM\HasLifecycleCallbacks
 | 
			
		||||
 */
 | 
			
		||||
#[ORM\Entity]
 | 
			
		||||
#[ORM\HasLifecycleCallbacks]
 | 
			
		||||
#[ORM\Table(name: 'activityreason')]
 | 
			
		||||
class ActivityReason
 | 
			
		||||
{
 | 
			
		||||
    #[ORM\Column(type: \Doctrine\DBAL\Types\Types::BOOLEAN)]
 | 
			
		||||
    /**
 | 
			
		||||
     * @ORM\Column(type="boolean")
 | 
			
		||||
     */
 | 
			
		||||
    private bool $active = true;
 | 
			
		||||
 | 
			
		||||
    #[ORM\ManyToOne(targetEntity: ActivityReasonCategory::class, inversedBy: 'reasons')]
 | 
			
		||||
    /**
 | 
			
		||||
     * @ORM\ManyToOne(
 | 
			
		||||
     *     targetEntity="Chill\ActivityBundle\Entity\ActivityReasonCategory",
 | 
			
		||||
     * inversedBy="reasons")
 | 
			
		||||
     */
 | 
			
		||||
    private ?ActivityReasonCategory $category = null;
 | 
			
		||||
 | 
			
		||||
    #[ORM\Id]
 | 
			
		||||
    #[ORM\Column(name: 'id', type: \Doctrine\DBAL\Types\Types::INTEGER)]
 | 
			
		||||
    #[ORM\GeneratedValue(strategy: 'AUTO')]
 | 
			
		||||
    /**
 | 
			
		||||
     * @ORM\Id
 | 
			
		||||
     *
 | 
			
		||||
     * @ORM\Column(name="id", type="integer")
 | 
			
		||||
     *
 | 
			
		||||
     * @ORM\GeneratedValue(strategy="AUTO")
 | 
			
		||||
     */
 | 
			
		||||
    private ?int $id = null;
 | 
			
		||||
 | 
			
		||||
    #[ORM\Column(type: \Doctrine\DBAL\Types\Types::JSON)]
 | 
			
		||||
    /**
 | 
			
		||||
     * @ORM\Column(type="json")
 | 
			
		||||
     */
 | 
			
		||||
    private array $name;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
 
 | 
			
		||||
@@ -17,32 +17,45 @@ use Doctrine\ORM\Mapping as ORM;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Class ActivityReasonCategory.
 | 
			
		||||
 *
 | 
			
		||||
 * @ORM\Entity
 | 
			
		||||
 *
 | 
			
		||||
 * @ORM\Table(name="activityreasoncategory")
 | 
			
		||||
 *
 | 
			
		||||
 * @ORM\HasLifecycleCallbacks
 | 
			
		||||
 */
 | 
			
		||||
#[ORM\Entity]
 | 
			
		||||
#[ORM\HasLifecycleCallbacks]
 | 
			
		||||
#[ORM\Table(name: 'activityreasoncategory')]
 | 
			
		||||
class ActivityReasonCategory implements \Stringable
 | 
			
		||||
{
 | 
			
		||||
    #[ORM\Column(type: \Doctrine\DBAL\Types\Types::BOOLEAN)]
 | 
			
		||||
    /**
 | 
			
		||||
     * @ORM\Column(type="boolean")
 | 
			
		||||
     */
 | 
			
		||||
    private bool $active = true;
 | 
			
		||||
 | 
			
		||||
    #[ORM\Id]
 | 
			
		||||
    #[ORM\Column(name: 'id', type: \Doctrine\DBAL\Types\Types::INTEGER)]
 | 
			
		||||
    #[ORM\GeneratedValue(strategy: 'AUTO')]
 | 
			
		||||
    /**
 | 
			
		||||
     * @ORM\Id
 | 
			
		||||
     *
 | 
			
		||||
     * @ORM\Column(name="id", type="integer")
 | 
			
		||||
     *
 | 
			
		||||
     * @ORM\GeneratedValue(strategy="AUTO")
 | 
			
		||||
     */
 | 
			
		||||
    private ?int $id = null;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * @var string
 | 
			
		||||
     *
 | 
			
		||||
     * @ORM\Column(type="json")
 | 
			
		||||
     */
 | 
			
		||||
    #[ORM\Column(type: \Doctrine\DBAL\Types\Types::JSON)]
 | 
			
		||||
    private $name;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Array of ActivityReason.
 | 
			
		||||
     *
 | 
			
		||||
     * @var Collection<ActivityReason>
 | 
			
		||||
     *
 | 
			
		||||
     * @ORM\OneToMany(
 | 
			
		||||
     *     targetEntity="Chill\ActivityBundle\Entity\ActivityReason",
 | 
			
		||||
     * mappedBy="category")
 | 
			
		||||
     */
 | 
			
		||||
    #[ORM\OneToMany(targetEntity: ActivityReason::class, mappedBy: 'category')]
 | 
			
		||||
    private Collection $reasons;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
 
 | 
			
		||||
@@ -19,10 +19,13 @@ use Symfony\Component\Validator\Context\ExecutionContextInterface;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Class ActivityType.
 | 
			
		||||
 *
 | 
			
		||||
 * @ORM\Entity
 | 
			
		||||
 *
 | 
			
		||||
 * @ORM\Table(name="activitytype")
 | 
			
		||||
 *
 | 
			
		||||
 * @ORM\HasLifecycleCallbacks
 | 
			
		||||
 */
 | 
			
		||||
#[ORM\Entity]
 | 
			
		||||
#[ORM\HasLifecycleCallbacks]
 | 
			
		||||
#[ORM\Table(name: 'activitytype')]
 | 
			
		||||
class ActivityType
 | 
			
		||||
{
 | 
			
		||||
    final public const FIELD_INVISIBLE = 0;
 | 
			
		||||
@@ -33,161 +36,258 @@ class ActivityType
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * @deprecated not in use
 | 
			
		||||
     *
 | 
			
		||||
     * @ORM\Column(type="string", nullable=false, options={"default": ""})
 | 
			
		||||
     */
 | 
			
		||||
    #[ORM\Column(type: \Doctrine\DBAL\Types\Types::STRING, nullable: false, options: ['default' => ''])]
 | 
			
		||||
    private string $accompanyingPeriodLabel = '';
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * @deprecated not in use
 | 
			
		||||
     *
 | 
			
		||||
     * @ORM\Column(type="smallint", nullable=false, options={"default": 1})
 | 
			
		||||
     */
 | 
			
		||||
    #[ORM\Column(type: \Doctrine\DBAL\Types\Types::SMALLINT, nullable: false, options: ['default' => 1])]
 | 
			
		||||
    private int $accompanyingPeriodVisible = self::FIELD_INVISIBLE;
 | 
			
		||||
 | 
			
		||||
    #[Groups(['read'])]
 | 
			
		||||
    #[ORM\Column(type: \Doctrine\DBAL\Types\Types::BOOLEAN)]
 | 
			
		||||
    /**
 | 
			
		||||
     * @ORM\Column(type="boolean")
 | 
			
		||||
     *
 | 
			
		||||
     * @Groups({"read"})
 | 
			
		||||
     */
 | 
			
		||||
    private bool $active = true;
 | 
			
		||||
 | 
			
		||||
    #[ORM\Column(type: \Doctrine\DBAL\Types\Types::STRING, nullable: false, options: ['default' => ''])]
 | 
			
		||||
    /**
 | 
			
		||||
     * @ORM\Column(type="string", nullable=false, options={"default": ""})
 | 
			
		||||
     */
 | 
			
		||||
    private string $attendeeLabel = '';
 | 
			
		||||
 | 
			
		||||
    #[ORM\Column(type: \Doctrine\DBAL\Types\Types::SMALLINT, nullable: false, options: ['default' => 1])]
 | 
			
		||||
    /**
 | 
			
		||||
     * @ORM\Column(type="smallint", nullable=false, options={"default": 1})
 | 
			
		||||
     */
 | 
			
		||||
    private int $attendeeVisible = self::FIELD_OPTIONAL;
 | 
			
		||||
 | 
			
		||||
    #[ORM\ManyToOne(targetEntity: ActivityTypeCategory::class)]
 | 
			
		||||
    /**
 | 
			
		||||
     * @ORM\ManyToOne(targetEntity="Chill\ActivityBundle\Entity\ActivityTypeCategory")
 | 
			
		||||
     */
 | 
			
		||||
    private ?ActivityTypeCategory $category = null;
 | 
			
		||||
 | 
			
		||||
    #[ORM\Column(type: \Doctrine\DBAL\Types\Types::STRING, nullable: false, options: ['default' => ''])]
 | 
			
		||||
    /**
 | 
			
		||||
     * @ORM\Column(type="string", nullable=false, options={"default": ""})
 | 
			
		||||
     */
 | 
			
		||||
    private string $commentLabel = '';
 | 
			
		||||
 | 
			
		||||
    #[ORM\Column(type: \Doctrine\DBAL\Types\Types::SMALLINT, nullable: false, options: ['default' => 1])]
 | 
			
		||||
    /**
 | 
			
		||||
     * @ORM\Column(type="smallint", nullable=false, options={"default": 1})
 | 
			
		||||
     */
 | 
			
		||||
    private int $commentVisible = self::FIELD_OPTIONAL;
 | 
			
		||||
 | 
			
		||||
    #[ORM\Column(type: \Doctrine\DBAL\Types\Types::STRING, nullable: false, options: ['default' => ''])]
 | 
			
		||||
    /**
 | 
			
		||||
     * @ORM\Column(type="string", nullable=false, options={"default": ""})
 | 
			
		||||
     */
 | 
			
		||||
    private string $dateLabel = '';
 | 
			
		||||
 | 
			
		||||
    #[ORM\Column(type: \Doctrine\DBAL\Types\Types::SMALLINT, nullable: false, options: ['default' => 2])]
 | 
			
		||||
    /**
 | 
			
		||||
     * @ORM\Column(type="smallint", nullable=false, options={"default": 2})
 | 
			
		||||
     */
 | 
			
		||||
    private int $dateVisible = self::FIELD_REQUIRED;
 | 
			
		||||
 | 
			
		||||
    #[ORM\Column(type: \Doctrine\DBAL\Types\Types::STRING, nullable: false, options: ['default' => ''])]
 | 
			
		||||
    /**
 | 
			
		||||
     * @ORM\Column(type="string", nullable=false, options={"default": ""})
 | 
			
		||||
     */
 | 
			
		||||
    private string $documentsLabel = '';
 | 
			
		||||
 | 
			
		||||
    #[ORM\Column(type: \Doctrine\DBAL\Types\Types::SMALLINT, nullable: false, options: ['default' => 1])]
 | 
			
		||||
    /**
 | 
			
		||||
     * @ORM\Column(type="smallint", nullable=false, options={"default": 1})
 | 
			
		||||
     */
 | 
			
		||||
    private int $documentsVisible = self::FIELD_OPTIONAL;
 | 
			
		||||
 | 
			
		||||
    #[ORM\Column(type: \Doctrine\DBAL\Types\Types::STRING, nullable: false, options: ['default' => ''])]
 | 
			
		||||
    /**
 | 
			
		||||
     * @ORM\Column(type="string", nullable=false, options={"default": ""})
 | 
			
		||||
     */
 | 
			
		||||
    private string $durationTimeLabel = '';
 | 
			
		||||
 | 
			
		||||
    #[ORM\Column(type: \Doctrine\DBAL\Types\Types::SMALLINT, nullable: false, options: ['default' => 1])]
 | 
			
		||||
    /**
 | 
			
		||||
     * @ORM\Column(type="smallint", nullable=false, options={"default": 1})
 | 
			
		||||
     */
 | 
			
		||||
    private int $durationTimeVisible = self::FIELD_OPTIONAL;
 | 
			
		||||
 | 
			
		||||
    #[ORM\Column(type: \Doctrine\DBAL\Types\Types::STRING, nullable: false, options: ['default' => ''])]
 | 
			
		||||
    /**
 | 
			
		||||
     * @ORM\Column(type="string", nullable=false, options={"default": ""})
 | 
			
		||||
     */
 | 
			
		||||
    private string $emergencyLabel = '';
 | 
			
		||||
 | 
			
		||||
    #[ORM\Column(type: \Doctrine\DBAL\Types\Types::SMALLINT, nullable: false, options: ['default' => 1])]
 | 
			
		||||
    /**
 | 
			
		||||
     * @ORM\Column(type="smallint", nullable=false, options={"default": 1})
 | 
			
		||||
     */
 | 
			
		||||
    private int $emergencyVisible = self::FIELD_INVISIBLE;
 | 
			
		||||
 | 
			
		||||
    #[Groups(['docgen:read'])]
 | 
			
		||||
    #[ORM\Id]
 | 
			
		||||
    #[ORM\Column(name: 'id', type: \Doctrine\DBAL\Types\Types::INTEGER)]
 | 
			
		||||
    #[ORM\GeneratedValue(strategy: 'AUTO')]
 | 
			
		||||
    /**
 | 
			
		||||
     * @ORM\Id
 | 
			
		||||
     *
 | 
			
		||||
     * @ORM\Column(name="id", type="integer")
 | 
			
		||||
     *
 | 
			
		||||
     * @ORM\GeneratedValue(strategy="AUTO")
 | 
			
		||||
     *
 | 
			
		||||
     * @Groups({"docgen:read"})
 | 
			
		||||
     */
 | 
			
		||||
    private ?int $id = null;
 | 
			
		||||
 | 
			
		||||
    #[ORM\Column(type: \Doctrine\DBAL\Types\Types::STRING, nullable: false, options: ['default' => ''])]
 | 
			
		||||
    /**
 | 
			
		||||
     * @ORM\Column(type="string", nullable=false, options={"default": ""})
 | 
			
		||||
     */
 | 
			
		||||
    private string $locationLabel = '';
 | 
			
		||||
 | 
			
		||||
    #[ORM\Column(type: \Doctrine\DBAL\Types\Types::SMALLINT, nullable: false, options: ['default' => 1])]
 | 
			
		||||
    /**
 | 
			
		||||
     * @ORM\Column(type="smallint", nullable=false, options={"default": 1})
 | 
			
		||||
     */
 | 
			
		||||
    private int $locationVisible = self::FIELD_INVISIBLE;
 | 
			
		||||
 | 
			
		||||
    #[Groups(['read', 'docgen:read'])]
 | 
			
		||||
    #[ORM\Column(type: \Doctrine\DBAL\Types\Types::JSON)]
 | 
			
		||||
    #[Serializer\Context(['is-translatable' => true], groups: ['docgen:read'])]
 | 
			
		||||
    /**
 | 
			
		||||
     * @ORM\Column(type="json")
 | 
			
		||||
     *
 | 
			
		||||
     * @Groups({"read", "docgen:read"})
 | 
			
		||||
     *
 | 
			
		||||
     * @Serializer\Context({"is-translatable": true}, groups={"docgen:read"})
 | 
			
		||||
     */
 | 
			
		||||
    private array $name = [];
 | 
			
		||||
 | 
			
		||||
    #[ORM\Column(type: \Doctrine\DBAL\Types\Types::FLOAT, options: ['default' => '0.0'])]
 | 
			
		||||
    /**
 | 
			
		||||
     * @ORM\Column(type="float", options={"default": "0.0"})
 | 
			
		||||
     */
 | 
			
		||||
    private float $ordering = 0.0;
 | 
			
		||||
 | 
			
		||||
    #[ORM\Column(type: \Doctrine\DBAL\Types\Types::STRING, nullable: false, options: ['default' => ''])]
 | 
			
		||||
    /**
 | 
			
		||||
     * @ORM\Column(type="string", nullable=false, options={"default": ""})
 | 
			
		||||
     */
 | 
			
		||||
    private string $personLabel = '';
 | 
			
		||||
 | 
			
		||||
    #[ORM\Column(type: \Doctrine\DBAL\Types\Types::STRING, nullable: false, options: ['default' => ''])]
 | 
			
		||||
    /**
 | 
			
		||||
     * @ORM\Column(type="string", nullable=false, options={"default": ""})
 | 
			
		||||
     */
 | 
			
		||||
    private string $personsLabel = '';
 | 
			
		||||
 | 
			
		||||
    #[Groups(['read'])]
 | 
			
		||||
    #[ORM\Column(type: \Doctrine\DBAL\Types\Types::SMALLINT, nullable: false, options: ['default' => 1])]
 | 
			
		||||
    /**
 | 
			
		||||
     * @ORM\Column(type="smallint", nullable=false, options={"default": 1})
 | 
			
		||||
     *
 | 
			
		||||
     * @Groups({"read"})
 | 
			
		||||
     */
 | 
			
		||||
    private int $personsVisible = self::FIELD_OPTIONAL;
 | 
			
		||||
 | 
			
		||||
    #[ORM\Column(type: \Doctrine\DBAL\Types\Types::SMALLINT, nullable: false, options: ['default' => 2])]
 | 
			
		||||
    /**
 | 
			
		||||
     * @ORM\Column(type="smallint", nullable=false, options={"default": 2})
 | 
			
		||||
     */
 | 
			
		||||
    private int $personVisible = self::FIELD_REQUIRED;
 | 
			
		||||
 | 
			
		||||
    #[ORM\Column(type: \Doctrine\DBAL\Types\Types::STRING, nullable: false, options: ['default' => ''])]
 | 
			
		||||
    /**
 | 
			
		||||
     * @ORM\Column(type="string", nullable=false, options={"default": ""})
 | 
			
		||||
     */
 | 
			
		||||
    private string $privateCommentLabel = '';
 | 
			
		||||
 | 
			
		||||
    #[ORM\Column(type: \Doctrine\DBAL\Types\Types::SMALLINT, nullable: false, options: ['default' => 1])]
 | 
			
		||||
    /**
 | 
			
		||||
     * @ORM\Column(type="smallint", nullable=false, options={"default": 1})
 | 
			
		||||
     */
 | 
			
		||||
    private int $privateCommentVisible = self::FIELD_OPTIONAL;
 | 
			
		||||
 | 
			
		||||
    #[ORM\Column(type: \Doctrine\DBAL\Types\Types::STRING, nullable: false, options: ['default' => ''])]
 | 
			
		||||
    /**
 | 
			
		||||
     * @ORM\Column(type="string", nullable=false, options={"default": ""})
 | 
			
		||||
     */
 | 
			
		||||
    private string $reasonsLabel = '';
 | 
			
		||||
 | 
			
		||||
    #[ORM\Column(type: \Doctrine\DBAL\Types\Types::SMALLINT, nullable: false, options: ['default' => 1])]
 | 
			
		||||
    /**
 | 
			
		||||
     * @ORM\Column(type="smallint", nullable=false, options={"default": 1})
 | 
			
		||||
     */
 | 
			
		||||
    private int $reasonsVisible = self::FIELD_OPTIONAL;
 | 
			
		||||
 | 
			
		||||
    #[ORM\Column(type: \Doctrine\DBAL\Types\Types::STRING, nullable: false, options: ['default' => ''])]
 | 
			
		||||
    /**
 | 
			
		||||
     * @ORM\Column(type="string", nullable=false, options={"default": ""})
 | 
			
		||||
     */
 | 
			
		||||
    private string $sentReceivedLabel = '';
 | 
			
		||||
 | 
			
		||||
    #[ORM\Column(type: \Doctrine\DBAL\Types\Types::SMALLINT, nullable: false, options: ['default' => 1])]
 | 
			
		||||
    /**
 | 
			
		||||
     * @ORM\Column(type="smallint", nullable=false, options={"default": 1})
 | 
			
		||||
     */
 | 
			
		||||
    private int $sentReceivedVisible = self::FIELD_OPTIONAL;
 | 
			
		||||
 | 
			
		||||
    #[ORM\Column(type: \Doctrine\DBAL\Types\Types::STRING, nullable: false, options: ['default' => ''])]
 | 
			
		||||
    /**
 | 
			
		||||
     * @ORM\Column(type="string", nullable=false, options={"default": ""})
 | 
			
		||||
     */
 | 
			
		||||
    private string $socialActionsLabel = '';
 | 
			
		||||
 | 
			
		||||
    #[ORM\Column(type: \Doctrine\DBAL\Types\Types::SMALLINT, nullable: false, options: ['default' => 1])]
 | 
			
		||||
    /**
 | 
			
		||||
     * @ORM\Column(type="smallint", nullable=false, options={"default": 1})
 | 
			
		||||
     */
 | 
			
		||||
    private int $socialActionsVisible = self::FIELD_INVISIBLE;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * @ORM\Column(type="string", nullable=false, options={"default": ""})
 | 
			
		||||
     *
 | 
			
		||||
     * @deprecated not in use
 | 
			
		||||
     */
 | 
			
		||||
    #[ORM\Column(type: \Doctrine\DBAL\Types\Types::STRING, nullable: false, options: ['default' => ''])]
 | 
			
		||||
    private string $socialDataLabel = '';
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * @ORM\Column(type="smallint", nullable=false, options={"default": 1})
 | 
			
		||||
     *
 | 
			
		||||
     * @deprecated not in use
 | 
			
		||||
     */
 | 
			
		||||
    #[ORM\Column(type: \Doctrine\DBAL\Types\Types::SMALLINT, nullable: false, options: ['default' => 1])]
 | 
			
		||||
    private int $socialDataVisible = self::FIELD_INVISIBLE;
 | 
			
		||||
 | 
			
		||||
    #[ORM\Column(type: \Doctrine\DBAL\Types\Types::STRING, nullable: false, options: ['default' => ''])]
 | 
			
		||||
    /**
 | 
			
		||||
     * @ORM\Column(type="string", nullable=false, options={"default": ""})
 | 
			
		||||
     */
 | 
			
		||||
    private string $socialIssuesLabel = '';
 | 
			
		||||
 | 
			
		||||
    #[ORM\Column(type: \Doctrine\DBAL\Types\Types::SMALLINT, nullable: false, options: ['default' => 1])]
 | 
			
		||||
    /**
 | 
			
		||||
     * @ORM\Column(type="smallint", nullable=false, options={"default": 1})
 | 
			
		||||
     */
 | 
			
		||||
    private int $socialIssuesVisible = self::FIELD_INVISIBLE;
 | 
			
		||||
 | 
			
		||||
    #[ORM\Column(type: \Doctrine\DBAL\Types\Types::STRING, nullable: false, options: ['default' => ''])]
 | 
			
		||||
    /**
 | 
			
		||||
     * @ORM\Column(type="string", nullable=false, options={"default": ""})
 | 
			
		||||
     */
 | 
			
		||||
    private string $thirdPartiesLabel = '';
 | 
			
		||||
 | 
			
		||||
    #[Groups(['read'])]
 | 
			
		||||
    #[ORM\Column(type: \Doctrine\DBAL\Types\Types::SMALLINT, nullable: false, options: ['default' => 1])]
 | 
			
		||||
    /**
 | 
			
		||||
     * @ORM\Column(type="smallint", nullable=false, options={"default": 1})
 | 
			
		||||
     *
 | 
			
		||||
     * @Groups({"read"})
 | 
			
		||||
     */
 | 
			
		||||
    private int $thirdPartiesVisible = self::FIELD_INVISIBLE;
 | 
			
		||||
 | 
			
		||||
    #[ORM\Column(type: \Doctrine\DBAL\Types\Types::STRING, nullable: false, options: ['default' => ''])]
 | 
			
		||||
    /**
 | 
			
		||||
     * @ORM\Column(type="string", nullable=false, options={"default": ""})
 | 
			
		||||
     */
 | 
			
		||||
    private string $travelTimeLabel = '';
 | 
			
		||||
 | 
			
		||||
    #[ORM\Column(type: \Doctrine\DBAL\Types\Types::SMALLINT, nullable: false, options: ['default' => 1])]
 | 
			
		||||
    /**
 | 
			
		||||
     * @ORM\Column(type="smallint", nullable=false, options={"default": 1})
 | 
			
		||||
     */
 | 
			
		||||
    private int $travelTimeVisible = self::FIELD_OPTIONAL;
 | 
			
		||||
 | 
			
		||||
    #[ORM\Column(type: \Doctrine\DBAL\Types\Types::STRING, nullable: false, options: ['default' => ''])]
 | 
			
		||||
    /**
 | 
			
		||||
     * @ORM\Column(type="string", nullable=false, options={"default": ""})
 | 
			
		||||
     */
 | 
			
		||||
    private string $userLabel = '';
 | 
			
		||||
 | 
			
		||||
    #[ORM\Column(type: \Doctrine\DBAL\Types\Types::STRING, nullable: false, options: ['default' => ''])]
 | 
			
		||||
    /**
 | 
			
		||||
     * @ORM\Column(type="string", nullable=false, options={"default": ""})
 | 
			
		||||
     */
 | 
			
		||||
    private string $usersLabel = '';
 | 
			
		||||
 | 
			
		||||
    #[Groups(['read'])]
 | 
			
		||||
    #[ORM\Column(type: \Doctrine\DBAL\Types\Types::SMALLINT, nullable: false, options: ['default' => 1])]
 | 
			
		||||
    /**
 | 
			
		||||
     * @ORM\Column(type="smallint", nullable=false, options={"default": 1})
 | 
			
		||||
     *
 | 
			
		||||
     * @Groups({"read"})
 | 
			
		||||
     */
 | 
			
		||||
    private int $usersVisible = self::FIELD_OPTIONAL;
 | 
			
		||||
 | 
			
		||||
    #[ORM\Column(type: \Doctrine\DBAL\Types\Types::SMALLINT, nullable: false, options: ['default' => 2])]
 | 
			
		||||
    /**
 | 
			
		||||
     * @ORM\Column(type="smallint", nullable=false, options={"default": 2})
 | 
			
		||||
     */
 | 
			
		||||
    private int $userVisible = self::FIELD_REQUIRED;
 | 
			
		||||
 | 
			
		||||
    #[Assert\Callback]
 | 
			
		||||
    /**
 | 
			
		||||
     * @Assert\Callback
 | 
			
		||||
     */
 | 
			
		||||
    public function checkSocialActionsVisibility(ExecutionContextInterface $context, mixed $payload)
 | 
			
		||||
    {
 | 
			
		||||
        if ($this->socialIssuesVisible !== $this->socialActionsVisible) {
 | 
			
		||||
 
 | 
			
		||||
@@ -13,23 +13,37 @@ namespace Chill\ActivityBundle\Entity;
 | 
			
		||||
 | 
			
		||||
use Doctrine\ORM\Mapping as ORM;
 | 
			
		||||
 | 
			
		||||
#[ORM\Entity]
 | 
			
		||||
#[ORM\HasLifecycleCallbacks]
 | 
			
		||||
#[ORM\Table(name: 'activitytypecategory')]
 | 
			
		||||
/**
 | 
			
		||||
 * @ORM\Entity
 | 
			
		||||
 *
 | 
			
		||||
 * @ORM\Table(name="activitytypecategory")
 | 
			
		||||
 *
 | 
			
		||||
 * @ORM\HasLifecycleCallbacks
 | 
			
		||||
 */
 | 
			
		||||
class ActivityTypeCategory
 | 
			
		||||
{
 | 
			
		||||
    #[ORM\Column(type: \Doctrine\DBAL\Types\Types::BOOLEAN)]
 | 
			
		||||
    /**
 | 
			
		||||
     * @ORM\Column(type="boolean")
 | 
			
		||||
     */
 | 
			
		||||
    private bool $active = true;
 | 
			
		||||
 | 
			
		||||
    #[ORM\Id]
 | 
			
		||||
    #[ORM\Column(name: 'id', type: \Doctrine\DBAL\Types\Types::INTEGER)]
 | 
			
		||||
    #[ORM\GeneratedValue(strategy: 'AUTO')]
 | 
			
		||||
    /**
 | 
			
		||||
     * @ORM\Id
 | 
			
		||||
     *
 | 
			
		||||
     * @ORM\Column(name="id", type="integer")
 | 
			
		||||
     *
 | 
			
		||||
     * @ORM\GeneratedValue(strategy="AUTO")
 | 
			
		||||
     */
 | 
			
		||||
    private ?int $id = null;
 | 
			
		||||
 | 
			
		||||
    #[ORM\Column(type: \Doctrine\DBAL\Types\Types::JSON)]
 | 
			
		||||
    /**
 | 
			
		||||
     * @ORM\Column(type="json")
 | 
			
		||||
     */
 | 
			
		||||
    private array $name = [];
 | 
			
		||||
 | 
			
		||||
    #[ORM\Column(type: \Doctrine\DBAL\Types\Types::FLOAT, options: ['default' => '0.0'])]
 | 
			
		||||
    /**
 | 
			
		||||
     * @ORM\Column(type="float", options={"default": "0.0"})
 | 
			
		||||
     */
 | 
			
		||||
    private float $ordering = 0.0;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
 
 | 
			
		||||
@@ -19,7 +19,9 @@ use Doctrine\ORM\EntityManagerInterface;
 | 
			
		||||
 | 
			
		||||
class ActivityEntityListener
 | 
			
		||||
{
 | 
			
		||||
    public function __construct(private readonly EntityManagerInterface $em, private readonly AccompanyingPeriodWorkRepository $workRepository) {}
 | 
			
		||||
    public function __construct(private readonly EntityManagerInterface $em, private readonly AccompanyingPeriodWorkRepository $workRepository)
 | 
			
		||||
    {
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public function persistActionToCourse(Activity $activity)
 | 
			
		||||
    {
 | 
			
		||||
 
 | 
			
		||||
@@ -31,7 +31,8 @@ final readonly class ByActivityTypeAggregator implements AggregatorInterface
 | 
			
		||||
        private RollingDateConverterInterface $rollingDateConverter,
 | 
			
		||||
        private ActivityTypeRepositoryInterface $activityTypeRepository,
 | 
			
		||||
        private TranslatableStringHelperInterface $translatableStringHelper,
 | 
			
		||||
    ) {}
 | 
			
		||||
    ) {
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public function buildForm(FormBuilderInterface $builder)
 | 
			
		||||
    {
 | 
			
		||||
 
 | 
			
		||||
@@ -20,7 +20,9 @@ use Symfony\Component\Form\FormBuilderInterface;
 | 
			
		||||
 | 
			
		||||
class BySocialActionAggregator implements AggregatorInterface
 | 
			
		||||
{
 | 
			
		||||
    public function __construct(private readonly SocialActionRender $actionRender, private readonly SocialActionRepository $actionRepository) {}
 | 
			
		||||
    public function __construct(private readonly SocialActionRender $actionRender, private readonly SocialActionRepository $actionRepository)
 | 
			
		||||
    {
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public function addRole(): ?string
 | 
			
		||||
    {
 | 
			
		||||
 
 | 
			
		||||
@@ -20,7 +20,9 @@ use Symfony\Component\Form\FormBuilderInterface;
 | 
			
		||||
 | 
			
		||||
class BySocialIssueAggregator implements AggregatorInterface
 | 
			
		||||
{
 | 
			
		||||
    public function __construct(private readonly SocialIssueRepository $issueRepository, private readonly SocialIssueRender $issueRender) {}
 | 
			
		||||
    public function __construct(private readonly SocialIssueRepository $issueRepository, private readonly SocialIssueRender $issueRender)
 | 
			
		||||
    {
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public function addRole(): ?string
 | 
			
		||||
    {
 | 
			
		||||
 
 | 
			
		||||
@@ -20,9 +20,13 @@ use Symfony\Component\Form\FormBuilderInterface;
 | 
			
		||||
 | 
			
		||||
final readonly class ActivityPresenceAggregator implements AggregatorInterface
 | 
			
		||||
{
 | 
			
		||||
    public function __construct(private ActivityPresenceRepositoryInterface $activityPresenceRepository, private TranslatableStringHelperInterface $translatableStringHelper) {}
 | 
			
		||||
    public function __construct(private ActivityPresenceRepositoryInterface $activityPresenceRepository, private TranslatableStringHelperInterface $translatableStringHelper)
 | 
			
		||||
    {
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public function buildForm(FormBuilderInterface $builder) {}
 | 
			
		||||
    public function buildForm(FormBuilderInterface $builder)
 | 
			
		||||
    {
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public function getFormDefaultData(): array
 | 
			
		||||
    {
 | 
			
		||||
 
 | 
			
		||||
@@ -29,7 +29,8 @@ class ActivityReasonAggregator implements AggregatorInterface, ExportElementVali
 | 
			
		||||
        protected ActivityReasonCategoryRepository $activityReasonCategoryRepository,
 | 
			
		||||
        protected ActivityReasonRepository $activityReasonRepository,
 | 
			
		||||
        protected TranslatableStringHelper $translatableStringHelper
 | 
			
		||||
    ) {}
 | 
			
		||||
    ) {
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public function addRole(): ?string
 | 
			
		||||
    {
 | 
			
		||||
 
 | 
			
		||||
@@ -22,7 +22,9 @@ class ActivityTypeAggregator implements AggregatorInterface
 | 
			
		||||
{
 | 
			
		||||
    final public const KEY = 'activity_type_aggregator';
 | 
			
		||||
 | 
			
		||||
    public function __construct(protected ActivityTypeRepositoryInterface $activityTypeRepository, protected TranslatableStringHelperInterface $translatableStringHelper) {}
 | 
			
		||||
    public function __construct(protected ActivityTypeRepositoryInterface $activityTypeRepository, protected TranslatableStringHelperInterface $translatableStringHelper)
 | 
			
		||||
    {
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public function addRole(): ?string
 | 
			
		||||
    {
 | 
			
		||||
 
 | 
			
		||||
@@ -22,7 +22,9 @@ class ActivityUserAggregator implements AggregatorInterface
 | 
			
		||||
{
 | 
			
		||||
    final public const KEY = 'activity_user_id';
 | 
			
		||||
 | 
			
		||||
    public function __construct(private readonly UserRepository $userRepository, private readonly UserRender $userRender) {}
 | 
			
		||||
    public function __construct(private readonly UserRepository $userRepository, private readonly UserRender $userRender)
 | 
			
		||||
    {
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public function addRole(): ?string
 | 
			
		||||
    {
 | 
			
		||||
 
 | 
			
		||||
@@ -20,7 +20,9 @@ use Symfony\Component\Form\FormBuilderInterface;
 | 
			
		||||
 | 
			
		||||
class ActivityUsersAggregator implements AggregatorInterface
 | 
			
		||||
{
 | 
			
		||||
    public function __construct(private readonly UserRepositoryInterface $userRepository, private readonly UserRender $userRender) {}
 | 
			
		||||
    public function __construct(private readonly UserRepositoryInterface $userRepository, private readonly UserRender $userRender)
 | 
			
		||||
    {
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public function addRole(): ?string
 | 
			
		||||
    {
 | 
			
		||||
 
 | 
			
		||||
@@ -27,7 +27,8 @@ class ActivityUsersJobAggregator implements AggregatorInterface
 | 
			
		||||
    public function __construct(
 | 
			
		||||
        private readonly UserJobRepositoryInterface $userJobRepository,
 | 
			
		||||
        private readonly TranslatableStringHelperInterface $translatableStringHelper
 | 
			
		||||
    ) {}
 | 
			
		||||
    ) {
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public function addRole(): ?string
 | 
			
		||||
    {
 | 
			
		||||
@@ -65,7 +66,9 @@ class ActivityUsersJobAggregator implements AggregatorInterface
 | 
			
		||||
        return Declarations::ACTIVITY;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public function buildForm(FormBuilderInterface $builder) {}
 | 
			
		||||
    public function buildForm(FormBuilderInterface $builder)
 | 
			
		||||
    {
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public function getFormDefaultData(): array
 | 
			
		||||
    {
 | 
			
		||||
 
 | 
			
		||||
@@ -27,7 +27,8 @@ class ActivityUsersScopeAggregator implements AggregatorInterface
 | 
			
		||||
    public function __construct(
 | 
			
		||||
        private readonly ScopeRepositoryInterface $scopeRepository,
 | 
			
		||||
        private readonly TranslatableStringHelperInterface $translatableStringHelper
 | 
			
		||||
    ) {}
 | 
			
		||||
    ) {
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public function addRole(): ?string
 | 
			
		||||
    {
 | 
			
		||||
@@ -65,7 +66,9 @@ class ActivityUsersScopeAggregator implements AggregatorInterface
 | 
			
		||||
        return Declarations::ACTIVITY;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public function buildForm(FormBuilderInterface $builder) {}
 | 
			
		||||
    public function buildForm(FormBuilderInterface $builder)
 | 
			
		||||
    {
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public function getFormDefaultData(): array
 | 
			
		||||
    {
 | 
			
		||||
 
 | 
			
		||||
@@ -20,7 +20,9 @@ use Symfony\Component\Form\FormBuilderInterface;
 | 
			
		||||
 | 
			
		||||
class ByCreatorAggregator implements AggregatorInterface
 | 
			
		||||
{
 | 
			
		||||
    public function __construct(private readonly UserRepositoryInterface $userRepository, private readonly UserRender $userRender) {}
 | 
			
		||||
    public function __construct(private readonly UserRepositoryInterface $userRepository, private readonly UserRender $userRender)
 | 
			
		||||
    {
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public function addRole(): ?string
 | 
			
		||||
    {
 | 
			
		||||
 
 | 
			
		||||
@@ -20,7 +20,9 @@ use Symfony\Component\Form\FormBuilderInterface;
 | 
			
		||||
 | 
			
		||||
class ByThirdpartyAggregator implements AggregatorInterface
 | 
			
		||||
{
 | 
			
		||||
    public function __construct(private readonly ThirdPartyRepository $thirdPartyRepository, private readonly ThirdPartyRender $thirdPartyRender) {}
 | 
			
		||||
    public function __construct(private readonly ThirdPartyRepository $thirdPartyRepository, private readonly ThirdPartyRender $thirdPartyRender)
 | 
			
		||||
    {
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public function addRole(): ?string
 | 
			
		||||
    {
 | 
			
		||||
 
 | 
			
		||||
@@ -27,7 +27,8 @@ class CreatorJobAggregator implements AggregatorInterface
 | 
			
		||||
    public function __construct(
 | 
			
		||||
        private readonly UserJobRepositoryInterface $userJobRepository,
 | 
			
		||||
        private readonly TranslatableStringHelper $translatableStringHelper
 | 
			
		||||
    ) {}
 | 
			
		||||
    ) {
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public function addRole(): ?string
 | 
			
		||||
    {
 | 
			
		||||
@@ -65,7 +66,9 @@ class CreatorJobAggregator implements AggregatorInterface
 | 
			
		||||
        return Declarations::ACTIVITY;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public function buildForm(FormBuilderInterface $builder) {}
 | 
			
		||||
    public function buildForm(FormBuilderInterface $builder)
 | 
			
		||||
    {
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public function getFormDefaultData(): array
 | 
			
		||||
    {
 | 
			
		||||
 
 | 
			
		||||
@@ -27,7 +27,8 @@ class CreatorScopeAggregator implements AggregatorInterface
 | 
			
		||||
    public function __construct(
 | 
			
		||||
        private readonly ScopeRepository $scopeRepository,
 | 
			
		||||
        private readonly TranslatableStringHelper $translatableStringHelper
 | 
			
		||||
    ) {}
 | 
			
		||||
    ) {
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public function addRole(): ?string
 | 
			
		||||
    {
 | 
			
		||||
@@ -65,7 +66,9 @@ class CreatorScopeAggregator implements AggregatorInterface
 | 
			
		||||
        return Declarations::ACTIVITY;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public function buildForm(FormBuilderInterface $builder) {}
 | 
			
		||||
    public function buildForm(FormBuilderInterface $builder)
 | 
			
		||||
    {
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public function getFormDefaultData(): array
 | 
			
		||||
    {
 | 
			
		||||
 
 | 
			
		||||
@@ -20,7 +20,9 @@ use Symfony\Component\Form\FormBuilderInterface;
 | 
			
		||||
 | 
			
		||||
class LocationTypeAggregator implements AggregatorInterface
 | 
			
		||||
{
 | 
			
		||||
    public function __construct(private readonly LocationTypeRepository $locationTypeRepository, private readonly TranslatableStringHelper $translatableStringHelper) {}
 | 
			
		||||
    public function __construct(private readonly LocationTypeRepository $locationTypeRepository, private readonly TranslatableStringHelper $translatableStringHelper)
 | 
			
		||||
    {
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public function addRole(): ?string
 | 
			
		||||
    {
 | 
			
		||||
 
 | 
			
		||||
@@ -19,7 +19,9 @@ use Symfony\Component\Form\FormBuilderInterface;
 | 
			
		||||
 | 
			
		||||
final readonly class PersonAggregator implements AggregatorInterface
 | 
			
		||||
{
 | 
			
		||||
    public function __construct(private LabelPersonHelper $labelPersonHelper) {}
 | 
			
		||||
    public function __construct(private LabelPersonHelper $labelPersonHelper)
 | 
			
		||||
    {
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public function buildForm(FormBuilderInterface $builder)
 | 
			
		||||
    {
 | 
			
		||||
 
 | 
			
		||||
@@ -25,7 +25,9 @@ final readonly class PersonsAggregator implements AggregatorInterface
 | 
			
		||||
{
 | 
			
		||||
    private const PREFIX = 'act_persons_agg';
 | 
			
		||||
 | 
			
		||||
    public function __construct(private LabelPersonHelper $labelPersonHelper) {}
 | 
			
		||||
    public function __construct(private LabelPersonHelper $labelPersonHelper)
 | 
			
		||||
    {
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public function buildForm(FormBuilderInterface $builder)
 | 
			
		||||
    {
 | 
			
		||||
 
 | 
			
		||||
@@ -19,7 +19,9 @@ use Symfony\Contracts\Translation\TranslatorInterface;
 | 
			
		||||
 | 
			
		||||
class SentReceivedAggregator implements AggregatorInterface
 | 
			
		||||
{
 | 
			
		||||
    public function __construct(private readonly TranslatorInterface $translator) {}
 | 
			
		||||
    public function __construct(private readonly TranslatorInterface $translator)
 | 
			
		||||
    {
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public function addRole(): ?string
 | 
			
		||||
    {
 | 
			
		||||
 
 | 
			
		||||
@@ -36,7 +36,9 @@ class AvgActivityDuration implements ExportInterface, GroupedExportInterface
 | 
			
		||||
        $this->filterStatsByCenters = $parameterBag->get('chill_main')['acl']['filter_stats_by_center'];
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public function buildForm(FormBuilderInterface $builder) {}
 | 
			
		||||
    public function buildForm(FormBuilderInterface $builder)
 | 
			
		||||
    {
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public function getFormDefaultData(): array
 | 
			
		||||
    {
 | 
			
		||||
 
 | 
			
		||||
@@ -41,7 +41,9 @@ class CountActivity implements ExportInterface, GroupedExportInterface
 | 
			
		||||
        $this->filterStatsByCenters = $parameterBag->get('chill_main')['acl']['filter_stats_by_center'];
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public function buildForm(FormBuilderInterface $builder) {}
 | 
			
		||||
    public function buildForm(FormBuilderInterface $builder)
 | 
			
		||||
    {
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public function getFormDefaultData(): array
 | 
			
		||||
    {
 | 
			
		||||
 
 | 
			
		||||
@@ -42,7 +42,9 @@ final readonly class CountHouseholdOnActivity implements ExportInterface, Groupe
 | 
			
		||||
        $this->filterStatsByCenters = $parameterBag->get('chill_main')['acl']['filter_stats_by_center'];
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public function buildForm(FormBuilderInterface $builder) {}
 | 
			
		||||
    public function buildForm(FormBuilderInterface $builder)
 | 
			
		||||
    {
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public function getFormDefaultData(): array
 | 
			
		||||
    {
 | 
			
		||||
 
 | 
			
		||||
@@ -41,7 +41,9 @@ class CountPersonsOnActivity implements ExportInterface, GroupedExportInterface
 | 
			
		||||
        $this->filterStatsByCenters = $parameterBag->get('chill_main')['acl']['filter_stats_by_center'];
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public function buildForm(FormBuilderInterface $builder) {}
 | 
			
		||||
    public function buildForm(FormBuilderInterface $builder)
 | 
			
		||||
    {
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public function getFormDefaultData(): array
 | 
			
		||||
    {
 | 
			
		||||
 
 | 
			
		||||
@@ -31,7 +31,8 @@ final readonly class ListActivity implements ListInterface, GroupedExportInterfa
 | 
			
		||||
        private EntityManagerInterface $entityManager,
 | 
			
		||||
        private TranslatableStringExportLabelHelper $translatableStringExportLabelHelper,
 | 
			
		||||
        private FilterListAccompanyingPeriodHelperInterface $filterListAccompanyingPeriodHelper,
 | 
			
		||||
    ) {}
 | 
			
		||||
    ) {
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public function buildForm(FormBuilderInterface $builder)
 | 
			
		||||
    {
 | 
			
		||||
 
 | 
			
		||||
@@ -33,7 +33,9 @@ class CountActivity implements ExportInterface, GroupedExportInterface
 | 
			
		||||
        $this->filterStatsByCenters = $parameterBag->get('chill_main')['acl']['filter_stats_by_center'];
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public function buildForm(FormBuilderInterface $builder) {}
 | 
			
		||||
    public function buildForm(FormBuilderInterface $builder)
 | 
			
		||||
    {
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public function getFormDefaultData(): array
 | 
			
		||||
    {
 | 
			
		||||
 
 | 
			
		||||
@@ -34,7 +34,9 @@ final readonly class CountHouseholdOnActivity implements ExportInterface, Groupe
 | 
			
		||||
        $this->filterStatsByCenters = $parameterBag->get('chill_main')['acl']['filter_stats_by_center'];
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public function buildForm(FormBuilderInterface $builder) {}
 | 
			
		||||
    public function buildForm(FormBuilderInterface $builder)
 | 
			
		||||
    {
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public function getFormDefaultData(): array
 | 
			
		||||
    {
 | 
			
		||||
 
 | 
			
		||||
@@ -47,7 +47,9 @@ class StatActivityDuration implements ExportInterface, GroupedExportInterface
 | 
			
		||||
        $this->filterStatsByCenters = $parameterBag->get('chill_main')['acl']['filter_stats_by_center'];
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public function buildForm(FormBuilderInterface $builder) {}
 | 
			
		||||
    public function buildForm(FormBuilderInterface $builder)
 | 
			
		||||
    {
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public function getFormDefaultData(): array
 | 
			
		||||
    {
 | 
			
		||||
 
 | 
			
		||||
@@ -40,7 +40,8 @@ class ListActivityHelper
 | 
			
		||||
        private readonly TranslatableStringHelperInterface $translatableStringHelper,
 | 
			
		||||
        private readonly TranslatableStringExportLabelHelper $translatableStringLabelHelper,
 | 
			
		||||
        private readonly UserHelper $userHelper
 | 
			
		||||
    ) {}
 | 
			
		||||
    ) {
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public function addSelect(QueryBuilder $qb): void
 | 
			
		||||
    {
 | 
			
		||||
@@ -74,7 +75,9 @@ class ListActivityHelper
 | 
			
		||||
            ->addGroupBy('location.id');
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public function buildForm(FormBuilderInterface $builder) {}
 | 
			
		||||
    public function buildForm(FormBuilderInterface $builder)
 | 
			
		||||
    {
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public function getAllowedFormattersTypes()
 | 
			
		||||
    {
 | 
			
		||||
 
 | 
			
		||||
@@ -31,7 +31,8 @@ final readonly class ActivityTypeFilter implements FilterInterface
 | 
			
		||||
        private ActivityTypeRepositoryInterface $activityTypeRepository,
 | 
			
		||||
        private TranslatableStringHelperInterface $translatableStringHelper,
 | 
			
		||||
        private RollingDateConverterInterface $rollingDateConverter,
 | 
			
		||||
    ) {}
 | 
			
		||||
    ) {
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public function addRole(): ?string
 | 
			
		||||
    {
 | 
			
		||||
 
 | 
			
		||||
@@ -21,7 +21,9 @@ use Symfony\Component\Form\FormBuilderInterface;
 | 
			
		||||
 | 
			
		||||
class BySocialActionFilter implements FilterInterface
 | 
			
		||||
{
 | 
			
		||||
    public function __construct(private readonly SocialActionRender $actionRender) {}
 | 
			
		||||
    public function __construct(private readonly SocialActionRender $actionRender)
 | 
			
		||||
    {
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public function addRole(): ?string
 | 
			
		||||
    {
 | 
			
		||||
 
 | 
			
		||||
@@ -21,7 +21,9 @@ use Symfony\Component\Form\FormBuilderInterface;
 | 
			
		||||
 | 
			
		||||
class BySocialIssueFilter implements FilterInterface
 | 
			
		||||
{
 | 
			
		||||
    public function __construct(private readonly SocialIssueRender $issueRender) {}
 | 
			
		||||
    public function __construct(private readonly SocialIssueRender $issueRender)
 | 
			
		||||
    {
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public function addRole(): ?string
 | 
			
		||||
    {
 | 
			
		||||
 
 | 
			
		||||
@@ -23,7 +23,8 @@ final readonly class PeriodHavingActivityBetweenDatesFilter implements FilterInt
 | 
			
		||||
{
 | 
			
		||||
    public function __construct(
 | 
			
		||||
        private RollingDateConverterInterface $rollingDateConverter,
 | 
			
		||||
    ) {}
 | 
			
		||||
    ) {
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public function getTitle()
 | 
			
		||||
    {
 | 
			
		||||
 
 | 
			
		||||
@@ -23,7 +23,9 @@ use Symfony\Contracts\Translation\TranslatorInterface;
 | 
			
		||||
 | 
			
		||||
class ActivityDateFilter implements FilterInterface
 | 
			
		||||
{
 | 
			
		||||
    public function __construct(protected TranslatorInterface $translator, private readonly RollingDateConverterInterface $rollingDateConverter) {}
 | 
			
		||||
    public function __construct(protected TranslatorInterface $translator, private readonly RollingDateConverterInterface $rollingDateConverter)
 | 
			
		||||
    {
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public function addRole(): ?string
 | 
			
		||||
    {
 | 
			
		||||
 
 | 
			
		||||
@@ -26,7 +26,8 @@ final readonly class ActivityPresenceFilter implements FilterInterface
 | 
			
		||||
    public function __construct(
 | 
			
		||||
        private TranslatableStringHelperInterface $translatableStringHelper,
 | 
			
		||||
        private TranslatorInterface $translator
 | 
			
		||||
    ) {}
 | 
			
		||||
    ) {
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public function getTitle()
 | 
			
		||||
    {
 | 
			
		||||
 
 | 
			
		||||
@@ -27,7 +27,8 @@ class ActivityTypeFilter implements ExportElementValidatedInterface, FilterInter
 | 
			
		||||
    public function __construct(
 | 
			
		||||
        protected TranslatableStringHelperInterface $translatableStringHelper,
 | 
			
		||||
        protected ActivityTypeRepositoryInterface $activityTypeRepository
 | 
			
		||||
    ) {}
 | 
			
		||||
    ) {
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public function addRole(): ?string
 | 
			
		||||
    {
 | 
			
		||||
 
 | 
			
		||||
@@ -20,7 +20,9 @@ use Symfony\Component\Form\FormBuilderInterface;
 | 
			
		||||
 | 
			
		||||
class ActivityUsersFilter implements FilterInterface
 | 
			
		||||
{
 | 
			
		||||
    public function __construct(private readonly UserRender $userRender) {}
 | 
			
		||||
    public function __construct(private readonly UserRender $userRender)
 | 
			
		||||
    {
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public function addRole(): ?string
 | 
			
		||||
    {
 | 
			
		||||
 
 | 
			
		||||
@@ -20,7 +20,9 @@ use Symfony\Component\Form\FormBuilderInterface;
 | 
			
		||||
 | 
			
		||||
class ByCreatorFilter implements FilterInterface
 | 
			
		||||
{
 | 
			
		||||
    public function __construct(private readonly UserRender $userRender) {}
 | 
			
		||||
    public function __construct(private readonly UserRender $userRender)
 | 
			
		||||
    {
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public function addRole(): ?string
 | 
			
		||||
    {
 | 
			
		||||
 
 | 
			
		||||
@@ -32,7 +32,8 @@ final readonly class CreatorJobFilter implements FilterInterface
 | 
			
		||||
        private TranslatableStringHelper $translatableStringHelper,
 | 
			
		||||
        private TranslatorInterface $translator,
 | 
			
		||||
        private UserJobRepositoryInterface $userJobRepository,
 | 
			
		||||
    ) {}
 | 
			
		||||
    ) {
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public function addRole(): ?string
 | 
			
		||||
    {
 | 
			
		||||
@@ -79,7 +80,7 @@ final readonly class CreatorJobFilter implements FilterInterface
 | 
			
		||||
    {
 | 
			
		||||
        $builder
 | 
			
		||||
            ->add('jobs', EntityType::class, [
 | 
			
		||||
                'choices' => $this->userJobRepository->findAllActive(),
 | 
			
		||||
                'choices' => $this->userJobRepository->findAllOrderedByName(),
 | 
			
		||||
                'class' => UserJob::class,
 | 
			
		||||
                'choice_label' => fn (UserJob $s) => $this->translatableStringHelper->localize(
 | 
			
		||||
                    $s->getLabel()
 | 
			
		||||
 
 | 
			
		||||
@@ -15,7 +15,6 @@ use Chill\ActivityBundle\Export\Declarations;
 | 
			
		||||
use Chill\MainBundle\Entity\Scope;
 | 
			
		||||
use Chill\MainBundle\Entity\User\UserScopeHistory;
 | 
			
		||||
use Chill\MainBundle\Export\FilterInterface;
 | 
			
		||||
use Chill\MainBundle\Repository\ScopeRepositoryInterface;
 | 
			
		||||
use Chill\MainBundle\Templating\TranslatableStringHelper;
 | 
			
		||||
use Doctrine\ORM\Query\Expr\Join;
 | 
			
		||||
use Doctrine\ORM\QueryBuilder;
 | 
			
		||||
@@ -27,9 +26,9 @@ class CreatorScopeFilter implements FilterInterface
 | 
			
		||||
    private const PREFIX = 'acp_act_filter_creator_scope';
 | 
			
		||||
 | 
			
		||||
    public function __construct(
 | 
			
		||||
        private readonly TranslatableStringHelper $translatableStringHelper,
 | 
			
		||||
        private readonly ScopeRepositoryInterface $scopeRepository,
 | 
			
		||||
    ) {}
 | 
			
		||||
        private readonly TranslatableStringHelper $translatableStringHelper
 | 
			
		||||
    ) {
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public function addRole(): ?string
 | 
			
		||||
    {
 | 
			
		||||
@@ -77,7 +76,6 @@ class CreatorScopeFilter implements FilterInterface
 | 
			
		||||
        $builder
 | 
			
		||||
            ->add('scopes', EntityType::class, [
 | 
			
		||||
                'class' => Scope::class,
 | 
			
		||||
                'choices' => $this->scopeRepository->findAllActive(),
 | 
			
		||||
                'choice_label' => fn (Scope $s) => $this->translatableStringHelper->localize(
 | 
			
		||||
                    $s->getName()
 | 
			
		||||
                ),
 | 
			
		||||
 
 | 
			
		||||
@@ -28,7 +28,9 @@ class EmergencyFilter implements FilterInterface
 | 
			
		||||
 | 
			
		||||
    private const DEFAULT_CHOICE = 'false';
 | 
			
		||||
 | 
			
		||||
    public function __construct(private readonly TranslatorInterface $translator) {}
 | 
			
		||||
    public function __construct(private readonly TranslatorInterface $translator)
 | 
			
		||||
    {
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public function addRole(): ?string
 | 
			
		||||
    {
 | 
			
		||||
 
 | 
			
		||||
@@ -21,7 +21,9 @@ use Symfony\Component\Form\FormBuilderInterface;
 | 
			
		||||
 | 
			
		||||
class LocationTypeFilter implements FilterInterface
 | 
			
		||||
{
 | 
			
		||||
    public function __construct(private readonly TranslatableStringHelper $translatableStringHelper) {}
 | 
			
		||||
    public function __construct(private readonly TranslatableStringHelper $translatableStringHelper)
 | 
			
		||||
    {
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public function addRole(): ?string
 | 
			
		||||
    {
 | 
			
		||||
 
 | 
			
		||||
@@ -26,7 +26,9 @@ use Symfony\Component\Validator\Context\ExecutionContextInterface;
 | 
			
		||||
 | 
			
		||||
class ActivityReasonFilter implements ExportElementValidatedInterface, FilterInterface
 | 
			
		||||
{
 | 
			
		||||
    public function __construct(protected TranslatableStringHelper $translatableStringHelper, protected ActivityReasonRepository $activityReasonRepository) {}
 | 
			
		||||
    public function __construct(protected TranslatableStringHelper $translatableStringHelper, protected ActivityReasonRepository $activityReasonRepository)
 | 
			
		||||
    {
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public function addRole(): ?string
 | 
			
		||||
    {
 | 
			
		||||
 
 | 
			
		||||
@@ -32,7 +32,8 @@ final readonly class PersonHavingActivityBetweenDateFilter implements ExportElem
 | 
			
		||||
        private TranslatableStringHelper $translatableStringHelper,
 | 
			
		||||
        private ActivityReasonRepository $activityReasonRepository,
 | 
			
		||||
        private RollingDateConverterInterface $rollingDateConverter,
 | 
			
		||||
    ) {}
 | 
			
		||||
    ) {
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public function addRole(): ?string
 | 
			
		||||
    {
 | 
			
		||||
 
 | 
			
		||||
@@ -26,7 +26,9 @@ final readonly class PersonsFilter implements FilterInterface
 | 
			
		||||
{
 | 
			
		||||
    private const PREFIX = 'act_persons_filter';
 | 
			
		||||
 | 
			
		||||
    public function __construct(private PersonRenderInterface $personRender) {}
 | 
			
		||||
    public function __construct(private PersonRenderInterface $personRender)
 | 
			
		||||
    {
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public function addRole(): ?string
 | 
			
		||||
    {
 | 
			
		||||
 
 | 
			
		||||
@@ -29,7 +29,9 @@ class SentReceivedFilter implements FilterInterface
 | 
			
		||||
 | 
			
		||||
    private const DEFAULT_CHOICE = Activity::SENTRECEIVED_SENT;
 | 
			
		||||
 | 
			
		||||
    public function __construct(private readonly TranslatorInterface $translator) {}
 | 
			
		||||
    public function __construct(private readonly TranslatorInterface $translator)
 | 
			
		||||
    {
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public function addRole(): ?string
 | 
			
		||||
    {
 | 
			
		||||
 
 | 
			
		||||
@@ -21,7 +21,9 @@ use Symfony\Component\Form\FormBuilderInterface;
 | 
			
		||||
 | 
			
		||||
class UserFilter implements FilterInterface
 | 
			
		||||
{
 | 
			
		||||
    public function __construct(private readonly UserRender $userRender) {}
 | 
			
		||||
    public function __construct(private readonly UserRender $userRender)
 | 
			
		||||
    {
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public function addRole(): ?string
 | 
			
		||||
    {
 | 
			
		||||
 
 | 
			
		||||
@@ -16,7 +16,6 @@ use Chill\ActivityBundle\Export\Declarations;
 | 
			
		||||
use Chill\MainBundle\Entity\User\UserJobHistory;
 | 
			
		||||
use Chill\MainBundle\Entity\UserJob;
 | 
			
		||||
use Chill\MainBundle\Export\FilterInterface;
 | 
			
		||||
use Chill\MainBundle\Repository\UserJobRepositoryInterface;
 | 
			
		||||
use Chill\MainBundle\Templating\TranslatableStringHelperInterface;
 | 
			
		||||
use Doctrine\Common\Collections\Collection;
 | 
			
		||||
use Doctrine\ORM\QueryBuilder;
 | 
			
		||||
@@ -28,9 +27,9 @@ class UsersJobFilter implements FilterInterface
 | 
			
		||||
    private const PREFIX = 'act_filter_user_job';
 | 
			
		||||
 | 
			
		||||
    public function __construct(
 | 
			
		||||
        private readonly TranslatableStringHelperInterface $translatableStringHelper,
 | 
			
		||||
        private readonly UserJobRepositoryInterface $userJobRepository
 | 
			
		||||
    ) {}
 | 
			
		||||
        private readonly TranslatableStringHelperInterface $translatableStringHelper
 | 
			
		||||
    ) {
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public function addRole(): ?string
 | 
			
		||||
    {
 | 
			
		||||
@@ -70,7 +69,6 @@ class UsersJobFilter implements FilterInterface
 | 
			
		||||
        $builder
 | 
			
		||||
            ->add('jobs', EntityType::class, [
 | 
			
		||||
                'class' => UserJob::class,
 | 
			
		||||
                'choices' => $this->userJobRepository->findAllActive(),
 | 
			
		||||
                'choice_label' => fn (UserJob $j) => $this->translatableStringHelper->localize($j->getLabel()),
 | 
			
		||||
                'multiple' => true,
 | 
			
		||||
                'expanded' => true,
 | 
			
		||||
 
 | 
			
		||||
@@ -30,7 +30,8 @@ class UsersScopeFilter implements FilterInterface
 | 
			
		||||
    public function __construct(
 | 
			
		||||
        private readonly ScopeRepositoryInterface $scopeRepository,
 | 
			
		||||
        private readonly TranslatableStringHelperInterface $translatableStringHelper
 | 
			
		||||
    ) {}
 | 
			
		||||
    ) {
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public function addRole(): ?string
 | 
			
		||||
    {
 | 
			
		||||
 
 | 
			
		||||
@@ -95,7 +95,7 @@ class ActivityType extends AbstractType
 | 
			
		||||
            ]);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        /** @var AccompanyingPeriod|null $accompanyingPeriod */
 | 
			
		||||
        /** @var \Chill\PersonBundle\Entity\AccompanyingPeriod|null $accompanyingPeriod */
 | 
			
		||||
        $accompanyingPeriod = null;
 | 
			
		||||
 | 
			
		||||
        if ($options['accompanyingPeriod'] instanceof AccompanyingPeriod) {
 | 
			
		||||
 
 | 
			
		||||
@@ -25,7 +25,9 @@ use Symfony\Component\OptionsResolver\OptionsResolver;
 | 
			
		||||
 | 
			
		||||
class ActivityTypeType extends AbstractType
 | 
			
		||||
{
 | 
			
		||||
    public function __construct(private readonly TranslatableStringHelper $translatableStringHelper) {}
 | 
			
		||||
    public function __construct(private readonly TranslatableStringHelper $translatableStringHelper)
 | 
			
		||||
    {
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public function buildForm(FormBuilderInterface $builder, array $options)
 | 
			
		||||
    {
 | 
			
		||||
 
 | 
			
		||||
@@ -28,7 +28,8 @@ class PickActivityReasonType extends AbstractType
 | 
			
		||||
        private readonly ActivityReasonRepository $activityReasonRepository,
 | 
			
		||||
        private readonly ActivityReasonRender $reasonRender,
 | 
			
		||||
        private readonly TranslatableStringHelperInterface $translatableStringHelper
 | 
			
		||||
    ) {}
 | 
			
		||||
    ) {
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public function configureOptions(OptionsResolver $resolver)
 | 
			
		||||
    {
 | 
			
		||||
 
 | 
			
		||||
@@ -23,7 +23,9 @@ use Symfony\Contracts\Translation\TranslatorInterface;
 | 
			
		||||
 */
 | 
			
		||||
class TranslatableActivityReasonCategoryType extends AbstractType
 | 
			
		||||
{
 | 
			
		||||
    public function __construct(private readonly TranslatableStringHelperInterface $translatableStringHelper, private readonly TranslatorInterface $translator) {}
 | 
			
		||||
    public function __construct(private readonly TranslatableStringHelperInterface $translatableStringHelper, private readonly TranslatorInterface $translator)
 | 
			
		||||
    {
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public function configureOptions(OptionsResolver $resolver)
 | 
			
		||||
    {
 | 
			
		||||
 
 | 
			
		||||
@@ -20,7 +20,9 @@ use Symfony\Component\OptionsResolver\OptionsResolver;
 | 
			
		||||
 | 
			
		||||
class TranslatableActivityType extends AbstractType
 | 
			
		||||
{
 | 
			
		||||
    public function __construct(protected TranslatableStringHelperInterface $translatableStringHelper, protected ActivityTypeRepositoryInterface $activityTypeRepository) {}
 | 
			
		||||
    public function __construct(protected TranslatableStringHelperInterface $translatableStringHelper, protected ActivityTypeRepositoryInterface $activityTypeRepository)
 | 
			
		||||
    {
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public function configureOptions(OptionsResolver $resolver)
 | 
			
		||||
    {
 | 
			
		||||
 
 | 
			
		||||
@@ -23,7 +23,9 @@ use Symfony\Contracts\Translation\TranslatorInterface;
 | 
			
		||||
 */
 | 
			
		||||
class AccompanyingCourseMenuBuilder implements LocalMenuBuilderInterface
 | 
			
		||||
{
 | 
			
		||||
    public function __construct(protected Security $security, protected TranslatorInterface $translator) {}
 | 
			
		||||
    public function __construct(protected Security $security, protected TranslatorInterface $translator)
 | 
			
		||||
    {
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public function buildMenu($menuId, MenuItem $menu, array $parameters)
 | 
			
		||||
    {
 | 
			
		||||
 
 | 
			
		||||
@@ -20,7 +20,9 @@ use Symfony\Component\Security\Core\Security;
 | 
			
		||||
 */
 | 
			
		||||
final readonly class AdminMenuBuilder implements LocalMenuBuilderInterface
 | 
			
		||||
{
 | 
			
		||||
    public function __construct(private Security $security) {}
 | 
			
		||||
    public function __construct(private Security $security)
 | 
			
		||||
    {
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public function buildMenu($menuId, MenuItem $menu, array $parameters)
 | 
			
		||||
    {
 | 
			
		||||
 
 | 
			
		||||
@@ -23,7 +23,9 @@ use Symfony\Contracts\Translation\TranslatorInterface;
 | 
			
		||||
 */
 | 
			
		||||
final readonly class PersonMenuBuilder implements LocalMenuBuilderInterface
 | 
			
		||||
{
 | 
			
		||||
    public function __construct(private AuthorizationCheckerInterface $authorizationChecker, private TranslatorInterface $translator) {}
 | 
			
		||||
    public function __construct(private AuthorizationCheckerInterface $authorizationChecker, private TranslatorInterface $translator)
 | 
			
		||||
    {
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public function buildMenu($menuId, MenuItem $menu, array $parameters)
 | 
			
		||||
    {
 | 
			
		||||
 
 | 
			
		||||
@@ -18,7 +18,9 @@ use Chill\MainBundle\Notification\NotificationHandlerInterface;
 | 
			
		||||
 | 
			
		||||
final readonly class ActivityNotificationHandler implements NotificationHandlerInterface
 | 
			
		||||
{
 | 
			
		||||
    public function __construct(private ActivityRepository $activityRepository) {}
 | 
			
		||||
    public function __construct(private ActivityRepository $activityRepository)
 | 
			
		||||
    {
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public function getTemplate(Notification $notification, array $options = []): string
 | 
			
		||||
    {
 | 
			
		||||
 
 | 
			
		||||
@@ -44,7 +44,8 @@ final readonly class ActivityACLAwareRepository implements ActivityACLAwareRepos
 | 
			
		||||
        private EntityManagerInterface $em,
 | 
			
		||||
        private Security $security,
 | 
			
		||||
        private RequestStack $requestStack,
 | 
			
		||||
    ) {}
 | 
			
		||||
    ) {
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * @throws NonUniqueResultException
 | 
			
		||||
@@ -242,8 +243,7 @@ final readonly class ActivityACLAwareRepository implements ActivityACLAwareRepos
 | 
			
		||||
            thirdparties.thirdpartyids,
 | 
			
		||||
            persons.personids,
 | 
			
		||||
            actions.socialactionids,
 | 
			
		||||
            issues.socialissueids,
 | 
			
		||||
            a.user_id
 | 
			
		||||
            issues.socialissueids
 | 
			
		||||
 | 
			
		||||
        FROM activity a
 | 
			
		||||
        LEFT JOIN chill_main_location location ON a.location_id = location.id
 | 
			
		||||
@@ -283,7 +283,6 @@ final readonly class ActivityACLAwareRepository implements ActivityACLAwareRepos
 | 
			
		||||
            ->addJoinedEntityResult(ActivityPresence::class, 'activityPresence', 'a', 'attendee')
 | 
			
		||||
            ->addFieldResult('activityPresence', 'presence_id', 'id')
 | 
			
		||||
            ->addFieldResult('activityPresence', 'presence_name', 'name')
 | 
			
		||||
            ->addScalarResult('user_id', 'userId', Types::INTEGER)
 | 
			
		||||
 | 
			
		||||
            // results which cannot be mapped into entity
 | 
			
		||||
            ->addScalarResult('comment_comment', 'comment', Types::TEXT)
 | 
			
		||||
 
 | 
			
		||||
@@ -33,7 +33,8 @@ final readonly class ActivityDocumentACLAwareRepository implements ActivityDocum
 | 
			
		||||
        private CenterResolverManagerInterface $centerResolverManager,
 | 
			
		||||
        private AuthorizationHelperForCurrentUserInterface $authorizationHelperForCurrentUser,
 | 
			
		||||
        private Security $security
 | 
			
		||||
    ) {}
 | 
			
		||||
    ) {
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public function buildFetchQueryActivityDocumentLinkedToPersonFromPersonContext(Person $person, ?\DateTimeImmutable $startDate = null, ?\DateTimeImmutable $endDate = null, ?string $content = null): FetchQueryInterface
 | 
			
		||||
    {
 | 
			
		||||
 
 | 
			
		||||
@@ -51,7 +51,8 @@ class ActivityContext implements
 | 
			
		||||
        private readonly BaseContextData $baseContextData,
 | 
			
		||||
        private readonly ThirdPartyRender $thirdPartyRender,
 | 
			
		||||
        private readonly ThirdPartyRepository $thirdPartyRepository
 | 
			
		||||
    ) {}
 | 
			
		||||
    ) {
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public function adminFormReverseTransform(array $data): array
 | 
			
		||||
    {
 | 
			
		||||
 
 | 
			
		||||
Some files were not shown because too many files have changed in this diff Show More
		Reference in New Issue
	
	Block a user