mirror of
				https://gitlab.com/Chill-Projet/chill-bundles.git
				synced 2025-10-31 01:08:26 +00:00 
			
		
		
		
	Compare commits
	
		
			362 Commits
		
	
	
		
			v3.10.2
			...
			migrate_to
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| f8571f22a6 | |||
| fabbb0c091 | |||
| 14d65fa931 | |||
| 7a790d43ec | |||
| 0d536cc8ce | |||
| 5634d72d6f | |||
| d74179f1e1 | |||
| 426d0dc193 | |||
| b132956ddc | |||
| 03fa79c93b | |||
| 373caeb3e3 | |||
| 1152be4d45 | |||
| ebd10ca522 | |||
| d3a31be412 | |||
| d159a82f88 | |||
| c2d9c73fd4 | |||
| 0d6d15fcf7 | |||
| f9ad96c78b | |||
| fcc9529a20 | |||
| 955cb817c4 | |||
| 823f9546b9 | |||
| be39fa16e7 | |||
| 34f15378c5 | |||
| 9a11e12669 | |||
| 7fceef03f7 | |||
| 3aa2666646 | |||
| 8fc19d5c28 | |||
| 4a08de09b8 | |||
| f2922018ce | |||
| 86422a5946 | |||
| aa0db40224 | |||
| 37b8297567 | |||
| 32d2bb002b | |||
| d8528dceab | |||
| 067a36d90e | |||
| c2294e08a5 | |||
| eac5a7f853 | |||
| f17ed7a4f8 | |||
| d4379cef6a | |||
| 119d870ac8 | |||
| c8bb7575e7 | |||
|  | 80a3734171 | ||
| ab98f3a102 | |||
| 7516e68d77 | |||
| 7b60b7a8af | |||
| d984dec7db | |||
| 46a4dedab8 | |||
| db98519e65 | |||
| 69b59d2ae2 | |||
| 90f86bf566 | |||
| c39637180a | |||
| 15f9409bc8 | |||
| 5b90d23367 | |||
| b363bd3425 | |||
| 6ceb1b9544 | |||
| 94b5c06d10 | |||
| 895e1be9ef | |||
| 94a0eb1a0a | |||
| cc8151546a | |||
| c48625d1cd | |||
| 1195b54a68 | |||
| 4bd9e2ba7d | |||
| 509b2c2590 | |||
| 3480495be1 | |||
| 4123aa6550 | |||
| 835d79a809 | |||
| 2a280b814f | |||
| ffeba3818b | |||
| f88718e263 | |||
| 2433737df0 | |||
| af7d635714 | |||
| 34213ac093 | |||
| 8d6f76a8b7 | |||
| 941acea4d9 | |||
| 230c758255 | |||
| eafda987ae | |||
| 7db8a371fc | |||
| 0d0649dd31 | |||
| ac12b8cdcf | |||
| 9c1611d052 | |||
| 90e3043c3d | |||
| af13bf9088 | |||
| 4aa65d69c7 | |||
| 9e33aec594 | |||
| f88bc7e9f0 | |||
| 8e78c41549 | |||
| 6e36771349 | |||
| 7a82cae155 | |||
| dfab223391 | |||
| 539752485c | |||
| d204df0316 | |||
|  | 82c02f442b | ||
| f32a9dc7bc | |||
| ea06a96f91 | |||
| 76433e2512 | |||
| 1fa464b87a | |||
| 77bccd5c4e | |||
| 5ffa945a84 | |||
| 3a85d940e9 | |||
| d2e7640652 | |||
| 979b2955f6 | |||
| da240f5ce5 | |||
| f91ab63b3a | |||
| 2ea8a03698 | |||
| 3b75f43e80 | |||
| a40eb95c43 | |||
| 8429c6e693 | |||
| 6db7f6827c | |||
| 3c60c57985 | |||
| 10aa36aae0 | |||
| eed9913a49 | |||
| 1a847d36a0 | |||
| d916962d9b | |||
| 1092fc64ae | |||
| 4e99b6ecbd | |||
| 60d107b541 | |||
| 4c3befe489 | |||
| e176319775 | |||
| 5d810b4230 | |||
| 52b8eea069 | |||
| 4bebeaeaaa | |||
| 3969e12633 | |||
| d60312d4a2 | |||
| d2454ae134 | |||
| 17c2cb1fdc | |||
| 94d7a2a0bb | |||
| aef1efc6cd | |||
| dd0c662c9e | |||
| 6b1696b62e | |||
| c4b760c452 | |||
| 69fe2a8256 | |||
| 8c98242896 | |||
| 7eecfd3882 | |||
| 6713658569 | |||
| 342b786106 | |||
| 80a7437769 | |||
| 8a38ce1a5c | |||
| 5d94bf0556 | |||
| bb71e084b8 | |||
| 27f0bf28e9 | |||
| 383f588795 | |||
| e7a1ff1ac8 | |||
| adc9c47d0a | |||
| e594b65d1e | |||
| c0826bc65c | |||
| 904f4e5ed9 | |||
| 481f82b4c7 | |||
| f5668592ca | |||
| aa085a1562 | |||
| 2754251fdc | |||
| 2f6cef4238 | |||
| 2309636eae | |||
| 56ec8fb516 | |||
| 21e965449c | |||
| 88697ae83f | |||
| 10ba2aaea5 | |||
| 4b484bd16c | |||
| 4c28a4c358 | |||
| 490d546e7a | |||
| 7a4416109e | |||
| 0e1a47a49b | |||
| fe6e6e54c1 | |||
| 2a09594b4a | |||
| 7c798e1f63 | |||
| ab8da4ab7a | |||
| 5bdb2df929 | |||
| e3a6b60fa2 | |||
| 5f01673404 | |||
| 63d0a52ea1 | |||
| 837089ff5d | |||
| f383fab578 | |||
| f3cc4a89af | |||
| 703f5dc32d | |||
| b870e71f77 | |||
| a7e278204f | |||
| 4cfdcb2f02 | |||
| 3b82ab0e7f | |||
| ccfae1dc75 | |||
| 8bc16dadb0 | |||
| c4cc0baa8e | |||
| aed114c75c | |||
| e592b89c94 | |||
| 70e75adb7d | |||
| 6f7015b152 | |||
| 65dde1e6a0 | |||
| d193c50922 | |||
| 840ef6eed8 | |||
| 26298c48fd | |||
| b4bbb1a456 | |||
| 606435a6b3 | |||
| 404143f8a6 | |||
| ec957a2fe3 | |||
| 8ed5e35f1a | |||
| ec37676dab | |||
| 2d8cda30b9 | |||
| 27d344c97d | |||
| 088e5692e2 | |||
| 298044bc82 | |||
| ee4e223043 | |||
| c53377ce8d | |||
| 0b580658de | |||
| 786c60a50d | |||
| 456f00566d | |||
| a38116cca4 | |||
|  | 9158e33854 | ||
|  | af74f7860b | ||
| c2842148c6 | |||
| 10e4c7da23 | |||
| bdf1cf71ba | |||
| f680a35f49 | |||
| 7d0fe06651 | |||
| 4d4bcb44bc | |||
| 51777f7365 | |||
| b9a9983b88 | |||
| e51a3c7525 | |||
| 9875f49374 | |||
| 52c3c0a565 | |||
| 640a7bcd0a | |||
| 13a9e14450 | |||
| abb786495a | |||
| 8ec18a6fb8 | |||
| f282ffbfd4 | |||
| 27a2d8fdc8 | |||
| 1cb63bfe1d | |||
| 9daa7f7c09 | |||
| b6e780d573 | |||
| 7e3618a9be | |||
| 61b187e340 | |||
| abfdf2ec6d | |||
| cc20e8896f | |||
| 59fe9a469a | |||
| 228b4f0b3d | |||
| b5bbf929f6 | |||
| d9ce4e3ec6 | |||
| c08c909545 | |||
| 6cd17a8e36 | |||
| e3b2b7c6d1 | |||
| 0337bca273 | |||
| 8bb2e2dc37 | |||
| cdd0372d3e | |||
| 1ee16d3446 | |||
| bdbcb9ca4a | |||
| e639289130 | |||
| 3d3347e547 | |||
| 3f27d9e8fc | |||
| ce98b9ae48 | |||
| d2bd17632f | |||
| 7cef5e3a76 | |||
| 9726844a26 | |||
| f7ce3996ef | |||
| 6e21f2688f | |||
| 17db59d221 | |||
| 053b92b77c | |||
| eab5a8be7b | |||
| 5ee8a6bc82 | |||
| 47cf83ef93 | |||
| fca10ada71 | |||
| a35d456308 | |||
| 67c1dfa42b | |||
| 49cbb6a002 | |||
| 36fd6f10b2 | |||
| 23227add12 | |||
| 8cbd800fb9 | |||
| 4c0c66bdb4 | |||
| 880a164793 | |||
| 29c1ba3c2b | |||
| 397267f4b9 | |||
| df88c31c40 | |||
| 6f1fe1c118 | |||
| 649ad26721 | |||
| a8c41141e8 | |||
| d82727f831 | |||
| 66bd63403b | |||
| 1f79985193 | |||
| f4ed7e4254 | |||
| 382f20c6ad | |||
| 220110a403 | |||
| 3fdf494f1c | |||
| 793dcbfa9a | |||
| f96ed1f5eb | |||
| 8b9b427a1e | |||
| 2f3caafd10 | |||
| fde10ebe71 | |||
| b7fc85a2c9 | |||
| 72b79f9af5 | |||
| ab15ec8a4c | |||
| c8f1e67fc7 | |||
| d5c09c853f | |||
| a79b0b85dd | |||
| 47c1282044 | |||
| ce63506a1a | |||
| 8ab03473b7 | |||
| ebaff8d170 | |||
| 46f9e4968b | |||
| 344c5a1c3c | |||
| 50b590ae34 | |||
| 74fbd6feac | |||
| aa69a7ad62 | |||
| bc0fae5c2e | |||
| 992e6d29d0 | |||
| 1321f5c734 | |||
| 262b7c5db3 | |||
| 5283eddb15 | |||
| f7b0c49124 | |||
| 5e32375dfe | |||
| 5cdfee40fb | |||
| 6e5dbe4e58 | |||
| d884d78617 | |||
| a5049ddefb | |||
| bb41af4ed2 | |||
| 19dd4667f2 | |||
| 976f293f28 | |||
| 5c9396077d | |||
| 9fcc1634f5 | |||
| d9a47fdee9 | |||
| 1e5d676aa5 | |||
| 713c50309b | |||
| 44a8ddeba4 | |||
| 8b2af35e97 | |||
| dc44c46667 | |||
| ba571c1a69 | |||
| 6a364705f2 | |||
| b6d454691a | |||
| 6d7a6932a9 | |||
|  | 2faf194b15 | ||
| f207599d86 | |||
| b0959f8cc5 | |||
| 4c5dee5f0a | |||
| f6c98aa0d5 | |||
| 6d13d184d5 | |||
| af36eccfaf | |||
| 483a20a43f | |||
| 6d8e2ad825 | |||
| 86388a63a8 | |||
|  | 5ea55ebfe5 | ||
| f97dc8f931 | |||
|  | a9c3aab528 | ||
| 1181377bd6 | |||
|  | 2275b7c560 | ||
| 4a8d298ae5 | |||
| 3e7f03d331 | |||
| b830952b9e | |||
| ad17313c61 | |||
| 620515ad15 | |||
| 50c377ee22 | |||
| cc7e7a90ee | |||
| 1d4ef19051 | |||
| 8337a724d1 | |||
| 8ca377d5d4 | |||
| 224e0bae43 | |||
| 3aa4fac80d | |||
|  | a7517eb647 | ||
| e278e636e0 | |||
|  | 40e373a9c7 | ||
| 1c1f418b18 | |||
| bf0e14b43a | |||
| 203a098054 | |||
| d58acff541 | |||
| 5858e05a42 | |||
| b9b4fafe14 | |||
| fe6949ea26 | |||
| 8a444a12f4 | 
							
								
								
									
										6
									
								
								.changes/unreleased/Fixed-20251003-224044.yaml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								.changes/unreleased/Fixed-20251003-224044.yaml
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,6 @@ | ||||
| kind: Fixed | ||||
| body: Fix the rendering of list of StoredObjectVersions, where there are kept version (before converting to pdf) and intermediate versions deleted | ||||
| time: 2025-10-03T22:40:44.685474863+02:00 | ||||
| custom: | ||||
|     Issue: "" | ||||
|     SchemaChange: No schema change | ||||
							
								
								
									
										3
									
								
								.changes/v3.10.3.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										3
									
								
								.changes/v3.10.3.md
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,3 @@ | ||||
| ## v3.10.3 - 2025-03-18 | ||||
| ### DX | ||||
| * Eslint fixes    | ||||
							
								
								
									
										19
									
								
								.changes/v3.11.0.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										19
									
								
								.changes/v3.11.0.md
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,19 @@ | ||||
| ## v3.11.0 - 2025-04-17 | ||||
| ### Feature | ||||
| * ([#365](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/365)) Add counters of actions and activities, with 2 boxes to (1) show the number of active actions on total actions and (2) show the number of activities in a accompanying period, and pills in menus for showing the number of active actions and the number of activities. | ||||
| * ([#364](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/364)) Added a second phone number "telephone2" to the thirdParty entity. Adapted twig templates and vuejs apps to handle this phone number | ||||
|  | ||||
|   **Schema Change**: Add columns or tables | ||||
| * Signature: add a button to go directly to the signature zone, even if there is only one | ||||
| ### Fixed | ||||
| * Fixed wrong translations in the on-the-fly for creation of thirdParty | ||||
| * Fixed update of phone number in on-the-fly edition of thirdParty | ||||
| * Fixed closing of modal when editing thirdParty in accompanying course works | ||||
| * Shorten the delay between two execution of AccompanyingPeriodStepChangeCronjob, to ensure at least one execution in a day | ||||
| * ([#102](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/102)) Fix display of title in document list | ||||
| * When cleaning the old stored object versions, do not throw an error if the stored object is not found on disk | ||||
| * Add consistent log prefix and key to logs when stale workflows are automatically canceled | ||||
| * ([#380](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/380)) Remove the "not null" validation constraint on recently added properties on HouseholdComposition | ||||
|  | ||||
| ### DX | ||||
| * Add new chill-col style for displaying title and aside in a flex table | ||||
							
								
								
									
										22
									
								
								.changes/v3.12.0.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										22
									
								
								.changes/v3.12.0.md
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,22 @@ | ||||
| ## v3.12.0 - 2025-06-30 | ||||
| ### Feature | ||||
| * ([#377](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/377)) Add the document file name to the document title when a user upload a document, unless there is already a document title.    | ||||
| * Add desactivation date for social action and issue csv export    | ||||
| * Add Emoji and Fullscreen feature to ckeditor configuration    | ||||
| * ([#321](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/321)) Create editor which allow us to toggle between rich and simple text editor    | ||||
| * Do not remove workflow which are automatically canceled after staling for more than 30 days    | ||||
| ### Fixed | ||||
| * ([#376](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/376)) trying to prevent bug of typeerror in doc-history + improved display of document history    | ||||
| * ([#381](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/381)) Display previous participation in acc course work even if the person has left the acc course    | ||||
| * ([#372](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/372)) Fix display of text in calendar events    | ||||
| * Add missing translation for user_group.no_user_groups    | ||||
| * Fix admin entity edit actions for event admin entities and activity reason (category) entities    | ||||
| * ([#392](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/392)) Allow null and cast as string to setContent method for NewsItem | ||||
|     | ||||
| * ([#393](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/393)) Doc Generation: the "dump only" method send the document as an email attachment.    | ||||
| ### DX | ||||
| * ([#352](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/352)) Remove dead code for wopi-link module    | ||||
| * Replace library node-sass by sass, and upgrade bootstrap to version 5.3 (yarn upgrade / install is required)    | ||||
| ### UX | ||||
| * ([#374](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/374)) Remove default filter in_progress for the page 'my tasks'; Allows for new tasks to be displayed upon opening of the page    | ||||
| * Improve labeling of fields in person resource creation form    | ||||
							
								
								
									
										3
									
								
								.changes/v3.12.1.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										3
									
								
								.changes/v3.12.1.md
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,3 @@ | ||||
| ## v3.12.1 - 2025-06-30 | ||||
| ### Fixed | ||||
| * Fix loading of the list of documents    | ||||
							
								
								
									
										74
									
								
								.changes/v4.0.0.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										74
									
								
								.changes/v4.0.0.md
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,74 @@ | ||||
| ## v4.0.0 - 2025-07-08 | ||||
| ### Feature | ||||
| * ([#359](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/359)) Allow the merge of two accompanying period works | ||||
| ### Fixed | ||||
| * ([#390](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/390)) Display the list of participant in the results, even if there is only one participant and that the search result display the requestor | ||||
| * Fix admin entity edit actions for event admin entities and activity reason (category) entities | ||||
| * Fix translations for social action fields in admin form: results, goals, evaluations | ||||
| ### DX | ||||
| * Rewrite exports to run them asynchronously | ||||
|  | ||||
|   **Schema Change**: Add columns or tables | ||||
| * Allow TranslatableMessage in flash messages | ||||
| ### UX | ||||
| * Improve labeling of fields in person resource creation form | ||||
|  | ||||
|  | ||||
| **Release notes** | ||||
|  | ||||
| - Add new methods to serialize data using the rector rule | ||||
| - Remove all references to the Request in filters, aggregators, filters. Actually, the most frequent occurence is `$security->getUser()`. | ||||
| - Refactor manually the initializeQuery method | ||||
| - Remove the injection of ExportManager into the constructor of each export element: | ||||
|  | ||||
|   ```diff | ||||
|  | ||||
|   - class MyFormatter implements FormatterInterface | ||||
|   + class MyFormatter implements FormatterInterface, \Chill\MainBundle\Export\ExportManagerAwareInterface | ||||
|   { | ||||
|   +    use \Chill\MainBundle\Export\Helper\ExportManagerAwareTrait; | ||||
|  | ||||
|   -    public function __construct(private ExportManager $exportmanager) {} | ||||
|  | ||||
|        public function MyMethod(): void | ||||
|        { | ||||
|   -          $this->exportManager->getFilter('alias'); | ||||
|   +          $this->getExportManager()->getFilter('alias'); | ||||
|        } | ||||
|   } | ||||
|   ``` | ||||
| - configure messenger to handle export in a queue: | ||||
|  | ||||
| ```diff | ||||
| # config/packages/messenger.yaml | ||||
| framework: | ||||
|     messenger: | ||||
|         routing: | ||||
| +            'Chill\MainBundle\Export\Messenger\ExportRequestGenerationMessage': priority | ||||
| ``` | ||||
|  | ||||
| - add missing methods to exports, aggregators, filters, formatter: | ||||
|  | ||||
|   ```php | ||||
|   public function normalizeFormData(array $formData): array; | ||||
|  | ||||
|   public function denormalizeFormData(array $formData, int $fromVersion): array; | ||||
|   ``` | ||||
|  | ||||
|   There are rector rules to generate those methods: | ||||
|  | ||||
|   - `Chill\Utils\Rector\Rector\ChillBundleAddNormalizationMethodsOnExportRector` | ||||
|  | ||||
|   See: | ||||
|  | ||||
|   ```php | ||||
|   // upgrade chill exports | ||||
|   $rectorConfig->rules([\Chill\Utils\Rector\Rector\ChillBundleAddNormalizationMethodsOnExportRector::class]); | ||||
|   ``` | ||||
|  | ||||
|   This rule will create most of the work necessary, but some manuals changes are still necessary: | ||||
|  | ||||
|   - we must set manually the correct repository for method `denormalizeDoctrineEntity`; | ||||
|   - when the form data contains some entities, and the form type is not one of EntityType::class, PickUserDynamicType::class, PickUserLocationType::class, PickThirdpartyDynamicType::class, Select2CountryType::class, then we must handle the normalization manually (using the `\Chill\MainBundle\Export\ExportDataNormalizerTrait`) | ||||
|  | ||||
|  | ||||
							
								
								
									
										4
									
								
								.changes/v4.0.1.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										4
									
								
								.changes/v4.0.1.md
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,4 @@ | ||||
| ## v4.0.1 - 2025-07-08 | ||||
| ### Fixed | ||||
| * Fix package.json for compilation | ||||
|     | ||||
							
								
								
									
										4
									
								
								.changes/v4.0.2.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										4
									
								
								.changes/v4.0.2.md
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,4 @@ | ||||
| ## v4.0.2 - 2025-07-09 | ||||
| ### Fixed | ||||
| * Fix add missing translation    | ||||
| * Fix the transfer of evaluations and documents during of accompanyingperiodwork    | ||||
							
								
								
									
										12
									
								
								.changes/v4.1.0.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										12
									
								
								.changes/v4.1.0.md
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,12 @@ | ||||
| ## v4.1.0 - 2025-08-26 | ||||
| ### Feature | ||||
| * ([#400](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/400)) Add filter to social actions list to filter out actions where current user intervenes    | ||||
| * ([#399](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/399)) Show filters on list pages unfolded by default    | ||||
| * Expansion of event module with new fields in the creation form: thematic, internal/external animator, responsable, and budget elements. Filtering options in the event list + adapted exports    | ||||
|  | ||||
|   **Schema Change**: Add columns or tables | ||||
| ### Fixed | ||||
| * ([#382](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/382)) adjust display logic for accompanying period dates, include closing date if period is closed.    | ||||
| * ([#384](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/384)) add min and step attributes to integer field in DateIntervalType    | ||||
| ### UX | ||||
| * Limit display of participations in event list    | ||||
							
								
								
									
										10
									
								
								.changes/v4.2.0.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										10
									
								
								.changes/v4.2.0.md
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,10 @@ | ||||
| ## v4.2.0 - 2025-09-02 | ||||
| ### Feature | ||||
| * ([#64](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/64)) Add external identifier for a Person | ||||
|  | ||||
|   **Schema Change**: Add columns or tables | ||||
| * ([#330](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/330) Allow users to choose for which notifications they want to receive an email | ||||
| ### Fixed | ||||
| * ([#422](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/422)) Fixed html layout of pages for recovering password | ||||
| * Fix typo in 'uncheckAll' script for centers selection | ||||
| * Fix incorrect parameter name in event details link | ||||
							
								
								
									
										6
									
								
								.changes/v4.2.1.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								.changes/v4.2.1.md
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,6 @@ | ||||
| ## v4.2.1 - 2025-09-03 | ||||
| ### Fixed | ||||
| * Fix exports to work with DirectExportInterface    | ||||
| ### DX | ||||
| * Improve error message when a stored object cannot be written on local disk | ||||
|     | ||||
							
								
								
									
										10
									
								
								.changes/v4.3.0.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										10
									
								
								.changes/v4.3.0.md
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,10 @@ | ||||
| ## v4.3.0 - 2025-09-08 | ||||
| ### Feature | ||||
| * ([#409](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/409)) Add 45 and 60 min calendar ranges    | ||||
| * Add a command to generate a list of permissions    | ||||
| * ([#412](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/412)) Add an absence end date    | ||||
|  | ||||
|   **Schema Change**: Add columns or tables | ||||
| ### Fixed | ||||
| * fix date formatting in calendar range display    | ||||
| * Change route URL to avoid clash with person duplicate controller method    | ||||
							
								
								
									
										8
									
								
								.changes/v4.4.0.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										8
									
								
								.changes/v4.4.0.md
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,8 @@ | ||||
| ## v4.4.0 - 2025-09-11 | ||||
| ### Feature | ||||
| * ([#359](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/359)) Allow the merge of two accompanying period works    | ||||
| * ([#369](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/369)) Duplication of a document to another accompanying period work evaluation    | ||||
| * ([#359](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/359)) Fusion of two accompanying period works    | ||||
| ### Fixed | ||||
| * Fix display of 'duplicate' and 'merge' buttons in CRUD templates    | ||||
| * Fix saving notification preferences in user's profile    | ||||
							
								
								
									
										3
									
								
								.changes/v4.4.1.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										3
									
								
								.changes/v4.4.1.md
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,3 @@ | ||||
| ## v4.4.1 - 2025-09-11 | ||||
| ### Fixed | ||||
| * fix translations in duplicate evaluation document modal and realign close modal button    | ||||
							
								
								
									
										3
									
								
								.changes/v4.4.2.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										3
									
								
								.changes/v4.4.2.md
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,3 @@ | ||||
| ## v4.4.2 - 2025-09-12 | ||||
| ### Fixed | ||||
| * Fix document generation and workflow generation do not work on accompanying period work documents    | ||||
							
								
								
									
										13
									
								
								.changes/v4.5.0.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										13
									
								
								.changes/v4.5.0.md
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,13 @@ | ||||
| ## v4.5.0 - 2025-10-03 | ||||
| ### Feature | ||||
| * Only allow delete of attachment on workflows that are not final    | ||||
| * Move up signature buttons on index workflow page for easier access    | ||||
| * Filter out document from attachment list if it is the same as the workflow document    | ||||
| * Block edition on attached document on workflow, if the workflow is finalized or sent external    | ||||
| * Convert workflow's attached document to pdf while sending them external    | ||||
| * After a signature is canceled or rejected, going to a waiting page until the post-process routines apply a workflow transition    | ||||
| ### Fixed | ||||
| * ([#426](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/426)) Increased the number of required characters when setting a new password in Chill from 9 to 14 - GDPR compliance    | ||||
| * Fix permissions on storedObject which are subject by a workflow    | ||||
| ### DX | ||||
| * Introduce a WaitingScreen component to display a waiting screen    | ||||
							
								
								
									
										4
									
								
								.changes/v4.5.1.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										4
									
								
								.changes/v4.5.1.md
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,4 @@ | ||||
| ## v4.5.1 - 2025-10-03 | ||||
| ### Fixed | ||||
| * Add missing javascript dependency    | ||||
| * Add exception handling for conversion of attachment on sending external, when documens are already in pdf    | ||||
							
								
								
									
										2
									
								
								.env
									
									
									
									
									
								
							
							
						
						
									
										2
									
								
								.env
									
									
									
									
									
								
							| @@ -86,7 +86,7 @@ ADD_ADDRESS_MAP_CENTER_Z=15 | ||||
| ## Redis Cache & redis database | ||||
| REDIS_HOST=redis | ||||
| REDIS_PORT=6379 | ||||
| REDIS_URL=redis://${REDIS_HOST}:${REDIS_PORT} | ||||
| REDIS_URL="redis://${REDIS_HOST}:${REDIS_PORT}" | ||||
| ###< chill-project/chill-bundles ### | ||||
|  | ||||
| ###> symfony/ovh-cloud-notifier ### | ||||
|   | ||||
							
								
								
									
										4
									
								
								.env.dev
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										4
									
								
								.env.dev
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,4 @@ | ||||
|  | ||||
| ###> symfony/framework-bundle ### | ||||
| APP_SECRET=72759e571285ef25677c88f967a73386 | ||||
| ###< symfony/framework-bundle ### | ||||
							
								
								
									
										40
									
								
								.env.test
									
									
									
									
									
								
							
							
						
						
									
										40
									
								
								.env.test
									
									
									
									
									
								
							| @@ -1,39 +1,5 @@ | ||||
| # variables for .env environement | ||||
| # those variables suits for gitlab-ci | ||||
| # Run tests from root to adapt your own environment | ||||
| # define your env variables for the test env here | ||||
| KERNEL_CLASS='App\Kernel' | ||||
| APP_SECRET='$ecretf0rt3st' | ||||
|  | ||||
| ADMIN_PASSWORD=password | ||||
|  | ||||
| JWT_SECRET_KEY=%kernel.project_dir%/config/jwt/private.pem | ||||
| JWT_PUBLIC_KEY=%kernel.project_dir%/config/jwt/public.pem | ||||
| JWT_PASSPHRASE=2a30f6ba26521a2613821da35f28386e | ||||
|  | ||||
| TWILIO_SID=~ | ||||
| TWILIO_SECRET=~ | ||||
| DEFAULT_CARRIER_CODE=BE | ||||
|  | ||||
| ADD_ADDRESS_DEFAULT_COUNTRY=BE | ||||
| ADD_ADDRESS_MAP_CENTER_X=50.8443 | ||||
| ADD_ADDRESS_MAP_CENTER_Y=4.3523 | ||||
| ADD_ADDRESS_MAP_CENTER_Z=15 | ||||
|  | ||||
| SHORT_MESSAGE_DSN=null://null | ||||
| MESSENGER_TRANSPORT_DSN=sync:// | ||||
|  | ||||
| ###> doctrine/doctrine-bundle ### | ||||
| # Format described at https://www.doctrine-project.org/projects/doctrine-dbal/en/latest/reference/configuration.html#connecting-using-a-url | ||||
| # IMPORTANT: You MUST configure your server version, either here or in config/packages/doctrine.yaml | ||||
| # | ||||
| DATABASE_URL="postgresql://app:!ChangeMe!@127.0.0.1:5454/test?serverVersion=14&charset=utf8" | ||||
| ###< doctrine/doctrine-bundle ### | ||||
|  | ||||
| ASYNC_UPLOAD_TEMP_URL_KEY= | ||||
| ASYNC_UPLOAD_TEMP_URL_BASE_PATH= | ||||
| ASYNC_UPLOAD_TEMP_URL_CONTAINER= | ||||
|  | ||||
| MAILER_DSN=null://null | ||||
|  | ||||
| REDIS_HOST=127.0.0.1 | ||||
| REDIS_PORT=6363 | ||||
| SYMFONY_DEPRECATIONS_HELPER=999999 | ||||
| DEFAULT_CARRIER_CODE=TEST | ||||
|   | ||||
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										5
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										5
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							| @@ -18,6 +18,9 @@ migrations/* | ||||
| templates/* | ||||
| translations/* | ||||
|  | ||||
| # we allow developers to add customization on their installation, without commiting it | ||||
| config/packages/dev/* | ||||
|  | ||||
| ###> symfony/framework-bundle ### | ||||
| /.env.local | ||||
| /.env.local.php | ||||
| @@ -30,7 +33,7 @@ translations/* | ||||
|  | ||||
| ###> phpunit/phpunit ### | ||||
| /phpunit.xml | ||||
| .phpunit.result.cache | ||||
| /.phpunit.cache/ | ||||
| ###< phpunit/phpunit ### | ||||
|  | ||||
| /.php-cs-fixer.cache | ||||
|   | ||||
| @@ -3,7 +3,7 @@ | ||||
| # Select what we should cache between builds | ||||
| cache: | ||||
|     paths: | ||||
|         - /vendor/ | ||||
|         - vendor/ | ||||
|         - .cache | ||||
|         - node_modules/ | ||||
|  | ||||
| @@ -46,7 +46,7 @@ stages: | ||||
|  | ||||
| build: | ||||
|     stage: Composer install | ||||
|     image: gitea.champs-libres.be/chill-project/chill-skeleton-basic/base-image:php82 | ||||
|     image: chill/base-image:8.3-edge | ||||
|     before_script: | ||||
|         - composer config -g cache-dir "$(pwd)/.cache" | ||||
|     script: | ||||
| @@ -61,7 +61,7 @@ build: | ||||
|  | ||||
| code_style: | ||||
|     stage: Tests | ||||
|     image: gitea.champs-libres.be/chill-project/chill-skeleton-basic/base-image:php82 | ||||
|     image: chill/base-image:8.3-edge | ||||
|     script: | ||||
|         - php-cs-fixer fix --dry-run -v --show-progress=none | ||||
|     cache: | ||||
| @@ -74,35 +74,25 @@ code_style: | ||||
|  | ||||
| phpstan_tests: | ||||
|     stage: Tests | ||||
|     image: gitea.champs-libres.be/chill-project/chill-skeleton-basic/base-image:php82 | ||||
|     image: chill/base-image:8.3-edge | ||||
|     dependencies: | ||||
|         - build | ||||
|     variables: | ||||
|         COMPOSER_MEMORY_LIMIT: 3G | ||||
|     before_script: | ||||
|         - bin/console cache:clear --env=dev | ||||
|     script: | ||||
|         - composer exec phpstan -- analyze --memory-limit=3G | ||||
|     cache: | ||||
|         paths: | ||||
|             - .cache/ | ||||
|     artifacts: | ||||
|         expire_in: 1 day | ||||
|         paths: | ||||
|             - vendor/ | ||||
|  | ||||
| rector_tests: | ||||
|     stage: Tests | ||||
|     image: gitea.champs-libres.be/chill-project/chill-skeleton-basic/base-image:php82 | ||||
|     image: chill/base-image:8.3-edge | ||||
|     dependencies: | ||||
|         - build | ||||
|     before_script: | ||||
|         - bin/console cache:clear --env=dev | ||||
|     script: | ||||
|         - composer exec rector -- process --dry-run | ||||
|     cache: | ||||
|         paths: | ||||
|             - .cache/ | ||||
|     artifacts: | ||||
|         expire_in: 1 day | ||||
|         paths: | ||||
|             - vendor/ | ||||
|  | ||||
| lint: | ||||
|     stage: Tests | ||||
| @@ -132,7 +122,9 @@ lint: | ||||
|  | ||||
| unit_tests: | ||||
|     stage: Tests | ||||
|     image: gitea.champs-libres.be/chill-project/chill-skeleton-basic/base-image:php82 | ||||
|     image: chill/base-image:8.3-edge | ||||
|     dependencies: | ||||
|         - build | ||||
|     variables: | ||||
|         COMPOSER_MEMORY_LIMIT: 3G | ||||
|     before_script: | ||||
| @@ -143,10 +135,6 @@ unit_tests: | ||||
|         - php bin/console doctrine:fixtures:load -n --env=test | ||||
|     script: | ||||
|         - composer exec phpunit -- --colors=never --exclude-group dbIntensive,openstack-integration | ||||
|     artifacts: | ||||
|         expire_in: 1 day | ||||
|         paths: | ||||
|             - vendor/ | ||||
|  | ||||
| release: | ||||
|     stage: Deploy | ||||
|   | ||||
							
								
								
									
										391
									
								
								.junie/guidelines.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										391
									
								
								.junie/guidelines.md
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,391 @@ | ||||
| # Project Guidelines for Junie | ||||
|  | ||||
| ## Project Overview | ||||
|  | ||||
| Chill is a comprehensive web application built as a set of Symfony bundles. It is a case management system, for social work. The project consists of multiple specialized bundles that provide different functionalities: | ||||
|  | ||||
| - **ChillMainBundle**: Core bundles that provide the foundation of the application | ||||
| - **ChillPersonBundle**: Core bundles that provide the foundation of the bundles associated to person (which is the case for all other bundles) | ||||
| - **ChillCalendarBundle**: Calendar and scheduling functionality | ||||
| - **ChillDocStoreBundle** and **ChillDocGeneratorBundle**: Document management and generation | ||||
| - **ChillActivityBundle**, **ChillEventBundle**, **ChillTaskBundle**: Activity and task tracking | ||||
| - **ChillBudgetBundle**: Financial management | ||||
| - **ChillThirdPartyBundle**: Integration with external systems | ||||
| - **ChillCustomFieldsBundle**: Extensibility through custom fields | ||||
| - **ChillReportBundle**: Save arbitrary reports about persons | ||||
| - **ChillTicketBundle**: Record and track issues about persons | ||||
|  | ||||
| - And several other specialized bundles | ||||
|  | ||||
| ## Technology Stack | ||||
|  | ||||
| - **Backend**: PHP 8.3+, Symfony 5.4 | ||||
| - **Frontend**: JavaScript/TypeScript, Vue.js 3, Bootstrap 5 | ||||
| - **Build Tools**: Webpack Encore, Yarn | ||||
| - **Database**: PostgreSQL with materialized views. We do not support other databases. | ||||
| - **Other Services**: Redis, AMQP (RabbitMQ), SMTP | ||||
|  | ||||
| ## Project Structure | ||||
|  | ||||
| Note: This is a project that's existed for a long time, and throughout the years we've used multiple structures inside each bundle. When having the choice, the developers should choose the new structure. | ||||
|  | ||||
| The project follows a standard Symfony bundle structure: | ||||
| - `/src/Bundle/`: Contains all the Chill bundles. The code is either at the root of the bundle directory, or within a `src/` directory (preferred). See psr4 mapping at the root's `composer.json`. | ||||
| - each bundle comes with its own tests, either in the `Tests` directory (when the code is directly within the bundle directory (for instance `src/Bundle/ChillMainBundle/Tests`, `src/Bundle/ChillPersonBundle/Tests`)), or inside the `tests` directory, alongside the `src/` sub-directory (example: `src/Bundle/ChillWopiBundle/tests`) (this is the preferred way). | ||||
| - `/docs/`: Contains project documentation | ||||
|  | ||||
| Each bundle typically has the following structure: | ||||
|  | ||||
| - `Controller/`: Contains controllers | ||||
| - `Entity/`: Contains Doctrine entities | ||||
| - `Repository/`: Contains Doctrine repositories | ||||
| - `Resources/`: Contains views, translations, and public assets | ||||
| - `DependencyInjection/`: Contains service configuration | ||||
| - `Export/`: Contains services related to exports | ||||
| - `Security/`: Contains services related to security. Most of the time, those are new voters, and so on. | ||||
|  | ||||
| ### A special word about TicketBundle | ||||
|  | ||||
| The ticket bundle is developed using a kind of "Command" pattern. The controller fills a "Command," and a "CommandHandler" handles this command. They are saved in the `src/Bundle/ChillTicketBundle/src/Action` directory. | ||||
|  | ||||
| ## Development Guidelines | ||||
|  | ||||
| ### Building and Configuration Instructions | ||||
|  | ||||
| All the commands should be run through the `symfony` command, which will configure the required variables. | ||||
|  | ||||
| For assets, we must ensure that we use node at version `^20.0.0`. This is done using `nvm use 20`. | ||||
|  | ||||
| #### Initial Setup | ||||
|  | ||||
| 1. **Clone the Repository**: | ||||
|    ```bash | ||||
|    git clone <repository-url> | ||||
|    cd chill-bundles | ||||
|    ``` | ||||
|  | ||||
| 2. **Install PHP Dependencies**: | ||||
|    ```bash | ||||
|    composer install | ||||
|    ``` | ||||
|  | ||||
| 3. **Install JavaScript Dependencies**: | ||||
|    ```bash | ||||
|    nvm use 20 | ||||
|    yarn install | ||||
|    ``` | ||||
|  | ||||
| 4. **Configure Environment Variables**: | ||||
|  | ||||
|    - Create a `.env.local` file with minimal configuration | ||||
|    ```bash | ||||
|    echo "APP_ENV=dev" >> .env.local | ||||
|    ``` | ||||
|  | ||||
| 5. Start the associated services (database, and so on): | ||||
|    ```bash | ||||
|    docker compose up -d | ||||
|    ``` | ||||
|  | ||||
| 6. **Set Up the Database**: | ||||
|    ```bash | ||||
|    # Create the database | ||||
|    symfony console doctrine:database:create | ||||
|  | ||||
|    # Run migrations | ||||
|    symfony console doctrine:migrations:migrate | ||||
|  | ||||
|    # Load fixtures (optional) | ||||
|    symfony console doctrine:fixtures:load | ||||
|    ``` | ||||
|  | ||||
| 7. **Build Assets**: | ||||
|    ```bash | ||||
|    nvm use 20 | ||||
|    yarn run encore dev | ||||
|    ``` | ||||
|  | ||||
| 8. **Start the Development Server**: | ||||
|    ```bash | ||||
|    symfony server:start -d | ||||
|    ``` | ||||
|  | ||||
| #### Docker Setup | ||||
|  | ||||
| The project includes a Docker configuration for easier development: | ||||
|  | ||||
| 1. **Start Docker Services**: | ||||
|    ```bash | ||||
|    docker-compose up -d | ||||
|    ``` | ||||
|  | ||||
| 2. **Access the Application**: | ||||
|    - The application will be available at `http://localhost:8000` | ||||
|    - PostgreSQL will be available at `localhost:5432` | ||||
|    - Redis will be available at `localhost:6379` | ||||
|  | ||||
| #### Building Assets | ||||
|  | ||||
| Before submitting any changes, you should build the project to ensure that all assets are properly compiled: | ||||
|  | ||||
| ```bash | ||||
| # For production | ||||
| yarn run encore production | ||||
|  | ||||
| # For development with hot-reloading | ||||
| yarn run encore dev --watch | ||||
|  | ||||
| # for development | ||||
| yarn run encore dev | ||||
| ``` | ||||
|  | ||||
| #### Configuration Files | ||||
|  | ||||
| Key configuration files: | ||||
|  | ||||
| - `config/packages/*.yaml`: Symfony bundle configurations | ||||
| - `webpack.config.js`: Webpack Encore configuration | ||||
| - `composer.json`: PHP dependencies and scripts | ||||
| - `package.json`: JavaScript dependencies and scripts | ||||
| - `.env`: Default environment variables. Must usually not be updated: use `.env.local` instead. | ||||
|  | ||||
| ### Database migrations | ||||
|  | ||||
| Each time a doctrine entity is created, we generate migration to adapt the database. | ||||
|  | ||||
| The migration is created using the command `symfony console doctrine:migrations:diff --no-interaction --namespace <namespace>`, where the namespace is the relevant namespace for migration. As this is a bash script, remember to quote the `\` (`\` must become `\\` in your command). | ||||
|  | ||||
| Each bundle has his own namespace for migration (always ask me to confirm that command with a list of updated / created entities so that I can confirm to you that it is ok): | ||||
|  | ||||
| - `Chill\Bundle\ActivityBundle` writes migrations to `Chill\Migrations\Activity`; | ||||
| - `Chill\Bundle\BudgetBundle` writes migrations to `Chill\Migrations\Budget`; | ||||
| - `Chill\Bundle\CustomFieldsBundle` writes migrations to `Chill\Migrations\CustomFields`; | ||||
| - `Chill\Bundle\DocGeneratorBundle` writes migrations to `Chill\Migrations\DocGenerator`; | ||||
| - `Chill\Bundle\DocStoreBundle` writes migrations to `Chill\Migrations\DocStore`; | ||||
| - `Chill\Bundle\EventBundle` writes migrations to `Chill\Migrations\Event`; | ||||
| - `Chill\Bundle\CalendarBundle` writes migrations to `Chill\Migrations\Calendar`; | ||||
| - `Chill\Bundle\FamilyMembersBundle` writes migrations to `Chill\Migrations\FamilyMembers`; | ||||
| - `Chill\Bundle\FranceTravailApiBundle` writes migrations to `Chill\Migrations\FranceTravailApi`; | ||||
| - `Chill\Bundle\JobBundle` writes migrations to `Chill\Migrations\Job`; | ||||
| - `Chill\Bundle\MainBundle` writes migrations to `Chill\Migrations\Main`; | ||||
| - `Chill\Bundle\PersonBundle` writes migrations to `Chill\Migrations\Person`; | ||||
| - `Chill\Bundle\ReportBundle` writes migrations to `Chill\Migrations\Report`; | ||||
| - `Chill\Bundle\TaskBundle` writes migrations to `Chill\Migrations\Task`; | ||||
| - `Chill\Bundle\ThirdPartyBundle` writes migrations to `Chill\Migrations\ThirdParty`; | ||||
| - `Chill\Bundle\TicketBundle` writes migrations to `Chill\Migrations\Ticket`; | ||||
| - `Chill\Bundle\WopiBundle` writes migrations to `Chill\Migrations\Wopi`; | ||||
|  | ||||
| Once created the, comment's classes should be removed and a description of the changes made to the entities should be added to the migrations, using the `getDescription` method. The migration should not be cleaned by any artificial intelligence, as modifying this migration is error prone. | ||||
|  | ||||
| ### Guidelines related to code structure and requirements | ||||
|  | ||||
| #### Usage of clock | ||||
|  | ||||
| When we need to use a DateTime or DateTimeImmutable that need to express "now", we prefer the usage of | ||||
| `Symfony\Component\Clock\ClockInterface`, where possible. This is usually not possible in doctrine entities, | ||||
| where injection does not work when restoring an entity from a database, but usually possible in services. | ||||
|  | ||||
| In test, we use `\Symfony\Component\Clock\MockClock` which is an implementation of `Symfony\Component\Clock\ClockInterface` | ||||
| where we have full and easy control of the date. | ||||
|  | ||||
| ### Testing Information | ||||
|  | ||||
| The project uses PHPUnit for testing. Each bundle has its own test suite, and there's also a global test suite at the root level. | ||||
|  | ||||
| #### Use of mock in tests | ||||
|  | ||||
| ##### General mocking | ||||
|  | ||||
| For creating mock, we prefer using prophecy (library phpspec/prophecy). | ||||
|  | ||||
| ##### Useful helpers and tips that avoid creating a mock | ||||
|  | ||||
| Some notable implementations that are test helpers and avoid creating a mock: | ||||
|  | ||||
| - `\Psr\Log\NullLogger`, an implementation of `\Psr\Log\LoggerInterface`; | ||||
| - `\Symfony\Component\Clock\MockClock`, an implementation of `Symfony\Component\Clock\ClockInterface` (already mentioned above); | ||||
| - `\Symfony\Component\HttpClient\MockHttpClient`, an implementation of `\Symfony\Contracts\HttpClient\HttpClientInterface`; | ||||
| - When using `\Symfony\Component\Mailer\MailerInterface`, we can create the mock with "InMemoryTransport": | ||||
|  | ||||
|     ```php | ||||
|     use Symfony\Component\Mailer\Transport\InMemoryTransport; | ||||
|     use \Symfony\Component\Mailer\Mailer; | ||||
|  | ||||
|     $transport = new InMemoryTransport(); | ||||
|     $mailer = new Mailer($transport); | ||||
|  | ||||
|     // After sending: | ||||
|     $messages = $transport->getSent(); // array of SentMessage | ||||
|     ``` | ||||
| - When using `\Symfony\Contracts\EventDispatcher\EventDispatcherInterface`, we can use directly an instance of `\Symfony\Component\EventDispatcher\EventDispatcher`; | ||||
|  | ||||
| ##### When we prefer not creating a mock | ||||
|  | ||||
| - When we use Doctrine Entities related to the project, we prefer not to use a mock: we instantiate them directly (unless it requires too much code to write); | ||||
|  | ||||
| ##### Mocking final and readonly classes | ||||
|  | ||||
| Classes marked as final can't be mocked. To avoid that, either: | ||||
|  | ||||
| - we remove the `final` keyword from the class; | ||||
| - we extract an interface from the final class. | ||||
|  | ||||
| This must be a decision made by a human, not by an AI. Every AI task must abort with an explicit message in that case. | ||||
|  | ||||
| #### Running Tests | ||||
|  | ||||
| The tests are run from the project's root (not from the bundle's root). | ||||
|  | ||||
| ```bash | ||||
| # Run all tests | ||||
| vendor/bin/phpunit | ||||
|  | ||||
| # Run tests for a specific bundle | ||||
| vendor/bin/phpunit --testsuite NameBundle | ||||
|  | ||||
| # Run a specific test file | ||||
| vendor/bin/phpunit path/to/TestFile.php | ||||
|  | ||||
| # Run a specific test method | ||||
| vendor/bin/phpunit --filter methodName path/to/TestFile.php | ||||
| ``` | ||||
|  | ||||
| #### Test Structure | ||||
|  | ||||
| Tests are organized by bundle and follow the same structure as the bundle itself: | ||||
|  | ||||
| - Unit tests: Test individual components in isolation | ||||
| - Integration tests: Test components working together | ||||
| - Functional tests: Test the application from the user's perspective | ||||
|  | ||||
| #### Writing Tests | ||||
|  | ||||
| Tests should be placed in the appropriate bundle's test directory. For example, tests for the TicketBundle should be placed in `src/Bundle/ChillTicketBundle/tests/`. | ||||
|  | ||||
| Here's an example of a simple entity test: | ||||
|  | ||||
| ```php | ||||
| <?php | ||||
|  | ||||
| namespace Chill\TicketBundle\Tests\Entity; | ||||
|  | ||||
| use Chill\TicketBundle\Entity\Ticket; | ||||
| use PHPUnit\Framework\TestCase; | ||||
|  | ||||
| class TicketTest extends TestCase | ||||
| { | ||||
|     public function testGetAndSetExternalRef(): void | ||||
|     { | ||||
|         $ticket = new Ticket(); | ||||
|         $externalRef = 'REF-123'; | ||||
|  | ||||
|         // Set the external reference | ||||
|         $ticket->setExternalRef($externalRef); | ||||
|  | ||||
|         // Verify that getExternalRef returns the correct value | ||||
|         self::assertSame($externalRef, $ticket->getExternalRef()); | ||||
|  | ||||
|         // Change the external reference | ||||
|         $newExternalRef = 'REF-456'; | ||||
|         $ticket->setExternalRef($newExternalRef); | ||||
|  | ||||
|         // Verify that getExternalRef returns the updated value | ||||
|         self::assertSame($newExternalRef, $ticket->getExternalRef()); | ||||
|     } | ||||
| } | ||||
| ``` | ||||
|  | ||||
| #### Test Database | ||||
|  | ||||
| For tests that require a database, the project uses a postgresql database filled with fixtures (usage of doctrine-fixtures). You can configure a different database for testing in the `.env.test` file. | ||||
|  | ||||
| ### Code Quality Tools | ||||
|  | ||||
| The project uses several tools to maintain code quality: | ||||
|  | ||||
| #### PHP Code Style | ||||
|  | ||||
| The project uses PHP-CS-Fixer for code style. You can run it with: | ||||
|  | ||||
| ```bash | ||||
| # Using the composer script | ||||
| composer php-cs-fixer | ||||
|  | ||||
| # Or directly | ||||
| php-cs-fixer fix --config=./.php-cs-fixer.dist.php | ||||
| ``` | ||||
|  | ||||
| #### Static Analysis | ||||
|  | ||||
| The project uses PHPStan for static analysis. You can run it with: | ||||
|  | ||||
| ```bash | ||||
| # Using the composer script | ||||
| composer phpstan | ||||
|  | ||||
| # Or directly | ||||
| vendor/bin/phpstan analyse | ||||
| ``` | ||||
|  | ||||
| #### Automated Refactoring | ||||
|  | ||||
| The project uses Rector for automated refactoring. You can run it with: | ||||
|  | ||||
| ```bash | ||||
| # Using the composer script | ||||
| composer rector | ||||
|  | ||||
| # Or directly | ||||
| vendor/bin/rector | ||||
| ``` | ||||
|  | ||||
| #### JavaScript/TypeScript Linting | ||||
|  | ||||
| The project uses ESLint for JavaScript/TypeScript code quality. You can run it with: | ||||
|  | ||||
| ```bash | ||||
| yarn run eslint | ||||
| ``` | ||||
|  | ||||
| ## Deployment | ||||
|  | ||||
| The project can be deployed in a production environment following Symfony's deployment guidelines. The documentation provides detailed instructions for setting up a production environment. | ||||
|  | ||||
| ### Production Deployment Checklist | ||||
|  | ||||
| 1. Set environment variables for production | ||||
| 2. Optimize Composer autoloader: `composer install --no-dev --optimize-autoloader` | ||||
| 3. Compile assets for production: `yarn run encore production` | ||||
| 4. Clear and warm up the cache: `php bin/console cache:clear --env=prod` | ||||
| 5. Run database migrations: `php bin/console doctrine:migrations:migrate --env=prod` | ||||
|  | ||||
| ## Documentation | ||||
|  | ||||
| Comprehensive documentation is available in the `/docs/` directory, including installation instructions, configuration guides, and operational procedures. | ||||
|  | ||||
| ## Development Workflow | ||||
|  | ||||
| 1. **Create a Feature Branch**: Always create a new branch for your feature or bugfix | ||||
| 2. **Write Tests**: Write tests for your changes before implementing them | ||||
| 3. **Implement Changes**: Implement your changes following the project's coding standards | ||||
| 4. **Run Tests**: Make sure all tests pass | ||||
| 5. **Run Code Quality Tools**: Make sure your code passes all code quality checks | ||||
| 6. **Submit a Pull Request**: Submit a pull request for review | ||||
|  | ||||
| ## Debugging | ||||
|  | ||||
| The project includes several tools for debugging: | ||||
|  | ||||
| - **Symfony Profiler**: Available in development mode at `/_profiler` | ||||
| - **Xdebug**: Configure your IDE to use Xdebug for step-by-step debugging | ||||
| - **Symfony Debug Toolbar**: Available at the bottom of the page in development mode | ||||
|  | ||||
| ## Conclusion | ||||
|  | ||||
| When working with this project, Junie should: | ||||
|  | ||||
| 1. Understand the modular bundle structure and how the different components interact | ||||
| 2. Build the project before submitting changes to ensure assets are properly compiled | ||||
| 3. Run relevant tests to ensure changes don't break existing functionality | ||||
| 4. Follow the established code style and patterns | ||||
| 5. Use the provided tools for debugging and code quality | ||||
							
								
								
									
										214
									
								
								CHANGELOG.md
									
									
									
									
									
								
							
							
						
						
									
										214
									
								
								CHANGELOG.md
									
									
									
									
									
								
							| @@ -6,6 +6,220 @@ adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html), | ||||
| and is generated by [Changie](https://github.com/miniscruff/changie). | ||||
|  | ||||
|  | ||||
| ## v4.5.1 - 2025-10-03 | ||||
| ### Fixed | ||||
| * Add missing javascript dependency    | ||||
| * Add exception handling for conversion of attachment on sending external, when documens are already in pdf    | ||||
|  | ||||
| ## v4.5.0 - 2025-10-03 | ||||
| ### Feature | ||||
| * Only allow delete of attachment on workflows that are not final    | ||||
| * Move up signature buttons on index workflow page for easier access    | ||||
| * Filter out document from attachment list if it is the same as the workflow document    | ||||
| * Block edition on attached document on workflow, if the workflow is finalized or sent external    | ||||
| * Convert workflow's attached document to pdf while sending them external    | ||||
| * After a signature is canceled or rejected, going to a waiting page until the post-process routines apply a workflow transition    | ||||
| ### Fixed | ||||
| * ([#426](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/426)) Increased the number of required characters when setting a new password in Chill from 9 to 14 - GDPR compliance    | ||||
| * Fix permissions on storedObject which are subject by a workflow    | ||||
| ### DX | ||||
| * Introduce a WaitingScreen component to display a waiting screen    | ||||
|  | ||||
| ## v4.4.2 - 2025-09-12 | ||||
| ### Fixed | ||||
| * Fix document generation and workflow generation do not work on accompanying period work documents    | ||||
|  | ||||
| ## v4.4.1 - 2025-09-11 | ||||
| ### Fixed | ||||
| * fix translations in duplicate evaluation document modal and realign close modal button    | ||||
|  | ||||
| ## v4.4.0 - 2025-09-11 | ||||
| ### Feature | ||||
| * ([#359](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/359)) Allow the merge of two accompanying period works    | ||||
| * ([#369](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/369)) Duplication of a document to another accompanying period work evaluation    | ||||
| * ([#359](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/359)) Fusion of two accompanying period works    | ||||
| ### Fixed | ||||
| * Fix display of 'duplicate' and 'merge' buttons in CRUD templates    | ||||
| * Fix saving notification preferences in user's profile    | ||||
|  | ||||
| ## v4.3.0 - 2025-09-08 | ||||
| ### Feature | ||||
| * ([#409](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/409)) Add 45 and 60 min calendar ranges    | ||||
| * Add a command to generate a list of permissions    | ||||
| * ([#412](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/412)) Add an absence end date    | ||||
|  | ||||
|   **Schema Change**: Add columns or tables | ||||
| ### Fixed | ||||
| * fix date formatting in calendar range display    | ||||
| * Change route URL to avoid clash with person duplicate controller method    | ||||
|  | ||||
| ## v4.2.1 - 2025-09-03 | ||||
| ### Fixed | ||||
| * Fix exports to work with DirectExportInterface    | ||||
| ### DX | ||||
| * Improve error message when a stored object cannot be written on local disk | ||||
|     | ||||
|  | ||||
| ## v4.2.0 - 2025-09-02 | ||||
| ### Feature | ||||
| * ([#64](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/64)) Add external identifier for a Person | ||||
|  | ||||
|   **Schema Change**: Add columns or tables | ||||
| * ([#330](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/330) Allow users to choose for which notifications they want to receive an email | ||||
| ### Fixed | ||||
| * ([#422](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/422)) Fixed html layout of pages for recovering password | ||||
| * Fix typo in 'uncheckAll' script for centers selection | ||||
| * Fix incorrect parameter name in event details link | ||||
|  | ||||
| ## v4.1.0 - 2025-08-26 | ||||
| ### Feature | ||||
| * ([#400](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/400)) Add filter to social actions list to filter out actions where current user intervenes    | ||||
| * ([#399](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/399)) Show filters on list pages unfolded by default    | ||||
| * Expansion of event module with new fields in the creation form: thematic, internal/external animator, responsable, and budget elements. Filtering options in the event list + adapted exports    | ||||
|  | ||||
|   **Schema Change**: Add columns or tables | ||||
| ### Fixed | ||||
| * ([#382](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/382)) adjust display logic for accompanying period dates, include closing date if period is closed.    | ||||
| * ([#384](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/384)) add min and step attributes to integer field in DateIntervalType    | ||||
| ### UX | ||||
| * Limit display of participations in event list    | ||||
|  | ||||
| ## v4.0.2 - 2025-07-09 | ||||
| ### Fixed | ||||
| * Fix add missing translation    | ||||
| * Fix the transfer of evaluations and documents during of accompanyingperiodwork    | ||||
|  | ||||
| ## v4.0.1 - 2025-07-08 | ||||
| ### Fixed | ||||
| * Fix package.json for compilation | ||||
|     | ||||
|  | ||||
| ## v4.0.0 - 2025-07-08 | ||||
| ### Feature | ||||
| * ([#359](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/359)) Allow the merge of two accompanying period works | ||||
| ### Fixed | ||||
| * ([#390](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/390)) Display the list of participant in the results, even if there is only one participant and that the search result display the requestor | ||||
| * Fix admin entity edit actions for event admin entities and activity reason (category) entities | ||||
| * Fix translations for social action fields in admin form: results, goals, evaluations | ||||
| ### DX | ||||
| * Rewrite exports to run them asynchronously | ||||
|  | ||||
|   **Schema Change**: Add columns or tables | ||||
| * Allow TranslatableMessage in flash messages | ||||
| ### UX | ||||
| * Improve labeling of fields in person resource creation form | ||||
|  | ||||
|  | ||||
| **Release notes** | ||||
|  | ||||
| - Add new methods to serialize data using the rector rule | ||||
| - Remove all references to the Request in filters, aggregators, filters. Actually, the most frequent occurence is `$security->getUser()`. | ||||
| - Refactor manually the initializeQuery method | ||||
| - Remove the injection of ExportManager into the constructor of each export element: | ||||
|  | ||||
|   ```diff | ||||
|  | ||||
|   - class MyFormatter implements FormatterInterface | ||||
|   + class MyFormatter implements FormatterInterface, \Chill\MainBundle\Export\ExportManagerAwareInterface | ||||
|   { | ||||
|   +    use \Chill\MainBundle\Export\Helper\ExportManagerAwareTrait; | ||||
|  | ||||
|   -    public function __construct(private ExportManager $exportmanager) {} | ||||
|  | ||||
|        public function MyMethod(): void | ||||
|        { | ||||
|   -          $this->exportManager->getFilter('alias'); | ||||
|   +          $this->getExportManager()->getFilter('alias'); | ||||
|        } | ||||
|   } | ||||
|   ``` | ||||
| - configure messenger to handle export in a queue: | ||||
|  | ||||
| ```diff | ||||
| # config/packages/messenger.yaml | ||||
| framework: | ||||
|     messenger: | ||||
|         routing: | ||||
| +            'Chill\MainBundle\Export\Messenger\ExportRequestGenerationMessage': priority | ||||
| ``` | ||||
|  | ||||
| - add missing methods to exports, aggregators, filters, formatter: | ||||
|  | ||||
|   ```php | ||||
|   public function normalizeFormData(array $formData): array; | ||||
|  | ||||
|   public function denormalizeFormData(array $formData, int $fromVersion): array; | ||||
|   ``` | ||||
|  | ||||
|   There are rector rules to generate those methods: | ||||
|  | ||||
|   - `Chill\Utils\Rector\Rector\ChillBundleAddNormalizationMethodsOnExportRector` | ||||
|  | ||||
|   See: | ||||
|  | ||||
|   ```php | ||||
|   // upgrade chill exports | ||||
|   $rectorConfig->rules([\Chill\Utils\Rector\Rector\ChillBundleAddNormalizationMethodsOnExportRector::class]); | ||||
|   ``` | ||||
|  | ||||
|   This rule will create most of the work necessary, but some manuals changes are still necessary: | ||||
|  | ||||
|   - we must set manually the correct repository for method `denormalizeDoctrineEntity`; | ||||
|   - when the form data contains some entities, and the form type is not one of EntityType::class, PickUserDynamicType::class, PickUserLocationType::class, PickThirdpartyDynamicType::class, Select2CountryType::class, then we must handle the normalization manually (using the `\Chill\MainBundle\Export\ExportDataNormalizerTrait`) | ||||
|  | ||||
|  | ||||
|  | ||||
| ## v3.12.1 - 2025-06-30 | ||||
| ### Fixed | ||||
| * Fix loading of the list of documents    | ||||
|  | ||||
| ## v3.12.0 - 2025-06-30 | ||||
| ### Feature | ||||
| * ([#377](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/377)) Add the document file name to the document title when a user upload a document, unless there is already a document title.    | ||||
| * Add desactivation date for social action and issue csv export    | ||||
| * Add Emoji and Fullscreen feature to ckeditor configuration    | ||||
| * ([#321](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/321)) Create editor which allow us to toggle between rich and simple text editor    | ||||
| * Do not remove workflow which are automatically canceled after staling for more than 30 days    | ||||
| ### Fixed | ||||
| * ([#376](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/376)) trying to prevent bug of typeerror in doc-history + improved display of document history    | ||||
| * ([#381](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/381)) Display previous participation in acc course work even if the person has left the acc course    | ||||
| * ([#372](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/372)) Fix display of text in calendar events    | ||||
| * Add missing translation for user_group.no_user_groups    | ||||
| * Fix admin entity edit actions for event admin entities and activity reason (category) entities    | ||||
| * ([#392](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/392)) Allow null and cast as string to setContent method for NewsItem | ||||
|     | ||||
| * ([#393](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/393)) Doc Generation: the "dump only" method send the document as an email attachment.    | ||||
| ### DX | ||||
| * ([#352](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/352)) Remove dead code for wopi-link module    | ||||
| * Replace library node-sass by sass, and upgrade bootstrap to version 5.3 (yarn upgrade / install is required)    | ||||
| ### UX | ||||
| * ([#374](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/374)) Remove default filter in_progress for the page 'my tasks'; Allows for new tasks to be displayed upon opening of the page    | ||||
| * Improve labeling of fields in person resource creation form    | ||||
|  | ||||
| ## v3.11.0 - 2025-04-17 | ||||
| ### Feature | ||||
| * ([#365](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/365)) Add counters of actions and activities, with 2 boxes to (1) show the number of active actions on total actions and (2) show the number of activities in a accompanying period, and pills in menus for showing the number of active actions and the number of activities. | ||||
| * ([#364](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/364)) Added a second phone number "telephone2" to the thirdParty entity. Adapted twig templates and vuejs apps to handle this phone number | ||||
|  | ||||
|   **Schema Change**: Add columns or tables | ||||
| * Signature: add a button to go directly to the signature zone, even if there is only one | ||||
| ### Fixed | ||||
| * Fixed wrong translations in the on-the-fly for creation of thirdParty | ||||
| * Fixed update of phone number in on-the-fly edition of thirdParty | ||||
| * Fixed closing of modal when editing thirdParty in accompanying course works | ||||
| * Shorten the delay between two execution of AccompanyingPeriodStepChangeCronjob, to ensure at least one execution in a day | ||||
| * ([#102](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/102)) Fix display of title in document list | ||||
| * When cleaning the old stored object versions, do not throw an error if the stored object is not found on disk | ||||
| * Add consistent log prefix and key to logs when stale workflows are automatically canceled | ||||
| * ([#380](https://gitlab.com/Chill-Projet/chill-bundles/-/issues/380)) Remove the "not null" validation constraint on recently added properties on HouseholdComposition | ||||
|  | ||||
| ### DX | ||||
| * Add new chill-col style for displaying title and aside in a flex table | ||||
|  | ||||
| ## v3.10.3 - 2025-03-18 | ||||
| ### DX | ||||
| * Eslint fixes    | ||||
|  | ||||
| ## v3.10.2 - 2025-03-17 | ||||
| ### Fixed | ||||
| * Replace a ts-expect-error with a ts-ignore    | ||||
|   | ||||
							
								
								
									
										121
									
								
								composer.json
									
									
									
									
									
								
							
							
						
						
									
										121
									
								
								composer.json
									
									
									
									
									
								
							| @@ -8,7 +8,7 @@ | ||||
|         "social worker" | ||||
|     ], | ||||
|     "require": { | ||||
|         "php": "^8.2", | ||||
|         "php": "^8.3", | ||||
|         "ext-dom": "*", | ||||
|         "ext-json": "*", | ||||
|         "ext-openssl": "*", | ||||
| @@ -19,10 +19,10 @@ | ||||
|         "doctrine/data-fixtures": "^1.8", | ||||
|         "doctrine/doctrine-bundle": "^2.1", | ||||
|         "doctrine/doctrine-migrations-bundle": "^3.0", | ||||
|         "doctrine/orm": "^2.13.0", | ||||
|         "doctrine/orm": "^3.5.2", | ||||
|         "erusev/parsedown": "^1.7", | ||||
|         "knplabs/knp-menu-bundle": "^3.0", | ||||
|         "knplabs/knp-time-bundle": "^1.12", | ||||
|         "knplabs/knp-time-bundle": "^2.4", | ||||
|         "knpuniversity/oauth2-client-bundle": "^2.10", | ||||
|         "league/csv": "^9.7.1", | ||||
|         "lexik/jwt-authentication-bundle": "^2.16", | ||||
| @@ -32,54 +32,53 @@ | ||||
|         "ovh/ovh": "^3.0", | ||||
|         "phpoffice/phpspreadsheet": "^1.16", | ||||
|         "ramsey/uuid-doctrine": "^1.7", | ||||
|         "sensio/framework-extra-bundle": "^5.5", | ||||
|         "smalot/pdfparser": "^2.10", | ||||
|         "spomky-labs/base64url": "^2.0", | ||||
|         "symfony/asset": "^5.4", | ||||
|         "symfony/browser-kit": "^5.4", | ||||
|         "symfony/cache": "^5.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/event-dispatcher-contracts": "^2.4", | ||||
|         "symfony/expression-language": "^5.4", | ||||
|         "symfony/filesystem": "^5.4", | ||||
|         "symfony/finder": "^5.4", | ||||
|         "symfony/form": "^5.4", | ||||
|         "symfony/framework-bundle": "^5.4", | ||||
|         "symfony/http-client": "^5.4", | ||||
|         "symfony/http-foundation": "^5.4", | ||||
|         "symfony/intl": "^5.4", | ||||
|         "symfony/mailer": "^5.4", | ||||
|         "symfony/messenger": "^5.4", | ||||
|         "symfony/mime": "^5.4", | ||||
|         "symfony/amqp-messenger": "^7.3", | ||||
|         "symfony/asset": "^7.2", | ||||
|         "symfony/browser-kit": "^7.2", | ||||
|         "symfony/cache": "^7.2", | ||||
|         "symfony/clock": "^7.2", | ||||
|         "symfony/config": "^7.2", | ||||
|         "symfony/console": "^7.2", | ||||
|         "symfony/css-selector": "^7.2", | ||||
|         "symfony/dom-crawler": "^7.2", | ||||
|         "symfony/error-handler": "^7.2", | ||||
|         "symfony/event-dispatcher": "^7.2", | ||||
|         "symfony/event-dispatcher-contracts": "^3.0", | ||||
|         "symfony/expression-language": "^7.2", | ||||
|         "symfony/filesystem": "^7.2", | ||||
|         "symfony/finder": "^7.2", | ||||
|         "symfony/form": "^7.2", | ||||
|         "symfony/framework-bundle": "^7.2", | ||||
|         "symfony/http-client": "^7.2", | ||||
|         "symfony/http-foundation": "^7.2", | ||||
|         "symfony/intl": "^7.2", | ||||
|         "symfony/mailer": "^7.2", | ||||
|         "symfony/messenger": "^7.2", | ||||
|         "symfony/mime": "^7.2", | ||||
|         "symfony/monolog-bundle": "^3.5", | ||||
|         "symfony/notifier": "^5.4", | ||||
|         "symfony/options-resolver": "^5.4", | ||||
|         "symfony/ovh-cloud-notifier": "^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/notifier": "^7.2", | ||||
|         "symfony/options-resolver": "^7.2", | ||||
|         "symfony/ovh-cloud-notifier": "^7.2", | ||||
|         "symfony/polyfill-intl-messageformatter": "^1.32", | ||||
|         "symfony/process": "^7.2", | ||||
|         "symfony/property-access": "^7.2", | ||||
|         "symfony/property-info": "^7.2", | ||||
|         "symfony/routing": "^7.2", | ||||
|         "symfony/security-bundle": "^7.3", | ||||
|         "symfony/security-core": "^7.2", | ||||
|         "symfony/security-csrf": "^7.2", | ||||
|         "symfony/security-http": "^7.2", | ||||
|         "symfony/serializer": "^7.2", | ||||
|         "symfony/string": "^7.2", | ||||
|         "symfony/translation": "^7.3", | ||||
|         "symfony/twig-bundle": "^7.3", | ||||
|         "symfony/ux-translator": "^2.22", | ||||
|         "symfony/validator": "^5.4", | ||||
|         "symfony/webpack-encore-bundle": "^1.11", | ||||
|         "symfony/workflow": "^5.4", | ||||
|         "symfony/yaml": "^5.4", | ||||
|         "symfony/validator": "^7.2", | ||||
|         "symfony/webpack-encore-bundle": "^2.0", | ||||
|         "symfony/workflow": "^7.2", | ||||
|         "symfony/yaml": "^7.2", | ||||
|         "thenetworg/oauth2-azure": "^2.0", | ||||
|         "twig/extra-bundle": "^3.0", | ||||
|         "twig/intl-extra": "^3.0", | ||||
| @@ -90,27 +89,27 @@ | ||||
|     "require-dev": { | ||||
|         "doctrine/doctrine-fixtures-bundle": "^3.3", | ||||
|         "fakerphp/faker": "^1.13", | ||||
|         "friendsofphp/php-cs-fixer": "3.65.0", | ||||
|         "jangregor/phpstan-prophecy": "^1.0", | ||||
|         "friendsofphp/php-cs-fixer": "3.88.2", | ||||
|         "jangregor/phpstan-prophecy": "^2.2", | ||||
|         "nelmio/alice": "^3.8", | ||||
|         "nikic/php-parser": "^4.15", | ||||
|         "phpspec/prophecy-phpunit": "^2.0", | ||||
|         "phpstan/extension-installer": "^1.2", | ||||
|         "phpstan/phpstan": "^1.9", | ||||
|         "phpstan/phpstan-deprecation-rules": "^1.1", | ||||
|         "phpstan/phpstan-strict-rules": "^1.0", | ||||
|         "phpstan/phpstan": "^2.1.30", | ||||
|         "phpstan/phpstan-deprecation-rules": "^2.0", | ||||
|         "phpstan/phpstan-doctrine": "^2.0", | ||||
|         "phpstan/phpstan-strict-rules": "^2.0.7", | ||||
|         "phpstan/phpstan-symfony": "^2.0", | ||||
|         "phpunit/phpunit": "^10.5.24", | ||||
|         "rector/rector": "^1.1.0", | ||||
|         "symfony/amqp-messenger": "^5.4.45", | ||||
|         "symfony/debug-bundle": "^5.4", | ||||
|         "symfony/dotenv": "^5.4", | ||||
|         "rector/rector": "^2.2", | ||||
|         "symfony/debug-bundle": "^7.2", | ||||
|         "symfony/dotenv": "^7.2", | ||||
|         "symfony/flex": "^2.4", | ||||
|         "symfony/maker-bundle": "^1.20", | ||||
|         "symfony/phpunit-bridge": "^7.1", | ||||
|         "symfony/runtime": "^5.4", | ||||
|         "symfony/stopwatch": "^5.4", | ||||
|         "symfony/var-dumper": "^5.4", | ||||
|         "symfony/web-profiler-bundle": "^5.4" | ||||
|         "symfony/runtime": "^7.2", | ||||
|         "symfony/stopwatch": "^7.2", | ||||
|         "symfony/var-dumper": "^7.2", | ||||
|         "symfony/web-profiler-bundle": "^7.2" | ||||
|     }, | ||||
|     "conflict": { | ||||
|         "symfony/symfony": "*" | ||||
|   | ||||
| @@ -14,7 +14,6 @@ return [ | ||||
|     Lexik\Bundle\JWTAuthenticationBundle\LexikJWTAuthenticationBundle::class => ['all' => true], | ||||
|     Nelmio\Alice\Bridge\Symfony\NelmioAliceBundle::class => ['dev' => true, 'test' => true], | ||||
|     Misd\PhoneNumberBundle\MisdPhoneNumberBundle::class => ['all' => true], | ||||
|     Sensio\Bundle\FrameworkExtraBundle\SensioFrameworkExtraBundle::class => ['all' => true], | ||||
|     Symfony\Bundle\DebugBundle\DebugBundle::class => ['dev' => true], | ||||
|     Symfony\Bundle\MakerBundle\MakerBundle::class => ['dev' => true], | ||||
|     Symfony\Bundle\MonologBundle\MonologBundle::class => ['all' => true], | ||||
|   | ||||
| @@ -17,6 +17,7 @@ chill_main: | ||||
|     acl: | ||||
|         form_show_scopes: true | ||||
|         form_show_centers: true | ||||
|         filter_stats_by_center: true | ||||
|     access_global_history: false | ||||
|     access_user_change_password: true | ||||
|     access_permissions_group_list: true | ||||
|   | ||||
							
								
								
									
										11
									
								
								config/packages/csrf.yaml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										11
									
								
								config/packages/csrf.yaml
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,11 @@ | ||||
| # Enable stateless CSRF protection for forms and logins/logouts | ||||
| framework: | ||||
|     form: | ||||
|         csrf_protection: | ||||
|             token_id: submit | ||||
|  | ||||
|     csrf_protection: | ||||
|         stateless_token_ids: | ||||
|             - submit | ||||
|             - authenticate | ||||
|             - logout | ||||
| @@ -7,6 +7,7 @@ doctrine: | ||||
|         #server_version: '16' | ||||
|         use_savepoints: true | ||||
|     orm: | ||||
|         enable_lazy_ghost_objects: true | ||||
|         auto_generate_proxy_classes: true | ||||
|         naming_strategy: doctrine.orm.naming_strategy.default | ||||
|         auto_mapping: true | ||||
|   | ||||
| @@ -4,6 +4,16 @@ framework: | ||||
|     #csrf_protection: true | ||||
|     http_method_override: false | ||||
|  | ||||
|  | ||||
|     # Enable EntityValueResolver for automatic entity injection in controllers | ||||
|     # This replaces the functionality previously provided by SensioFrameworkExtraBundle | ||||
|     http_client: | ||||
|         enabled: true | ||||
|  | ||||
|     request: | ||||
|         formats: | ||||
|             json: ['application/json'] | ||||
|  | ||||
|     # Enables session support. Note that the session will ONLY be started if you read or write from it. | ||||
|     # Remove or comment this section to explicitly disable session support. | ||||
|     session: | ||||
|   | ||||
| @@ -1,11 +1,8 @@ | ||||
| framework: | ||||
|     messenger: | ||||
|         # reset services after consuming messages | ||||
|         reset_on_message: true | ||||
|  | ||||
|         # Uncomment this (and the failed transport below) to send failed messages to this transport for later handling. | ||||
|         failure_transport: failed | ||||
|  | ||||
|         transports: | ||||
|             # those transports are added by chill-bundles recipes | ||||
|             sync: sync:// | ||||
| @@ -19,7 +16,9 @@ framework: | ||||
|                         async: ~ | ||||
|                     auto_setup: true | ||||
|  | ||||
|             priority: '%env(MESSENGER_TRANSPORT_DSN)%/priority' | ||||
|             priority: | ||||
|                 dsn: '%env(MESSENGER_TRANSPORT_DSN)%/priority' | ||||
|  | ||||
|             # end of transports added by chill-bundles recipes | ||||
|             # https://symfony.com/doc/current/messenger.html#transport-configuration | ||||
|             failed: 'doctrine://default?queue_name=failed' | ||||
| @@ -61,6 +60,10 @@ framework: | ||||
|             'Chill\MainBundle\Workflow\Messenger\PostSignatureStateChangeMessage': priority | ||||
|             'Chill\MainBundle\Workflow\Messenger\PostPublicViewMessage': async | ||||
|             'Chill\MainBundle\Service\Workflow\CancelStaleWorkflowMessage': async | ||||
|             'Chill\MainBundle\Notification\Email\NotificationEmailMessages\SendImmediateNotificationEmailMessage': async | ||||
|             'Chill\MainBundle\Export\Messenger\ExportRequestGenerationMessage': priority | ||||
|             'Chill\MainBundle\Export\Messenger\RemoveExportGenerationMessage': async | ||||
|             'Chill\MainBundle\Notification\Email\NotificationEmailMessages\ScheduleDailyNotificationDigestMessage': async | ||||
|             # end of routes added by chill-bundles recipes | ||||
|             # Route your messages to the transports | ||||
|             # 'App\Message\YourMessage': async | ||||
|   | ||||
| @@ -1,8 +1,8 @@ | ||||
| framework: | ||||
|     notifier: | ||||
|         texter_transports: | ||||
|             #ovhcloud: '%env(OVHCLOUD_DSN)%' | ||||
|             #ovhcloud: '%env(SHORT_MESSAGE_DSN)%' | ||||
|         #ovhcloud: '%env(OVHCLOUD_DSN)%' | ||||
|         #ovhcloud: '%env(SHORT_MESSAGE_DSN)%' | ||||
|         channel_policy: | ||||
|             # use chat/slack, chat/telegram, sms/twilio or sms/nexmo | ||||
|             urgent: ['email'] | ||||
|   | ||||
							
								
								
									
										3
									
								
								config/packages/property_info.yaml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										3
									
								
								config/packages/property_info.yaml
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,3 @@ | ||||
| framework: | ||||
|     property_info: | ||||
|         enabled: true | ||||
| @@ -1,5 +1,4 @@ | ||||
| security: | ||||
|     enable_authenticator_manager: true | ||||
|     # https://symfony.com/doc/current/security.html#registering-the-user-hashing-passwords | ||||
|     password_hashers: | ||||
|         Symfony\Component\Security\Core\User\PasswordAuthenticatedUserInterface: 'auto' | ||||
| @@ -28,16 +27,13 @@ security: | ||||
|             pattern: ^/wopi | ||||
|             provider: chill_chain_provider | ||||
|             stateless: true | ||||
|             guard: | ||||
|                 authenticators: | ||||
|                     - lexik_jwt_authentication.jwt_token_authenticator | ||||
|             jwt: ~ | ||||
|         dav: | ||||
|             pattern: ^/dav | ||||
|             provider: chill_chain_provider | ||||
|             stateless: true | ||||
|             guard: | ||||
|                 authenticators: | ||||
|                     - Chill\DocStoreBundle\Security\Guard\JWTOnDavUrlAuthenticator | ||||
|             custom_authenticator: | ||||
|                 - Chill\DocStoreBundle\Security\Authenticator\JWTOnDavUrlAuthenticator | ||||
|         # this firewall is the main firewall for chill. It should be the last one in the stack, | ||||
|         # unless you have specific needs | ||||
|         chill_main: | ||||
| @@ -63,7 +59,7 @@ security: | ||||
|     # Note: Only the *first* access control that matches will be used | ||||
|     access_control: | ||||
|         # those lines are added by chill-bundles recipes, and are requires to make chill-bundles working | ||||
|         - { path: ^/(login|logout), roles: IS_AUTHENTICATED_ANONYMOUSLY } | ||||
|         - { path: ^/(login|logout), roles: PUBLIC_ACCESS } | ||||
|         - { path: ^/public, roles: IS_AUTHENTICATED_ANONYMOUSLY } | ||||
|         - { path: ^/wopi, roles: IS_AUTHENTICATED_FULLY } | ||||
|         # access for homepage, the homepage redirect admin to admin section | ||||
|   | ||||
| @@ -1,3 +0,0 @@ | ||||
| sensio_framework_extra: | ||||
|     router: | ||||
|         annotations: false | ||||
							
								
								
									
										4
									
								
								config/packages/serializer.yaml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										4
									
								
								config/packages/serializer.yaml
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,4 @@ | ||||
| framework: | ||||
|     serializer: | ||||
|         enabled: true | ||||
|         enable_attributes: true | ||||
| @@ -7,7 +7,8 @@ framework: | ||||
|                         - Chill\PersonBundle\Entity\AccompanyingPeriod\AccompanyingPeriodWorkEvaluationDocument | ||||
|                         - Chill\PersonBundle\Entity\AccompanyingPeriod\AccompanyingPeriodWork | ||||
|                         - Chill\DocStoreBundle\Entity\AccompanyingCourseDocument | ||||
|                 label: | ||||
|                 label: Suivi | ||||
|                 translated_labels: | ||||
|                     fr: 'Suivi' | ||||
|             support_strategy: Chill\MainBundle\Workflow\RelatedEntityWorkflowSupportsStrategy | ||||
|             marking_store: | ||||
| @@ -16,11 +17,13 @@ framework: | ||||
|             places: | ||||
|                 initial: | ||||
|                     metadata: | ||||
|                         label: | ||||
|                         label: Étape initiale | ||||
|                         translated_labels: | ||||
|                             fr: Étape initiale | ||||
|                 attenteModification: | ||||
|                     metadata: | ||||
|                         label: | ||||
|                         label: En attente de modification du document | ||||
|                         translated_labels: | ||||
|                             fr: En attente de modification du document | ||||
|                         validationFilterInputLabels: | ||||
|                             forward: {fr: Modification effectuée} | ||||
| @@ -28,7 +31,8 @@ framework: | ||||
|                             neutral: {fr: Autre} | ||||
|                 attenteMiseEnForme: | ||||
|                     metadata: | ||||
|                         label: | ||||
|                         label: En attente de mise en forme | ||||
|                         translated_labels: | ||||
|                             fr: En attente de mise en forme | ||||
|                         validationFilterInputLabels: | ||||
|                             forward: {fr: Mise en forme terminée} | ||||
| @@ -36,7 +40,8 @@ framework: | ||||
|                             neutral: {fr: Autre} | ||||
|                 attenteVisa: | ||||
|                     metadata: | ||||
|                         label: | ||||
|                         label: En attente de visa | ||||
|                         translated_labels: | ||||
|                             fr: En attente de visa | ||||
|                         validationFilterInputLabels: | ||||
|                             forward: {fr: Visa accordé} | ||||
| @@ -47,7 +52,8 @@ framework: | ||||
|                         isSignature: ['user', 'person'] | ||||
|                         onSignatureCompleted: | ||||
|                             transitionName: signatureApplied | ||||
|                         label: | ||||
|                         label: En attente de signature | ||||
|                         translated_labels: | ||||
|                             fr: En attente de signature | ||||
|                         validationFilterInputLabels: | ||||
|                             forward: {fr: Signature accordée} | ||||
| @@ -55,7 +61,8 @@ framework: | ||||
|                             neutral: {fr: Autre} | ||||
|                 postSignature: | ||||
|                     metadata: | ||||
|                         label: | ||||
|                         label: Signatures traitées | ||||
|                         translated_labels: | ||||
|                             fr: Signatures traitées | ||||
|                         validationFilterInputLabels: | ||||
|                             forward: {fr: Poursuite du traitement} | ||||
| @@ -63,7 +70,8 @@ framework: | ||||
|                             neutral: {fr: Autre} | ||||
|                 attenteTraitement: | ||||
|                     metadata: | ||||
|                         label: | ||||
|                         label: En attente de traitement | ||||
|                         translated_labels: | ||||
|                             fr: En attente de traitement | ||||
|                         validationFilterInputLabels: | ||||
|                             forward: {fr: Traitement terminé favorablement} | ||||
| @@ -71,7 +79,8 @@ framework: | ||||
|                             neutral: {fr: Autre} | ||||
|                 attenteEnvoi: | ||||
|                     metadata: | ||||
|                         label: | ||||
|                         label: En attente d'envoi | ||||
|                         translated_labels: | ||||
|                             fr: En attente d'envoi | ||||
|                         validationFilterInputLabels: | ||||
|                             forward: {fr: Document envoyé} | ||||
| @@ -79,7 +88,8 @@ framework: | ||||
|                             neutral: {fr: Autre} | ||||
|                 attenteValidationMiseEnForme: | ||||
|                     metadata: | ||||
|                         label: | ||||
|                         label: En attente de validation de la mise en forme | ||||
|                         translated_labels: | ||||
|                             fr: En attente de validation de la mise en forme | ||||
|                         validationFilterInputLabels: | ||||
|                             forward: {fr: Validation de la mise en forme} | ||||
| @@ -89,7 +99,8 @@ framework: | ||||
|                     metadata: | ||||
|                         isSentExternal: true | ||||
|                         onExternalView: clotureApresLectureEnvoiExterne | ||||
|                         label: | ||||
|                         label: En attente d'ouverture par un destinataire externe | ||||
|                         translated_labels: | ||||
|                             fr: En attente d'ouverture par un destinataire externe | ||||
|                         validationFilterInputLabels: | ||||
|                             forward: {fr: Document reçu par un destinataire externe} | ||||
| @@ -99,13 +110,15 @@ framework: | ||||
|                     metadata: | ||||
|                         isFinal: true | ||||
|                         isFinalPositive: false | ||||
|                         label: | ||||
|                         label: Annulé | ||||
|                         translated_labels: | ||||
|                             fr: Annulé | ||||
|                 final: | ||||
|                     metadata: | ||||
|                         isFinal: true | ||||
|                         isFinalPositive: true | ||||
|                         label: | ||||
|                         label: Finalisé | ||||
|                         translated_labels: | ||||
|                             fr: Finalisé | ||||
|             transitions: | ||||
|                 # transition qui avancent | ||||
| @@ -114,7 +127,8 @@ framework: | ||||
|                         - initial | ||||
|                     to: attenteModification | ||||
|                     metadata: | ||||
|                         label: | ||||
|                         label: Demande de modification du document | ||||
|                         translated_labels: | ||||
|                             fr: Demande de modification du document | ||||
|                         isForward: true | ||||
|                 demandeMiseEnForme: | ||||
| @@ -123,7 +137,8 @@ framework: | ||||
|                         - attenteModification | ||||
|                     to: attenteMiseEnForme | ||||
|                     metadata: | ||||
|                         label: | ||||
|                         label: Demande de mise en forme | ||||
|                         translated_labels: | ||||
|                             fr: Demande de mise en forme | ||||
|                         isForward: true | ||||
|                 demandeValidationMiseEnForme: | ||||
| @@ -131,7 +146,8 @@ framework: | ||||
|                         - attenteMiseEnForme | ||||
|                     to: attenteValidationMiseEnForme | ||||
|                     metadata: | ||||
|                         label: | ||||
|                         label: Demande de validation de la mise en forme | ||||
|                         translated_labels: | ||||
|                             fr: Demande de validation de la mise en forme | ||||
|                         isForward: true | ||||
|                 demandeVisa: | ||||
| @@ -144,7 +160,8 @@ framework: | ||||
|                         - attenteTraitement | ||||
|                     to: attenteVisa | ||||
|                     metadata: | ||||
|                         label: | ||||
|                         label: Demande de visa | ||||
|                         translated_labels: | ||||
|                             fr: Demande de visa | ||||
|                         isForward: true | ||||
|                 demandeSignature: | ||||
| @@ -157,14 +174,18 @@ framework: | ||||
|                         - attenteTraitement | ||||
|                     to: attenteSignature | ||||
|                     metadata: | ||||
|                         label: {fr: Demande de signature} | ||||
|                         label: Demande de signature | ||||
|                         translated_labels: | ||||
|                             fr: Demande de signature | ||||
|                         isForward: true | ||||
|                 signatureApplied: | ||||
|                     from: | ||||
|                         - attenteSignature | ||||
|                     to: postSignature | ||||
|                     metadata: | ||||
|                         label: {fr: Signatures appliquées} | ||||
|                         label: Signatures appliquées | ||||
|                         translated_labels: | ||||
|                             fr: Signatures appliquées | ||||
|                         isForward: true | ||||
|                         transitionGuard: 'system' # can be 'system+only-dest' or 'only-dest' (only-dest is default) | ||||
|                 demandeTraitement: | ||||
| @@ -177,7 +198,9 @@ framework: | ||||
|                         - postSignature | ||||
|                     to: attenteTraitement | ||||
|                     metadata: | ||||
|                         label: {fr: Demande de traitement} | ||||
|                         label: Demande de traitement | ||||
|                         translated_labels: | ||||
|                             fr: Demande de traitement | ||||
|                         isForward: true | ||||
|                 demandeEnvoi: | ||||
|                     from: | ||||
| @@ -190,7 +213,9 @@ framework: | ||||
|                         - attenteTraitement | ||||
|                     to: attenteEnvoi | ||||
|                     metadata: | ||||
|                         label: {fr: Demande d'envoi} | ||||
|                         label: Demande d'envoi | ||||
|                         translated_labels: | ||||
|                             fr: Demande d'envoi | ||||
|                         isForward: true | ||||
|                 demandeEnvoiExterne: | ||||
|                     from: | ||||
| @@ -203,7 +228,9 @@ framework: | ||||
|                         - attenteTraitement | ||||
|                     to: attenteReceptionExternal | ||||
|                     metadata: | ||||
|                         label: {fr: Envoi sécurisé par courrier électronique} | ||||
|                         label: Envoi sécurisé par courrier électronique | ||||
|                         translated_labels: | ||||
|                             fr: Envoi sécurisé par courrier électronique | ||||
|                         isForward: true | ||||
|                 clotureApresLectureEnvoiExterne: | ||||
|                     from: | ||||
| @@ -213,20 +240,25 @@ framework: | ||||
|                     metadata: | ||||
|                         transitionGuard: system | ||||
|                         isForward:  true | ||||
|                         label: {fr: Consultation de l'envoi sécurisé} | ||||
|                         label: Consultation de l'envoi sécurisé | ||||
|                         translated_labels: | ||||
|                             fr: Consultation de l'envoi sécurisé | ||||
|                 annulation: | ||||
|                     from: | ||||
|                         - initial | ||||
|                         - attenteModification | ||||
|                         - attenteMiseEnForme | ||||
|                         - attenteValidationMiseEnForme | ||||
|                         - attenteSignature | ||||
|                         - attenteVisa | ||||
|                         - postSignature | ||||
|                         - attenteTraitement | ||||
|                         - attenteEnvoi | ||||
|                     to: annule | ||||
|                     metadata: | ||||
|                         label: {fr: Annulation} | ||||
|                         label: Annulation | ||||
|                         translated_labels: | ||||
|                             fr: Annulation | ||||
|                         isForward: false | ||||
|                         transitionGuard: 'system+only-dest' # can be 'system+only-dest' or 'only-dest' (only-dest is default) | ||||
|                 # transitions qui répètent l'étape | ||||
| @@ -236,27 +268,35 @@ framework: | ||||
|                         - attenteValidationMiseEnForme | ||||
|                     to: attenteMiseEnForme | ||||
|                     metadata: | ||||
|                         label: {fr: Demande de mise en forme supplémentaire} | ||||
|                         label: Demande de mise en forme supplémentaire | ||||
|                         translated_labels: | ||||
|                             fr: Demande de mise en forme supplémentaire | ||||
|                 demandeVisaSupplementaire: | ||||
|                     from: | ||||
|                         - attenteVisa | ||||
|                     to: attenteVisa | ||||
|                     metadata: | ||||
|                         label: {fr: Demande de visa supplémentaire} | ||||
|                         label: Demande de visa supplémentaire | ||||
|                         translated_labels: | ||||
|                             fr: Demande de visa supplémentaire | ||||
|                         isForward: true | ||||
|                 demandeSignatureSupplementaire: | ||||
|                     from: | ||||
|                         - postSignature | ||||
|                     to: attenteSignature | ||||
|                     metadata: | ||||
|                         label: {fr: Demande de signature supplémentaire} | ||||
|                         label: Demande de signature supplémentaire | ||||
|                         translated_labels: | ||||
|                             fr: Demande de signature supplémentaire | ||||
|                         isForward: true | ||||
|                 demandeTraitementSupplementaire: | ||||
|                     from: | ||||
|                         - attenteTraitement | ||||
|                     to: attenteTraitement | ||||
|                     metadata: | ||||
|                         label: {fr: Demande de traitement supplémentaire} | ||||
|                         label: Demande de traitement supplémentaire | ||||
|                         translated_labels: | ||||
|                             fr: Demande de traitement supplémentaire | ||||
|                 # transitions qui renvoient vers une étape précédente | ||||
|                 refusEtModificationDocument: | ||||
|                     from: | ||||
| @@ -266,7 +306,8 @@ framework: | ||||
|                         - attenteEnvoi | ||||
|                     to: attenteModification | ||||
|                     metadata: | ||||
|                         label: | ||||
|                         label: Refus et demande de modification du document | ||||
|                         translated_labels: | ||||
|                             fr: Refus et demande de modification du document | ||||
|                         isForward: false | ||||
|                 refusEtDemandeMiseEnForme: | ||||
| @@ -276,7 +317,9 @@ framework: | ||||
|                         - attenteEnvoi | ||||
|                     to: attenteMiseEnForme | ||||
|                     metadata: | ||||
|                         label: {fr: Refus et demande de mise en forme} | ||||
|                         label: Refus et demande de mise en forme | ||||
|                         translated_labels: | ||||
|                             fr: Refus et demande de mise en forme | ||||
|                         isForward: false | ||||
|                 refusEtDemandeVisa: | ||||
|                     from: | ||||
| @@ -284,21 +327,27 @@ framework: | ||||
|                         - attenteEnvoi | ||||
|                     to: attenteVisa | ||||
|                     metadata: | ||||
|                         label: {fr: Refus et demande de visa} | ||||
|                         label: Refus et demande de visa | ||||
|                         translated_labels: | ||||
|                             fr: Refus et demande de visa | ||||
|                         isForward: false | ||||
|                 refusEtDemandeSignature: | ||||
|                     from: | ||||
|                         - attenteEnvoi | ||||
|                     to: attenteSignature | ||||
|                     metadata: | ||||
|                         label: {fr: Refus et demande de signature} | ||||
|                         label: Refus et demande de signature | ||||
|                         translated_labels: | ||||
|                             fr: Refus et demande de signature | ||||
|                         isForward: false | ||||
|                 refusEtDemandeTraitement: | ||||
|                     from: | ||||
|                         - attenteEnvoi | ||||
|                     to: attenteTraitement | ||||
|                     metadata: | ||||
|                         label: {fr: Refus et demande de traitement} | ||||
|                         label: Refus et demande de traitement | ||||
|                         translated_labels: | ||||
|                             fr: Refus et demande de traitement | ||||
|                         isForward: false | ||||
|                 # transition vers final | ||||
|                 initialToFinal: | ||||
| @@ -306,7 +355,9 @@ framework: | ||||
|                         - initial | ||||
|                     to: final | ||||
|                     metadata: | ||||
|                         label: {fr: Clotûre immédiate et cloture positive} | ||||
|                         label: Clotûre immédiate et cloture positive | ||||
|                         translated_labels: | ||||
|                             fr: Clotûre immédiate et cloture positive | ||||
|                         isForward: true | ||||
|                 attenteMiseEnFormeToFinal: | ||||
|                     from: | ||||
| @@ -314,33 +365,43 @@ framework: | ||||
|                         - attenteValidationMiseEnForme | ||||
|                     to: final | ||||
|                     metadata: | ||||
|                         label: {fr: Mise en forme terminée et cloture positive} | ||||
|                         label: Mise en forme terminée et cloture positive | ||||
|                         translated_labels: | ||||
|                             fr: Mise en forme terminée et cloture positive | ||||
|                         isForward: true | ||||
|                 attenteVisaToFinal: | ||||
|                     from: | ||||
|                         - attenteVisa | ||||
|                     to: final | ||||
|                     metadata: | ||||
|                         label: {fr: Accorde le visa et cloture positive} | ||||
|                         label: Accorde le visa et cloture positive | ||||
|                         translated_labels: | ||||
|                             fr: Accorde le visa et cloture positive | ||||
|                         isForward: true | ||||
|                 postSignatureToFinal: | ||||
|                     from: | ||||
|                         - postSignature | ||||
|                     to: final | ||||
|                     metadata: | ||||
|                         label: {fr: Cloture positive} | ||||
|                         label: Cloture positive | ||||
|                         translated_labels: | ||||
|                             fr: Cloture positive | ||||
|                         isForward: true | ||||
|                 attenteTraitementToFinal: | ||||
|                     from: | ||||
|                         - attenteTraitement | ||||
|                     to: final | ||||
|                     metadata: | ||||
|                         label: {fr: Traitement terminé et cloture positive} | ||||
|                         label: Traitement terminé et cloture positive | ||||
|                         translated_labels: | ||||
|                             fr: Traitement terminé et cloture positive | ||||
|                         isForward: true | ||||
|                 attenteEnvoiToFinal: | ||||
|                     from: | ||||
|                         - attenteEnvoi | ||||
|                     to: final | ||||
|                     metadata: | ||||
|                         label: {fr: Envoyé et cloture positive} | ||||
|                         label: Envoyé et cloture positive | ||||
|                         translated_labels: | ||||
|                             fr: Envoyé et cloture positive | ||||
|                         isForward: true | ||||
|   | ||||
| @@ -1,3 +0,0 @@ | ||||
| kernel: | ||||
|     resource: ../../src/app/Kernel.php | ||||
|     type: annotation | ||||
							
								
								
									
										3
									
								
								config/routes/security.yaml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										3
									
								
								config/routes/security.yaml
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,3 @@ | ||||
| _security_logout: | ||||
|     resource: security.route_loader.logout | ||||
|     type: service | ||||
| @@ -6,8 +6,20 @@ | ||||
| parameters: | ||||
|  | ||||
| services: | ||||
|     #alias to inject container into AbstractController::setContainer | ||||
|     Psr\Container\ContainerInterface: '@service_container' | ||||
|  | ||||
|     # default configuration for services in *this* file | ||||
|     _defaults: | ||||
|         autowire: true      # Automatically injects dependencies in your services. | ||||
|         autoconfigure: true # Automatically registers your services as commands, event subscribers, etc. | ||||
|  | ||||
|     # Custom entity value resolver to replace SensioFrameworkExtraBundle functionality | ||||
|     Chill\MainBundle\ArgumentResolver\EntityValueResolver: | ||||
|         tags: | ||||
|             - { name: controller.argument_value_resolver, priority: 50 } | ||||
|  | ||||
|     Chill\MainBundle\Serializer\CircularReferenceHandler: | ||||
|         public: false | ||||
|         tags: | ||||
|             - { name: 'serializer.circular_reference_handler' } | ||||
|   | ||||
| @@ -12,14 +12,16 @@ declare(strict_types=1); | ||||
| namespace Chill\PersonBundle\Export\Filter; | ||||
|  | ||||
| use Chill\MainBundle\Export\ExportElementValidatedInterface; | ||||
| use Chill\MainBundle\Export\ExportGenerationContext; | ||||
| use Chill\MainBundle\Export\FilterInterface; | ||||
| use DateTime; | ||||
| use Doctrine\ORM\Query\Expr; | ||||
| use Symfony\Component\Form\Extension\Core\Type\DateType; | ||||
| use Symfony\Component\Validator\Context\ExecutionContextInterface; | ||||
|  | ||||
| class BirthdateFilter implements ExportElementValidatedInterface, FilterInterface | ||||
| { | ||||
|     use \Chill\MainBundle\Export\ExportDataNormalizerTrait; | ||||
|  | ||||
|     // add specific role for this filter | ||||
|     public function addRole(): ?string | ||||
|     { | ||||
| @@ -28,7 +30,7 @@ class BirthdateFilter implements ExportElementValidatedInterface, FilterInterfac | ||||
|     } | ||||
|  | ||||
|     // here, we alter the query created by Export | ||||
|     public function alterQuery(\Doctrine\ORM\QueryBuilder $qb, $data) | ||||
|     public function alterQuery(\Doctrine\ORM\QueryBuilder $qb, $data, ExportGenerationContext $exportGenerationContext): void | ||||
|     { | ||||
|         $where = $qb->getDQLPart('where'); | ||||
|         // we create the clause here | ||||
| @@ -52,13 +54,13 @@ class BirthdateFilter implements ExportElementValidatedInterface, FilterInterfac | ||||
|     } | ||||
|  | ||||
|     // we give information on which type of export this filter applies | ||||
|     public function applyOn() | ||||
|     public function applyOn(): string | ||||
|     { | ||||
|         return 'person'; | ||||
|     } | ||||
|  | ||||
|     // we build a form to collect some parameters from the users | ||||
|     public function buildForm(\Symfony\Component\Form\FormBuilderInterface $builder) | ||||
|     public function buildForm(\Symfony\Component\Form\FormBuilderInterface $builder): void | ||||
|     { | ||||
|         $builder->add('date_from', DateType::class, [ | ||||
|             'label' => 'Born after this date', | ||||
| @@ -74,23 +76,39 @@ class BirthdateFilter implements ExportElementValidatedInterface, FilterInterfac | ||||
|             'format' => 'dd-MM-yyyy', | ||||
|         ]); | ||||
|     } | ||||
|  | ||||
|     public function getNormalizationVersion(): int | ||||
|     { | ||||
|         return 1; | ||||
|     } | ||||
|  | ||||
|     public function normalizeFormData(array $formData): array | ||||
|     { | ||||
|         return ['date_from' => $this->normalizeDate($formData['date_from']), 'date_to' => $this->normalizeDate($formData['date_to'])]; | ||||
|     } | ||||
|  | ||||
|     public function denormalizeFormData(array $formData, int $fromVersion): array | ||||
|     { | ||||
|         return ['date_from' => $this->denormalizeDate($formData['date_from']), 'date_to' => $this->denormalizeDate($formData['date_to'])]; | ||||
|     } | ||||
|  | ||||
|     public function getFormDefaultData(): array | ||||
|     { | ||||
|         return ['date_from' => new DateTime(), 'date_to' => new DateTime()]; | ||||
|         return ['date_from' => new \DateTime(), 'date_to' => new \DateTime()]; | ||||
|     } | ||||
|  | ||||
|     // here, we create a simple string which will describe the action of | ||||
|     // the filter in the Response | ||||
|     public function describeAction($data, $format = 'string') | ||||
|     public function describeAction($data, ExportGenerationContext $context): string|\Symfony\Contracts\Translation\TranslatableInterface|array | ||||
|     { | ||||
|         return ['Filtered by person\'s birtdate: ' | ||||
|             . 'between %date_from% and %date_to%', [ | ||||
|             .'between %date_from% and %date_to%', [ | ||||
|                 '%date_from%' => $data['date_from']->format('d-m-Y'), | ||||
|                 '%date_to%' => $data['date_to']->format('d-m-Y'), | ||||
|             ], ]; | ||||
|     } | ||||
|  | ||||
|     public function getTitle() | ||||
|     public function getTitle(): string|\Symfony\Contracts\Translation\TranslatableInterface | ||||
|     { | ||||
|         return 'Filter by person\'s birthdate'; | ||||
|     } | ||||
| @@ -99,20 +117,20 @@ class BirthdateFilter implements ExportElementValidatedInterface, FilterInterfac | ||||
|     // is executed here. This function is added by the interface | ||||
|     // `ExportElementValidatedInterface`, and can be ignore if there is | ||||
|     // no need for a validation | ||||
|     public function validateForm($data, ExecutionContextInterface $context) | ||||
|     public function validateForm($data, ExecutionContextInterface $context): void | ||||
|     { | ||||
|         $date_from = $data['date_from']; | ||||
|         $date_to = $data['date_to']; | ||||
|  | ||||
|         if (null === $date_from) { | ||||
|             $context->buildViolation('The "date from" should not be empty') | ||||
|                 //->atPath('date_from') | ||||
|                 // ->atPath('date_from') | ||||
|                 ->addViolation(); | ||||
|         } | ||||
|  | ||||
|         if (null === $date_to) { | ||||
|             $context->buildViolation('The "date to" should not be empty') | ||||
|                 //->atPath('date_to') | ||||
|                 // ->atPath('date_to') | ||||
|                 ->addViolation(); | ||||
|         } | ||||
|  | ||||
| @@ -121,7 +139,7 @@ class BirthdateFilter implements ExportElementValidatedInterface, FilterInterfac | ||||
|             && $date_from >= $date_to | ||||
|         ) { | ||||
|             $context->buildViolation('The date "date to" should be after the ' | ||||
|                 . 'date given in "date from" field') | ||||
|                 .'date given in "date from" field') | ||||
|                 ->addViolation(); | ||||
|         } | ||||
|     } | ||||
|   | ||||
| @@ -32,10 +32,22 @@ class CountPerson implements ExportInterface | ||||
|         $this->entityManager = $em; | ||||
|     } | ||||
|  | ||||
|     public function buildForm(FormBuilderInterface $builder) | ||||
|     public function buildForm(FormBuilderInterface $builder): void | ||||
|     { | ||||
|         // this export does not add any form | ||||
|     } | ||||
|     public function getNormalizationVersion(): int | ||||
|     { | ||||
|         return 1; | ||||
|     } | ||||
|     public function normalizeFormData(array $formData): array | ||||
|     { | ||||
|         return []; | ||||
|     } | ||||
|     public function denormalizeFormData(array $formData, int $fromVersion): array | ||||
|     { | ||||
|         return []; | ||||
|     } | ||||
|     public function getFormDefaultData(): array | ||||
|     { | ||||
|         return []; | ||||
| @@ -60,29 +72,29 @@ class CountPerson implements ExportInterface | ||||
|         }; | ||||
|     } | ||||
|  | ||||
|     public function getQueryKeys($data) | ||||
|     public function getQueryKeys($data): array | ||||
|     { | ||||
|         // this array match the result keys in the query. We have only | ||||
|         // one column. | ||||
|         return ['export_result']; | ||||
|     } | ||||
|  | ||||
|     public function getResult($query, $data) | ||||
|     public function getResult($query, $data, \Chill\MainBundle\Export\ExportGenerationContext $context): array | ||||
|     { | ||||
|         return $query->getQuery()->getResult(Query::HYDRATE_SCALAR); | ||||
|     } | ||||
|  | ||||
|     public function getTitle() | ||||
|     public function getTitle(): string|\Symfony\Contracts\Translation\TranslatableInterface | ||||
|     { | ||||
|         return 'Count peoples'; | ||||
|     } | ||||
|  | ||||
|     public function getType() | ||||
|     public function getType(): string | ||||
|     { | ||||
|         return Declarations::PERSON_TYPE; | ||||
|     } | ||||
|  | ||||
|     public function initiateQuery(array $requiredModifiers, array $acl, array $data = []) | ||||
|     public function initiateQuery(array $requiredModifiers, array $acl, array $data, \Chill\MainBundle\Export\ExportGenerationContext $context): \Doctrine\ORM\QueryBuilder | ||||
|     { | ||||
|         // we gather all center the user choose. | ||||
|         $centers = array_map(static fn ($el) => $el['center'], $acl); | ||||
|   | ||||
							
								
								
									
										84
									
								
								docs/source/development/export-sequence.puml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										84
									
								
								docs/source/development/export-sequence.puml
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,84 @@ | ||||
| @startuml | ||||
| 'https://plantuml.com/sequence-diagram | ||||
|  | ||||
| autonumber | ||||
|  | ||||
| User -> ExportController: configure export using form | ||||
| activate ExportController | ||||
| ExportController -> ExportForm: build form | ||||
| activate ExportForm | ||||
|  | ||||
| loop for every ExportElement (Filter, Aggregator) | ||||
|     ExportForm -> ExportElement: `buildForm` | ||||
|     activate ExportElement | ||||
|     ExportElement -> ExportForm: add form to builders | ||||
|     deactivate ExportElement | ||||
| end | ||||
|  | ||||
| ExportForm -> ExportController | ||||
| deactivate ExportForm | ||||
|  | ||||
| ExportController -> User: show form | ||||
| deactivate ExportController | ||||
|  | ||||
| note left of User: Configure the export:\ncheck filters, aggregators, … | ||||
|  | ||||
| User -> ExportController: post configuration of the export | ||||
| activate ExportController | ||||
|  | ||||
| ExportController -> ExportForm: `getData` | ||||
| activate ExportForm | ||||
| ExportForm -> ExportController: return data: list of entities, etc. | ||||
| deactivate ExportForm | ||||
|  | ||||
| loop for every ExportElement (Filter, Aggregator) | ||||
|     ExportController -> ExportElement: serializeData (data) | ||||
|     activate ExportElement | ||||
|     ExportElement -> ExportController: return serializedData (simple array with string, int, …) | ||||
|     deactivate ExportElement | ||||
| end | ||||
|  | ||||
| ExportController -> Database: `INSERT INTO RequestGeneration_table` (insert new entity) | ||||
| ExportController -> MessageQueue: warn about a new request | ||||
| activate MessageQueue | ||||
| ExportController -> User: "ok, generation is in process" | ||||
| deactivate ExportController | ||||
|  | ||||
| note left of User: The user see a waiting screen | ||||
|  | ||||
| MessageQueue -> MessengerConsumer: forward the message to the MessengerConsumer | ||||
| deactivate MessageQueue | ||||
| activate MessengerConsumer | ||||
| MessengerConsumer -> Database: `SELECT * FROM RequestGeneration_table WHERE id = %s` | ||||
| activate Database | ||||
| Database -> MessengerConsumer: return RequestGeneration with serializedData | ||||
| deactivate Database | ||||
|  | ||||
| loop for every ExportElement (Filter, Aggregator) | ||||
|     MessengerConsumer -> ExportElement: deserializeData | ||||
|     activate ExportElement | ||||
|     ExportElement -> MessengerConsumer: return data (list of entities, etc.) from the serialized array | ||||
|     deactivate ExportElement | ||||
|     MessengerConsumer -> ExportElement: alter the sql query (`ExportElement::alterQuery`) | ||||
|     activate ExportElement | ||||
|     ExportElement -> MessengerConsumer: return the query with WHERE and GROUP BY clauses | ||||
|     deactivate ExportElement | ||||
| end | ||||
|  | ||||
| MessengerConsumer -> MessengerConsumer: prepare the export | ||||
| MessengerConsumer -> MessengerConsumer: save the export as a stored object | ||||
| MessengerConsumer -> Database: `UPDATE RequestGeneration_table SET ready = true` | ||||
| deactivate MessengerConsumer | ||||
|  | ||||
| User -> ExportController: pull every 5s to know if the export is generated | ||||
| activate ExportController | ||||
| ExportController -> User: warn the export is generated | ||||
| deactivate ExportController | ||||
|  | ||||
| User -> ExportController: download the export from object storage | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
| @enduml | ||||
| @@ -15,24 +15,31 @@ Messages to users, flashbags and buttons | ||||
| Flashbags | ||||
| ========== | ||||
|  | ||||
| The four following levels are defined :  | ||||
| The four following levels are defined : | ||||
|  | ||||
| +-----------+----------------------------------------------------------------------------------------------+ | ||||
| |Key        |Intent                                                                                        | | ||||
| +===========+==============================================================================================+ | ||||
| |alert      |A message not linked with the user action, but which should require an action or a            | | ||||
| |           |correction.                                                                                   | | ||||
| +-----------+----------------------------------------------------------------------------------------------+ | ||||
| |success    |The user action succeeds.                                                                     | | ||||
| +-----------+----------------------------------------------------------------------------------------------+ | ||||
| |notice     |A simple message to give information to the user. The message may be linked or not linked with| | ||||
| |           |the user action.                                                                              | | ||||
| +-----------+----------------------------------------------------------------------------------------------+ | ||||
| |warning    |A message linked with an action, the user should correct.                                     | | ||||
| +-----------+----------------------------------------------------------------------------------------------+ | ||||
| |error      |The user's action failed: he must correct something to process the action.                    | | ||||
| +-----------+----------------------------------------------------------------------------------------------+ | ||||
|  | ||||
| We can use :code:`TranslatableMessage` (and other :code:`TranslatableMessageInterface` instances) into the controller: | ||||
|  | ||||
| .. code-block:: php | ||||
|  | ||||
|    // in a controller action: | ||||
|    if (($session = $request->getSession()) instanceof Session) { | ||||
|        $session->getFlashBag()->add( | ||||
|            'success', | ||||
|            new TranslatableMessage('saved_export.Saved export is saved!') | ||||
|        ); | ||||
|    } | ||||
|  | ||||
| .. seealso:: | ||||
|  | ||||
|    `Flash Messages on Symfony documentation <http://symfony.com/doc/current/book/controller.html#flash-messages>`_ | ||||
| @@ -66,7 +73,7 @@ To add the action on button, use them as class along with ``sc-button`` : | ||||
| |           |                | - Submitting this form will remove the entity                                | | ||||
| +-----------+----------------+------------------------------------------------------------------------------+ | ||||
| | Edit      | ``bt-edit`` or | Link to a form to edit an entity                                             | | ||||
| |           | ``bt-update``  |                                                                              |  | ||||
| |           | ``bt-update``  |                                                                              | | ||||
| +-----------+----------------+------------------------------------------------------------------------------+ | ||||
| | Save      | ``bt-save``    | Submitting this form will save change on the entity                          | | ||||
| +-----------+----------------+------------------------------------------------------------------------------+ | ||||
|   | ||||
| @@ -18,7 +18,7 @@ class example extends \Symfony\Bundle\FrameworkBundle\Controller\AbstractControl | ||||
|     public function __construct(private readonly \Doctrine\Persistence\ManagerRegistry $managerRegistry) | ||||
|     { | ||||
|     } | ||||
|     public function yourAction() | ||||
|     public function yourAction(): \Symfony\Component\HttpFoundation\Response | ||||
|     { | ||||
|         $em = $this->managerRegistry->getManager(); | ||||
|         // first, get the number of total item are available | ||||
|   | ||||
| @@ -28,7 +28,7 @@ class ConsultationController extends \Symfony\Bundle\FrameworkBundle\Controller\ | ||||
|      * | ||||
|      * @return \Symfony\Component\HttpFoundation\Response | ||||
|      */ | ||||
|     public function listAction($id) | ||||
|     public function listAction($id): \Symfony\Component\HttpFoundation\Response | ||||
|     { | ||||
|         /** @var \Chill\PersonBundle\Entity\Person $person */ | ||||
|         $person = $this->get('chill.person.repository.person') | ||||
|   | ||||
| @@ -31,7 +31,7 @@ class ChillMainConfiguration implements ConfigurationInterface | ||||
|         $this->setWidgetFactories($widgetFactories); | ||||
|     } | ||||
|  | ||||
|     public function getConfigTreeBuilder() | ||||
|     public function getConfigTreeBuilder(): \Symfony\Component\Config\Definition\Builder\TreeBuilder | ||||
|     { | ||||
|         $treeBuilder = new TreeBuilder('chill_main'); | ||||
|         $rootNode = $treeBuilder->getRootNode(); | ||||
|   | ||||
| @@ -27,12 +27,12 @@ class ChillMainExtension extends Extension implements Widget\HasWidgetFactoriesE | ||||
|      */ | ||||
|     protected $widgetFactories = []; | ||||
|  | ||||
|     public function addWidgetFactory(WidgetFactoryInterface $factory) | ||||
|     public function addWidgetFactory(WidgetFactoryInterface $factory): void | ||||
|     { | ||||
|         $this->widgetFactories[] = $factory; | ||||
|     } | ||||
|  | ||||
|     public function getConfiguration(array $config, ContainerBuilder $container) | ||||
|     public function getConfiguration(array $config, ContainerBuilder $container): ?\Symfony\Component\Config\Definition\ConfigurationInterface | ||||
|     { | ||||
|         return new Configuration($this->widgetFactories, $container); | ||||
|     } | ||||
| @@ -45,7 +45,7 @@ class ChillMainExtension extends Extension implements Widget\HasWidgetFactoriesE | ||||
|         return $this->widgetFactories; | ||||
|     } | ||||
|  | ||||
|     public function load(array $configs, ContainerBuilder $container) | ||||
|     public function load(array $configs, ContainerBuilder $container): void | ||||
|     { | ||||
|         // configuration for main bundle | ||||
|         $configuration = $this->getConfiguration($configs, $container); | ||||
|   | ||||
| @@ -25,7 +25,7 @@ class ChillPersonAddAPersonListWidgetFactory extends AbstractWidgetFactory | ||||
|      * see http://symfony.com/doc/current/components/config/definition.html | ||||
|      * | ||||
|      */ | ||||
|     public function configureOptions($place, NodeBuilder $node) | ||||
|     public function configureOptions($place, NodeBuilder $node): void | ||||
|     { | ||||
|         $node->booleanNode('only_active') | ||||
|             ->defaultTrue() | ||||
|   | ||||
| @@ -124,7 +124,7 @@ class ChillPersonAddAPersonWidget implements WidgetInterface | ||||
|     /** | ||||
|      * @return UserInterface | ||||
|      */ | ||||
|     private function getUser() | ||||
|     private function getUser(): void | ||||
|     { | ||||
|         // return a user | ||||
|     } | ||||
|   | ||||
| @@ -22,7 +22,7 @@ use Symfony\Component\HttpKernel\DependencyInjection\Extension; | ||||
|  */ | ||||
| class ChillPersonExtension extends Extension implements PrependExtensionInterface | ||||
| { | ||||
|     public function load(array $configs, ContainerBuilder $container) | ||||
|     public function load(array $configs, ContainerBuilder $container): void | ||||
|     { | ||||
|         // ... | ||||
|     } | ||||
| @@ -32,7 +32,7 @@ class ChillPersonExtension extends Extension implements PrependExtensionInterfac | ||||
|      * | ||||
|      * @param \Chill\PersonBundle\DependencyInjection\containerBuilder $container | ||||
|      */ | ||||
|     public function prepend(ContainerBuilder $container) | ||||
|     public function prepend(ContainerBuilder $container): void | ||||
|     { | ||||
|         $container->prependExtensionConfig('chill_main', [ | ||||
|             'widgets' => [ | ||||
|   | ||||
| @@ -14,6 +14,16 @@ Symfony apps <https://symfony.com/doc/current/deployment.html>`_. | ||||
| Install a new app | ||||
| ================= | ||||
|  | ||||
| Install required dependencies: | ||||
| ------------------------------ | ||||
|  | ||||
| - `jq`: https://jqlang.org/ (install it through your package manager); | ||||
| - `php`, minimal version: 8.3; | ||||
| - `composer`: https://getcomposer.org/download/ | ||||
| - `symfony-cli`: https://symfony.com/download | ||||
| - `docker` with the plugin `compose`: https://docs.docker.com/engine/install/ and https://docs.docker.com/compose/install/ | ||||
|  | ||||
|  | ||||
| Initialize project and dependencies | ||||
| ----------------------------------- | ||||
|  | ||||
| @@ -29,7 +39,7 @@ We strongly encourage you to initialize a git repository at this step, to track | ||||
|    # add the flex endpoints required for custom recipes | ||||
|    cat <<< "$(jq '.extra.symfony += {"endpoint": ["flex://defaults", "https://gitlab.com/api/v4/projects/57371968/repository/files/index.json/raw?ref=main"]}' composer.json)" > composer.json | ||||
|    # install chill and some dependencies | ||||
|    symfony composer require chill-project/chill-bundles ^3.7.1 champs-libres/wopi-lib dev-master@dev champs-libres/wopi-bundle dev-master@dev symfony/amqp-messenger | ||||
|    symfony composer require -W chill-project/chill-bundles ^3.7.1 champs-libres/wopi-lib dev-master@dev champs-libres/wopi-bundle dev-master@dev symfony/amqp-messenger | ||||
|  | ||||
| We encourage you to accept the inclusion of the "Docker configuration from recipes": this is the documented way to run the database. | ||||
| You must also accept to configure recipes from the contrib repository, unless you want to configure the bundles manually). | ||||
| @@ -38,6 +48,8 @@ You must also accept to configure recipes from the contrib repository, unless yo | ||||
|  | ||||
|    # fix some configuration | ||||
|    ./post-install-chill.sh | ||||
|    # populate the cache for the first time. This is necessary to dump some translation files, required for the assets compilation | ||||
|    symfony console cache:clear | ||||
|    # install node dependencies | ||||
|    yarn install | ||||
|    # and compile assets | ||||
|   | ||||
| @@ -34,6 +34,7 @@ export default ts.config( | ||||
|             // override/add rules settings here, such as: | ||||
|             "vue/multi-word-component-names": "off", | ||||
|             "@typescript-eslint/no-require-imports": "off", | ||||
|             "@typescript-eslint/ban-ts-comment": "off" | ||||
|         }, | ||||
|     }, | ||||
| ); | ||||
|   | ||||
| @@ -11,15 +11,16 @@ | ||||
|     "@hotwired/stimulus": "^3.0.0", | ||||
|     "@luminateone/eslint-baseline": "^1.0.9", | ||||
|     "@symfony/stimulus-bridge": "^3.2.0", | ||||
|     "@symfony/ux-translator": "file:vendor/symfony/ux-translator/assets", | ||||
|     "@symfony/webpack-encore": "^4.1.0", | ||||
|     "@tsconfig/node20": "^20.1.4", | ||||
|     "@types/dompurify": "^3.0.5", | ||||
|     "@types/eslint__js": "^8.42.3", | ||||
|     "@typescript-eslint/parser": "^8.12.2", | ||||
|     "bindings": "^1.5.0", | ||||
|     "bootstrap": "5.2.3", | ||||
|     "bootstrap": "^5.3.6", | ||||
|     "chokidar": "^3.5.1", | ||||
|     "ckeditor5": "^44.1.0", | ||||
|     "ckeditor5": "^45.1.0", | ||||
|     "dompurify": "^3.1.0", | ||||
|     "eslint": "^9.14.0", | ||||
|     "eslint-config-prettier": "^9.1.0", | ||||
| @@ -28,11 +29,11 @@ | ||||
|     "fork-awesome": "^1.1.7", | ||||
|     "intl-messageformat": "^10.5.11", | ||||
|     "jquery": "^3.6.0", | ||||
|     "node-sass": "^8.0.0", | ||||
|     "popper.js": "^1.16.1", | ||||
|     "postcss-loader": "^7.0.2", | ||||
|     "prettier": "^3.3.3", | ||||
|     "raw-loader": "^4.0.2", | ||||
|     "sass": "^1.89.0", | ||||
|     "sass-loader": "^14.0.0", | ||||
|     "select2": "^4.0.13", | ||||
|     "select2-bootstrap-theme": "0.1.0-beta.10", | ||||
| @@ -55,6 +56,7 @@ | ||||
|     "@tsconfig/node20": "^20.1.4", | ||||
|     "@types/dompurify": "^3.0.5", | ||||
|     "@types/leaflet": "^1.9.3", | ||||
|     "@vueuse/core": "^13.9.0", | ||||
|     "bootstrap-icons": "^1.11.3", | ||||
|     "dropzone": "^5.7.6", | ||||
|     "es6-promise": "^4.2.8", | ||||
|   | ||||
| @@ -1,14 +0,0 @@ | ||||
| parameters: | ||||
| 	ignoreErrors: | ||||
| 		- | ||||
| 			message: "#^Parameter \\#1 \\$records of method League\\\\Csv\\\\Writer\\:\\:insertAll\\(\\) expects iterable\\<array\\<float\\|int\\|string\\|Stringable\\|null\\>\\>, iterable\\<array\\<string, bool\\|int\\|string\\>\\> given\\.$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillMainBundle/Controller/UserExportController.php | ||||
|  | ||||
| 		- | ||||
| 			message: """ | ||||
| 				#^Fetching deprecated class constant ASC of class Doctrine\\\\Common\\\\Collections\\\\Criteria\\: | ||||
| 				use Order\\:\\:Ascending instead$# | ||||
| 			""" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillMainBundle/Entity/Workflow/EntityWorkflow.php | ||||
| @@ -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 | ||||
| @@ -1,301 +0,0 @@ | ||||
| parameters: | ||||
| 	ignoreErrors: | ||||
| 		- | ||||
| 			message: "#^Only booleans are allowed in a negated boolean, Chill\\\\ActivityBundle\\\\Entity\\\\Activity\\|null given\\.$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillActivityBundle/Controller/ActivityController.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Only booleans are allowed in a ternary operator condition, Chill\\\\MainBundle\\\\Entity\\\\Scope\\|null given\\.$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillActivityBundle/Controller/ActivityController.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Only booleans are allowed in a ternary operator condition, Chill\\\\PersonBundle\\\\Entity\\\\Person\\|null given\\.$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillActivityBundle/Controller/ActivityController.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Only booleans are allowed in a ternary operator condition, DateTime\\|null given\\.$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillActivityBundle/Controller/ActivityController.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Only booleans are allowed in a negated boolean, Chill\\\\ActivityBundle\\\\Entity\\\\ActivityReasonCategory\\|null given\\.$#" | ||||
| 			count: 3 | ||||
| 			path: src/Bundle/ChillActivityBundle/Controller/ActivityReasonCategoryController.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Only booleans are allowed in a negated boolean, Chill\\\\ActivityBundle\\\\Entity\\\\ActivityReason\\|null given\\.$#" | ||||
| 			count: 2 | ||||
| 			path: src/Bundle/ChillActivityBundle/Controller/ActivityReasonController.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Call to method DateTime\\:\\:setTimezone\\(\\) with incorrect case\\: setTimeZone$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillActivityBundle/Form/ActivityType.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Only booleans are allowed in &&, Chill\\\\PersonBundle\\\\Entity\\\\AccompanyingPeriod\\|null given on the right side\\.$#" | ||||
| 			count: 2 | ||||
| 			path: src/Bundle/ChillActivityBundle/Form/ActivityType.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Only booleans are allowed in an if condition, Chill\\\\AsideActivityBundle\\\\Entity\\\\AsideActivityCategory\\|null given\\.$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillAsideActivityBundle/src/Entity/AsideActivityCategory.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Call to method DateTimeImmutable\\:\\:setTimezone\\(\\) with incorrect case\\: setTimeZone$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillAsideActivityBundle/src/Form/AsideActivityFormType.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Only booleans are allowed in a ternary operator condition, Chill\\\\MainBundle\\\\Entity\\\\Location\\|null given\\.$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillCalendarBundle/Controller/CalendarController.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Only booleans are allowed in an if condition, Symfony\\\\Component\\\\Validator\\\\ConstraintViolationListInterface given\\.$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillCustomFieldsBundle/Command/CreateFieldsOnGroupCommand.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Only booleans are allowed in a negated boolean, Chill\\\\CustomFieldsBundle\\\\Entity\\\\CustomFieldsGroup\\|null given\\.$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillCustomFieldsBundle/Controller/CustomFieldController.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Only booleans are allowed in a negated boolean, Chill\\\\CustomFieldsBundle\\\\Entity\\\\CustomField\\|null given\\.$#" | ||||
| 			count: 3 | ||||
| 			path: src/Bundle/ChillCustomFieldsBundle/Controller/CustomFieldController.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Only booleans are allowed in a ternary operator condition, Chill\\\\CustomFieldsBundle\\\\Entity\\\\CustomFieldsGroup given\\.$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillCustomFieldsBundle/Controller/CustomFieldController.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Only booleans are allowed in a negated boolean, Chill\\\\CustomFieldsBundle\\\\Entity\\\\CustomFieldsGroup\\|null given\\.$#" | ||||
| 			count: 4 | ||||
| 			path: src/Bundle/ChillCustomFieldsBundle/Controller/CustomFieldsGroupController.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Only booleans are allowed in a ternary operator condition, string given\\.$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillCustomFieldsBundle/CustomFields/CustomFieldLongChoice.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Only booleans are allowed in a negated boolean, string given\\.$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillCustomFieldsBundle/Form/DataTransformer/CustomFieldsGroupToIdTransformer.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Call to method Chill\\\\PersonBundle\\\\Entity\\\\Person\\:\\:getFirstName\\(\\) with incorrect case\\: getFirstname$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillEventBundle/Controller/EventController.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Call to method Chill\\\\PersonBundle\\\\Entity\\\\Person\\:\\:getLastName\\(\\) with incorrect case\\: getLastname$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillEventBundle/Controller/EventController.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Call to method Chill\\\\PersonBundle\\\\Entity\\\\Person\\:\\:getMobilenumber\\(\\) with incorrect case\\: getMobileNumber$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillEventBundle/Controller/EventController.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Call to method Chill\\\\PersonBundle\\\\Entity\\\\Person\\:\\:getPhonenumber\\(\\) with incorrect case\\: getPhoneNumber$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillEventBundle/Controller/EventController.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Only booleans are allowed in a negated boolean, Chill\\\\EventBundle\\\\Entity\\\\Event given\\.$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillEventBundle/Controller/EventController.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Only booleans are allowed in a negated boolean, Chill\\\\EventBundle\\\\Entity\\\\Event\\|null given\\.$#" | ||||
| 			count: 3 | ||||
| 			path: src/Bundle/ChillEventBundle/Controller/EventController.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Only booleans are allowed in a ternary operator condition, int given\\.$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillEventBundle/Controller/EventController.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Only numeric types are allowed in pre\\-increment, string given\\.$#" | ||||
| 			count: 2 | ||||
| 			path: src/Bundle/ChillEventBundle/Controller/EventController.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Only booleans are allowed in a negated boolean, Chill\\\\EventBundle\\\\Entity\\\\EventType\\|null given\\.$#" | ||||
| 			count: 4 | ||||
| 			path: src/Bundle/ChillEventBundle/Controller/EventTypeController.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Only booleans are allowed in a negated boolean, Chill\\\\EventBundle\\\\Entity\\\\Participation\\|null given\\.$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillEventBundle/Controller/ParticipationController.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Only booleans are allowed in a negated boolean, Chill\\\\EventBundle\\\\Entity\\\\Role\\|null given\\.$#" | ||||
| 			count: 4 | ||||
| 			path: src/Bundle/ChillEventBundle/Controller/RoleController.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Only booleans are allowed in a negated boolean, Chill\\\\EventBundle\\\\Entity\\\\Status\\|null given\\.$#" | ||||
| 			count: 4 | ||||
| 			path: src/Bundle/ChillEventBundle/Controller/StatusController.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Only booleans are allowed in a negated boolean, Chill\\\\MainBundle\\\\Entity\\\\Language\\|null given\\.$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillMainBundle/Command/LoadAndUpdateLanguagesCommand.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Only booleans are allowed in an if condition, Chill\\\\MainBundle\\\\Entity\\\\Language\\|null given\\.$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillMainBundle/Command/LoadAndUpdateLanguagesCommand.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Only booleans are allowed in an if condition, int given\\.$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillMainBundle/Command/LoadPostalCodesCommand.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Only booleans are allowed in a negated boolean, Chill\\\\MainBundle\\\\Entity\\\\Center\\|null given\\.$#" | ||||
| 			count: 3 | ||||
| 			path: src/Bundle/ChillMainBundle/Controller/CenterController.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Call to method Redis\\:\\:setex\\(\\) with incorrect case\\: setEx$#" | ||||
| 			count: 2 | ||||
| 			path: src/Bundle/ChillMainBundle/Controller/ExportController.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Only booleans are allowed in a negated boolean, Chill\\\\MainBundle\\\\Entity\\\\PermissionsGroup\\|null given\\.$#" | ||||
| 			count: 5 | ||||
| 			path: src/Bundle/ChillMainBundle/Controller/PermissionsGroupController.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Only booleans are allowed in a negated boolean, Chill\\\\MainBundle\\\\Entity\\\\RoleScope\\|null given\\.$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillMainBundle/Controller/PermissionsGroupController.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Only booleans are allowed in a negated boolean, Chill\\\\MainBundle\\\\Entity\\\\Scope\\|null given\\.$#" | ||||
| 			count: 3 | ||||
| 			path: src/Bundle/ChillMainBundle/Controller/ScopeController.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Only booleans are allowed in a negated boolean, Chill\\\\MainBundle\\\\Entity\\\\GroupCenter\\|null given\\.$#" | ||||
| 			count: 2 | ||||
| 			path: src/Bundle/ChillMainBundle/Controller/UserController.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Only booleans are allowed in a negated boolean, Chill\\\\MainBundle\\\\Entity\\\\User\\|null given\\.$#" | ||||
| 			count: 2 | ||||
| 			path: src/Bundle/ChillMainBundle/Controller/UserController.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Only booleans are allowed in an if condition, int given\\.$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillMainBundle/DataFixtures/ORM/LoadPostalCodes.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Only numeric types are allowed in pre\\-increment, string given\\.$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillMainBundle/Export/Formatter/SpreadsheetListFormatter.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Only booleans are allowed in an if condition, int given\\.$#" | ||||
| 			count: 2 | ||||
| 			path: src/Bundle/ChillMainBundle/Form/DataTransformer/IdToEntityDataTransformer.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Only booleans are allowed in a ternary operator condition, string\\|null given\\.$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillMainBundle/Form/Type/PickUserLocationType.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Only booleans are allowed in a ternary operator condition, int\\<0, max\\> given\\.$#" | ||||
| 			count: 4 | ||||
| 			path: src/Bundle/ChillMainBundle/Search/SearchApiQuery.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Call to method Chill\\\\MainBundle\\\\Entity\\\\Address\\:\\:getPostcode\\(\\) with incorrect case\\: getPostCode$#" | ||||
| 			count: 6 | ||||
| 			path: src/Bundle/ChillMainBundle/Serializer/Normalizer/AddressNormalizer.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Only booleans are allowed in an if condition, Symfony\\\\Component\\\\Serializer\\\\Mapping\\\\ClassDiscriminatorMapping\\|null given\\.$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillMainBundle/Serializer/Normalizer/DoctrineExistingEntityNormalizer.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Only booleans are allowed in a negated boolean, null given\\.$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillPersonBundle/Entity/Person.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Only booleans are allowed in a ternary operator condition, Chill\\\\PersonBundle\\\\Entity\\\\AccompanyingPeriodParticipation\\|null given\\.$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillPersonBundle/Entity/Person.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Call to method Chill\\\\PersonBundle\\\\Entity\\\\Person\\:\\:getFirstName\\(\\) with incorrect case\\: getFirstname$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillPersonBundle/Form/Type/PickPersonType.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Call to method Chill\\\\PersonBundle\\\\Entity\\\\Person\\:\\:getLastName\\(\\) with incorrect case\\: getLastname$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillPersonBundle/Form/Type/PickPersonType.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Only booleans are allowed in an if condition, int\\<0, max\\> given\\.$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillPersonBundle/Search/SimilarPersonMatcher.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Only booleans are allowed in &&, null given on the left side\\.$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillPersonBundle/Serializer/Normalizer/MembersEditorNormalizer.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Only booleans are allowed in a ternary operator condition, Chill\\\\PersonBundle\\\\Entity\\\\Household\\\\Household\\|null given\\.$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillPersonBundle/Serializer/Normalizer/PersonJsonNormalizer.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Only booleans are allowed in a ternary operator condition, array\\<Chill\\\\PersonBundle\\\\Entity\\\\Person\\\\ResidentialAddress\\> given\\.$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillPersonBundle/Serializer/Normalizer/PersonJsonNormalizer.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Call to method Chill\\\\PersonBundle\\\\Entity\\\\Person\\:\\:getDeathdate\\(\\) with incorrect case\\: getDeathDate$#" | ||||
| 			count: 2 | ||||
| 			path: src/Bundle/ChillPersonBundle/Templating/Entity/PersonRender.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Only booleans are allowed in a negated boolean, Chill\\\\PersonBundle\\\\Entity\\\\Person\\|null given\\.$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillReportBundle/Controller/ReportController.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Only booleans are allowed in a negated boolean, Chill\\\\ReportBundle\\\\Entity\\\\Report given\\.$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillReportBundle/Controller/ReportController.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Call to method Chill\\\\ThirdPartyBundle\\\\Entity\\\\ThirdParty\\:\\:setFirstname\\(\\) with incorrect case\\: setFirstName$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillThirdPartyBundle/EventListener/ThirdPartyEventListener.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Dynamic call to static method Chill\\\\ThirdPartyBundle\\\\ThirdPartyType\\\\ThirdPartyTypeProviderInterface\\:\\:getKey\\(\\)\\.$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillThirdPartyBundle/ThirdPartyType/ThirdPartyTypeManager.php | ||||
| @@ -1,804 +0,0 @@ | ||||
| parameters: | ||||
| 	ignoreErrors: | ||||
| 		- | ||||
| 			message: "#^Return type \\(array\\<Chill\\\\ActivityBundle\\\\Entity\\\\Activity\\>\\) of method Chill\\\\ActivityBundle\\\\Repository\\\\ActivityACLAwareRepository\\:\\:findByPerson\\(\\) should be covariant with return type \\(array\\<Chill\\\\ActivityBundle\\\\Repository\\\\Activity\\>\\) of method Chill\\\\ActivityBundle\\\\Repository\\\\ActivityACLAwareRepositoryInterface\\:\\:findByPerson\\(\\)$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillActivityBundle/Repository/ActivityACLAwareRepository.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Return type \\(array\\<Chill\\\\ActivityBundle\\\\Entity\\\\ActivityReason\\>\\) of method Chill\\\\ActivityBundle\\\\Repository\\\\ActivityReasonRepository\\:\\:findAll\\(\\) should be covariant with return type \\(array\\<int, object\\>\\) of method Doctrine\\\\ORM\\\\EntityRepository\\<object\\>\\:\\:findAll\\(\\)$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillActivityBundle/Repository/ActivityReasonRepository.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Return type \\(array\\<array\\<string\\>\\>\\) of method Chill\\\\AsideActivityBundle\\\\Security\\\\AsideActivityVoter\\:\\:getRolesWithHierarchy\\(\\) should be covariant with return type \\(array\\<string, array\\<int, string\\>\\>\\) of method Chill\\\\MainBundle\\\\Security\\\\ProvideRoleHierarchyInterface\\:\\:getRolesWithHierarchy\\(\\)$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillAsideActivityBundle/src/Security/AsideActivityVoter.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#1 \\$criteria \\(array\\<string, mixed\\>\\) of method Chill\\\\CalendarBundle\\\\Repository\\\\CalendarDocRepository\\:\\:findBy\\(\\) should be contravariant with parameter \\$criteria \\(array\\) of method Chill\\\\CalendarBundle\\\\Repository\\\\CalendarDocRepositoryInterface\\:\\:findBy\\(\\)$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillCalendarBundle/Repository/CalendarDocRepository.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#1 \\$criteria \\(array\\<string, mixed\\>\\) of method Chill\\\\CalendarBundle\\\\Repository\\\\CalendarDocRepository\\:\\:findOneBy\\(\\) should be contravariant with parameter \\$criteria \\(array\\) of method Chill\\\\CalendarBundle\\\\Repository\\\\CalendarDocRepositoryInterface\\:\\:findOneBy\\(\\)$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillCalendarBundle/Repository/CalendarDocRepository.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#2 \\$orderBy \\(array\\<string, 'ASC'\\|'asc'\\|'DESC'\\|'desc'\\>\\|null\\) of method Chill\\\\CalendarBundle\\\\Repository\\\\CalendarDocRepository\\:\\:findBy\\(\\) should be contravariant with parameter \\$orderBy \\(array\\|null\\) of method Chill\\\\CalendarBundle\\\\Repository\\\\CalendarDocRepositoryInterface\\:\\:findBy\\(\\)$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillCalendarBundle/Repository/CalendarDocRepository.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Return type \\(array\\<object\\>\\) of method Chill\\\\CalendarBundle\\\\Repository\\\\CalendarDocRepository\\:\\:findAll\\(\\) should be covariant with return type \\(array\\<Chill\\\\CalendarBundle\\\\Entity\\\\CalendarDoc\\>\\) of method Chill\\\\CalendarBundle\\\\Repository\\\\CalendarDocRepositoryInterface\\:\\:findAll\\(\\)$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillCalendarBundle/Repository/CalendarDocRepository.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Return type \\(array\\<object\\>\\) of method Chill\\\\CalendarBundle\\\\Repository\\\\CalendarDocRepository\\:\\:findBy\\(\\) should be covariant with return type \\(array\\<Chill\\\\CalendarBundle\\\\Entity\\\\CalendarDoc\\>\\) of method Chill\\\\CalendarBundle\\\\Repository\\\\CalendarDocRepositoryInterface\\:\\:findBy\\(\\)$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillCalendarBundle/Repository/CalendarDocRepository.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#2 \\$subject \\(Chill\\\\CalendarBundle\\\\Entity\\\\CalendarDoc\\) of method Chill\\\\CalendarBundle\\\\Security\\\\Voter\\\\CalendarDocVoter\\:\\:voteOnAttribute\\(\\) should be contravariant with parameter \\$subject \\(mixed\\) of method Symfony\\\\Component\\\\Security\\\\Core\\\\Authorization\\\\Voter\\\\Voter\\:\\:voteOnAttribute\\(\\)$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillCalendarBundle/Security/Voter/CalendarDocVoter.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#2 \\$subject \\(Chill\\\\CalendarBundle\\\\Entity\\\\Invite\\) of method Chill\\\\CalendarBundle\\\\Security\\\\Voter\\\\InviteVoter\\:\\:voteOnAttribute\\(\\) should be contravariant with parameter \\$subject \\(mixed\\) of method Symfony\\\\Component\\\\Security\\\\Core\\\\Authorization\\\\Voter\\\\Voter\\:\\:voteOnAttribute\\(\\)$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillCalendarBundle/Security/Voter/InviteVoter.php | ||||
|  | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Return type \\(int\\|void\\|null\\) of method Chill\\\\CustomFieldsBundle\\\\Command\\\\CreateFieldsOnGroupCommand\\:\\:execute\\(\\) should be covariant with return type \\(int\\) of method Symfony\\\\Component\\\\Console\\\\Command\\\\Command\\:\\:execute\\(\\)$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillCustomFieldsBundle/Command/CreateFieldsOnGroupCommand.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#1 \\$customFieldsGroup \\(Chill\\\\CustomFieldsBundle\\\\Entity\\\\CustomFieldsGroup\\|null\\) of method Chill\\\\CustomFieldsBundle\\\\Form\\\\DataTransformer\\\\CustomFieldsGroupToIdTransformer\\:\\:transform\\(\\) should be contravariant with parameter \\$value \\(mixed\\) of method Symfony\\\\Component\\\\Form\\\\DataTransformerInterface\\:\\:transform\\(\\)$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillCustomFieldsBundle/Form/DataTransformer/CustomFieldsGroupToIdTransformer.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#1 \\$id \\(string\\) of method Chill\\\\CustomFieldsBundle\\\\Form\\\\DataTransformer\\\\CustomFieldsGroupToIdTransformer\\:\\:reverseTransform\\(\\) should be contravariant with parameter \\$value \\(mixed\\) of method Symfony\\\\Component\\\\Form\\\\DataTransformerInterface\\:\\:reverseTransform\\(\\)$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillCustomFieldsBundle/Form/DataTransformer/CustomFieldsGroupToIdTransformer.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#2 \\$query \\(Doctrine\\\\ORM\\\\QueryBuilder\\) of method Chill\\\\DocGeneratorBundle\\\\Controller\\\\AdminDocGeneratorTemplateController\\:\\:orderQuery\\(\\) should be contravariant with parameter \\$query \\(mixed\\) of method Chill\\\\MainBundle\\\\CRUD\\\\Controller\\\\CRUDController\\:\\:orderQuery\\(\\)$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillDocGeneratorBundle/Controller/AdminDocGeneratorTemplateController.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#1 \\$object \\(Doctrine\\\\Common\\\\Collections\\\\Collection\\) of method Chill\\\\DocGeneratorBundle\\\\Serializer\\\\Normalizer\\\\CollectionDocGenNormalizer\\:\\:normalize\\(\\) should be contravariant with parameter \\$object \\(mixed\\) of method Symfony\\\\Component\\\\Serializer\\\\Normalizer\\\\NormalizerInterface\\:\\:normalize\\(\\)$#" | ||||
| 			count: 2 | ||||
| 			path: src/Bundle/ChillDocGeneratorBundle/Serializer/Normalizer/CollectionDocGenNormalizer.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#2 \\$format \\(string\\) of method Chill\\\\DocGeneratorBundle\\\\Serializer\\\\Normalizer\\\\CollectionDocGenNormalizer\\:\\:supportsNormalization\\(\\) should be contravariant with parameter \\$format \\(string\\|null\\) of method Symfony\\\\Component\\\\Serializer\\\\Normalizer\\\\ContextAwareNormalizerInterface\\:\\:supportsNormalization\\(\\)$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillDocGeneratorBundle/Serializer/Normalizer/CollectionDocGenNormalizer.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#2 \\$format \\(string\\) of method Chill\\\\DocGeneratorBundle\\\\Serializer\\\\Normalizer\\\\CollectionDocGenNormalizer\\:\\:supportsNormalization\\(\\) should be contravariant with parameter \\$format \\(string\\|null\\) of method Symfony\\\\Component\\\\Serializer\\\\Normalizer\\\\NormalizerInterface\\:\\:supportsNormalization\\(\\)$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillDocGeneratorBundle/Serializer/Normalizer/CollectionDocGenNormalizer.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Return type \\(array\\|ArrayObject\\|bool\\|float\\|int\\|string\\|void\\|null\\) of method Chill\\\\DocGeneratorBundle\\\\Serializer\\\\Normalizer\\\\CollectionDocGenNormalizer\\:\\:normalize\\(\\) should be covariant with return type \\(array\\|ArrayObject\\|bool\\|float\\|int\\|string\\|null\\) of method Symfony\\\\Component\\\\Serializer\\\\Normalizer\\\\NormalizerInterface\\:\\:normalize\\(\\)$#" | ||||
| 			count: 2 | ||||
| 			path: src/Bundle/ChillDocGeneratorBundle/Serializer/Normalizer/CollectionDocGenNormalizer.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#2 \\$format \\(string\\) of method Chill\\\\DocGeneratorBundle\\\\Serializer\\\\Normalizer\\\\DocGenObjectNormalizer\\:\\:normalize\\(\\) should be contravariant with parameter \\$format \\(string\\|null\\) of method Symfony\\\\Component\\\\Serializer\\\\Normalizer\\\\NormalizerInterface\\:\\:normalize\\(\\)$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillDocGeneratorBundle/Serializer/Normalizer/DocGenObjectNormalizer.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#2 \\$format \\(string\\) of method Chill\\\\DocGeneratorBundle\\\\Serializer\\\\Normalizer\\\\DocGenObjectNormalizer\\:\\:supportsNormalization\\(\\) should be contravariant with parameter \\$format \\(string\\|null\\) of method Symfony\\\\Component\\\\Serializer\\\\Normalizer\\\\NormalizerInterface\\:\\:supportsNormalization\\(\\)$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillDocGeneratorBundle/Serializer/Normalizer/DocGenObjectNormalizer.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Return type \\(Chill\\\\MainBundle\\\\Entity\\\\Scope\\|null\\) of method Chill\\\\DocStoreBundle\\\\Entity\\\\PersonDocument\\:\\:getScope\\(\\) should be covariant with return type \\(Chill\\\\MainBundle\\\\Entity\\\\Scope\\) of method Chill\\\\MainBundle\\\\Entity\\\\HasScopeInterface\\:\\:getScope\\(\\)$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillDocStoreBundle/Entity/PersonDocument.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#2 \\$subject \\(Chill\\\\DocStoreBundle\\\\Entity\\\\PersonDocument\\) of method Chill\\\\DocStoreBundle\\\\Security\\\\Authorization\\\\PersonDocumentVoter\\:\\:voteOnAttribute\\(\\) should be contravariant with parameter \\$subject \\(mixed\\) of method Symfony\\\\Component\\\\Security\\\\Core\\\\Authorization\\\\Voter\\\\Voter\\:\\:voteOnAttribute\\(\\)$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillDocStoreBundle/Security/Authorization/PersonDocumentVoter.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#3 \\$format \\(string\\) of method Chill\\\\DocStoreBundle\\\\Serializer\\\\Normalizer\\\\StoredObjectDenormalizer\\:\\:denormalize\\(\\) should be contravariant with parameter \\$format \\(string\\|null\\) of method Symfony\\\\Component\\\\Serializer\\\\Normalizer\\\\DenormalizerInterface\\:\\:denormalize\\(\\)$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillDocStoreBundle/Serializer/Normalizer/StoredObjectDenormalizer.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#3 \\$format \\(string\\) of method Chill\\\\DocStoreBundle\\\\Serializer\\\\Normalizer\\\\StoredObjectDenormalizer\\:\\:supportsDenormalization\\(\\) should be contravariant with parameter \\$format \\(string\\|null\\) of method Symfony\\\\Component\\\\Serializer\\\\Normalizer\\\\DenormalizerInterface\\:\\:supportsDenormalization\\(\\)$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillDocStoreBundle/Serializer/Normalizer/StoredObjectDenormalizer.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#1 \\$object \\(Chill\\\\DocStoreBundle\\\\Entity\\\\AccompanyingCourseDocument\\) of method Chill\\\\DocStoreBundle\\\\Workflow\\\\AccompanyingCourseDocumentWorkflowHandler\\:\\:getRelatedObjects\\(\\) should be contravariant with parameter \\$object \\(object\\) of method Chill\\\\MainBundle\\\\Workflow\\\\EntityWorkflowHandlerInterface\\:\\:getRelatedObjects\\(\\)$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillDocStoreBundle/Workflow/AccompanyingCourseDocumentWorkflowHandler.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#1 \\$value \\(null\\) of method Chill\\\\EventBundle\\\\Form\\\\ChoiceLoader\\\\EventChoiceLoader\\:\\:loadChoiceList\\(\\) should be contravariant with parameter \\$value \\(\\(callable\\(\\)\\: mixed\\)\\|null\\) of method Symfony\\\\Component\\\\Form\\\\ChoiceList\\\\Loader\\\\ChoiceLoaderInterface\\:\\:loadChoiceList\\(\\)$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillEventBundle/Form/ChoiceLoader/EventChoiceLoader.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#2 \\$value \\(null\\) of method Chill\\\\EventBundle\\\\Form\\\\ChoiceLoader\\\\EventChoiceLoader\\:\\:loadChoicesForValues\\(\\) should be contravariant with parameter \\$value \\(\\(callable\\(\\)\\: mixed\\)\\|null\\) of method Symfony\\\\Component\\\\Form\\\\ChoiceList\\\\Loader\\\\ChoiceLoaderInterface\\:\\:loadChoicesForValues\\(\\)$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillEventBundle/Form/ChoiceLoader/EventChoiceLoader.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#2 \\$value \\(null\\) of method Chill\\\\EventBundle\\\\Form\\\\ChoiceLoader\\\\EventChoiceLoader\\:\\:loadValuesForChoices\\(\\) should be contravariant with parameter \\$value \\(\\(callable\\(\\)\\: mixed\\)\\|null\\) of method Symfony\\\\Component\\\\Form\\\\ChoiceList\\\\Loader\\\\ChoiceLoaderInterface\\:\\:loadValuesForChoices\\(\\)$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillEventBundle/Form/ChoiceLoader/EventChoiceLoader.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#2 \\$subject \\(Chill\\\\EventBundle\\\\Entity\\\\Event\\) of method Chill\\\\EventBundle\\\\Security\\\\Authorization\\\\EventVoter\\:\\:voteOnAttribute\\(\\) should be contravariant with parameter \\$subject \\(mixed\\) of method Symfony\\\\Component\\\\Security\\\\Core\\\\Authorization\\\\Voter\\\\Voter\\:\\:voteOnAttribute\\(\\)$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillEventBundle/Security/Authorization/EventVoter.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#2 \\$subject \\(Chill\\\\EventBundle\\\\Entity\\\\Participation\\) of method Chill\\\\EventBundle\\\\Security\\\\Authorization\\\\ParticipationVoter\\:\\:voteOnAttribute\\(\\) should be contravariant with parameter \\$subject \\(mixed\\) of method Symfony\\\\Component\\\\Security\\\\Core\\\\Authorization\\\\Voter\\\\Voter\\:\\:voteOnAttribute\\(\\)$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillEventBundle/Security/Authorization/ParticipationVoter.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#1 \\$entity \\(Chill\\\\EventBundle\\\\Entity\\\\Event\\) of method Chill\\\\EventBundle\\\\Timeline\\\\TimelineEventProvider\\:\\:getEntityTemplate\\(\\) should be contravariant with parameter \\$entity \\(Chill\\\\MainBundle\\\\Timeline\\\\type\\) of method Chill\\\\MainBundle\\\\Timeline\\\\TimelineProviderInterface\\:\\:getEntityTemplate\\(\\)$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillEventBundle/Timeline/TimelineEventProvider.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#2 \\$type \\(null\\) of method Chill\\\\MainBundle\\\\CRUD\\\\Routing\\\\CRUDRoutesLoader\\:\\:supports\\(\\) should be contravariant with parameter \\$type \\(string\\|null\\) of method Symfony\\\\Component\\\\Config\\\\Loader\\\\LoaderInterface\\:\\:supports\\(\\)$#" | ||||
| 			count: 2 | ||||
| 			path: src/Bundle/ChillMainBundle/CRUD/Routing/CRUDRoutesLoader.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#2 \\$query \\(Doctrine\\\\ORM\\\\QueryBuilder\\) of method Chill\\\\MainBundle\\\\Controller\\\\LocationApiController\\:\\:orderQuery\\(\\) should be contravariant with parameter \\$query \\(mixed\\) of method Chill\\\\MainBundle\\\\CRUD\\\\Controller\\\\AbstractCRUDController\\:\\:orderQuery\\(\\)$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillMainBundle/Controller/LocationApiController.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#3 \\$query \\(Doctrine\\\\ORM\\\\QueryBuilder\\) of method Chill\\\\MainBundle\\\\Controller\\\\UserApiController\\:\\:customizeQuery\\(\\) should be contravariant with parameter \\$query \\(mixed\\) of method Chill\\\\MainBundle\\\\CRUD\\\\Controller\\\\AbstractCRUDController\\:\\:customizeQuery\\(\\)$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillMainBundle/Controller/UserApiController.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Return type \\(object\\|null\\) of method Chill\\\\MainBundle\\\\DependencyInjection\\\\ChillMainExtension\\:\\:getConfiguration\\(\\) should be covariant with return type \\(Symfony\\\\Component\\\\Config\\\\Definition\\\\ConfigurationInterface\\|null\\) of method Symfony\\\\Component\\\\DependencyInjection\\\\Extension\\\\ConfigurationExtensionInterface\\:\\:getConfiguration\\(\\)$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillMainBundle/DependencyInjection/ChillMainExtension.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Return type \\(object\\|null\\) of method Chill\\\\MainBundle\\\\DependencyInjection\\\\ChillMainExtension\\:\\:getConfiguration\\(\\) should be covariant with return type \\(Symfony\\\\Component\\\\Config\\\\Definition\\\\ConfigurationInterface\\|null\\) of method Symfony\\\\Component\\\\DependencyInjection\\\\Extension\\\\Extension\\:\\:getConfiguration\\(\\)$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillMainBundle/DependencyInjection/ChillMainExtension.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#1 \\$value \\(null\\) of method Chill\\\\MainBundle\\\\Form\\\\ChoiceLoader\\\\PostalCodeChoiceLoader\\:\\:loadChoiceList\\(\\) should be contravariant with parameter \\$value \\(\\(callable\\(\\)\\: mixed\\)\\|null\\) of method Symfony\\\\Component\\\\Form\\\\ChoiceList\\\\Loader\\\\ChoiceLoaderInterface\\:\\:loadChoiceList\\(\\)$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillMainBundle/Form/ChoiceLoader/PostalCodeChoiceLoader.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#2 \\$value \\(null\\) of method Chill\\\\MainBundle\\\\Form\\\\ChoiceLoader\\\\PostalCodeChoiceLoader\\:\\:loadChoicesForValues\\(\\) should be contravariant with parameter \\$value \\(\\(callable\\(\\)\\: mixed\\)\\|null\\) of method Symfony\\\\Component\\\\Form\\\\ChoiceList\\\\Loader\\\\ChoiceLoaderInterface\\:\\:loadChoicesForValues\\(\\)$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillMainBundle/Form/ChoiceLoader/PostalCodeChoiceLoader.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#2 \\$value \\(null\\) of method Chill\\\\MainBundle\\\\Form\\\\ChoiceLoader\\\\PostalCodeChoiceLoader\\:\\:loadValuesForChoices\\(\\) should be contravariant with parameter \\$value \\(\\(callable\\(\\)\\: mixed\\)\\|null\\) of method Symfony\\\\Component\\\\Form\\\\ChoiceList\\\\Loader\\\\ChoiceLoaderInterface\\:\\:loadValuesForChoices\\(\\)$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillMainBundle/Form/ChoiceLoader/PostalCodeChoiceLoader.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#1 \\$address \\(Chill\\\\MainBundle\\\\Entity\\\\Address\\) of method Chill\\\\MainBundle\\\\Form\\\\DataMapper\\\\AddressDataMapper\\:\\:mapDataToForms\\(\\) should be contravariant with parameter \\$viewData \\(mixed\\) of method Symfony\\\\Component\\\\Form\\\\DataMapperInterface\\:\\:mapDataToForms\\(\\)$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillMainBundle/Form/DataMapper/AddressDataMapper.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#1 \\$forms \\(Iterator\\) of method Chill\\\\MainBundle\\\\Form\\\\DataMapper\\\\AddressDataMapper\\:\\:mapFormsToData\\(\\) should be contravariant with parameter \\$forms \\(iterable\\<Symfony\\\\Component\\\\Form\\\\FormInterface\\>&Traversable\\) of method Symfony\\\\Component\\\\Form\\\\DataMapperInterface\\:\\:mapFormsToData\\(\\)$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillMainBundle/Form/DataMapper/AddressDataMapper.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#2 \\$address \\(Chill\\\\MainBundle\\\\Entity\\\\Address\\) of method Chill\\\\MainBundle\\\\Form\\\\DataMapper\\\\AddressDataMapper\\:\\:mapFormsToData\\(\\) should be contravariant with parameter \\$viewData \\(mixed\\) of method Symfony\\\\Component\\\\Form\\\\DataMapperInterface\\:\\:mapFormsToData\\(\\)$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillMainBundle/Form/DataMapper/AddressDataMapper.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#2 \\$forms \\(Iterator\\) of method Chill\\\\MainBundle\\\\Form\\\\DataMapper\\\\AddressDataMapper\\:\\:mapDataToForms\\(\\) should be contravariant with parameter \\$forms \\(iterable\\<Symfony\\\\Component\\\\Form\\\\FormInterface\\>&Traversable\\) of method Symfony\\\\Component\\\\Form\\\\DataMapperInterface\\:\\:mapDataToForms\\(\\)$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillMainBundle/Form/DataMapper/AddressDataMapper.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#1 \\$value \\(string\\) of method Chill\\\\MainBundle\\\\Form\\\\DataTransformer\\\\IdToEntityDataTransformer\\:\\:reverseTransform\\(\\) should be contravariant with parameter \\$value \\(mixed\\) of method Symfony\\\\Component\\\\Form\\\\DataTransformerInterface\\:\\:reverseTransform\\(\\)$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillMainBundle/Form/DataTransformer/IdToEntityDataTransformer.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#1 \\$value \\(array\\<Chill\\\\MainBundle\\\\Entity\\\\User\\>\\|Chill\\\\MainBundle\\\\Entity\\\\User\\) of method Chill\\\\MainBundle\\\\Form\\\\Type\\\\DataTransformer\\\\EntityToJsonTransformer\\:\\:transform\\(\\) should be contravariant with parameter \\$value \\(mixed\\) of method Symfony\\\\Component\\\\Form\\\\DataTransformerInterface\\:\\:transform\\(\\)$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillMainBundle/Form/Type/DataTransformer/EntityToJsonTransformer.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#1 \\$array \\(array\\) of method Chill\\\\MainBundle\\\\Form\\\\Type\\\\DataTransformer\\\\MultipleObjectsToIdTransformer\\:\\:transform\\(\\) should be contravariant with parameter \\$value \\(mixed\\) of method Symfony\\\\Component\\\\Form\\\\DataTransformerInterface\\:\\:transform\\(\\)$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillMainBundle/Form/Type/DataTransformer/MultipleObjectsToIdTransformer.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#1 \\$id \\(string\\) of method Chill\\\\MainBundle\\\\Form\\\\Type\\\\DataTransformer\\\\ObjectToIdTransformer\\:\\:reverseTransform\\(\\) should be contravariant with parameter \\$value \\(mixed\\) of method Symfony\\\\Component\\\\Form\\\\DataTransformerInterface\\:\\:reverseTransform\\(\\)$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillMainBundle/Form/Type/DataTransformer/ObjectToIdTransformer.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#2 \\$subject \\(Chill\\\\MainBundle\\\\Entity\\\\Workflow\\\\EntityWorkflow\\) of method Chill\\\\MainBundle\\\\Security\\\\Authorization\\\\EntityWorkflowVoter\\:\\:voteOnAttribute\\(\\) should be contravariant with parameter \\$subject \\(mixed\\) of method Symfony\\\\Component\\\\Security\\\\Core\\\\Authorization\\\\Voter\\\\Voter\\:\\:voteOnAttribute\\(\\)$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillMainBundle/Security/Authorization/EntityWorkflowVoter.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#1 \\$entity \\(Chill\\\\MainBundle\\\\Entity\\\\HasCenterInterface\\) of method Chill\\\\MainBundle\\\\Security\\\\Resolver\\\\DefaultCenterResolver\\:\\:resolveCenter\\(\\) should be contravariant with parameter \\$entity \\(object\\) of method Chill\\\\MainBundle\\\\Security\\\\Resolver\\\\CenterResolverInterface\\:\\:resolveCenter\\(\\)$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillMainBundle/Security/Resolver/DefaultCenterResolver.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#1 \\$entity \\(Chill\\\\MainBundle\\\\Entity\\\\HasScopeInterface\\|Chill\\\\MainBundle\\\\Entity\\\\HasScopesInterface\\) of method Chill\\\\MainBundle\\\\Security\\\\Resolver\\\\DefaultScopeResolver\\:\\:resolveScope\\(\\) should be contravariant with parameter \\$entity \\(mixed\\) of method Chill\\\\MainBundle\\\\Security\\\\Resolver\\\\ScopeResolverInterface\\:\\:resolveScope\\(\\)$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillMainBundle/Security/Resolver/DefaultScopeResolver.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#1 \\$address \\(Chill\\\\MainBundle\\\\Entity\\\\Address\\) of method Chill\\\\MainBundle\\\\Serializer\\\\Normalizer\\\\AddressNormalizer\\:\\:normalize\\(\\) should be contravariant with parameter \\$object \\(mixed\\) of method Symfony\\\\Component\\\\Serializer\\\\Normalizer\\\\NormalizerInterface\\:\\:normalize\\(\\)$#" | ||||
| 			count: 2 | ||||
| 			path: src/Bundle/ChillMainBundle/Serializer/Normalizer/AddressNormalizer.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#2 \\$format \\(string\\) of method Chill\\\\MainBundle\\\\Serializer\\\\Normalizer\\\\AddressNormalizer\\:\\:supportsNormalization\\(\\) should be contravariant with parameter \\$format \\(string\\|null\\) of method Symfony\\\\Component\\\\Serializer\\\\Normalizer\\\\ContextAwareNormalizerInterface\\:\\:supportsNormalization\\(\\)$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillMainBundle/Serializer/Normalizer/AddressNormalizer.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#2 \\$format \\(string\\) of method Chill\\\\MainBundle\\\\Serializer\\\\Normalizer\\\\AddressNormalizer\\:\\:supportsNormalization\\(\\) should be contravariant with parameter \\$format \\(string\\|null\\) of method Symfony\\\\Component\\\\Serializer\\\\Normalizer\\\\NormalizerInterface\\:\\:supportsNormalization\\(\\)$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillMainBundle/Serializer/Normalizer/AddressNormalizer.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#2 \\$format \\(string\\) of method Chill\\\\MainBundle\\\\Serializer\\\\Normalizer\\\\CenterNormalizer\\:\\:normalize\\(\\) should be contravariant with parameter \\$format \\(string\\|null\\) of method Symfony\\\\Component\\\\Serializer\\\\Normalizer\\\\NormalizerInterface\\:\\:normalize\\(\\)$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillMainBundle/Serializer/Normalizer/CenterNormalizer.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#2 \\$format \\(string\\) of method Chill\\\\MainBundle\\\\Serializer\\\\Normalizer\\\\CenterNormalizer\\:\\:supportsNormalization\\(\\) should be contravariant with parameter \\$format \\(string\\|null\\) of method Symfony\\\\Component\\\\Serializer\\\\Normalizer\\\\NormalizerInterface\\:\\:supportsNormalization\\(\\)$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillMainBundle/Serializer/Normalizer/CenterNormalizer.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#3 \\$format \\(string\\) of method Chill\\\\MainBundle\\\\Serializer\\\\Normalizer\\\\CenterNormalizer\\:\\:denormalize\\(\\) should be contravariant with parameter \\$format \\(string\\|null\\) of method Symfony\\\\Component\\\\Serializer\\\\Normalizer\\\\DenormalizerInterface\\:\\:denormalize\\(\\)$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillMainBundle/Serializer/Normalizer/CenterNormalizer.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#3 \\$format \\(string\\) of method Chill\\\\MainBundle\\\\Serializer\\\\Normalizer\\\\CenterNormalizer\\:\\:supportsDenormalization\\(\\) should be contravariant with parameter \\$format \\(string\\|null\\) of method Symfony\\\\Component\\\\Serializer\\\\Normalizer\\\\DenormalizerInterface\\:\\:supportsDenormalization\\(\\)$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillMainBundle/Serializer/Normalizer/CenterNormalizer.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#1 \\$collection \\(Chill\\\\MainBundle\\\\Serializer\\\\Model\\\\Collection\\) of method Chill\\\\MainBundle\\\\Serializer\\\\Normalizer\\\\CollectionNormalizer\\:\\:normalize\\(\\) should be contravariant with parameter \\$object \\(mixed\\) of method Symfony\\\\Component\\\\Serializer\\\\Normalizer\\\\NormalizerInterface\\:\\:normalize\\(\\)$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillMainBundle/Serializer/Normalizer/CollectionNormalizer.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#2 \\$format \\(string\\) of method Chill\\\\MainBundle\\\\Serializer\\\\Normalizer\\\\CollectionNormalizer\\:\\:supportsNormalization\\(\\) should be contravariant with parameter \\$format \\(string\\|null\\) of method Symfony\\\\Component\\\\Serializer\\\\Normalizer\\\\NormalizerInterface\\:\\:supportsNormalization\\(\\)$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillMainBundle/Serializer/Normalizer/CollectionNormalizer.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#1 \\$object \\(Chill\\\\MainBundle\\\\Entity\\\\Embeddable\\\\CommentEmbeddable\\) of method Chill\\\\MainBundle\\\\Serializer\\\\Normalizer\\\\CommentEmbeddableDocGenNormalizer\\:\\:normalize\\(\\) should be contravariant with parameter \\$object \\(mixed\\) of method Symfony\\\\Component\\\\Serializer\\\\Normalizer\\\\NormalizerInterface\\:\\:normalize\\(\\)$#" | ||||
| 			count: 2 | ||||
| 			path: src/Bundle/ChillMainBundle/Serializer/Normalizer/CommentEmbeddableDocGenNormalizer.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#2 \\$format \\(string\\) of method Chill\\\\MainBundle\\\\Serializer\\\\Normalizer\\\\DateNormalizer\\:\\:normalize\\(\\) should be contravariant with parameter \\$format \\(string\\|null\\) of method Symfony\\\\Component\\\\Serializer\\\\Normalizer\\\\NormalizerInterface\\:\\:normalize\\(\\)$#" | ||||
| 			count: 2 | ||||
| 			path: src/Bundle/ChillMainBundle/Serializer/Normalizer/DateNormalizer.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#2 \\$format \\(string\\) of method Chill\\\\MainBundle\\\\Serializer\\\\Normalizer\\\\DateNormalizer\\:\\:supportsNormalization\\(\\) should be contravariant with parameter \\$format \\(string\\|null\\) of method Symfony\\\\Component\\\\Serializer\\\\Normalizer\\\\ContextAwareNormalizerInterface\\:\\:supportsNormalization\\(\\)$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillMainBundle/Serializer/Normalizer/DateNormalizer.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#2 \\$format \\(string\\) of method Chill\\\\MainBundle\\\\Serializer\\\\Normalizer\\\\DateNormalizer\\:\\:supportsNormalization\\(\\) should be contravariant with parameter \\$format \\(string\\|null\\) of method Symfony\\\\Component\\\\Serializer\\\\Normalizer\\\\NormalizerInterface\\:\\:supportsNormalization\\(\\)$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillMainBundle/Serializer/Normalizer/DateNormalizer.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#3 \\$format \\(string\\) of method Chill\\\\MainBundle\\\\Serializer\\\\Normalizer\\\\DateNormalizer\\:\\:denormalize\\(\\) should be contravariant with parameter \\$format \\(string\\|null\\) of method Symfony\\\\Component\\\\Serializer\\\\Normalizer\\\\DenormalizerInterface\\:\\:denormalize\\(\\)$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillMainBundle/Serializer/Normalizer/DateNormalizer.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#3 \\$format \\(string\\) of method Chill\\\\MainBundle\\\\Serializer\\\\Normalizer\\\\DateNormalizer\\:\\:supportsDenormalization\\(\\) should be contravariant with parameter \\$format \\(string\\|null\\) of method Symfony\\\\Component\\\\Serializer\\\\Normalizer\\\\DenormalizerInterface\\:\\:supportsDenormalization\\(\\)$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillMainBundle/Serializer/Normalizer/DateNormalizer.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#3 \\$format \\(string\\) of method Chill\\\\MainBundle\\\\Serializer\\\\Normalizer\\\\DiscriminatedObjectDenormalizer\\:\\:denormalize\\(\\) should be contravariant with parameter \\$format \\(string\\|null\\) of method Symfony\\\\Component\\\\Serializer\\\\Normalizer\\\\DenormalizerInterface\\:\\:denormalize\\(\\)$#" | ||||
| 			count: 2 | ||||
| 			path: src/Bundle/ChillMainBundle/Serializer/Normalizer/DiscriminatedObjectDenormalizer.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#3 \\$format \\(string\\) of method Chill\\\\MainBundle\\\\Serializer\\\\Normalizer\\\\DiscriminatedObjectDenormalizer\\:\\:supportsDenormalization\\(\\) should be contravariant with parameter \\$format \\(string\\|null\\) of method Symfony\\\\Component\\\\Serializer\\\\Normalizer\\\\ContextAwareDenormalizerInterface\\:\\:supportsDenormalization\\(\\)$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillMainBundle/Serializer/Normalizer/DiscriminatedObjectDenormalizer.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#3 \\$format \\(string\\) of method Chill\\\\MainBundle\\\\Serializer\\\\Normalizer\\\\DiscriminatedObjectDenormalizer\\:\\:supportsDenormalization\\(\\) should be contravariant with parameter \\$format \\(string\\|null\\) of method Symfony\\\\Component\\\\Serializer\\\\Normalizer\\\\DenormalizerInterface\\:\\:supportsDenormalization\\(\\)$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillMainBundle/Serializer/Normalizer/DiscriminatedObjectDenormalizer.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#3 \\$format \\(string\\) of method Chill\\\\MainBundle\\\\Serializer\\\\Normalizer\\\\DoctrineExistingEntityNormalizer\\:\\:denormalize\\(\\) should be contravariant with parameter \\$format \\(string\\|null\\) of method Symfony\\\\Component\\\\Serializer\\\\Normalizer\\\\DenormalizerInterface\\:\\:denormalize\\(\\)$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillMainBundle/Serializer/Normalizer/DoctrineExistingEntityNormalizer.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#3 \\$format \\(string\\) of method Chill\\\\MainBundle\\\\Serializer\\\\Normalizer\\\\DoctrineExistingEntityNormalizer\\:\\:supportsDenormalization\\(\\) should be contravariant with parameter \\$format \\(string\\|null\\) of method Symfony\\\\Component\\\\Serializer\\\\Normalizer\\\\DenormalizerInterface\\:\\:supportsDenormalization\\(\\)$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillMainBundle/Serializer/Normalizer/DoctrineExistingEntityNormalizer.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#1 \\$object \\(Chill\\\\MainBundle\\\\Entity\\\\Workflow\\\\EntityWorkflow\\) of method Chill\\\\MainBundle\\\\Serializer\\\\Normalizer\\\\EntityWorkflowNormalizer\\:\\:normalize\\(\\) should be contravariant with parameter \\$object \\(mixed\\) of method Symfony\\\\Component\\\\Serializer\\\\Normalizer\\\\NormalizerInterface\\:\\:normalize\\(\\)$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillMainBundle/Serializer/Normalizer/EntityWorkflowNormalizer.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#1 \\$object \\(Chill\\\\MainBundle\\\\Entity\\\\Workflow\\\\EntityWorkflowStep\\) of method Chill\\\\MainBundle\\\\Serializer\\\\Normalizer\\\\EntityWorkflowStepNormalizer\\:\\:normalize\\(\\) should be contravariant with parameter \\$object \\(mixed\\) of method Symfony\\\\Component\\\\Serializer\\\\Normalizer\\\\NormalizerInterface\\:\\:normalize\\(\\)$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillMainBundle/Serializer/Normalizer/EntityWorkflowStepNormalizer.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#1 \\$object \\(Chill\\\\MainBundle\\\\Entity\\\\Notification\\) of method Chill\\\\MainBundle\\\\Serializer\\\\Normalizer\\\\NotificationNormalizer\\:\\:normalize\\(\\) should be contravariant with parameter \\$object \\(mixed\\) of method Symfony\\\\Component\\\\Serializer\\\\Normalizer\\\\NormalizerInterface\\:\\:normalize\\(\\)$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillMainBundle/Serializer/Normalizer/NotificationNormalizer.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Return type \\(array\\|ArrayObject\\|bool\\|float\\|int\\|string\\|void\\|null\\) of method Chill\\\\MainBundle\\\\Serializer\\\\Normalizer\\\\NotificationNormalizer\\:\\:normalize\\(\\) should be covariant with return type \\(array\\|ArrayObject\\|bool\\|float\\|int\\|string\\|null\\) of method Symfony\\\\Component\\\\Serializer\\\\Normalizer\\\\NormalizerInterface\\:\\:normalize\\(\\)$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillMainBundle/Serializer/Normalizer/NotificationNormalizer.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#1 \\$data \\(string\\|null\\) of method Chill\\\\MainBundle\\\\Serializer\\\\Normalizer\\\\PhonenumberNormalizer\\:\\:denormalize\\(\\) should be contravariant with parameter \\$data \\(mixed\\) of method Symfony\\\\Component\\\\Serializer\\\\Normalizer\\\\DenormalizerInterface\\:\\:denormalize\\(\\)$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillMainBundle/Serializer/Normalizer/PhonenumberNormalizer.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#3 \\$format \\(string\\) of method Chill\\\\MainBundle\\\\Serializer\\\\Normalizer\\\\PhonenumberNormalizer\\:\\:supportsDenormalization\\(\\) should be contravariant with parameter \\$format \\(string\\|null\\) of method Symfony\\\\Component\\\\Serializer\\\\Normalizer\\\\DenormalizerInterface\\:\\:supportsDenormalization\\(\\)$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillMainBundle/Serializer/Normalizer/PhonenumberNormalizer.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#3 \\$format \\(string\\) of method Chill\\\\MainBundle\\\\Serializer\\\\Normalizer\\\\PointNormalizer\\:\\:denormalize\\(\\) should be contravariant with parameter \\$format \\(string\\|null\\) of method Symfony\\\\Component\\\\Serializer\\\\Normalizer\\\\DenormalizerInterface\\:\\:denormalize\\(\\)$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillMainBundle/Serializer/Normalizer/PointNormalizer.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#3 \\$format \\(string\\) of method Chill\\\\MainBundle\\\\Serializer\\\\Normalizer\\\\PointNormalizer\\:\\:supportsDenormalization\\(\\) should be contravariant with parameter \\$format \\(string\\|null\\) of method Symfony\\\\Component\\\\Serializer\\\\Normalizer\\\\DenormalizerInterface\\:\\:supportsDenormalization\\(\\)$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillMainBundle/Serializer/Normalizer/PointNormalizer.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#2 \\$format \\(string\\) of method Chill\\\\MainBundle\\\\Serializer\\\\Normalizer\\\\PrivateCommentEmbeddableNormalizer\\:\\:normalize\\(\\) should be contravariant with parameter \\$format \\(string\\|null\\) of method Symfony\\\\Component\\\\Serializer\\\\Normalizer\\\\NormalizerInterface\\:\\:normalize\\(\\)$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillMainBundle/Serializer/Normalizer/PrivateCommentEmbeddableNormalizer.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#2 \\$format \\(string\\) of method Chill\\\\MainBundle\\\\Serializer\\\\Normalizer\\\\UserNormalizer\\:\\:normalize\\(\\) should be contravariant with parameter \\$format \\(string\\|null\\) of method Symfony\\\\Component\\\\Serializer\\\\Normalizer\\\\NormalizerInterface\\:\\:normalize\\(\\)$#" | ||||
| 			count: 2 | ||||
| 			path: src/Bundle/ChillMainBundle/Serializer/Normalizer/UserNormalizer.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#2 \\$format \\(string\\) of method Chill\\\\MainBundle\\\\Serializer\\\\Normalizer\\\\UserNormalizer\\:\\:supportsNormalization\\(\\) should be contravariant with parameter \\$format \\(string\\|null\\) of method Symfony\\\\Component\\\\Serializer\\\\Normalizer\\\\ContextAwareNormalizerInterface\\:\\:supportsNormalization\\(\\)$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillMainBundle/Serializer/Normalizer/UserNormalizer.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#2 \\$format \\(string\\) of method Chill\\\\MainBundle\\\\Serializer\\\\Normalizer\\\\UserNormalizer\\:\\:supportsNormalization\\(\\) should be contravariant with parameter \\$format \\(string\\|null\\) of method Symfony\\\\Component\\\\Serializer\\\\Normalizer\\\\NormalizerInterface\\:\\:supportsNormalization\\(\\)$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillMainBundle/Serializer/Normalizer/UserNormalizer.php | ||||
|  | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#1 \\$value \\(string\\) of method Chill\\\\MainBundle\\\\Validation\\\\Validator\\\\ValidPhonenumber\\:\\:validate\\(\\) should be contravariant with parameter \\$value \\(mixed\\) of method Symfony\\\\Component\\\\Validator\\\\ConstraintValidatorInterface\\:\\:validate\\(\\)$#" | ||||
| 			count: 2 | ||||
| 			path: src/Bundle/ChillMainBundle/Validation/Validator/ValidPhonenumber.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#2 \\$constraint \\(Chill\\\\MainBundle\\\\Validation\\\\Constraint\\\\PhonenumberConstraint\\) of method Chill\\\\MainBundle\\\\Validation\\\\Validator\\\\ValidPhonenumber\\:\\:validate\\(\\) should be contravariant with parameter \\$constraint \\(Symfony\\\\Component\\\\Validator\\\\Constraint\\) of method Symfony\\\\Component\\\\Validator\\\\ConstraintValidatorInterface\\:\\:validate\\(\\)$#" | ||||
| 			count: 2 | ||||
| 			path: src/Bundle/ChillMainBundle/Validation/Validator/ValidPhonenumber.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#1 \\$value \\(object\\) of method Chill\\\\MainBundle\\\\Validator\\\\Constraints\\\\Entity\\\\UserCircleConsistencyValidator\\:\\:validate\\(\\) should be contravariant with parameter \\$value \\(mixed\\) of method Symfony\\\\Component\\\\Validator\\\\ConstraintValidatorInterface\\:\\:validate\\(\\)$#" | ||||
| 			count: 2 | ||||
| 			path: src/Bundle/ChillMainBundle/Validator/Constraints/Entity/UserCircleConsistencyValidator.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#2 \\$constraint \\(Chill\\\\MainBundle\\\\Validator\\\\Constraints\\\\Entity\\\\UserCircleConsistency\\) of method Chill\\\\MainBundle\\\\Validator\\\\Constraints\\\\Entity\\\\UserCircleConsistencyValidator\\:\\:validate\\(\\) should be contravariant with parameter \\$constraint \\(Symfony\\\\Component\\\\Validator\\\\Constraint\\) of method Symfony\\\\Component\\\\Validator\\\\ConstraintValidatorInterface\\:\\:validate\\(\\)$#" | ||||
| 			count: 2 | ||||
| 			path: src/Bundle/ChillMainBundle/Validator/Constraints/Entity/UserCircleConsistencyValidator.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#1 \\$value \\(Chill\\\\MainBundle\\\\Entity\\\\Workflow\\\\EntityWorkflow\\) of method Chill\\\\MainBundle\\\\Workflow\\\\Validator\\\\EntityWorkflowCreationValidator\\:\\:validate\\(\\) should be contravariant with parameter \\$value \\(mixed\\) of method Symfony\\\\Component\\\\Validator\\\\ConstraintValidatorInterface\\:\\:validate\\(\\)$#" | ||||
| 			count: 2 | ||||
| 			path: src/Bundle/ChillMainBundle/Workflow/Validator/EntityWorkflowCreationValidator.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#1 \\$value \\(Chill\\\\MainBundle\\\\Entity\\\\Workflow\\\\EntityWorkflowStep\\) of method Chill\\\\MainBundle\\\\Workflow\\\\Validator\\\\StepDestValidValidator\\:\\:validate\\(\\) should be contravariant with parameter \\$value \\(mixed\\) of method Symfony\\\\Component\\\\Validator\\\\ConstraintValidatorInterface\\:\\:validate\\(\\)$#" | ||||
| 			count: 2 | ||||
| 			path: src/Bundle/ChillMainBundle/Workflow/Validator/StepDestValidValidator.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#3 \\$query \\(Doctrine\\\\ORM\\\\QueryBuilder\\) of method Chill\\\\PersonBundle\\\\Controller\\\\HouseholdCompositionTypeApiController\\:\\:customizeQuery\\(\\) should be contravariant with parameter \\$query \\(mixed\\) of method Chill\\\\MainBundle\\\\CRUD\\\\Controller\\\\AbstractCRUDController\\:\\:customizeQuery\\(\\)$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillPersonBundle/Controller/HouseholdCompositionTypeApiController.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Return type \\(Doctrine\\\\Common\\\\Collections\\\\Collection\\) of method Chill\\\\PersonBundle\\\\Entity\\\\AccompanyingPeriod\\:\\:getScopes\\(\\) should be covariant with return type \\(iterable\\<Chill\\\\MainBundle\\\\Entity\\\\Scope\\>\\) of method Chill\\\\MainBundle\\\\Entity\\\\HasScopesInterface\\:\\:getScopes\\(\\)$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillPersonBundle/Entity/AccompanyingPeriod.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Return type \\(Chill\\\\MainBundle\\\\Entity\\\\Center\\|null\\) of method Chill\\\\PersonBundle\\\\Entity\\\\Person\\:\\:getCenter\\(\\) should be covariant with return type \\(Chill\\\\MainBundle\\\\Entity\\\\Center\\) of method Chill\\\\MainBundle\\\\Entity\\\\HasCenterInterface\\:\\:getCenter\\(\\)$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillPersonBundle/Entity/Person.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#1 \\$value \\(null\\) of method Chill\\\\PersonBundle\\\\Form\\\\ChoiceLoader\\\\PersonChoiceLoader\\:\\:loadChoiceList\\(\\) should be contravariant with parameter \\$value \\(\\(callable\\(\\)\\: mixed\\)\\|null\\) of method Symfony\\\\Component\\\\Form\\\\ChoiceList\\\\Loader\\\\ChoiceLoaderInterface\\:\\:loadChoiceList\\(\\)$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillPersonBundle/Form/ChoiceLoader/PersonChoiceLoader.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#2 \\$value \\(null\\) of method Chill\\\\PersonBundle\\\\Form\\\\ChoiceLoader\\\\PersonChoiceLoader\\:\\:loadChoicesForValues\\(\\) should be contravariant with parameter \\$value \\(\\(callable\\(\\)\\: mixed\\)\\|null\\) of method Symfony\\\\Component\\\\Form\\\\ChoiceList\\\\Loader\\\\ChoiceLoaderInterface\\:\\:loadChoicesForValues\\(\\)$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillPersonBundle/Form/ChoiceLoader/PersonChoiceLoader.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#2 \\$value \\(null\\) of method Chill\\\\PersonBundle\\\\Form\\\\ChoiceLoader\\\\PersonChoiceLoader\\:\\:loadValuesForChoices\\(\\) should be contravariant with parameter \\$value \\(\\(callable\\(\\)\\: mixed\\)\\|null\\) of method Symfony\\\\Component\\\\Form\\\\ChoiceList\\\\Loader\\\\ChoiceLoaderInterface\\:\\:loadValuesForChoices\\(\\)$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillPersonBundle/Form/ChoiceLoader/PersonChoiceLoader.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#2 \\$viewData \\(Doctrine\\\\Common\\\\Collections\\\\Collection\\) of method Chill\\\\PersonBundle\\\\Form\\\\DataMapper\\\\PersonAltNameDataMapper\\:\\:mapFormsToData\\(\\) should be contravariant with parameter \\$viewData \\(mixed\\) of method Symfony\\\\Component\\\\Form\\\\DataMapperInterface\\:\\:mapFormsToData\\(\\)$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillPersonBundle/Form/DataMapper/PersonAltNameDataMapper.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#3 \\$limit \\(int\\) of method Chill\\\\PersonBundle\\\\Repository\\\\AccompanyingPeriod\\\\AccompanyingPeriodWorkEvaluationRepository\\:\\:findBy\\(\\) should be contravariant with parameter \\$limit \\(int\\|null\\) of method Doctrine\\\\Persistence\\\\ObjectRepository\\<object\\>\\:\\:findBy\\(\\)$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillPersonBundle/Repository/AccompanyingPeriod/AccompanyingPeriodWorkEvaluationRepository.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#4 \\$offset \\(int\\) of method Chill\\\\PersonBundle\\\\Repository\\\\AccompanyingPeriod\\\\AccompanyingPeriodWorkEvaluationRepository\\:\\:findBy\\(\\) should be contravariant with parameter \\$offset \\(int\\|null\\) of method Doctrine\\\\Persistence\\\\ObjectRepository\\<object\\>\\:\\:findBy\\(\\)$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillPersonBundle/Repository/AccompanyingPeriod/AccompanyingPeriodWorkEvaluationRepository.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#3 \\$limit \\(int\\) of method Chill\\\\PersonBundle\\\\Repository\\\\Household\\\\HouseholdCompositionRepository\\:\\:findBy\\(\\) should be contravariant with parameter \\$limit \\(int\\|null\\) of method Doctrine\\\\Persistence\\\\ObjectRepository\\<object\\>\\:\\:findBy\\(\\)$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillPersonBundle/Repository/Household/HouseholdCompositionRepository.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#4 \\$offset \\(int\\) of method Chill\\\\PersonBundle\\\\Repository\\\\Household\\\\HouseholdCompositionRepository\\:\\:findBy\\(\\) should be contravariant with parameter \\$offset \\(int\\|null\\) of method Doctrine\\\\Persistence\\\\ObjectRepository\\<object\\>\\:\\:findBy\\(\\)$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillPersonBundle/Repository/Household/HouseholdCompositionRepository.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#3 \\$limit \\(int\\) of method Chill\\\\PersonBundle\\\\Repository\\\\Household\\\\HouseholdCompositionRepositoryInterface\\:\\:findBy\\(\\) should be contravariant with parameter \\$limit \\(int\\|null\\) of method Doctrine\\\\Persistence\\\\ObjectRepository\\<object\\>\\:\\:findBy\\(\\)$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillPersonBundle/Repository/Household/HouseholdCompositionRepositoryInterface.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#4 \\$offset \\(int\\) of method Chill\\\\PersonBundle\\\\Repository\\\\Household\\\\HouseholdCompositionRepositoryInterface\\:\\:findBy\\(\\) should be contravariant with parameter \\$offset \\(int\\|null\\) of method Doctrine\\\\Persistence\\\\ObjectRepository\\<object\\>\\:\\:findBy\\(\\)$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillPersonBundle/Repository/Household/HouseholdCompositionRepositoryInterface.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Return type \\(class\\-string\\) of method Chill\\\\PersonBundle\\\\Repository\\\\SocialWork\\\\EvaluationRepository\\:\\:getClassName\\(\\) should be covariant with return type \\(class\\-string\\<object\\>\\) of method Doctrine\\\\Persistence\\\\ObjectRepository\\<object\\>\\:\\:getClassName\\(\\)$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillPersonBundle/Repository/SocialWork/EvaluationRepository.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Return type \\(class\\-string\\) of method Chill\\\\PersonBundle\\\\Repository\\\\SocialWork\\\\EvaluationRepositoryInterface\\:\\:getClassName\\(\\) should be covariant with return type \\(class\\-string\\<object\\>\\) of method Doctrine\\\\Persistence\\\\ObjectRepository\\<object\\>\\:\\:getClassName\\(\\)$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillPersonBundle/Repository/SocialWork/EvaluationRepositoryInterface.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Return type \\(class\\-string\\) of method Chill\\\\PersonBundle\\\\Repository\\\\SocialWork\\\\GoalRepository\\:\\:getClassName\\(\\) should be covariant with return type \\(class\\-string\\<object\\>\\) of method Doctrine\\\\Persistence\\\\ObjectRepository\\<object\\>\\:\\:getClassName\\(\\)$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillPersonBundle/Repository/SocialWork/GoalRepository.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Return type \\(class\\-string\\) of method Chill\\\\PersonBundle\\\\Repository\\\\SocialWork\\\\ResultRepository\\:\\:getClassName\\(\\) should be covariant with return type \\(class\\-string\\<object\\>\\) of method Doctrine\\\\Persistence\\\\ObjectRepository\\<object\\>\\:\\:getClassName\\(\\)$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillPersonBundle/Repository/SocialWork/ResultRepository.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Return type \\(class\\-string\\) of method Chill\\\\PersonBundle\\\\Repository\\\\SocialWork\\\\SocialActionRepository\\:\\:getClassName\\(\\) should be covariant with return type \\(class\\-string\\<object\\>\\) of method Doctrine\\\\Persistence\\\\ObjectRepository\\<object\\>\\:\\:getClassName\\(\\)$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillPersonBundle/Repository/SocialWork/SocialActionRepository.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Return type \\(class\\-string\\) of method Chill\\\\PersonBundle\\\\Repository\\\\SocialWork\\\\SocialIssueRepository\\:\\:getClassName\\(\\) should be covariant with return type \\(class\\-string\\<object\\>\\) of method Doctrine\\\\Persistence\\\\ObjectRepository\\<object\\>\\:\\:getClassName\\(\\)$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillPersonBundle/Repository/SocialWork/SocialIssueRepository.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#2 \\$subject \\(Chill\\\\PersonBundle\\\\Entity\\\\AccompanyingPeriod\\\\AccompanyingPeriodWorkEvaluationDocument\\) of method Chill\\\\PersonBundle\\\\Security\\\\Authorization\\\\AccompanyingPeriodWorkEvaluationDocumentVoter\\:\\:voteOnAttribute\\(\\) should be contravariant with parameter \\$subject \\(mixed\\) of method Symfony\\\\Component\\\\Security\\\\Core\\\\Authorization\\\\Voter\\\\Voter\\:\\:voteOnAttribute\\(\\)$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillPersonBundle/Security/Authorization/AccompanyingPeriodWorkEvaluationDocumentVoter.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#2 \\$subject \\(Chill\\\\PersonBundle\\\\Entity\\\\AccompanyingPeriod\\\\AccompanyingPeriodWorkEvaluation\\) of method Chill\\\\PersonBundle\\\\Security\\\\Authorization\\\\AccompanyingPeriodWorkEvaluationVoter\\:\\:voteOnAttribute\\(\\) should be contravariant with parameter \\$subject \\(mixed\\) of method Symfony\\\\Component\\\\Security\\\\Core\\\\Authorization\\\\Voter\\\\Voter\\:\\:voteOnAttribute\\(\\)$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillPersonBundle/Security/Authorization/AccompanyingPeriodWorkEvaluationVoter.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#2 \\$subject \\(Chill\\\\PersonBundle\\\\Entity\\\\AccompanyingPeriod\\\\AccompanyingPeriodWork\\) of method Chill\\\\PersonBundle\\\\Security\\\\Authorization\\\\AccompanyingPeriodWorkVoter\\:\\:voteOnAttribute\\(\\) should be contravariant with parameter \\$subject \\(mixed\\) of method Symfony\\\\Component\\\\Security\\\\Core\\\\Authorization\\\\Voter\\\\Voter\\:\\:voteOnAttribute\\(\\)$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillPersonBundle/Security/Authorization/AccompanyingPeriodWorkVoter.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#1 \\$period \\(Chill\\\\PersonBundle\\\\Entity\\\\AccompanyingPeriod\\|null\\) of method Chill\\\\PersonBundle\\\\Serializer\\\\Normalizer\\\\AccompanyingPeriodDocGenNormalizer\\:\\:normalize\\(\\) should be contravariant with parameter \\$object \\(mixed\\) of method Symfony\\\\Component\\\\Serializer\\\\Normalizer\\\\NormalizerInterface\\:\\:normalize\\(\\)$#" | ||||
| 			count: 2 | ||||
| 			path: src/Bundle/ChillPersonBundle/Serializer/Normalizer/AccompanyingPeriodDocGenNormalizer.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#2 \\$format \\(string\\) of method Chill\\\\PersonBundle\\\\Serializer\\\\Normalizer\\\\AccompanyingPeriodDocGenNormalizer\\:\\:supportsNormalization\\(\\) should be contravariant with parameter \\$format \\(string\\|null\\) of method Symfony\\\\Component\\\\Serializer\\\\Normalizer\\\\ContextAwareNormalizerInterface\\:\\:supportsNormalization\\(\\)$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillPersonBundle/Serializer/Normalizer/AccompanyingPeriodDocGenNormalizer.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#2 \\$format \\(string\\) of method Chill\\\\PersonBundle\\\\Serializer\\\\Normalizer\\\\AccompanyingPeriodDocGenNormalizer\\:\\:supportsNormalization\\(\\) should be contravariant with parameter \\$format \\(string\\|null\\) of method Symfony\\\\Component\\\\Serializer\\\\Normalizer\\\\NormalizerInterface\\:\\:supportsNormalization\\(\\)$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillPersonBundle/Serializer/Normalizer/AccompanyingPeriodDocGenNormalizer.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#1 \\$origin \\(Chill\\\\PersonBundle\\\\Entity\\\\AccompanyingPeriod\\\\Origin\\) of method Chill\\\\PersonBundle\\\\Serializer\\\\Normalizer\\\\AccompanyingPeriodOriginNormalizer\\:\\:normalize\\(\\) should be contravariant with parameter \\$object \\(mixed\\) of method Symfony\\\\Component\\\\Serializer\\\\Normalizer\\\\NormalizerInterface\\:\\:normalize\\(\\)$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillPersonBundle/Serializer/Normalizer/AccompanyingPeriodOriginNormalizer.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#2 \\$format \\(string\\) of method Chill\\\\PersonBundle\\\\Serializer\\\\Normalizer\\\\AccompanyingPeriodOriginNormalizer\\:\\:supportsNormalization\\(\\) should be contravariant with parameter \\$format \\(string\\|null\\) of method Symfony\\\\Component\\\\Serializer\\\\Normalizer\\\\NormalizerInterface\\:\\:supportsNormalization\\(\\)$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillPersonBundle/Serializer/Normalizer/AccompanyingPeriodOriginNormalizer.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#1 \\$participation \\(Chill\\\\PersonBundle\\\\Entity\\\\AccompanyingPeriodParticipation\\) of method Chill\\\\PersonBundle\\\\Serializer\\\\Normalizer\\\\AccompanyingPeriodParticipationNormalizer\\:\\:normalize\\(\\) should be contravariant with parameter \\$object \\(mixed\\) of method Symfony\\\\Component\\\\Serializer\\\\Normalizer\\\\NormalizerInterface\\:\\:normalize\\(\\)$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillPersonBundle/Serializer/Normalizer/AccompanyingPeriodParticipationNormalizer.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#2 \\$format \\(string\\) of method Chill\\\\PersonBundle\\\\Serializer\\\\Normalizer\\\\AccompanyingPeriodParticipationNormalizer\\:\\:supportsNormalization\\(\\) should be contravariant with parameter \\$format \\(string\\|null\\) of method Symfony\\\\Component\\\\Serializer\\\\Normalizer\\\\NormalizerInterface\\:\\:supportsNormalization\\(\\)$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillPersonBundle/Serializer/Normalizer/AccompanyingPeriodParticipationNormalizer.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#3 \\$format \\(string\\) of method Chill\\\\PersonBundle\\\\Serializer\\\\Normalizer\\\\AccompanyingPeriodResourceNormalizer\\:\\:denormalize\\(\\) should be contravariant with parameter \\$format \\(string\\|null\\) of method Symfony\\\\Component\\\\Serializer\\\\Normalizer\\\\DenormalizerInterface\\:\\:denormalize\\(\\)$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillPersonBundle/Serializer/Normalizer/AccompanyingPeriodResourceNormalizer.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#3 \\$format \\(string\\) of method Chill\\\\PersonBundle\\\\Serializer\\\\Normalizer\\\\AccompanyingPeriodResourceNormalizer\\:\\:supportsDenormalization\\(\\) should be contravariant with parameter \\$format \\(string\\|null\\) of method Symfony\\\\Component\\\\Serializer\\\\Normalizer\\\\DenormalizerInterface\\:\\:supportsDenormalization\\(\\)$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillPersonBundle/Serializer/Normalizer/AccompanyingPeriodResourceNormalizer.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#3 \\$format \\(string\\) of method Chill\\\\PersonBundle\\\\Serializer\\\\Normalizer\\\\AccompanyingPeriodWorkDenormalizer\\:\\:denormalize\\(\\) should be contravariant with parameter \\$format \\(string\\|null\\) of method Symfony\\\\Component\\\\Serializer\\\\Normalizer\\\\DenormalizerInterface\\:\\:denormalize\\(\\)$#" | ||||
| 			count: 2 | ||||
| 			path: src/Bundle/ChillPersonBundle/Serializer/Normalizer/AccompanyingPeriodWorkDenormalizer.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#3 \\$format \\(string\\) of method Chill\\\\PersonBundle\\\\Serializer\\\\Normalizer\\\\AccompanyingPeriodWorkDenormalizer\\:\\:supportsDenormalization\\(\\) should be contravariant with parameter \\$format \\(string\\|null\\) of method Symfony\\\\Component\\\\Serializer\\\\Normalizer\\\\ContextAwareDenormalizerInterface\\:\\:supportsDenormalization\\(\\)$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillPersonBundle/Serializer/Normalizer/AccompanyingPeriodWorkDenormalizer.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#3 \\$format \\(string\\) of method Chill\\\\PersonBundle\\\\Serializer\\\\Normalizer\\\\AccompanyingPeriodWorkDenormalizer\\:\\:supportsDenormalization\\(\\) should be contravariant with parameter \\$format \\(string\\|null\\) of method Symfony\\\\Component\\\\Serializer\\\\Normalizer\\\\DenormalizerInterface\\:\\:supportsDenormalization\\(\\)$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillPersonBundle/Serializer/Normalizer/AccompanyingPeriodWorkDenormalizer.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#3 \\$format \\(string\\) of method Chill\\\\PersonBundle\\\\Serializer\\\\Normalizer\\\\AccompanyingPeriodWorkEvaluationDenormalizer\\:\\:denormalize\\(\\) should be contravariant with parameter \\$format \\(string\\|null\\) of method Symfony\\\\Component\\\\Serializer\\\\Normalizer\\\\DenormalizerInterface\\:\\:denormalize\\(\\)$#" | ||||
| 			count: 2 | ||||
| 			path: src/Bundle/ChillPersonBundle/Serializer/Normalizer/AccompanyingPeriodWorkEvaluationDenormalizer.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#3 \\$format \\(string\\) of method Chill\\\\PersonBundle\\\\Serializer\\\\Normalizer\\\\AccompanyingPeriodWorkEvaluationDenormalizer\\:\\:supportsDenormalization\\(\\) should be contravariant with parameter \\$format \\(string\\|null\\) of method Symfony\\\\Component\\\\Serializer\\\\Normalizer\\\\ContextAwareDenormalizerInterface\\:\\:supportsDenormalization\\(\\)$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillPersonBundle/Serializer/Normalizer/AccompanyingPeriodWorkEvaluationDenormalizer.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#3 \\$format \\(string\\) of method Chill\\\\PersonBundle\\\\Serializer\\\\Normalizer\\\\AccompanyingPeriodWorkEvaluationDenormalizer\\:\\:supportsDenormalization\\(\\) should be contravariant with parameter \\$format \\(string\\|null\\) of method Symfony\\\\Component\\\\Serializer\\\\Normalizer\\\\DenormalizerInterface\\:\\:supportsDenormalization\\(\\)$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillPersonBundle/Serializer/Normalizer/AccompanyingPeriodWorkEvaluationDenormalizer.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#1 \\$object \\(Chill\\\\PersonBundle\\\\Entity\\\\AccompanyingPeriod\\\\AccompanyingPeriodWorkEvaluation\\) of method Chill\\\\PersonBundle\\\\Serializer\\\\Normalizer\\\\AccompanyingPeriodWorkEvaluationNormalizer\\:\\:normalize\\(\\) should be contravariant with parameter \\$object \\(mixed\\) of method Symfony\\\\Component\\\\Serializer\\\\Normalizer\\\\NormalizerInterface\\:\\:normalize\\(\\)$#" | ||||
| 			count: 2 | ||||
| 			path: src/Bundle/ChillPersonBundle/Serializer/Normalizer/AccompanyingPeriodWorkEvaluationNormalizer.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#1 \\$object \\(Chill\\\\PersonBundle\\\\Entity\\\\AccompanyingPeriod\\\\AccompanyingPeriodWork\\) of method Chill\\\\PersonBundle\\\\Serializer\\\\Normalizer\\\\AccompanyingPeriodWorkNormalizer\\:\\:normalize\\(\\) should be contravariant with parameter \\$object \\(mixed\\) of method Symfony\\\\Component\\\\Serializer\\\\Normalizer\\\\NormalizerInterface\\:\\:normalize\\(\\)$#" | ||||
| 			count: 2 | ||||
| 			path: src/Bundle/ChillPersonBundle/Serializer/Normalizer/AccompanyingPeriodWorkNormalizer.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#3 \\$format \\(string\\) of method Chill\\\\PersonBundle\\\\Serializer\\\\Normalizer\\\\MembersEditorNormalizer\\:\\:denormalize\\(\\) should be contravariant with parameter \\$format \\(string\\|null\\) of method Symfony\\\\Component\\\\Serializer\\\\Normalizer\\\\DenormalizerInterface\\:\\:denormalize\\(\\)$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillPersonBundle/Serializer/Normalizer/MembersEditorNormalizer.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#3 \\$format \\(string\\) of method Chill\\\\PersonBundle\\\\Serializer\\\\Normalizer\\\\MembersEditorNormalizer\\:\\:supportsDenormalization\\(\\) should be contravariant with parameter \\$format \\(string\\|null\\) of method Symfony\\\\Component\\\\Serializer\\\\Normalizer\\\\DenormalizerInterface\\:\\:supportsDenormalization\\(\\)$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillPersonBundle/Serializer/Normalizer/MembersEditorNormalizer.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#2 \\$format \\(string\\) of method Chill\\\\PersonBundle\\\\Serializer\\\\Normalizer\\\\PersonDocGenNormalizer\\:\\:normalize\\(\\) should be contravariant with parameter \\$format \\(string\\|null\\) of method Symfony\\\\Component\\\\Serializer\\\\Normalizer\\\\NormalizerInterface\\:\\:normalize\\(\\)$#" | ||||
| 			count: 2 | ||||
| 			path: src/Bundle/ChillPersonBundle/Serializer/Normalizer/PersonDocGenNormalizer.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#2 \\$format \\(string\\) of method Chill\\\\PersonBundle\\\\Serializer\\\\Normalizer\\\\PersonDocGenNormalizer\\:\\:supportsNormalization\\(\\) should be contravariant with parameter \\$format \\(string\\|null\\) of method Symfony\\\\Component\\\\Serializer\\\\Normalizer\\\\ContextAwareNormalizerInterface\\:\\:supportsNormalization\\(\\)$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillPersonBundle/Serializer/Normalizer/PersonDocGenNormalizer.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#2 \\$format \\(string\\) of method Chill\\\\PersonBundle\\\\Serializer\\\\Normalizer\\\\PersonDocGenNormalizer\\:\\:supportsNormalization\\(\\) should be contravariant with parameter \\$format \\(string\\|null\\) of method Symfony\\\\Component\\\\Serializer\\\\Normalizer\\\\NormalizerInterface\\:\\:supportsNormalization\\(\\)$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillPersonBundle/Serializer/Normalizer/PersonDocGenNormalizer.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#1 \\$person \\(Chill\\\\PersonBundle\\\\Entity\\\\Person\\) of method Chill\\\\PersonBundle\\\\Serializer\\\\Normalizer\\\\PersonJsonNormalizer\\:\\:normalize\\(\\) should be contravariant with parameter \\$object \\(mixed\\) of method Symfony\\\\Component\\\\Serializer\\\\Normalizer\\\\NormalizerInterface\\:\\:normalize\\(\\)$#" | ||||
| 			count: 2 | ||||
| 			path: src/Bundle/ChillPersonBundle/Serializer/Normalizer/PersonJsonNormalizer.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#2 \\$format \\(string\\) of method Chill\\\\PersonBundle\\\\Serializer\\\\Normalizer\\\\PersonJsonNormalizer\\:\\:supportsNormalization\\(\\) should be contravariant with parameter \\$format \\(string\\|null\\) of method Symfony\\\\Component\\\\Serializer\\\\Normalizer\\\\NormalizerInterface\\:\\:supportsNormalization\\(\\)$#" | ||||
| 			count: 2 | ||||
| 			path: src/Bundle/ChillPersonBundle/Serializer/Normalizer/PersonJsonNormalizer.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#3 \\$format \\(string\\) of method Chill\\\\PersonBundle\\\\Serializer\\\\Normalizer\\\\PersonJsonNormalizer\\:\\:denormalize\\(\\) should be contravariant with parameter \\$format \\(string\\|null\\) of method Symfony\\\\Component\\\\Serializer\\\\Normalizer\\\\DenormalizerInterface\\:\\:denormalize\\(\\)$#" | ||||
| 			count: 2 | ||||
| 			path: src/Bundle/ChillPersonBundle/Serializer/Normalizer/PersonJsonNormalizer.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#3 \\$format \\(string\\) of method Chill\\\\PersonBundle\\\\Serializer\\\\Normalizer\\\\PersonJsonNormalizer\\:\\:supportsDenormalization\\(\\) should be contravariant with parameter \\$format \\(string\\|null\\) of method Symfony\\\\Component\\\\Serializer\\\\Normalizer\\\\DenormalizerInterface\\:\\:supportsDenormalization\\(\\)$#" | ||||
| 			count: 2 | ||||
| 			path: src/Bundle/ChillPersonBundle/Serializer/Normalizer/PersonJsonNormalizer.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#1 \\$relation \\(Chill\\\\PersonBundle\\\\Entity\\\\Relationships\\\\Relationship\\) of method Chill\\\\PersonBundle\\\\Serializer\\\\Normalizer\\\\RelationshipDocGenNormalizer\\:\\:normalize\\(\\) should be contravariant with parameter \\$object \\(mixed\\) of method Symfony\\\\Component\\\\Serializer\\\\Normalizer\\\\NormalizerInterface\\:\\:normalize\\(\\)$#" | ||||
| 			count: 2 | ||||
| 			path: src/Bundle/ChillPersonBundle/Serializer/Normalizer/RelationshipDocGenNormalizer.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#2 \\$format \\(string\\) of method Chill\\\\PersonBundle\\\\Serializer\\\\Normalizer\\\\RelationshipDocGenNormalizer\\:\\:supportsNormalization\\(\\) should be contravariant with parameter \\$format \\(string\\|null\\) of method Symfony\\\\Component\\\\Serializer\\\\Normalizer\\\\ContextAwareNormalizerInterface\\:\\:supportsNormalization\\(\\)$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillPersonBundle/Serializer/Normalizer/RelationshipDocGenNormalizer.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#2 \\$format \\(string\\) of method Chill\\\\PersonBundle\\\\Serializer\\\\Normalizer\\\\RelationshipDocGenNormalizer\\:\\:supportsNormalization\\(\\) should be contravariant with parameter \\$format \\(string\\|null\\) of method Symfony\\\\Component\\\\Serializer\\\\Normalizer\\\\NormalizerInterface\\:\\:supportsNormalization\\(\\)$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillPersonBundle/Serializer/Normalizer/RelationshipDocGenNormalizer.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#2 \\$format \\(string\\) of method Chill\\\\PersonBundle\\\\Serializer\\\\Normalizer\\\\SocialActionNormalizer\\:\\:normalize\\(\\) should be contravariant with parameter \\$format \\(string\\|null\\) of method Symfony\\\\Component\\\\Serializer\\\\Normalizer\\\\NormalizerInterface\\:\\:normalize\\(\\)$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillPersonBundle/Serializer/Normalizer/SocialActionNormalizer.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#2 \\$format \\(string\\) of method Chill\\\\PersonBundle\\\\Serializer\\\\Normalizer\\\\SocialActionNormalizer\\:\\:supportsNormalization\\(\\) should be contravariant with parameter \\$format \\(string\\|null\\) of method Symfony\\\\Component\\\\Serializer\\\\Normalizer\\\\NormalizerInterface\\:\\:supportsNormalization\\(\\)$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillPersonBundle/Serializer/Normalizer/SocialActionNormalizer.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#2 \\$format \\(string\\) of method Chill\\\\PersonBundle\\\\Serializer\\\\Normalizer\\\\SocialIssueNormalizer\\:\\:normalize\\(\\) should be contravariant with parameter \\$format \\(string\\|null\\) of method Symfony\\\\Component\\\\Serializer\\\\Normalizer\\\\NormalizerInterface\\:\\:normalize\\(\\)$#" | ||||
| 			count: 2 | ||||
| 			path: src/Bundle/ChillPersonBundle/Serializer/Normalizer/SocialIssueNormalizer.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#2 \\$format \\(string\\) of method Chill\\\\PersonBundle\\\\Serializer\\\\Normalizer\\\\SocialIssueNormalizer\\:\\:supportsNormalization\\(\\) should be contravariant with parameter \\$format \\(string\\|null\\) of method Symfony\\\\Component\\\\Serializer\\\\Normalizer\\\\ContextAwareNormalizerInterface\\:\\:supportsNormalization\\(\\)$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillPersonBundle/Serializer/Normalizer/SocialIssueNormalizer.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#2 \\$format \\(string\\) of method Chill\\\\PersonBundle\\\\Serializer\\\\Normalizer\\\\SocialIssueNormalizer\\:\\:supportsNormalization\\(\\) should be contravariant with parameter \\$format \\(string\\|null\\) of method Symfony\\\\Component\\\\Serializer\\\\Normalizer\\\\NormalizerInterface\\:\\:supportsNormalization\\(\\)$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillPersonBundle/Serializer/Normalizer/SocialIssueNormalizer.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#1 \\$object \\(Chill\\\\MainBundle\\\\Entity\\\\Workflow\\\\EntityWorkflow\\) of method Chill\\\\PersonBundle\\\\Serializer\\\\Normalizer\\\\WorkflowNormalizer\\:\\:normalize\\(\\) should be contravariant with parameter \\$object \\(mixed\\) of method Symfony\\\\Component\\\\Serializer\\\\Normalizer\\\\NormalizerInterface\\:\\:normalize\\(\\)$#" | ||||
| 			count: 2 | ||||
| 			path: src/Bundle/ChillPersonBundle/Serializer/Normalizer/WorkflowNormalizer.php | ||||
|  | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#1 \\$object \\(Chill\\\\PersonBundle\\\\Entity\\\\AccompanyingPeriod\\\\AccompanyingPeriodWorkEvaluationDocument\\) of method Chill\\\\PersonBundle\\\\Workflow\\\\AccompanyingPeriodWorkEvaluationDocumentWorkflowHandler\\:\\:getRelatedObjects\\(\\) should be contravariant with parameter \\$object \\(object\\) of method Chill\\\\MainBundle\\\\Workflow\\\\EntityWorkflowHandlerInterface\\:\\:getRelatedObjects\\(\\)$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillPersonBundle/Workflow/AccompanyingPeriodWorkEvaluationDocumentWorkflowHandler.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#1 \\$object \\(Chill\\\\PersonBundle\\\\Entity\\\\AccompanyingPeriod\\\\AccompanyingPeriodWorkEvaluation\\) of method Chill\\\\PersonBundle\\\\Workflow\\\\AccompanyingPeriodWorkEvaluationWorkflowHandler\\:\\:getRelatedObjects\\(\\) should be contravariant with parameter \\$object \\(object\\) of method Chill\\\\MainBundle\\\\Workflow\\\\EntityWorkflowHandlerInterface\\:\\:getRelatedObjects\\(\\)$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillPersonBundle/Workflow/AccompanyingPeriodWorkEvaluationWorkflowHandler.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#1 \\$object \\(Chill\\\\PersonBundle\\\\Entity\\\\AccompanyingPeriod\\\\AccompanyingPeriodWork\\) of method Chill\\\\PersonBundle\\\\Workflow\\\\AccompanyingPeriodWorkWorkflowHandler\\:\\:getRelatedObjects\\(\\) should be contravariant with parameter \\$object \\(object\\) of method Chill\\\\MainBundle\\\\Workflow\\\\EntityWorkflowHandlerInterface\\:\\:getRelatedObjects\\(\\)$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillPersonBundle/Workflow/AccompanyingPeriodWorkWorkflowHandler.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Return type \\(Chill\\\\MainBundle\\\\Entity\\\\Center\\|null\\) of method Chill\\\\TaskBundle\\\\Entity\\\\AbstractTask\\:\\:getCenter\\(\\) should be covariant with return type \\(Chill\\\\MainBundle\\\\Entity\\\\Center\\) of method Chill\\\\MainBundle\\\\Entity\\\\HasCenterInterface\\:\\:getCenter\\(\\)$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillTaskBundle/Entity/AbstractTask.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Return type \\(Chill\\\\MainBundle\\\\Entity\\\\Scope\\|null\\) of method Chill\\\\TaskBundle\\\\Entity\\\\AbstractTask\\:\\:getScope\\(\\) should be covariant with return type \\(Chill\\\\MainBundle\\\\Entity\\\\Scope\\) of method Chill\\\\MainBundle\\\\Entity\\\\HasScopeInterface\\:\\:getScope\\(\\)$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillTaskBundle/Entity/AbstractTask.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#3 \\$entity \\(Chill\\\\ThirdPartyBundle\\\\Entity\\\\ThirdParty\\) of method Chill\\\\ThirdPartyBundle\\\\Controller\\\\ThirdPartyController\\:\\:onPostFetchEntity\\(\\) should be contravariant with parameter \\$entity \\(mixed\\) of method Chill\\\\MainBundle\\\\CRUD\\\\Controller\\\\CRUDController\\:\\:onPostFetchEntity\\(\\)$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillThirdPartyBundle/Controller/ThirdPartyController.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#1 \\$createdAt \\(DateTimeImmutable\\) of method Chill\\\\ThirdPartyBundle\\\\Entity\\\\ThirdParty\\:\\:setCreatedAt\\(\\) should be contravariant with parameter \\$datetime \\(DateTimeInterface\\) of method Chill\\\\MainBundle\\\\Doctrine\\\\Model\\\\TrackCreationInterface\\:\\:setCreatedAt\\(\\)$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillThirdPartyBundle/Entity/ThirdParty.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#1 \\$updatedAt \\(DateTimeImmutable\\) of method Chill\\\\ThirdPartyBundle\\\\Entity\\\\ThirdParty\\:\\:setUpdatedAt\\(\\) should be contravariant with parameter \\$datetime \\(DateTimeInterface\\) of method Chill\\\\MainBundle\\\\Doctrine\\\\Model\\\\TrackUpdateInterface\\:\\:setUpdatedAt\\(\\)$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillThirdPartyBundle/Entity/ThirdParty.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#3 \\$limit \\(null\\) of method Chill\\\\ThirdPartyBundle\\\\Repository\\\\ThirdPartyRepository\\:\\:findBy\\(\\) should be contravariant with parameter \\$limit \\(int\\|null\\) of method Doctrine\\\\Persistence\\\\ObjectRepository\\<object\\>\\:\\:findBy\\(\\)$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillThirdPartyBundle/Repository/ThirdPartyRepository.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#4 \\$offset \\(null\\) of method Chill\\\\ThirdPartyBundle\\\\Repository\\\\ThirdPartyRepository\\:\\:findBy\\(\\) should be contravariant with parameter \\$offset \\(int\\|null\\) of method Doctrine\\\\Persistence\\\\ObjectRepository\\<object\\>\\:\\:findBy\\(\\)$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillThirdPartyBundle/Repository/ThirdPartyRepository.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#2 \\$subject \\(Chill\\\\ThirdPartyBundle\\\\Entity\\\\ThirdParty\\|null\\) of method Chill\\\\ThirdPartyBundle\\\\Security\\\\Voter\\\\ThirdPartyVoter\\:\\:voteOnAttribute\\(\\) should be contravariant with parameter \\$subject \\(mixed\\) of method Symfony\\\\Component\\\\Security\\\\Core\\\\Authorization\\\\Voter\\\\Voter\\:\\:voteOnAttribute\\(\\)$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillThirdPartyBundle/Security/Voter/ThirdPartyVoter.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#1 \\$document \\(Chill\\\\DocStoreBundle\\\\Entity\\\\StoredObject\\) of method Chill\\\\WopiBundle\\\\Service\\\\Wopi\\\\ChillDocumentManager\\:\\:getBasename\\(\\) should be contravariant with parameter \\$document \\(ChampsLibres\\\\WopiLib\\\\Contract\\\\Entity\\\\Document\\) of method ChampsLibres\\\\WopiLib\\\\Contract\\\\Service\\\\DocumentManagerInterface\\:\\:getBasename\\(\\)$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillWopiBundle/src/Service/Wopi/ChillDocumentManager.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#1 \\$document \\(Chill\\\\DocStoreBundle\\\\Entity\\\\StoredObject\\) of method Chill\\\\WopiBundle\\\\Service\\\\Wopi\\\\ChillDocumentManager\\:\\:getCreationDate\\(\\) should be contravariant with parameter \\$document \\(ChampsLibres\\\\WopiLib\\\\Contract\\\\Entity\\\\Document\\) of method ChampsLibres\\\\WopiLib\\\\Contract\\\\Service\\\\DocumentManagerInterface\\:\\:getCreationDate\\(\\)$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillWopiBundle/src/Service/Wopi/ChillDocumentManager.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#1 \\$document \\(Chill\\\\DocStoreBundle\\\\Entity\\\\StoredObject\\) of method Chill\\\\WopiBundle\\\\Service\\\\Wopi\\\\ChillDocumentManager\\:\\:getDocumentId\\(\\) should be contravariant with parameter \\$document \\(ChampsLibres\\\\WopiLib\\\\Contract\\\\Entity\\\\Document\\) of method ChampsLibres\\\\WopiLib\\\\Contract\\\\Service\\\\DocumentManagerInterface\\:\\:getDocumentId\\(\\)$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillWopiBundle/src/Service/Wopi/ChillDocumentManager.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#1 \\$document \\(Chill\\\\DocStoreBundle\\\\Entity\\\\StoredObject\\) of method Chill\\\\WopiBundle\\\\Service\\\\Wopi\\\\ChillDocumentManager\\:\\:getLastModifiedDate\\(\\) should be contravariant with parameter \\$document \\(ChampsLibres\\\\WopiLib\\\\Contract\\\\Entity\\\\Document\\) of method ChampsLibres\\\\WopiLib\\\\Contract\\\\Service\\\\DocumentManagerInterface\\:\\:getLastModifiedDate\\(\\)$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillWopiBundle/src/Service/Wopi/ChillDocumentManager.php | ||||
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							| @@ -1,676 +0,0 @@ | ||||
| parameters: | ||||
| 	ignoreErrors: | ||||
| 		- | ||||
| 			message: "#^Parameter \\#1 \\$event of method Symfony\\\\Contracts\\\\EventDispatcher\\\\EventDispatcherInterface\\:\\:dispatch\\(\\) expects object, string given\\.$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillActivityBundle/Controller/ActivityController.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#1 \\$context of method Chill\\\\ActivityBundle\\\\Timeline\\\\TimelineActivityProvider\\:\\:checkContext\\(\\) expects string, Chill\\\\MainBundle\\\\Timeline\\\\type given\\.$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillActivityBundle/Timeline/TimelineActivityProvider.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#1 \\$callback of function array_map expects \\(callable\\(Chill\\\\BudgetBundle\\\\Repository\\\\ChargeType\\)\\: mixed\\)\\|null, Closure\\(Chill\\\\BudgetBundle\\\\Entity\\\\ChargeKind\\)\\: int\\|null given\\.$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillBudgetBundle/Service/Summary/SummaryBudget.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#1 \\$callback of function array_map expects \\(callable\\(Chill\\\\BudgetBundle\\\\Repository\\\\ResourceType\\)\\: mixed\\)\\|null, Closure\\(Chill\\\\BudgetBundle\\\\Entity\\\\ResourceKind\\)\\: int\\|null given\\.$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillBudgetBundle/Service/Summary/SummaryBudget.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#2 \\$byUser of class Chill\\\\CalendarBundle\\\\Messenger\\\\Message\\\\InviteUpdateMessage constructor expects Chill\\\\MainBundle\\\\Entity\\\\User, Symfony\\\\Component\\\\Security\\\\Core\\\\User\\\\UserInterface\\|null given\\.$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillCalendarBundle/Controller/InviteApiController.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#2 \\$byUser of class Chill\\\\CalendarBundle\\\\Messenger\\\\Message\\\\CalendarRemovedMessage constructor expects Chill\\\\MainBundle\\\\Entity\\\\User\\|null, Symfony\\\\Component\\\\Security\\\\Core\\\\User\\\\UserInterface\\|null given\\.$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillCalendarBundle/Messenger/Doctrine/CalendarEntityListener.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#3 \\$byUser of class Chill\\\\CalendarBundle\\\\Messenger\\\\Message\\\\CalendarMessage constructor expects Chill\\\\MainBundle\\\\Entity\\\\User, Symfony\\\\Component\\\\Security\\\\Core\\\\User\\\\UserInterface\\|null given\\.$#" | ||||
| 			count: 2 | ||||
| 			path: src/Bundle/ChillCalendarBundle/Messenger/Doctrine/CalendarEntityListener.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#2 \\$byUser of class Chill\\\\CalendarBundle\\\\Messenger\\\\Message\\\\CalendarRangeRemovedMessage constructor expects Chill\\\\MainBundle\\\\Entity\\\\User\\|null, Symfony\\\\Component\\\\Security\\\\Core\\\\User\\\\UserInterface\\|null given\\.$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillCalendarBundle/Messenger/Doctrine/CalendarRangeEntityListener.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#3 \\$byUser of class Chill\\\\CalendarBundle\\\\Messenger\\\\Message\\\\CalendarRangeMessage constructor expects Chill\\\\MainBundle\\\\Entity\\\\User\\|null, Symfony\\\\Component\\\\Security\\\\Core\\\\User\\\\UserInterface\\|null given\\.$#" | ||||
| 			count: 2 | ||||
| 			path: src/Bundle/ChillCalendarBundle/Messenger/Doctrine/CalendarRangeEntityListener.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#1 \\$token of method Chill\\\\CalendarBundle\\\\RemoteCalendar\\\\Connector\\\\MSGraph\\\\OnBehalfOfUserTokenStorage\\:\\:setToken\\(\\) expects TheNetworg\\\\OAuth2\\\\Client\\\\Token\\\\AccessToken, League\\\\OAuth2\\\\Client\\\\Token\\\\AccessTokenInterface given\\.$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillCalendarBundle/RemoteCalendar/Connector/MSGraph/OnBehalfOfUserTokenStorage.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#2 \\$code of class Exception constructor expects int, array\\<string, int\\|string\\|null\\> given\\.$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillCalendarBundle/RemoteCalendar/Connector/MSGraphRemoteCalendarConnector.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#4 \\$offset of method Chill\\\\CalendarBundle\\\\Repository\\\\CalendarRepository\\:\\:findBy\\(\\) expects int\\|null, array\\|null given\\.$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillCalendarBundle/Repository/CalendarRepository.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#1 \\$prefix of function uniqid expects string, int\\<0, max\\> given\\.$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillCustomFieldsBundle/Form/Type/ChoicesListType.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#2 \\$callback of function array_filter expects callable\\(Symfony\\\\Component\\\\Serializer\\\\Mapping\\\\AttributeMetadataInterface\\)\\: mixed, Closure\\(Symfony\\\\Component\\\\Serializer\\\\Mapping\\\\AttributeMetadata\\)\\: bool given\\.$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillDocGeneratorBundle/Serializer/Normalizer/DocGenObjectNormalizer.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#3 \\$metadata of method Chill\\\\DocGeneratorBundle\\\\Serializer\\\\Normalizer\\\\DocGenObjectNormalizer\\:\\:normalizeNullData\\(\\) expects Symfony\\\\Component\\\\Serializer\\\\Mapping\\\\ClassMetadata, Symfony\\\\Component\\\\Serializer\\\\Mapping\\\\ClassMetadataInterface given\\.$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillDocGeneratorBundle/Serializer/Normalizer/DocGenObjectNormalizer.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#4 \\$attributes of method Chill\\\\DocGeneratorBundle\\\\Serializer\\\\Normalizer\\\\DocGenObjectNormalizer\\:\\:normalizeNullData\\(\\) expects array\\<Symfony\\\\Component\\\\Serializer\\\\Mapping\\\\AttributeMetadata\\>, array\\<Symfony\\\\Component\\\\Serializer\\\\Mapping\\\\AttributeMetadataInterface\\> given\\.$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillDocGeneratorBundle/Serializer/Normalizer/DocGenObjectNormalizer.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#5 \\$metadata of method Chill\\\\DocGeneratorBundle\\\\Serializer\\\\Normalizer\\\\DocGenObjectNormalizer\\:\\:normalizeObject\\(\\) expects Symfony\\\\Component\\\\Serializer\\\\Mapping\\\\ClassMetadata, Symfony\\\\Component\\\\Serializer\\\\Mapping\\\\ClassMetadataInterface given\\.$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillDocGeneratorBundle/Serializer/Normalizer/DocGenObjectNormalizer.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#6 \\$attributes of method Chill\\\\DocGeneratorBundle\\\\Serializer\\\\Normalizer\\\\DocGenObjectNormalizer\\:\\:normalizeObject\\(\\) expects array\\<Symfony\\\\Component\\\\Serializer\\\\Mapping\\\\AttributeMetadata\\>, array\\<Symfony\\\\Component\\\\Serializer\\\\Mapping\\\\AttributeMetadataInterface\\> given\\.$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillDocGeneratorBundle/Serializer/Normalizer/DocGenObjectNormalizer.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#1 \\$event of method Symfony\\\\Contracts\\\\EventDispatcher\\\\EventDispatcherInterface\\:\\:dispatch\\(\\) expects object, string given\\.$#" | ||||
| 			count: 4 | ||||
| 			path: src/Bundle/ChillDocStoreBundle/Controller/DocumentPersonController.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#1 \\$event of method Symfony\\\\Contracts\\\\EventDispatcher\\\\EventDispatcherInterface\\:\\:dispatch\\(\\) expects object, string 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 | ||||
| 			path: src/Bundle/ChillEventBundle/Controller/EventController.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#1 \\$participations of method Chill\\\\EventBundle\\\\Controller\\\\ParticipationController\\:\\:createEditFormMultiple\\(\\) expects ArrayIterator, Traversable given\\.$#" | ||||
| 			count: 2 | ||||
| 			path: src/Bundle/ChillEventBundle/Controller/ParticipationController.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#1 \\$callback of function call_user_func expects callable\\(\\)\\: mixed, null given\\.$#" | ||||
| 			count: 2 | ||||
| 			path: src/Bundle/ChillEventBundle/Form/ChoiceLoader/EventChoiceLoader.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#2 \\$previous of class Symfony\\\\Component\\\\HttpKernel\\\\Exception\\\\BadRequestHttpException constructor expects Throwable\\|null, int given\\.$#" | ||||
| 			count: 3 | ||||
| 			path: src/Bundle/ChillMainBundle/CRUD/Controller/ApiController.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#3 \\$code of class Symfony\\\\Component\\\\HttpKernel\\\\Exception\\\\BadRequestHttpException constructor expects int, Symfony\\\\Component\\\\Serializer\\\\Exception\\\\NotEncodableValueException given\\.$#" | ||||
| 			count: 2 | ||||
| 			path: src/Bundle/ChillMainBundle/CRUD/Controller/ApiController.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#3 \\$code of class Symfony\\\\Component\\\\HttpKernel\\\\Exception\\\\BadRequestHttpException constructor expects int, Symfony\\\\Component\\\\Serializer\\\\Exception\\\\UnexpectedValueException given\\.$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillMainBundle/CRUD/Controller/ApiController.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#2 \\$role of method Chill\\\\MainBundle\\\\Security\\\\Authorization\\\\AuthorizationHelper\\:\\:getReachableCenters\\(\\) expects string, Symfony\\\\Component\\\\Security\\\\Core\\\\Role\\\\Role given\\.$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillMainBundle/CRUD/Controller/CRUDController.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#3 \\$formClass of method Chill\\\\MainBundle\\\\CRUD\\\\Controller\\\\CRUDController\\:\\:createFormFor\\(\\) expects string\\|null, Chill\\\\MainBundle\\\\CRUD\\\\Controller\\\\type\\|null given\\.$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillMainBundle/CRUD/Controller/CRUDController.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#3 \\$scope of method Chill\\\\MainBundle\\\\Security\\\\Authorization\\\\AuthorizationHelper\\:\\:getReachableCenters\\(\\) expects Chill\\\\MainBundle\\\\Entity\\\\Scope\\|null, Chill\\\\MainBundle\\\\CRUD\\\\Controller\\\\Scope\\|null given\\.$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillMainBundle/CRUD/Controller/CRUDController.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#1 \\$name of method Chill\\\\MainBundle\\\\Entity\\\\Country\\:\\:setName\\(\\) expects string, array\\<int\\|string, string\\> given\\.$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillMainBundle/Command/LoadCountriesCommand.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#4 \\.\\.\\.\\$values of function sprintf expects bool\\|float\\|int\\|string\\|null, Chill\\\\MainBundle\\\\Entity\\\\the given\\.$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillMainBundle/Command/LoadPostalCodesCommand.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#1 \\$alias of method Chill\\\\MainBundle\\\\Export\\\\ExportManager\\:\\:getExport\\(\\) expects string, Symfony\\\\Component\\\\HttpFoundation\\\\Request 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 | ||||
| 			path: src/Bundle/ChillMainBundle/Controller/ExportController.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#3 \\$alias of method Chill\\\\MainBundle\\\\Controller\\\\ExportController\\:\\:formatterFormStep\\(\\) expects string, Symfony\\\\Component\\\\HttpFoundation\\\\Request given\\.$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillMainBundle/Controller/ExportController.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#3 \\$alias of method Chill\\\\MainBundle\\\\Controller\\\\ExportController\\:\\:forwardToGenerate\\(\\) expects string, Symfony\\\\Component\\\\HttpFoundation\\\\Request given\\.$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillMainBundle/Controller/ExportController.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#3 \\$alias of method Chill\\\\MainBundle\\\\Controller\\\\ExportController\\:\\:selectCentersStep\\(\\) expects string, Symfony\\\\Component\\\\HttpFoundation\\\\Request given\\.$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillMainBundle/Controller/ExportController.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#1 \\$user of method Chill\\\\MainBundle\\\\Repository\\\\NotificationRepository\\:\\:countUnreadByUser\\(\\) expects Chill\\\\MainBundle\\\\Entity\\\\User, Symfony\\\\Component\\\\Security\\\\Core\\\\User\\\\UserInterface\\|null given\\.$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillMainBundle/Controller/NotificationApiController.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#1 \\$user of method Chill\\\\MainBundle\\\\Repository\\\\NotificationRepository\\:\\:findUnreadByUser\\(\\) expects Chill\\\\MainBundle\\\\Entity\\\\User, Symfony\\\\Component\\\\Security\\\\Core\\\\User\\\\UserInterface\\|null given\\.$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillMainBundle/Controller/NotificationApiController.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#1 \\$addressee of method Chill\\\\MainBundle\\\\Repository\\\\NotificationRepository\\:\\:countAllForAttendee\\(\\) expects Chill\\\\MainBundle\\\\Entity\\\\User, Symfony\\\\Component\\\\Security\\\\Core\\\\User\\\\UserInterface\\|null given\\.$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillMainBundle/Controller/NotificationController.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#1 \\$addressee of method Chill\\\\MainBundle\\\\Repository\\\\NotificationRepository\\:\\:findAllForAttendee\\(\\) expects Chill\\\\MainBundle\\\\Entity\\\\User, Symfony\\\\Component\\\\Security\\\\Core\\\\User\\\\UserInterface\\|null given\\.$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillMainBundle/Controller/NotificationController.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#1 \\$sender of method Chill\\\\MainBundle\\\\Repository\\\\NotificationRepository\\:\\:countAllForSender\\(\\) expects Chill\\\\MainBundle\\\\Entity\\\\User, Symfony\\\\Component\\\\Security\\\\Core\\\\User\\\\UserInterface\\|null given\\.$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillMainBundle/Controller/NotificationController.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#1 \\$sender of method Chill\\\\MainBundle\\\\Repository\\\\NotificationRepository\\:\\:findAllForSender\\(\\) expects Chill\\\\MainBundle\\\\Entity\\\\User, Symfony\\\\Component\\\\Security\\\\Core\\\\User\\\\UserInterface\\|null given\\.$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillMainBundle/Controller/NotificationController.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#1 \\$user of method Chill\\\\MainBundle\\\\Repository\\\\NotificationRepository\\:\\:countUnreadByUserWhereAddressee\\(\\) expects Chill\\\\MainBundle\\\\Entity\\\\User, Symfony\\\\Component\\\\Security\\\\Core\\\\User\\\\UserInterface\\|null given\\.$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillMainBundle/Controller/NotificationController.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#1 \\$user of method Chill\\\\MainBundle\\\\Repository\\\\NotificationRepository\\:\\:countUnreadByUserWhereSender\\(\\) expects Chill\\\\MainBundle\\\\Entity\\\\User, Symfony\\\\Component\\\\Security\\\\Core\\\\User\\\\UserInterface\\|null given\\.$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillMainBundle/Controller/NotificationController.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#1 \\$event of method Symfony\\\\Contracts\\\\EventDispatcher\\\\EventDispatcherInterface\\:\\:dispatch\\(\\) expects object, string given\\.$#" | ||||
| 			count: 4 | ||||
| 			path: src/Bundle/ChillMainBundle/Controller/PasswordController.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#1 \\$token of class Chill\\\\MainBundle\\\\Security\\\\PasswordRecover\\\\PasswordRecoverEvent constructor expects Chill\\\\MainBundle\\\\Security\\\\PasswordRecover\\\\type\\|null, string given\\.$#" | ||||
| 			count: 2 | ||||
| 			path: src/Bundle/ChillMainBundle/Controller/PasswordController.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#3 \\$ip of class Chill\\\\MainBundle\\\\Security\\\\PasswordRecover\\\\PasswordRecoverEvent constructor expects Chill\\\\MainBundle\\\\Security\\\\PasswordRecover\\\\type\\|null, string\\|null given\\.$#" | ||||
| 			count: 4 | ||||
| 			path: src/Bundle/ChillMainBundle/Controller/PasswordController.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#1 \\$context of method Chill\\\\MainBundle\\\\Timeline\\\\TimelineBuilder\\:\\:countItems\\(\\) expects Chill\\\\MainBundle\\\\Timeline\\\\unknown, string given\\.$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillMainBundle/Controller/TimelineCenterController.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#1 \\$user of method Chill\\\\MainBundle\\\\Entity\\\\Workflow\\\\EntityWorkflow\\:\\:addSubscriberToFinal\\(\\) expects Chill\\\\MainBundle\\\\Entity\\\\User, Symfony\\\\Component\\\\Security\\\\Core\\\\User\\\\UserInterface\\|null given\\.$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillMainBundle/Controller/WorkflowApiController.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#1 \\$user of method Chill\\\\MainBundle\\\\Entity\\\\Workflow\\\\EntityWorkflow\\:\\:addSubscriberToStep\\(\\) expects Chill\\\\MainBundle\\\\Entity\\\\User, Symfony\\\\Component\\\\Security\\\\Core\\\\User\\\\UserInterface\\|null given\\.$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillMainBundle/Controller/WorkflowApiController.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#1 \\$user of method Chill\\\\MainBundle\\\\Entity\\\\Workflow\\\\EntityWorkflow\\:\\:isUserSubscribedToFinal\\(\\) expects Chill\\\\MainBundle\\\\Entity\\\\User, Symfony\\\\Component\\\\Security\\\\Core\\\\User\\\\UserInterface\\|null given\\.$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillMainBundle/Controller/WorkflowApiController.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#1 \\$user of method Chill\\\\MainBundle\\\\Entity\\\\Workflow\\\\EntityWorkflow\\:\\:isUserSubscribedToStep\\(\\) expects Chill\\\\MainBundle\\\\Entity\\\\User, Symfony\\\\Component\\\\Security\\\\Core\\\\User\\\\UserInterface\\|null given\\.$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillMainBundle/Controller/WorkflowApiController.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#1 \\$user of method Chill\\\\MainBundle\\\\Entity\\\\Workflow\\\\EntityWorkflow\\:\\:removeSubscriberToFinal\\(\\) expects Chill\\\\MainBundle\\\\Entity\\\\User, Symfony\\\\Component\\\\Security\\\\Core\\\\User\\\\UserInterface\\|null given\\.$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillMainBundle/Controller/WorkflowApiController.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#1 \\$user of method Chill\\\\MainBundle\\\\Entity\\\\Workflow\\\\EntityWorkflow\\:\\:removeSubscriberToStep\\(\\) expects Chill\\\\MainBundle\\\\Entity\\\\User, Symfony\\\\Component\\\\Security\\\\Core\\\\User\\\\UserInterface\\|null given\\.$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillMainBundle/Controller/WorkflowApiController.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#1 \\$place of method Chill\\\\MainBundle\\\\DependencyInjection\\\\Configuration\\:\\:filterWidgetByPlace\\(\\) expects string, Chill\\\\MainBundle\\\\DependencyInjection\\\\Widget\\\\type given\\.$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillMainBundle/DependencyInjection/Configuration.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#1 \\$place of method Chill\\\\MainBundle\\\\DependencyInjection\\\\Configuration\\:\\:getWidgetAliasesbyPlace\\(\\) expects Chill\\\\MainBundle\\\\DependencyInjection\\\\Widget\\\\type, string given\\.$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillMainBundle/DependencyInjection/Configuration.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#2 \\$array of function implode expects array\\|null, Chill\\\\MainBundle\\\\DependencyInjection\\\\Widget\\\\type given\\.$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillMainBundle/DependencyInjection/Configuration.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#2 \\$place of method Chill\\\\MainBundle\\\\DependencyInjection\\\\Widget\\\\Factory\\\\WidgetFactoryInterface\\:\\:createDefinition\\(\\) expects Chill\\\\MainBundle\\\\DependencyInjection\\\\Widget\\\\Factory\\\\type, string given\\.$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillMainBundle/DependencyInjection/Widget/AbstractWidgetsCompilerPass.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#3 \\$order of method Chill\\\\MainBundle\\\\DependencyInjection\\\\Widget\\\\Factory\\\\WidgetFactoryInterface\\:\\:createDefinition\\(\\) expects Chill\\\\MainBundle\\\\DependencyInjection\\\\Widget\\\\Factory\\\\type, float given\\.$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillMainBundle/DependencyInjection/Widget/AbstractWidgetsCompilerPass.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#2 \\$place of method Chill\\\\MainBundle\\\\DependencyInjection\\\\Widget\\\\Factory\\\\WidgetFactoryInterface\\:\\:getServiceId\\(\\) expects string, Chill\\\\MainBundle\\\\DependencyInjection\\\\Widget\\\\Factory\\\\type given\\.$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillMainBundle/DependencyInjection/Widget/Factory/AbstractWidgetFactory.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#3 \\$order of method Chill\\\\MainBundle\\\\DependencyInjection\\\\Widget\\\\Factory\\\\WidgetFactoryInterface\\:\\:getServiceId\\(\\) expects float, Chill\\\\MainBundle\\\\DependencyInjection\\\\Widget\\\\Factory\\\\type given\\.$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillMainBundle/DependencyInjection/Widget/Factory/AbstractWidgetFactory.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#1 \\$iterator of function iterator_to_array expects Traversable, array\\<Chill\\\\MainBundle\\\\Export\\\\AggregatorInterface\\> given\\.$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillMainBundle/Export/ExportManager.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#2 \\$nbAggregators of method Chill\\\\MainBundle\\\\Export\\\\Formatter\\\\CSVFormatter\\:\\:appendAggregatorForm\\(\\) expects string, int\\<0, max\\> given\\.$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillMainBundle/Export/Formatter/CSVFormatter.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#2 \\$array of function array_map expects array, Chill\\\\MainBundle\\\\Export\\\\Formatter\\\\type given\\.$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillMainBundle/Export/Formatter/SpreadSheetFormatter.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#2 \\$nbAggregators of method Chill\\\\MainBundle\\\\Export\\\\Formatter\\\\SpreadSheetFormatter\\:\\:appendAggregatorForm\\(\\) expects string, int\\<0, max\\> given\\.$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillMainBundle/Export/Formatter/SpreadSheetFormatter.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#1 \\$callback of function call_user_func expects callable\\(\\)\\: mixed, null given\\.$#" | ||||
| 			count: 2 | ||||
| 			path: src/Bundle/ChillMainBundle/Form/ChoiceLoader/PostalCodeChoiceLoader.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#1 \\$user of method Chill\\\\MainBundle\\\\Entity\\\\Embeddable\\\\PrivateCommentEmbeddable\\:\\:getCommentForUser\\(\\) expects Chill\\\\MainBundle\\\\Entity\\\\User, Symfony\\\\Component\\\\Security\\\\Core\\\\User\\\\UserInterface\\|null given\\.$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillMainBundle/Form/DataMapper/PrivateCommentDataMapper.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#1 \\$em of class Chill\\\\MainBundle\\\\Form\\\\Type\\\\DataTransformer\\\\ObjectToIdTransformer constructor expects Doctrine\\\\ORM\\\\EntityManagerInterface, Doctrine\\\\Persistence\\\\ObjectManager given\\.$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillMainBundle/Form/Type/Select2CountryType.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#1 \\$em of class Chill\\\\MainBundle\\\\Form\\\\Type\\\\DataTransformer\\\\MultipleObjectsToIdTransformer constructor expects Doctrine\\\\ORM\\\\EntityManagerInterface, Doctrine\\\\Persistence\\\\ObjectManager given\\.$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillMainBundle/Form/Type/Select2LanguageType.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#1 \\$translatableStrings of method Chill\\\\MainBundle\\\\Templating\\\\TranslatableStringHelper\\:\\:localize\\(\\) expects array, string given\\.$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillMainBundle/Form/Type/Select2LanguageType.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#1 \\$datetime of class DateTime constructor expects string, Chill\\\\MainBundle\\\\Search\\\\type given\\.$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillMainBundle/Search/AbstractSearch.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#4 \\$paginator of method Chill\\\\MainBundle\\\\Search\\\\SearchApi\\:\\:fetchRawResult\\(\\) expects Chill\\\\MainBundle\\\\Pagination\\\\Paginator, Chill\\\\MainBundle\\\\Pagination\\\\PaginatorInterface given\\.$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillMainBundle/Search/SearchApi.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#2 \\$callback of function uasort expects callable\\(Chill\\\\MainBundle\\\\Search\\\\HasAdvancedSearchForm, Chill\\\\MainBundle\\\\Search\\\\HasAdvancedSearchForm\\)\\: int, Closure\\(Chill\\\\MainBundle\\\\Search\\\\SearchInterface, Chill\\\\MainBundle\\\\Search\\\\SearchInterface\\)\\: \\-1\\|0\\|1 given\\.$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillMainBundle/Search/SearchProvider.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#2 \\$subject of function preg_match_all expects string, Chill\\\\MainBundle\\\\Search\\\\type given\\.$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillMainBundle/Search/SearchProvider.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#1 \\$object of function get_class expects object, array\\<Chill\\\\MainBundle\\\\Entity\\\\Center\\> given\\.$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillMainBundle/Security/Authorization/AuthorizationHelper.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#1 \\$user of method Chill\\\\MainBundle\\\\Entity\\\\Notification\\:\\:isReadBy\\(\\) expects Chill\\\\MainBundle\\\\Entity\\\\User, Symfony\\\\Component\\\\Security\\\\Core\\\\User\\\\UserInterface\\|null given\\.$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillMainBundle/Serializer/Normalizer/NotificationNormalizer.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#1 \\$user of method Chill\\\\MainBundle\\\\Entity\\\\Embeddable\\\\PrivateCommentEmbeddable\\:\\:setCommentForUser\\(\\) expects Chill\\\\MainBundle\\\\Entity\\\\User, Symfony\\\\Component\\\\Security\\\\Core\\\\User\\\\UserInterface\\|null given\\.$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillMainBundle/Serializer/Normalizer/PrivateCommentEmbeddableNormalizer.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#1 \\$event of method Symfony\\\\Contracts\\\\EventDispatcher\\\\EventDispatcherInterface\\:\\:dispatch\\(\\) expects object, string given\\.$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillMainBundle/Templating/Widget/WidgetRenderingTwig.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#1 \\$context of method Chill\\\\MainBundle\\\\Timeline\\\\TimelineBuilder\\:\\:buildUnionQuery\\(\\) expects string, Chill\\\\MainBundle\\\\Timeline\\\\unknown given\\.$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillMainBundle/Timeline/TimelineBuilder.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#2 \\$context of method Chill\\\\MainBundle\\\\Timeline\\\\TimelineProviderInterface\\:\\:getEntityTemplate\\(\\) expects Chill\\\\MainBundle\\\\Timeline\\\\type, string given\\.$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillMainBundle/Timeline/TimelineBuilder.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#1 \\$phoneNumber of method Chill\\\\MainBundle\\\\Phonenumber\\\\PhoneNumberHelperInterface\\:\\:format\\(\\) expects libphonenumber\\\\PhoneNumber\\|null, string given\\.$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillMainBundle/Validation/Validator/ValidPhonenumber.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#1 \\$transitionBy of method Chill\\\\MainBundle\\\\Entity\\\\Workflow\\\\EntityWorkflowStep\\:\\:setTransitionBy\\(\\) expects Chill\\\\MainBundle\\\\Entity\\\\User\\|null, Symfony\\\\Component\\\\Security\\\\Core\\\\User\\\\UserInterface\\|null given\\.$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillMainBundle/Workflow/EventSubscriber/EntityWorkflowTransitionEventSubscriber.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#1 \\$event of method Symfony\\\\Contracts\\\\EventDispatcher\\\\EventDispatcherInterface\\:\\:dispatch\\(\\) expects object, string given\\.$#" | ||||
| 			count: 2 | ||||
| 			path: src/Bundle/ChillPersonBundle/Actions/Remove/PersonMove.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#1 \\$event of method Symfony\\\\Contracts\\\\EventDispatcher\\\\EventDispatcherInterface\\:\\:dispatch\\(\\) expects object, string given\\.$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillPersonBundle/Controller/AccompanyingCourseApiController.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#1 \\$event of method Symfony\\\\Contracts\\\\EventDispatcher\\\\EventDispatcherInterface\\:\\:dispatch\\(\\) expects object, string given\\.$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillPersonBundle/Controller/AccompanyingPeriodController.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#2 \\$callback of function usort expects callable\\(mixed, mixed\\)\\: int, Closure\\(mixed, mixed\\)\\: bool given\\.$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillPersonBundle/Controller/AccompanyingPeriodController.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#1 \\$user of method Chill\\\\PersonBundle\\\\Repository\\\\AccompanyingPeriod\\\\AccompanyingPeriodWorkEvaluationRepository\\:\\:countNearMaxDateByUser\\(\\) expects Chill\\\\MainBundle\\\\Entity\\\\User, Symfony\\\\Component\\\\Security\\\\Core\\\\User\\\\UserInterface\\|null given\\.$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillPersonBundle/Controller/AccompanyingPeriodWorkEvaluationApiController.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#1 \\$user of method Chill\\\\PersonBundle\\\\Repository\\\\AccompanyingPeriod\\\\AccompanyingPeriodWorkEvaluationRepository\\:\\:findNearMaxDateByUser\\(\\) expects Chill\\\\MainBundle\\\\Entity\\\\User, Symfony\\\\Component\\\\Security\\\\Core\\\\User\\\\UserInterface\\|null given\\.$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillPersonBundle/Controller/AccompanyingPeriodWorkEvaluationApiController.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#1 \\$object of static method DateTimeImmutable\\:\\:createFromMutable\\(\\) expects DateTime, DateTimeInterface given\\.$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillPersonBundle/Controller/HouseholdApiController.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#2 \\$callback of function usort expects callable\\(mixed, mixed\\)\\: int, Closure\\(mixed, mixed\\)\\: bool given\\.$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillPersonBundle/Controller/HouseholdController.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#2 \\$previous of class Symfony\\\\Component\\\\HttpKernel\\\\Exception\\\\BadRequestHttpException constructor expects Throwable\\|null, int given\\.$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillPersonBundle/Controller/HouseholdMemberController.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#3 \\$code of class Symfony\\\\Component\\\\HttpKernel\\\\Exception\\\\BadRequestHttpException constructor expects int, Symfony\\\\Component\\\\Serializer\\\\Exception\\\\InvalidArgumentException\\|Symfony\\\\Component\\\\Serializer\\\\Exception\\\\UnexpectedValueException given\\.$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillPersonBundle/Controller/HouseholdMemberController.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#1 \\$event of method Symfony\\\\Contracts\\\\EventDispatcher\\\\EventDispatcherInterface\\:\\:dispatch\\(\\) expects object, string given\\.$#" | ||||
| 			count: 2 | ||||
| 			path: src/Bundle/ChillPersonBundle/Controller/PersonController.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#1 \\$form of method Chill\\\\PersonBundle\\\\Controller\\\\PersonController\\:\\:isLastPostDataChanges\\(\\) expects Symfony\\\\Component\\\\Form\\\\Form, Symfony\\\\Component\\\\Form\\\\FormInterface given\\.$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillPersonBundle/Controller/PersonController.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#1 \\$event of method Symfony\\\\Contracts\\\\EventDispatcher\\\\EventDispatcherInterface\\:\\:dispatch\\(\\) expects object, string given\\.$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillPersonBundle/Controller/PersonDuplicateController.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#2 \\$precision of method Chill\\\\PersonBundle\\\\Search\\\\SimilarPersonMatcher\\:\\:matchPerson\\(\\) expects float, Chill\\\\PersonBundle\\\\Repository\\\\PersonNotDuplicateRepository given\\.$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillPersonBundle/Controller/PersonDuplicateController.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#3 \\$orderBy of method Chill\\\\PersonBundle\\\\Search\\\\SimilarPersonMatcher\\:\\:matchPerson\\(\\) expects string, float given\\.$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillPersonBundle/Controller/PersonDuplicateController.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#4 \\$addYearComparison of method Chill\\\\PersonBundle\\\\Search\\\\SimilarPersonMatcher\\:\\:matchPerson\\(\\) expects bool, string given\\.$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillPersonBundle/Controller/PersonDuplicateController.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#1 \\$context of method Chill\\\\MainBundle\\\\Timeline\\\\TimelineBuilder\\:\\:countItems\\(\\) expects Chill\\\\MainBundle\\\\Timeline\\\\unknown, string given\\.$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillPersonBundle/Controller/TimelinePersonController.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#1 \\$event of method Symfony\\\\Contracts\\\\EventDispatcher\\\\EventDispatcherInterface\\:\\:dispatch\\(\\) expects object, string given\\.$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillPersonBundle/Controller/TimelinePersonController.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#1 \\$period of method Chill\\\\PersonBundle\\\\Entity\\\\AccompanyingPeriod\\\\AccompanyingPeriodLocationHistory\\:\\:setPeriod\\(\\) expects Chill\\\\PersonBundle\\\\Entity\\\\AccompanyingPeriod, null given\\.$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillPersonBundle/Entity/AccompanyingPeriod.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#1 \\$now of method Chill\\\\PersonBundle\\\\Entity\\\\Household\\\\Household\\:\\:getCurrentMembers\\(\\) expects DateTimeImmutable\\|null, DateTimeInterface\\|null given\\.$#" | ||||
| 			count: 2 | ||||
| 			path: src/Bundle/ChillPersonBundle/Entity/Household/Household.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#1 \\$now of method Chill\\\\PersonBundle\\\\Entity\\\\Household\\\\Household\\:\\:getNonCurrentMembers\\(\\) expects DateTimeImmutable\\|null, DateTimeInterface\\|null given\\.$#" | ||||
| 			count: 2 | ||||
| 			path: src/Bundle/ChillPersonBundle/Entity/Household/Household.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#1 \\$key of method Doctrine\\\\Common\\\\Collections\\\\Collection\\<\\(int\\|string\\),mixed\\>\\:\\:remove\\(\\) expects \\(int\\|string\\), Chill\\\\PersonBundle\\\\Entity\\\\SocialWork\\\\SocialAction given\\.$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillPersonBundle/Entity/SocialWork/Evaluation.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#1 \\$translatableStrings of method Chill\\\\MainBundle\\\\Templating\\\\TranslatableStringHelper\\:\\:localize\\(\\) expects array, string given\\.$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillPersonBundle/Export/Helper/ListPersonHelper.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#1 \\$callback of function call_user_func expects callable\\(\\)\\: mixed, null given\\.$#" | ||||
| 			count: 2 | ||||
| 			path: src/Bundle/ChillPersonBundle/Form/ChoiceLoader/PersonChoiceLoader.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#1 \\$entityName of method Doctrine\\\\ORM\\\\EntityManager\\:\\:getRepository\\(\\) expects class\\-string\\<ChillPersonBundle\\:AccompanyingPeriod\\>, string given\\.$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillPersonBundle/Timeline/AbstractTimelineAccompanyingPeriod.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#1 \\$user of method Chill\\\\MainBundle\\\\Security\\\\Authorization\\\\AuthorizationHelper\\:\\:filterReachableCenters\\(\\) expects Chill\\\\MainBundle\\\\Entity\\\\User, Symfony\\\\Component\\\\Security\\\\Core\\\\User\\\\UserInterface\\|null given\\.$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillPersonBundle/Timeline/AbstractTimelineAccompanyingPeriod.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#3 \\$context of method Chill\\\\PersonBundle\\\\Timeline\\\\AbstractTimelineAccompanyingPeriod\\:\\:getBasicEntityTemplate\\(\\) expects string, Chill\\\\MainBundle\\\\Timeline\\\\type given\\.$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillPersonBundle/Timeline/TimelineAccompanyingPeriodClosing.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#3 \\$context of method Chill\\\\PersonBundle\\\\Timeline\\\\AbstractTimelineAccompanyingPeriod\\:\\:getBasicEntityTemplate\\(\\) expects string, Chill\\\\MainBundle\\\\Timeline\\\\type given\\.$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillPersonBundle/Timeline/TimelineAccompanyingPeriodOpening.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#2 \\$role of method Chill\\\\MainBundle\\\\Security\\\\Authorization\\\\AuthorizationHelperInterface\\:\\:getReachableCenters\\(\\) expects string, Symfony\\\\Component\\\\Security\\\\Core\\\\Role\\\\Role given\\.$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillPersonBundle/Widget/PersonListWidget.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#1 \\$className of method Doctrine\\\\Persistence\\\\ObjectManager\\:\\:getRepository\\(\\) expects class\\-string\\<ChillReportBundle\\:Report\\>, string given\\.$#" | ||||
| 			count: 4 | ||||
| 			path: src/Bundle/ChillReportBundle/Controller/ReportController.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#1 \\$entity of method Chill\\\\ReportBundle\\\\Controller\\\\ReportController\\:\\:createEditForm\\(\\) expects Chill\\\\ReportBundle\\\\Entity\\\\Report, ChillReportBundle\\:Report given\\.$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillReportBundle/Controller/ReportController.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#1 \\$event of method Symfony\\\\Contracts\\\\EventDispatcher\\\\EventDispatcherInterface\\:\\:dispatch\\(\\) expects object, string given\\.$#" | ||||
| 			count: 4 | ||||
| 			path: src/Bundle/ChillReportBundle/Controller/ReportController.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#2 \\$role of method Chill\\\\MainBundle\\\\Security\\\\Authorization\\\\AuthorizationHelper\\:\\:getReachableScopes\\(\\) expects string, Symfony\\\\Component\\\\Security\\\\Core\\\\Role\\\\Role given\\.$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillReportBundle/Controller/ReportController.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#1 \\$em of class Chill\\\\MainBundle\\\\Form\\\\Type\\\\DataTransformer\\\\ScopeTransformer constructor expects Doctrine\\\\ORM\\\\EntityManagerInterface, Doctrine\\\\Persistence\\\\ObjectManager given\\.$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillReportBundle/Form/ReportType.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#2 \\$role of method Chill\\\\MainBundle\\\\Security\\\\Authorization\\\\AuthorizationHelper\\:\\:getReachableScopes\\(\\) expects string, Symfony\\\\Component\\\\Security\\\\Core\\\\Role\\\\Role given\\.$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillReportBundle/Form/ReportType.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#2 \\$role of method Chill\\\\MainBundle\\\\Security\\\\Authorization\\\\AuthorizationHelper\\:\\:getReachableCenters\\(\\) expects string, Symfony\\\\Component\\\\Security\\\\Core\\\\Role\\\\Role given\\.$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillReportBundle/Search/ReportSearch.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#2 \\$role of method Chill\\\\MainBundle\\\\Security\\\\Authorization\\\\AuthorizationHelper\\:\\:getReachableScopes\\(\\) expects string, Symfony\\\\Component\\\\Security\\\\Core\\\\Role\\\\Role given\\.$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillReportBundle/Search/ReportSearch.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#1 \\$context of method Chill\\\\ReportBundle\\\\Timeline\\\\TimelineReportProvider\\:\\:checkContext\\(\\) expects string, Chill\\\\MainBundle\\\\Timeline\\\\type given\\.$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillReportBundle/Timeline/TimelineReportProvider.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#1 \\$entity of method Chill\\\\ReportBundle\\\\Timeline\\\\TimelineReportProvider\\:\\:getFieldsToRender\\(\\) expects Chill\\\\ReportBundle\\\\Entity\\\\Report, Chill\\\\MainBundle\\\\Timeline\\\\type given\\.$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillReportBundle/Timeline/TimelineReportProvider.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#1 \\$entityName of method Doctrine\\\\ORM\\\\EntityManager\\:\\:getRepository\\(\\) expects class\\-string\\<ChillReportBundle\\:Report\\>, string given\\.$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillReportBundle/Timeline/TimelineReportProvider.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#1 \\$event of method Symfony\\\\Contracts\\\\EventDispatcher\\\\EventDispatcherInterface\\:\\:dispatch\\(\\) expects object, string given\\.$#" | ||||
| 			count: 6 | ||||
| 			path: src/Bundle/ChillTaskBundle/Controller/SingleTaskController.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#1 \\$event of method Symfony\\\\Contracts\\\\EventDispatcher\\\\EventDispatcherInterface\\:\\:dispatch\\(\\) expects object, string given\\.$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillTaskBundle/Controller/TaskController.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#1 \\$keys of function array_fill_keys expects array, Chill\\\\TaskBundle\\\\Entity\\\\json given\\.$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillTaskBundle/Entity/AbstractTask.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#1 \\$task of method Chill\\\\TaskBundle\\\\Entity\\\\Task\\\\SingleTaskPlaceEvent\\:\\:setTask\\(\\) expects Chill\\\\TaskBundle\\\\Entity\\\\SingleTask, Chill\\\\TaskBundle\\\\Entity\\\\AbstractTask given\\.$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillTaskBundle/Event/Lifecycle/TaskLifecycleEvent.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#1 \\$repository of class Chill\\\\PersonBundle\\\\Form\\\\DataTransformer\\\\PersonToIdTransformer constructor expects Chill\\\\PersonBundle\\\\Repository\\\\PersonRepository, Doctrine\\\\ORM\\\\EntityManagerInterface given\\.$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillTaskBundle/Form/SingleTaskListType.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#2 \\$role of method Chill\\\\MainBundle\\\\Security\\\\Authorization\\\\AuthorizationHelper\\:\\:getReachableCenters\\(\\) expects string, Symfony\\\\Component\\\\Security\\\\Core\\\\Role\\\\Role given\\.$#" | ||||
| 			count: 4 | ||||
| 			path: src/Bundle/ChillTaskBundle/Form/SingleTaskListType.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#1 \\$extras of method Knp\\\\Menu\\\\MenuItem\\:\\:setExtras\\(\\) expects array\\<string, mixed\\>, string given\\.$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillTaskBundle/Menu/MenuBuilder.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#2 \\$role of method Chill\\\\MainBundle\\\\Security\\\\Authorization\\\\AuthorizationHelper\\:\\:getReachableCenters\\(\\) expects string, Symfony\\\\Component\\\\Security\\\\Core\\\\Role\\\\Role given\\.$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillTaskBundle/Repository/SingleTaskRepository.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#1 \\$event of method Symfony\\\\Contracts\\\\EventDispatcher\\\\EventDispatcherInterface\\:\\:dispatch\\(\\) expects object, string given\\.$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillTaskBundle/Security/Authorization/TaskVoter.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#2 \\$role of method Chill\\\\MainBundle\\\\Security\\\\Authorization\\\\AuthorizationHelper\\:\\:getReachableCenters\\(\\) expects string, Symfony\\\\Component\\\\Security\\\\Core\\\\Role\\\\Role given\\.$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillTaskBundle/Timeline/TaskLifeCycleEventTimelineProvider.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#1 \\$storedObject of method Chill\\\\WopiBundle\\\\Service\\\\Wopi\\\\ChillDocumentManager\\:\\:getContent\\(\\) expects Chill\\\\DocStoreBundle\\\\Entity\\\\StoredObject, ChampsLibres\\\\WopiLib\\\\Contract\\\\Entity\\\\Document given\\.$#" | ||||
| 			count: 3 | ||||
| 			path: src/Bundle/ChillWopiBundle/src/Service/Wopi/ChillDocumentManager.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#1 \\$storedObject of method Chill\\\\WopiBundle\\\\Service\\\\Wopi\\\\ChillDocumentManager\\:\\:setContent\\(\\) expects Chill\\\\DocStoreBundle\\\\Entity\\\\StoredObject, ChampsLibres\\\\WopiLib\\\\Contract\\\\Entity\\\\Document given\\.$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillWopiBundle/src/Service/Wopi/ChillDocumentManager.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\#1 \\$type of method Chill\\\\DocStoreBundle\\\\Entity\\\\StoredObject\\:\\:setType\\(\\) expects string\\|null, false given\\.$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillWopiBundle/src/Service/Wopi/ChillDocumentManager.php | ||||
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							| @@ -1,6 +0,0 @@ | ||||
| parameters: | ||||
|     ignoreErrors: | ||||
|         - | ||||
|             message: "#^Call to an undefined method Chill\\\\MainBundle\\\\Controller\\\\UserController\\:\\:createEditForm\\(\\)\\.$#" | ||||
|             count: 1 | ||||
|             path: src/Bundle/ChillMainBundle/Controller/UserController.php | ||||
| @@ -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,91 +0,0 @@ | ||||
| parameters: | ||||
| 	ignoreErrors: | ||||
|  | ||||
| 		- | ||||
| 			message: """ | ||||
| 				#^Parameter \\$centerResolverDispatcher of method Chill\\\\ActivityBundle\\\\Repository\\\\ActivityACLAwareRepository\\:\\:__construct\\(\\) has typehint with deprecated interface Chill\\\\MainBundle\\\\Security\\\\Resolver\\\\CenterResolverDispatcherInterface\\: | ||||
| 				Use CenterResolverManager and its interface CenterResolverManagerInterface$# | ||||
| 			""" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillActivityBundle/Repository/ActivityACLAwareRepository.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Only booleans are allowed in an if condition, mixed given\\.$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillActivityBundle/Entity/ActivityReasonCategory.php | ||||
|  | ||||
| 		- | ||||
| 			message: """ | ||||
| 				#^Parameter \\$centerResolverDispatcher of method Chill\\\\MainBundle\\\\Security\\\\Authorization\\\\AuthorizationHelper\\:\\:__construct\\(\\) has typehint with deprecated interface Chill\\\\MainBundle\\\\Security\\\\Resolver\\\\CenterResolverDispatcherInterface\\: | ||||
| 				Use CenterResolverManager and its interface CenterResolverManagerInterface$# | ||||
| 			""" | ||||
| 			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\\: | ||||
| 				Use CenterResolverManager and its interface CenterResolverManagerInterface$# | ||||
| 			""" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillMainBundle/Security/Authorization/DefaultVoterHelper.php | ||||
|  | ||||
| 		- | ||||
| 			message: """ | ||||
| 				#^Parameter \\$centerResolverDispatcher of method Chill\\\\MainBundle\\\\Security\\\\Authorization\\\\DefaultVoterHelperFactory\\:\\:__construct\\(\\) has typehint with deprecated interface Chill\\\\MainBundle\\\\Security\\\\Resolver\\\\CenterResolverDispatcherInterface\\: | ||||
| 				Use CenterResolverManager and its interface CenterResolverManagerInterface$# | ||||
| 			""" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillMainBundle/Security/Authorization/DefaultVoterHelperFactory.php | ||||
|  | ||||
| 		- | ||||
| 			message: """ | ||||
| 				#^Parameter \\$centerResolverDispatcher of method Chill\\\\MainBundle\\\\Security\\\\Authorization\\\\DefaultVoterHelperGenerator\\:\\:__construct\\(\\) has typehint with deprecated interface Chill\\\\MainBundle\\\\Security\\\\Resolver\\\\CenterResolverDispatcherInterface\\: | ||||
| 				Use CenterResolverManager and its interface CenterResolverManagerInterface$# | ||||
| 			""" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillMainBundle/Security/Authorization/DefaultVoterHelperGenerator.php | ||||
|  | ||||
| 		- | ||||
| 			message: """ | ||||
| 				#^Class Chill\\\\MainBundle\\\\Security\\\\Resolver\\\\CenterResolverDispatcher implements deprecated interface Chill\\\\MainBundle\\\\Security\\\\Resolver\\\\CenterResolverDispatcherInterface\\: | ||||
| 				Use CenterResolverManager and its interface CenterResolverManagerInterface$# | ||||
| 			""" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillMainBundle/Security/Resolver/CenterResolverDispatcher.php | ||||
|  | ||||
| 		- | ||||
| 			message: """ | ||||
| 				#^Call to deprecated method getCurrentAccompanyingPeriod\\(\\) of class Chill\\\\PersonBundle\\\\Entity\\\\Person\\: | ||||
| 				since 1\\.1 use `getOpenedAccompanyingPeriod instead$# | ||||
| 			""" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillPersonBundle/Controller/AccompanyingPeriodController.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Access to deprecated property \\$proxyAccompanyingPeriodOpenState of class Chill\\\\PersonBundle\\\\Entity\\\\Person\\.$#" | ||||
| 			count: 2 | ||||
| 			path: src/Bundle/ChillPersonBundle/Entity/Person.php | ||||
| 		- | ||||
| 			message: """ | ||||
| 				#^Parameter \\$centerResolverDispatcher of method Chill\\\\PersonBundle\\\\Repository\\\\AccompanyingPeriodACLAwareRepository\\:\\:__construct\\(\\) has typehint with deprecated interface Chill\\\\MainBundle\\\\Security\\\\Resolver\\\\CenterResolverDispatcherInterface\\: | ||||
| 				Use CenterResolverManager and its interface CenterResolverManagerInterface$# | ||||
| 			""" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillPersonBundle/Repository/AccompanyingPeriodACLAwareRepository.php | ||||
|  | ||||
| 		- | ||||
| 			message: """ | ||||
| 				#^Parameter \\$centerResolverDispatcher of method Chill\\\\TaskBundle\\\\Controller\\\\SingleTaskController\\:\\:__construct\\(\\) has typehint with deprecated interface Chill\\\\MainBundle\\\\Security\\\\Resolver\\\\CenterResolverDispatcherInterface\\: | ||||
| 				Use CenterResolverManager and its interface CenterResolverManagerInterface$# | ||||
| 			""" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillTaskBundle/Controller/SingleTaskController.php | ||||
|  | ||||
| 		- | ||||
| 			message: """ | ||||
| 				#^Parameter \\$centerResolverDispatcher of method Chill\\\\TaskBundle\\\\Form\\\\SingleTaskType\\:\\:__construct\\(\\) has typehint with deprecated interface Chill\\\\MainBundle\\\\Security\\\\Resolver\\\\CenterResolverDispatcherInterface\\: | ||||
| 				Use CenterResolverManager and its interface CenterResolverManagerInterface$# | ||||
| 			""" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillTaskBundle/Form/SingleTaskType.php | ||||
| @@ -1,387 +0,0 @@ | ||||
| parameters: | ||||
| 	ignoreErrors: | ||||
| 		- | ||||
| 			message: "#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillActivityBundle/Entity/ActivityReason.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillActivityBundle/Entity/ActivityReasonCategory.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillActivityBundle/Form/ActivityType.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Only booleans are allowed in an if condition, mixed given\\.$#" | ||||
| 			count: 3 | ||||
| 			path: src/Bundle/ChillBudgetBundle/Form/ChargeType.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Only booleans are allowed in an if condition, mixed given\\.$#" | ||||
| 			count: 2 | ||||
| 			path: src/Bundle/ChillBudgetBundle/Form/ResourceType.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Only booleans are allowed in an if condition, mixed given\\.$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillCustomFieldsBundle/Command/CreateFieldsOnGroupCommand.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillCustomFieldsBundle/CustomFields/AbstractCustomField.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#" | ||||
| 			count: 4 | ||||
| 			path: src/Bundle/ChillCustomFieldsBundle/CustomFields/CustomFieldChoice.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Method Chill\\\\CustomFieldsBundle\\\\CustomFields\\\\CustomFieldChoice\\:\\:buildForm\\(\\) should return Symfony\\\\Component\\\\Form\\\\FormTypeInterface but return statement is missing\\.$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillCustomFieldsBundle/CustomFields/CustomFieldChoice.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillCustomFieldsBundle/CustomFields/CustomFieldDate.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Method Chill\\\\CustomFieldsBundle\\\\CustomFields\\\\CustomFieldDate\\:\\:buildForm\\(\\) should return Symfony\\\\Component\\\\Form\\\\FormTypeInterface but return statement is missing\\.$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillCustomFieldsBundle/CustomFields/CustomFieldDate.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Method Chill\\\\CustomFieldsBundle\\\\CustomFields\\\\CustomFieldLongChoice\\:\\:buildForm\\(\\) should return Symfony\\\\Component\\\\Form\\\\FormTypeInterface but return statement is missing\\.$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillCustomFieldsBundle/CustomFields/CustomFieldLongChoice.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillCustomFieldsBundle/CustomFields/CustomFieldNumber.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Method Chill\\\\CustomFieldsBundle\\\\CustomFields\\\\CustomFieldNumber\\:\\:buildForm\\(\\) should return Symfony\\\\Component\\\\Form\\\\FormTypeInterface but return statement is missing\\.$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillCustomFieldsBundle/CustomFields/CustomFieldNumber.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Method Chill\\\\CustomFieldsBundle\\\\CustomFields\\\\CustomFieldText\\:\\:buildForm\\(\\) should return Symfony\\\\Component\\\\Form\\\\FormTypeInterface but return statement is missing\\.$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillCustomFieldsBundle/CustomFields/CustomFieldText.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Method Chill\\\\CustomFieldsBundle\\\\CustomFields\\\\CustomFieldTitle\\:\\:buildForm\\(\\) should return Symfony\\\\Component\\\\Form\\\\FormTypeInterface but return statement is missing\\.$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillCustomFieldsBundle/CustomFields/CustomFieldTitle.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillCustomFieldsBundle/Entity/CustomField.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillCustomFieldsBundle/Entity/CustomFieldsGroup.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Only booleans are allowed in a negated boolean, mixed given\\.$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillCustomFieldsBundle/Form/CustomFieldType.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillDocStoreBundle/Entity/DocumentCategory.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillEventBundle/Form/ChoiceLoader/EventChoiceLoader.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\$resolver of method Chill\\\\EventBundle\\\\Form\\\\EventTypeType\\:\\:setDefaultOptions\\(\\) has invalid type Symfony\\\\Component\\\\OptionsResolver\\\\OptionsResolverInterface\\.$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillEventBundle/Form/EventTypeType.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\$resolver of method Chill\\\\EventBundle\\\\Form\\\\RoleType\\:\\:setDefaultOptions\\(\\) has invalid type Symfony\\\\Component\\\\OptionsResolver\\\\OptionsResolverInterface\\.$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillEventBundle/Form/RoleType.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\$resolver of method Chill\\\\EventBundle\\\\Form\\\\StatusType\\:\\:setDefaultOptions\\(\\) has invalid type Symfony\\\\Component\\\\OptionsResolver\\\\OptionsResolverInterface\\.$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillEventBundle/Form/StatusType.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#" | ||||
| 			count: 2 | ||||
| 			path: src/Bundle/ChillEventBundle/Search/EventSearch.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Method Chill\\\\EventBundle\\\\Search\\\\EventSearch\\:\\:renderResult\\(\\) should return string but return statement is missing\\.$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillEventBundle/Search/EventSearch.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Casting to string something that's already string\\.$#" | ||||
| 			count: 5 | ||||
| 			path: src/Bundle/ChillFamilyMembersBundle/Entity/AbstractFamilyMember.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Only booleans are allowed in an if condition, mixed given\\.$#" | ||||
| 			count: 2 | ||||
| 			path: src/Bundle/ChillFamilyMembersBundle/Form/FamilyMemberType.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillMainBundle/CRUD/Controller/CRUDController.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Parameter \\$scope of method Chill\\\\MainBundle\\\\CRUD\\\\Controller\\\\CRUDController\\:\\:getReachableCenters\\(\\) has invalid type Chill\\\\MainBundle\\\\CRUD\\\\Controller\\\\Scope\\.$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillMainBundle/CRUD/Controller/CRUDController.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillMainBundle/CRUD/Resolver/Resolver.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Method Chill\\\\MainBundle\\\\CRUD\\\\Resolver\\\\Resolver\\:\\:getConfigValue\\(\\) should return string but return statement is missing\\.$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillMainBundle/CRUD/Resolver/Resolver.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Method Chill\\\\MainBundle\\\\Command\\\\ChillImportUsersCommand\\:\\:execute\\(\\) should return int but return statement is missing\\.$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillMainBundle/Command/ChillImportUsersCommand.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Only booleans are allowed in an if condition, mixed given\\.$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillMainBundle/Command/ChillImportUsersCommand.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillMainBundle/Command/ChillUserSendRenewPasswordCodeCommand.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Method Chill\\\\MainBundle\\\\Command\\\\ChillUserSendRenewPasswordCodeCommand\\:\\:execute\\(\\) should return int but return statement is missing\\.$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillMainBundle/Command/ChillUserSendRenewPasswordCodeCommand.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Method Chill\\\\MainBundle\\\\Command\\\\LoadAndUpdateLanguagesCommand\\:\\:execute\\(\\) should return int but return statement is missing\\.$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillMainBundle/Command/LoadAndUpdateLanguagesCommand.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Only booleans are allowed in a negated boolean, mixed given\\.$#" | ||||
| 			count: 2 | ||||
| 			path: src/Bundle/ChillMainBundle/Command/LoadAndUpdateLanguagesCommand.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Method Chill\\\\MainBundle\\\\Command\\\\LoadCountriesCommand\\:\\:execute\\(\\) should return int but return statement is missing\\.$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillMainBundle/Command/LoadCountriesCommand.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Method Chill\\\\MainBundle\\\\Command\\\\LoadPostalCodesCommand\\:\\:execute\\(\\) should return int but return statement is missing\\.$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillMainBundle/Command/LoadPostalCodesCommand.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Method Chill\\\\MainBundle\\\\Command\\\\SetPasswordCommand\\:\\:execute\\(\\) should return int but return statement is missing\\.$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillMainBundle/Command/SetPasswordCommand.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillMainBundle/Controller/PasswordController.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillMainBundle/Controller/PostalCodeController.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillMainBundle/DependencyInjection/Widget/AbstractWidgetsCompilerPass.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillMainBundle/Entity/Address.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillMainBundle/Entity/User.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillMainBundle/Form/ChoiceLoader/PostalCodeChoiceLoader.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillMainBundle/Form/DataMapper/AddressDataMapper.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Only booleans are allowed in a negated boolean, mixed given\\.$#" | ||||
| 			count: 2 | ||||
| 			path: src/Bundle/ChillMainBundle/Form/Type/AddressType.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Only booleans are allowed in an if condition, mixed given\\.$#" | ||||
| 			count: 2 | ||||
| 			path: src/Bundle/ChillMainBundle/Form/Type/AddressType.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Only booleans are allowed in a negated boolean, mixed given\\.$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillMainBundle/Form/Type/ChillTextareaType.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#" | ||||
| 			count: 3 | ||||
| 			path: src/Bundle/ChillMainBundle/Form/Type/DataTransformer/DateIntervalTransformer.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#" | ||||
| 			count: 2 | ||||
| 			path: src/Bundle/ChillMainBundle/Phonenumber/PhonenumberHelper.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillMainBundle/Security/PasswordRecover/PasswordRecoverEvent.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillMainBundle/Security/PasswordRecover/TokenManager.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillMainBundle/Timeline/TimelineBuilder.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Method Chill\\\\MainBundle\\\\Timeline\\\\TimelineBuilder\\:\\:getTemplateData\\(\\) should return array but return statement is missing\\.$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillMainBundle/Timeline/TimelineBuilder.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillPersonBundle/Actions/Remove/PersonMove.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillPersonBundle/CRUD/Controller/OneToOneEntityPersonCRUDController.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillPersonBundle/Command/ChillPersonMoveCommand.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Method Chill\\\\PersonBundle\\\\Command\\\\ChillPersonMoveCommand\\:\\:execute\\(\\) should return int but return statement is missing\\.$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillPersonBundle/Command/ChillPersonMoveCommand.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Only booleans are allowed in an if condition, mixed given\\.$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillPersonBundle/Command/ChillPersonMoveCommand.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillPersonBundle/Form/ChoiceLoader/PersonChoiceLoader.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillPersonBundle/Form/DataMapper/PersonAltNameDataMapper.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Only booleans are allowed in a ternary operator condition, mixed given\\.$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillPersonBundle/Form/Type/PersonAltNameType.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Only booleans are allowed in an if condition, mixed given\\.$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillPersonBundle/Form/Type/PersonPhoneType.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Method Chill\\\\PersonBundle\\\\Search\\\\PersonSearch\\:\\:renderResult\\(\\) should return string but return statement is missing\\.$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillPersonBundle/Search/PersonSearch.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Method Chill\\\\ReportBundle\\\\DataFixtures\\\\ORM\\\\LoadReports\\:\\:getRandomChoice\\(\\) should return array\\<string\\>\\|string but return statement is missing\\.$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillReportBundle/DataFixtures/ORM/LoadReports.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#" | ||||
| 			count: 2 | ||||
| 			path: src/Bundle/ChillReportBundle/Export/Export/ReportList.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Method Chill\\\\ReportBundle\\\\Security\\\\Authorization\\\\ReportVoter\\:\\:supports\\(\\) should return bool but return statement is missing\\.$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillReportBundle/Security/Authorization/ReportVoter.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Casting to string something that's already string\\.$#" | ||||
| 			count: 3 | ||||
| 			path: src/Bundle/ChillTaskBundle/Entity/AbstractTask.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Only booleans are allowed in an if condition, mixed given\\.$#" | ||||
| 			count: 2 | ||||
| 			path: src/Bundle/ChillTaskBundle/Form/SingleTaskListType.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillTaskBundle/Repository/SingleTaskAclAwareRepository.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#" | ||||
| 			count: 5 | ||||
| 			path: src/Bundle/ChillTaskBundle/Repository/SingleTaskRepository.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Method Chill\\\\TaskBundle\\\\Timeline\\\\SingleTaskTaskLifeCycleEventTimelineProvider\\:\\:getTransitionByName\\(\\) should return Symfony\\\\Component\\\\Workflow\\\\Transition but return statement is missing\\.$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillTaskBundle/Timeline/SingleTaskTaskLifeCycleEventTimelineProvider.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Method Chill\\\\TaskBundle\\\\Timeline\\\\TaskLifeCycleEventTimelineProvider\\:\\:getTransitionByName\\(\\) should return Symfony\\\\Component\\\\Workflow\\\\Transition but return statement is missing\\.$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillTaskBundle/Timeline/TaskLifeCycleEventTimelineProvider.php | ||||
|  | ||||
| 		- | ||||
| 			message: "#^Method Chill\\\\ThirdPartyBundle\\\\Search\\\\ThirdPartySearch\\:\\:renderResult\\(\\) should return string but return statement is missing\\.$#" | ||||
| 			count: 1 | ||||
| 			path: src/Bundle/ChillThirdPartyBundle/Search/ThirdPartySearch.php | ||||
|  | ||||
| @@ -3,7 +3,7 @@ parameters: | ||||
|     paths: | ||||
|         - src/ | ||||
|         - utils/ | ||||
|     tmpDir: .cache/ | ||||
|     tmpDir: var/cache/phpstan | ||||
|     reportUnmatchedIgnoredErrors: false | ||||
|     excludePaths: | ||||
|         - .php_cs* | ||||
| @@ -22,16 +22,9 @@ parameters: | ||||
|         - src/Bundle/*/src/translations/* | ||||
|         - src/Bundle/*/src/Resources/* | ||||
|  | ||||
|     symfony: | ||||
|         containerXmlPath: var/cache/dev/App_KernelDevDebugContainer.xml | ||||
|  | ||||
| includes: | ||||
|     - phpstan-baseline.neon | ||||
|     - phpstan-critical.neon | ||||
|     - phpstan-deprecations.neon | ||||
|     - phpstan-types.neon | ||||
|     - phpstan-baseline-level-2.neon | ||||
|     - 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 | ||||
|     - phpstan-baseline-2024-05.neon | ||||
|  | ||||
|   | ||||
| @@ -1,13 +1,24 @@ | ||||
| <?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/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" | ||||
|          displayDetailsOnTestsThatTriggerWarnings="true"> | ||||
|     <testsuites> | ||||
|         <testsuite name="default"> | ||||
|             <directory>utils/rector/tests</directory> | ||||
|         </testsuite> | ||||
|     </testsuites> | ||||
|     <source> | ||||
|         <include> | ||||
|             <directory suffix=".php">utils/rector/src</directory> | ||||
|         </include> | ||||
|     </source> | ||||
| </phpunit> | ||||
|   | ||||
							
								
								
									
										104
									
								
								phpunit.xml.dist
									
									
									
									
									
								
							
							
						
						
									
										104
									
								
								phpunit.xml.dist
									
									
									
									
									
								
							| @@ -1,84 +1,34 @@ | ||||
| <?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="vendor/phpunit/phpunit/phpunit.xsd" | ||||
|     backupGlobals="false" | ||||
|     colors="true" | ||||
|     bootstrap="tests/bootstrap.php" | ||||
| <phpunit xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | ||||
|          xsi:noNamespaceSchemaLocation="vendor/phpunit/phpunit/phpunit.xsd" | ||||
|          backupGlobals="false" | ||||
|          colors="true" | ||||
|          failOnNotice="true" | ||||
|          failOnWarning="true" | ||||
|          bootstrap="tests/bootstrap.php" | ||||
|          cacheDirectory=".phpunit.cache" | ||||
| > | ||||
|   <php> | ||||
|     <ini name="display_errors" value="1" /> | ||||
|     <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"/> | ||||
|       <server name="SYMFONY_PHPUNIT_REMOVE" value="" /> | ||||
|       <server name="SYMFONY_PHPUNIT_VERSION" value="9.5" /> | ||||
|       <ini name="date.timezone" value="Europe/Brussels" /> | ||||
|   </php> | ||||
|   <testsuites> | ||||
|     <!-- | ||||
|         <testsuite name="ActivityBundle"> | ||||
|             <directory suffix="Test.php">src/Bundle/ChillActivityBundle/Tests/</directory> | ||||
|     <php> | ||||
|         <ini name="display_errors" value="1" /> | ||||
|         <ini name="error_reporting" value="-1" /> | ||||
|         <server name="APP_ENV" value="test" force="true" /> | ||||
|         <server name="SHELL_VERBOSITY" value="-1" /> | ||||
|     </php> | ||||
|  | ||||
|     <testsuites> | ||||
|         <testsuite name="Project Test Suite"> | ||||
|             <directory>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="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 --> | ||||
|   <!-- | ||||
|     </testsuites> | ||||
|  | ||||
|     <source ignoreSuppressionOfDeprecations="true" restrictNotices="true" restrictWarnings="true"> | ||||
|         <include> | ||||
|             <directory>src</directory> | ||||
|         </include> | ||||
|     </source> | ||||
|  | ||||
|     <extensions> | ||||
|         <extension class="Symfony\Component\Panther\ServerExtension" /> | ||||
|     </extensions> | ||||
|     --> | ||||
| </phpunit> | ||||
|   | ||||
							
								
								
									
										1523
									
								
								psalm-baseline.xml
									
									
									
									
									
								
							
							
						
						
									
										1523
									
								
								psalm-baseline.xml
									
									
									
									
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										47
									
								
								psalm.xml
									
									
									
									
									
								
							
							
						
						
									
										47
									
								
								psalm.xml
									
									
									
									
									
								
							| @@ -1,47 +0,0 @@ | ||||
| <?xml version="1.0"?> | ||||
| <psalm | ||||
|     errorLevel="7" | ||||
|     resolveFromConfigFile="true" | ||||
|     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | ||||
|     xmlns="https://getpsalm.org/schema/config" | ||||
|     xsi:schemaLocation="https://getpsalm.org/schema/config tests/app/vendor/vimeo/psalm/config.xsd" | ||||
|     errorBaseline="psalm-baseline.xml" | ||||
|     cacheDirectory="./.psalm" | ||||
| > | ||||
|     <projectFiles> | ||||
|         <directory name="src"/> | ||||
|         <ignoreFiles> | ||||
|             <directory name="./tests/"/> | ||||
|             <directory name="./node_modules/"/> | ||||
|         </ignoreFiles> | ||||
|     </projectFiles> | ||||
|  | ||||
|     <!-- suppress error around parameter bags - see https://github.com/symfony/symfony/issues/45609#issuecomment-1056816975 --> | ||||
|     <!-- maybe to desactivate with php 8.1 ? --> | ||||
|     <issueHandlers> | ||||
|         <UndefinedDocblockClass> | ||||
|             <errorLevel type="suppress"> | ||||
|                 <referencedClass name="UnitEnum"/> | ||||
|             </errorLevel> | ||||
|         </UndefinedDocblockClass> | ||||
|     </issueHandlers> | ||||
|  | ||||
|     <!-- | ||||
|     <fileExtensions> | ||||
|         <extension name=".php"/> | ||||
|         <extension name=".twig" checker="tests/app/vendor/psalm/plugin-symfony/src/Twig/TemplateFileAnalyzer.php" /> | ||||
|     </fileExtensions> | ||||
|     --> | ||||
|  | ||||
|     <plugins> | ||||
|         <pluginClass class="Psalm\PhpUnitPlugin\Plugin"/> | ||||
|         <!-- | ||||
|         <pluginClass class="Psalm\SymfonyPsalmPlugin\Plugin"> | ||||
|             <containerXml>tests/app/var/cache/dev/srcApp_KernelDevDebugContainer.xml</containerXml> | ||||
|             <stubs> | ||||
|                 <file name="vendor/symfony/dependency-injection/Loader/Configurator/ContainerConfigurator.php" /> | ||||
|             </stubs> | ||||
|         </pluginClass> | ||||
|         --> | ||||
|     </plugins> | ||||
| </psalm> | ||||
							
								
								
									
										85
									
								
								rector.php
									
									
									
									
									
								
							
							
						
						
									
										85
									
								
								rector.php
									
									
									
									
									
								
							| @@ -13,85 +13,8 @@ use Rector\CodeQuality\Rector\Class_\InlineConstructorDefaultToPropertyRector; | ||||
| use Rector\Config\RectorConfig; | ||||
| use Rector\Php80\Rector\Class_\AnnotationToAttributeRector; | ||||
| use Rector\Set\ValueObject\LevelSetList; | ||||
| use Rector\Symfony\Set\SymfonySetList; | ||||
|  | ||||
| return static function (RectorConfig $rectorConfig): void { | ||||
|     $rectorConfig->paths([ | ||||
|         __DIR__ . '/docs', | ||||
|         __DIR__ . '/src', | ||||
|     ]); | ||||
|  | ||||
|     $rectorConfig->skip([ | ||||
|         \Rector\Php55\Rector\String_\StringClassNameToClassConstantRector::class => __DIR__ . 'src/Bundle/ChillMainBundle/Service/Notifier/LegacyOvhCloudFactory.php' | ||||
|     ]); | ||||
|  | ||||
|     $rectorConfig->symfonyContainerXml(__DIR__ . '/var/cache/dev/test/App_KernelTestDebugContainer.xml  '); | ||||
|     $rectorConfig->symfonyContainerPhp(__DIR__ . '/tests/symfony-container.php'); | ||||
|  | ||||
|     //$rectorConfig->cacheClass(\Rector\Caching\ValueObject\Storage\FileCacheStorage::class); | ||||
|     //$rectorConfig->cacheDirectory(__DIR__ . '/.cache/rector'); | ||||
|  | ||||
|     // register a single rule | ||||
|     $rectorConfig->rule(InlineConstructorDefaultToPropertyRector::class); | ||||
|     $rectorConfig->rule(Rector\TypeDeclaration\Rector\ClassMethod\AddParamTypeFromPropertyTypeRector::class); | ||||
|     $rectorConfig->rule(Rector\TypeDeclaration\Rector\Class_\MergeDateTimePropertyTypeDeclarationRector::class); | ||||
|     $rectorConfig->rule(Rector\TypeDeclaration\Rector\ClassMethod\AddReturnTypeDeclarationBasedOnParentClassMethodRector::class); | ||||
|  | ||||
|     // part of the symfony 54 rules | ||||
|     $rectorConfig->rule(\Rector\Symfony\Symfony53\Rector\StaticPropertyFetch\KernelTestCaseContainerPropertyDeprecationRector::class); | ||||
|     $rectorConfig->rule(\Rector\Symfony\Symfony60\Rector\MethodCall\GetHelperControllerToServiceRector::class); | ||||
|     $rectorConfig->disableParallel(); | ||||
|  | ||||
|     //define sets of rules | ||||
|     $rectorConfig->sets([ | ||||
|         LevelSetList::UP_TO_PHP_82, | ||||
|         \Rector\Symfony\Set\SymfonySetList::SYMFONY_40, | ||||
|         \Rector\Symfony\Set\SymfonySetList::SYMFONY_41, | ||||
|         \Rector\Symfony\Set\SymfonySetList::SYMFONY_42, | ||||
|         \Rector\Symfony\Set\SymfonySetList::SYMFONY_43, | ||||
|         \Rector\Symfony\Set\SymfonySetList::SYMFONY_44, | ||||
|         \Rector\Doctrine\Set\DoctrineSetList::DOCTRINE_CODE_QUALITY, | ||||
|         \Rector\PHPUnit\Set\PHPUnitSetList::PHPUNIT_90, | ||||
|     ]); | ||||
|  | ||||
|     $rectorConfig->ruleWithConfiguration(\Rector\Php80\Rector\Class_\AnnotationToAttributeRector::class, [ | ||||
|         new \Rector\Php80\ValueObject\AnnotationToAttribute('Symfony\Component\Serializer\Annotation\Context'), | ||||
|     ]); | ||||
|  | ||||
|     // migrate for phpunit | ||||
|     $rectorConfig->rules([ | ||||
|         \Rector\PHPUnit\PHPUnit100\Rector\Class_\StaticDataProviderClassMethodRector::class, | ||||
|         \Rector\PHPUnit\PHPUnit100\Rector\Class_\PublicDataProviderClassMethodRector::class | ||||
|     ]); | ||||
|  | ||||
|     // some routes are added twice if it remains activated | ||||
|     // $rectorConfig->rule(\Rector\Symfony\Configs\Rector\ClassMethod\AddRouteAnnotationRector::class); | ||||
|  | ||||
|     // chill rules | ||||
|     $rectorConfig->rules([ | ||||
|         \Chill\Utils\Rector\Rector\ChillBundleMakeDataProviderStaticForAbstractExportTestRector::class, | ||||
|     ]); | ||||
|  | ||||
|     // skip some path... | ||||
|     $rectorConfig->skip([ | ||||
|         // waiting for fixing this bug: https://github.com/rectorphp/rector-doctrine/issues/342 | ||||
|         \Rector\Doctrine\CodeQuality\Rector\Property\ImproveDoctrineCollectionDocTypeInEntityRector::class, | ||||
|     ]); | ||||
|  | ||||
|     $rectorConfig->ruleWithConfiguration(AnnotationToAttributeRector::class, [ | ||||
|         new \Rector\Php80\ValueObject\AnnotationToAttribute('Chill\PersonBundle\Validator\Constraints\AccompanyingPeriod\AccompanyingPeriodValidity'), | ||||
|         new \Rector\Php80\ValueObject\AnnotationToAttribute('Chill\PersonBundle\Validator\Constraints\Household\HouseholdMembershipSequential'), | ||||
|         new \Rector\Php80\ValueObject\AnnotationToAttribute('Chill\PersonBundle\Validator\Constraints\Household\MaxHolder'), | ||||
|         new \Rector\Php80\ValueObject\AnnotationToAttribute('Chill\PersonBundle\Validator\Constraints\AccompanyingPeriod\ConfidentialCourseMustHaveReferrer'), | ||||
|         new \Rector\Php80\ValueObject\AnnotationToAttribute('Chill\PersonBundle\Validator\Constraints\AccompanyingPeriod\LocationValidity'), | ||||
|         new \Rector\Php80\ValueObject\AnnotationToAttribute('Chill\PersonBundle\Validator\Constraints\AccompanyingPeriod\ParticipationOverlap'), | ||||
|         new \Rector\Php80\ValueObject\AnnotationToAttribute('Chill\PersonBundle\Validator\Constraints\AccompanyingPeriod\ResourceDuplicateCheck'), | ||||
|         new \Rector\Php80\ValueObject\AnnotationToAttribute('Chill\PersonBundle\Validator\Constraints\Person\Birthdate'), | ||||
|         new \Rector\Php80\ValueObject\AnnotationToAttribute('Chill\PersonBundle\Validator\Constraints\Person\PersonHasCenter'), | ||||
|         new \Rector\Php80\ValueObject\AnnotationToAttribute('Chill\PersonBundle\Validator\Constraints\Relationship\RelationshipNoDuplicate'), | ||||
|         new \Rector\Php80\ValueObject\AnnotationToAttribute('Chill\ActivityBundle\Validator\Constraints\ActivityValidity'), | ||||
|         new \Rector\Php80\ValueObject\AnnotationToAttribute('Chill\DocStoreBundle\Validator\Constraints\AsyncFileExists'), | ||||
|         new \Rector\Php80\ValueObject\AnnotationToAttribute('Chill\MainBundle\Validation\Constraint\PhonenumberConstraint'), | ||||
|         new \Rector\Php80\ValueObject\AnnotationToAttribute('Chill\MainBundle\Validator\Constraints\Entity\UserCircleConsistency'), | ||||
|         new \Rector\Php80\ValueObject\AnnotationToAttribute('Chill\MainBundle\Workflow\Validator\EntityWorkflowCreation'), | ||||
|     ]); | ||||
| }; | ||||
| return RectorConfig::configure() | ||||
|     ->withPaths(['./src', './docs', './rector.php']) | ||||
|     ->withComposerBased(twig: true, doctrine: true, symfony: true); | ||||
|   | ||||
| @@ -1,64 +0,0 @@ | ||||
| .test_definition: &test_definition | ||||
|     services: | ||||
|        - chill/database:latest | ||||
|       | ||||
|     before_script: | ||||
|        - composer config github-oauth.github.com $GITHUB_TOKEN | ||||
|        - php -d memory_limit=-1 /usr/local/bin/composer install --no-interaction | ||||
|        - cp  Resources/test/Fixtures/App/app/config/parameters.gitlab-ci.yml Resources/test/Fixtures/App/app/config/parameters.yml | ||||
|        - php Resources/test/Fixtures/App/app/console doctrine:migrations:migrate --env=test --no-interaction | ||||
|        - php Resources/test/Fixtures/App/app/console doctrine:fixtures:load --env=test --no-interaction | ||||
|  | ||||
| stages: | ||||
|     - deploy | ||||
|     - test | ||||
|     - build-doc | ||||
|     - deploy-doc | ||||
|  | ||||
| test:php-7.2: | ||||
|     stage: test | ||||
|     image: chill/ci-image:php-7.2 | ||||
|     <<: *test_definition | ||||
|     script: php vendor/bin/phpunit | ||||
|  | ||||
| deploy-packagist:     | ||||
|     stage: deploy     | ||||
|     image: chill/ci-image:php-7.2 | ||||
|     before_script:         | ||||
|         # test that PACKAGIST USERNAME and PACKAGIST_TOKEN variable are set         | ||||
|         - if [ -z ${PACKAGIST_USERNAME+x} ]; then echo "Please set PACKAGIST_USERNAME variable"; exit -1;  fi         | ||||
|         - if [ -z ${PACKAGIST_TOKEN+x} ]; then echo "Please set PACKAGIST_TOKEN variable";  exit -1; fi     | ||||
|     script:         | ||||
|         - STATUSCODE=$(curl -XPOST -H'content-type:application/json' "https://packagist.org/api/update-package?username=$PACKAGIST_USERNAME&apiToken=$PACKAGIST_TOKEN" -d"{\"repository\":{\"url\":\"$CI_PROJECT_URL.git\"}}" --silent --output /dev/stderr --write-out "%{http_code}")         | ||||
|         - if [ $STATUSCODE = "202" ]; then exit 0; else exit $STATUSCODE; fi | ||||
|          | ||||
| # deploy documentation | ||||
| api-doc-build: | ||||
|    stage: build-doc | ||||
|    environment: api-doc | ||||
|    image: chill/ci-image:php-7.2 | ||||
|    before_script: | ||||
|       - mkdir api-doc | ||||
|    script: apigen generate --destination api-doc/$CI_BUILD_REF_NAME/$CI_PROJECT_NAME | ||||
|    artifacts: | ||||
|       paths: | ||||
|          - "api-doc/" | ||||
|       name: api | ||||
|       expire_in: '2h' | ||||
|    only: | ||||
|       - master | ||||
|       - tags | ||||
|  | ||||
| api-doc-deploy: | ||||
|    stage: deploy-doc | ||||
|    image: pallet/swiftclient:latest | ||||
|    before_script: | ||||
|         # test that CONTAINER_API variable is set         | ||||
|         - if [ -z ${CONTAINER_API+x} ]; then echo "Please set CONTAINER_API variable"; exit -1;  fi | ||||
|         # go to api-doc to have and url with PROJECT/BUILD | ||||
|         - cd api-doc | ||||
|         # upload, and keep files during 1 year | ||||
|    script: "swift upload --header \"X-Delete-After: 31536000\"  $CONTAINER_API $CI_BUILD_REF_NAME/$CI_PROJECT_NAME" | ||||
|    only: | ||||
|       - master | ||||
|       - tags | ||||
| @@ -1,31 +0,0 @@ | ||||
|  | ||||
| Version 1.5.1 | ||||
| ============= | ||||
|  | ||||
| - [report activity count] fix error: do not show centers which are not selected in results. | ||||
|  | ||||
| Version 1.5.2 | ||||
| ============= | ||||
|  | ||||
| - [aggregate by activity type] fix translation in aggregate activity type | ||||
| - fix some translation in export | ||||
| - fix error when persons not loaded by other aggregators / filters | ||||
| - add "filter by activity type" filter | ||||
|  | ||||
| Version 1.5.3 | ||||
| ============= | ||||
|  | ||||
| - add privacy events to activity list / show / edit | ||||
|  | ||||
| Version 1.5.4 | ||||
| ============= | ||||
|  | ||||
| - [report activity]: add aggregator for activity users | ||||
| - fix bug: error when extracting activities without filter / aggregators selecting persons | ||||
|  | ||||
| Version 1.5.5 | ||||
| ============= | ||||
|  | ||||
| - [activity] replace dropdown for selecting reasons and use chillEntity for reason rendering | ||||
| - fix bug: error when trying to edit activity of which the type has been deactivated | ||||
|  | ||||
| @@ -74,8 +74,8 @@ final class ActivityController extends AbstractController | ||||
|     /** | ||||
|      * Deletes a Activity entity. | ||||
|      */ | ||||
|     #[\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) | ||||
|     #[\Symfony\Component\Routing\Attribute\Route(path: '/{_locale}/activity/{id}/delete', name: 'chill_activity_activity_delete', methods: ['GET', 'POST', 'DELETE'])] | ||||
|     public function deleteAction(Request $request, mixed $id): \Symfony\Component\HttpFoundation\RedirectResponse|Response | ||||
|     { | ||||
|         $view = null; | ||||
|  | ||||
| @@ -83,7 +83,7 @@ final class ActivityController extends AbstractController | ||||
|  | ||||
|         $activity = $this->activityRepository->find($id); | ||||
|  | ||||
|         if (!$activity) { | ||||
|         if (null === $activity) { | ||||
|             throw $this->createNotFoundException('Unable to find Activity entity.'); | ||||
|         } | ||||
|  | ||||
| @@ -104,11 +104,11 @@ final class ActivityController extends AbstractController | ||||
|  | ||||
|             if ($form->isSubmitted() && $form->isValid()) { | ||||
|                 $this->logger->notice('An activity has been removed', [ | ||||
|                     'by_user' => $this->getUser()->getUsername(), | ||||
|                     'by_user' => $this->getUser()->getUserIdentifier(), | ||||
|                     'activity_id' => $activity->getId(), | ||||
|                     'person_id' => $activity->getPerson() ? $activity->getPerson()->getId() : null, | ||||
|                     'comment' => $activity->getComment()->getComment(), | ||||
|                     'scope_id' => $activity->getScope() ? $activity->getScope()->getId() : null, | ||||
|                     'person_id' => null === $activity->getPerson() ? $activity->getPerson()->getId() : null, | ||||
|                     'comment' => null === $activity->getComment()->getComment(), | ||||
|                     'scope_id' => null === $activity->getScope() ? $activity->getScope()->getId() : null, | ||||
|                     'reasons_ids' => $activity->getReasons() | ||||
|                         ->map( | ||||
|                             static fn (ActivityReason $ar): int => $ar->getId() | ||||
| @@ -134,7 +134,7 @@ final class ActivityController extends AbstractController | ||||
|  | ||||
|         return $this->render($view, [ | ||||
|             'activity' => $activity, | ||||
|             'delete_form' => $form->createView(), | ||||
|             'delete_form' => $form, | ||||
|             'person' => $person, | ||||
|             'accompanyingCourse' => $accompanyingPeriod, | ||||
|         ]); | ||||
| @@ -143,7 +143,7 @@ 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\Attribute\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; | ||||
| @@ -226,8 +226,8 @@ final class ActivityController extends AbstractController | ||||
|  | ||||
|         return $this->render($view, [ | ||||
|             'entity' => $entity, | ||||
|             'edit_form' => $form->createView(), | ||||
|             'delete_form' => $deleteForm->createView(), | ||||
|             'edit_form' => $form, | ||||
|             'delete_form' => $deleteForm, | ||||
|             'person' => $person, | ||||
|             'accompanyingCourse' => $accompanyingPeriod, | ||||
|             'activity_json' => $activity_array, | ||||
| @@ -237,7 +237,7 @@ 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\Attribute\Route(path: '/{_locale}/activity/', name: 'chill_activity_activity_list')] | ||||
|     public function listAction(Request $request): Response | ||||
|     { | ||||
|         $view = null; | ||||
| @@ -341,7 +341,7 @@ 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\Attribute\Route(path: '/{_locale}/activity/new', name: 'chill_activity_activity_new', methods: ['POST', 'GET'])] | ||||
|     public function newAction(Request $request): Response | ||||
|     { | ||||
|         $view = null; | ||||
| @@ -364,7 +364,7 @@ final class ActivityController extends AbstractController | ||||
|         $activityData = null; | ||||
|  | ||||
|         if ($request->query->has('activityData')) { | ||||
|             $activityData = $request->query->get('activityData'); | ||||
|             $activityData = $request->query->all('activityData'); | ||||
|         } | ||||
|  | ||||
|         if ( | ||||
| @@ -516,13 +516,13 @@ final class ActivityController extends AbstractController | ||||
|             'person' => $person, | ||||
|             'accompanyingCourse' => $accompanyingPeriod, | ||||
|             'entity' => $entity, | ||||
|             'form' => $form->createView(), | ||||
|             'form' => $form, | ||||
|             'activity_json' => $activity_array, | ||||
|             'default_location' => $defaultLocation, | ||||
|         ]); | ||||
|     } | ||||
|  | ||||
|     #[\Symfony\Component\Routing\Annotation\Route(path: '/{_locale}/activity/select-type', name: 'chill_activity_activity_select_type')] | ||||
|     #[\Symfony\Component\Routing\Attribute\Route(path: '/{_locale}/activity/select-type', name: 'chill_activity_activity_select_type')] | ||||
|     public function selectTypeAction(Request $request): Response | ||||
|     { | ||||
|         $view = null; | ||||
| @@ -567,7 +567,7 @@ final class ActivityController extends AbstractController | ||||
|         ]); | ||||
|     } | ||||
|  | ||||
|     #[\Symfony\Component\Routing\Annotation\Route(path: '/{_locale}/activity/{id}/show', name: 'chill_activity_activity_show')] | ||||
|     #[\Symfony\Component\Routing\Attribute\Route(path: '/{_locale}/activity/{id}/show', name: 'chill_activity_activity_show')] | ||||
|     public function showAction(Request $request, int $id): Response | ||||
|     { | ||||
|         $entity = $this->activityRepository->find($id); | ||||
| @@ -611,7 +611,7 @@ final class ActivityController extends AbstractController | ||||
|             'person' => $person, | ||||
|             'accompanyingCourse' => $accompanyingPeriod, | ||||
|             'entity' => $entity, | ||||
|             'delete_form' => $deleteForm->createView(), | ||||
|             'delete_form' => $deleteForm, | ||||
|         ]); | ||||
|     } | ||||
|  | ||||
|   | ||||
| @@ -15,6 +15,7 @@ use Chill\ActivityBundle\Entity\ActivityReasonCategory; | ||||
| use Chill\ActivityBundle\Form\ActivityReasonCategoryType; | ||||
| use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; | ||||
| use Symfony\Component\Form\Extension\Core\Type\SubmitType; | ||||
| use Symfony\Component\Form\FormInterface; | ||||
| use Symfony\Component\HttpFoundation\Request; | ||||
|  | ||||
| /** | ||||
| @@ -27,8 +28,8 @@ class ActivityReasonCategoryController extends AbstractController | ||||
|     /** | ||||
|      * Creates a new ActivityReasonCategory entity. | ||||
|      */ | ||||
|     #[\Symfony\Component\Routing\Annotation\Route(path: '/{_locale}/admin/activityreasoncategory/create', name: 'chill_activity_activityreasoncategory_create', methods: ['POST'])] | ||||
|     public function createAction(Request $request) | ||||
|     #[\Symfony\Component\Routing\Attribute\Route(path: '/{_locale}/admin/activityreasoncategory/create', name: 'chill_activity_activityreasoncategory_create', methods: ['POST'])] | ||||
|     public function createAction(Request $request): \Symfony\Component\HttpFoundation\RedirectResponse|\Symfony\Component\HttpFoundation\Response | ||||
|     { | ||||
|         $entity = new ActivityReasonCategory(); | ||||
|         $form = $this->createCreateForm($entity); | ||||
| @@ -44,37 +45,15 @@ class ActivityReasonCategoryController extends AbstractController | ||||
|  | ||||
|         return $this->render('@ChillActivity/ActivityReasonCategory/new.html.twig', [ | ||||
|             'entity' => $entity, | ||||
|             'form' => $form->createView(), | ||||
|         ]); | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * 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')] | ||||
|     public function editAction(mixed $id) | ||||
|     { | ||||
|         $em = $this->managerRegistry->getManager(); | ||||
|  | ||||
|         $entity = $em->getRepository(ActivityReasonCategory::class)->find($id); | ||||
|  | ||||
|         if (!$entity) { | ||||
|             throw $this->createNotFoundException('Unable to find ActivityReasonCategory entity.'); | ||||
|         } | ||||
|  | ||||
|         $editForm = $this->createEditForm($entity); | ||||
|  | ||||
|         return $this->render('@ChillActivity/ActivityReasonCategory/edit.html.twig', [ | ||||
|             'entity' => $entity, | ||||
|             'edit_form' => $editForm->createView(), | ||||
|             'form' => $form, | ||||
|         ]); | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * Lists all ActivityReasonCategory entities. | ||||
|      */ | ||||
|     #[\Symfony\Component\Routing\Annotation\Route(path: '/{_locale}/admin/activityreasoncategory/', name: 'chill_activity_activityreasoncategory')] | ||||
|     public function indexAction() | ||||
|     #[\Symfony\Component\Routing\Attribute\Route(path: '/{_locale}/admin/activityreasoncategory/', name: 'chill_activity_activityreasoncategory')] | ||||
|     public function indexAction(): \Symfony\Component\HttpFoundation\Response | ||||
|     { | ||||
|         $em = $this->managerRegistry->getManager(); | ||||
|  | ||||
| @@ -88,48 +67,29 @@ 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')] | ||||
|     public function newAction() | ||||
|     #[\Symfony\Component\Routing\Attribute\Route(path: '/{_locale}/admin/activityreasoncategory/new', name: 'chill_activity_activityreasoncategory_new')] | ||||
|     public function newAction(): \Symfony\Component\HttpFoundation\Response | ||||
|     { | ||||
|         $entity = new ActivityReasonCategory(); | ||||
|         $form = $this->createCreateForm($entity); | ||||
|  | ||||
|         return $this->render('@ChillActivity/ActivityReasonCategory/new.html.twig', [ | ||||
|             'entity' => $entity, | ||||
|             'form' => $form->createView(), | ||||
|         ]); | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * Finds and displays a ActivityReasonCategory entity. | ||||
|      */ | ||||
|     #[\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(); | ||||
|  | ||||
|         $entity = $em->getRepository(ActivityReasonCategory::class)->find($id); | ||||
|  | ||||
|         if (!$entity) { | ||||
|             throw $this->createNotFoundException('Unable to find ActivityReasonCategory entity.'); | ||||
|         } | ||||
|  | ||||
|         return $this->render('@ChillActivity/ActivityReasonCategory/show.html.twig', [ | ||||
|             'entity' => $entity, | ||||
|             'form' => $form, | ||||
|         ]); | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * Edits an existing ActivityReasonCategory entity. | ||||
|      */ | ||||
|     #[\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) | ||||
|     #[\Symfony\Component\Routing\Attribute\Route(path: '/{_locale}/admin/activityreasoncategory/{id}/update', name: 'chill_activity_activityreasoncategory_update', methods: ['POST', 'PUT'])] | ||||
|     public function updateAction(Request $request, mixed $id): \Symfony\Component\HttpFoundation\RedirectResponse|\Symfony\Component\HttpFoundation\Response | ||||
|     { | ||||
|         $em = $this->managerRegistry->getManager(); | ||||
|  | ||||
|         $entity = $em->getRepository(ActivityReasonCategory::class)->find($id); | ||||
|  | ||||
|         if (!$entity) { | ||||
|         if (null === $entity) { | ||||
|             throw $this->createNotFoundException('Unable to find ActivityReasonCategory entity.'); | ||||
|         } | ||||
|  | ||||
| @@ -139,12 +99,12 @@ class ActivityReasonCategoryController extends AbstractController | ||||
|         if ($editForm->isSubmitted() && $editForm->isValid()) { | ||||
|             $em->flush(); | ||||
|  | ||||
|             return $this->redirectToRoute('chill_activity_activityreasoncategory_edit', ['id' => $id]); | ||||
|             return $this->redirectToRoute('chill_activity_activityreasoncategory', ['id' => $id]); | ||||
|         } | ||||
|  | ||||
|         return $this->render('@ChillActivity/ActivityReasonCategory/edit.html.twig', [ | ||||
|             'entity' => $entity, | ||||
|             'edit_form' => $editForm->createView(), | ||||
|             'edit_form' => $editForm, | ||||
|         ]); | ||||
|     } | ||||
|  | ||||
| @@ -152,10 +112,8 @@ class ActivityReasonCategoryController extends AbstractController | ||||
|      * Creates a form to create a ActivityReasonCategory entity. | ||||
|      * | ||||
|      * @param ActivityReasonCategory $entity The entity | ||||
|      * | ||||
|      * @return \Symfony\Component\Form\Form The form | ||||
|      */ | ||||
|     private function createCreateForm(ActivityReasonCategory $entity) | ||||
|     private function createCreateForm(ActivityReasonCategory $entity): FormInterface | ||||
|     { | ||||
|         $form = $this->createForm(ActivityReasonCategoryType::class, $entity, [ | ||||
|             'action' => $this->generateUrl('chill_activity_activityreasoncategory_create'), | ||||
| @@ -171,14 +129,12 @@ class ActivityReasonCategoryController extends AbstractController | ||||
|      * Creates a form to edit a ActivityReasonCategory entity. | ||||
|      * | ||||
|      * @param ActivityReasonCategory $entity The entity | ||||
|      * | ||||
|      * @return \Symfony\Component\Form\Form The form | ||||
|      */ | ||||
|     private function createEditForm(ActivityReasonCategory $entity) | ||||
|     private function createEditForm(ActivityReasonCategory $entity): FormInterface | ||||
|     { | ||||
|         $form = $this->createForm(ActivityReasonCategoryType::class, $entity, [ | ||||
|             'action' => $this->generateUrl('chill_activity_activityreasoncategory_update', ['id' => $entity->getId()]), | ||||
|             'method' => 'PUT', | ||||
|             'method' => 'POST', | ||||
|         ]); | ||||
|  | ||||
|         $form->add('submit', SubmitType::class, ['label' => 'Update']); | ||||
|   | ||||
| @@ -16,8 +16,9 @@ use Chill\ActivityBundle\Form\ActivityReasonType; | ||||
| use Chill\ActivityBundle\Repository\ActivityReasonRepository; | ||||
| use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; | ||||
| use Symfony\Component\Form\Extension\Core\Type\SubmitType; | ||||
| use Symfony\Component\Form\Form; | ||||
| use Symfony\Component\Form\FormInterface; | ||||
| use Symfony\Component\HttpFoundation\Request; | ||||
| use Symfony\Component\HttpKernel\Exception\NotFoundHttpException; | ||||
|  | ||||
| /** | ||||
|  * ActivityReason controller. | ||||
| @@ -29,8 +30,8 @@ class ActivityReasonController extends AbstractController | ||||
|     /** | ||||
|      * Creates a new ActivityReason entity. | ||||
|      */ | ||||
|     #[\Symfony\Component\Routing\Annotation\Route(path: '/{_locale}/admin/activityreason/create', name: 'chill_activity_activityreason_create', methods: ['POST'])] | ||||
|     public function createAction(Request $request) | ||||
|     #[\Symfony\Component\Routing\Attribute\Route(path: '/{_locale}/admin/activityreason/create', name: 'chill_activity_activityreason_create', methods: ['POST'])] | ||||
|     public function createAction(Request $request): \Symfony\Component\HttpFoundation\RedirectResponse|\Symfony\Component\HttpFoundation\Response | ||||
|     { | ||||
|         $entity = new ActivityReason(); | ||||
|         $form = $this->createCreateForm($entity); | ||||
| @@ -46,37 +47,15 @@ class ActivityReasonController extends AbstractController | ||||
|  | ||||
|         return $this->render('@ChillActivity/ActivityReason/new.html.twig', [ | ||||
|             'entity' => $entity, | ||||
|             'form' => $form->createView(), | ||||
|         ]); | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * 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')] | ||||
|     public function editAction(mixed $id) | ||||
|     { | ||||
|         $em = $this->managerRegistry->getManager(); | ||||
|  | ||||
|         $entity = $em->getRepository(ActivityReason::class)->find($id); | ||||
|  | ||||
|         if (null === $entity) { | ||||
|             throw new NotFoundHttpException('Unable to find ActivityReason entity.'); | ||||
|         } | ||||
|  | ||||
|         $editForm = $this->createEditForm($entity); | ||||
|  | ||||
|         return $this->render('@ChillActivity/ActivityReason/edit.html.twig', [ | ||||
|             'entity' => $entity, | ||||
|             'edit_form' => $editForm->createView(), | ||||
|             'form' => $form, | ||||
|         ]); | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * Lists all ActivityReason entities. | ||||
|      */ | ||||
|     #[\Symfony\Component\Routing\Annotation\Route(path: '/{_locale}/admin/activityreason/', name: 'chill_activity_activityreason')] | ||||
|     public function indexAction() | ||||
|     #[\Symfony\Component\Routing\Attribute\Route(path: '/{_locale}/admin/activityreason/', name: 'chill_activity_activityreason')] | ||||
|     public function indexAction(): \Symfony\Component\HttpFoundation\Response | ||||
|     { | ||||
|         $em = $this->managerRegistry->getManager(); | ||||
|  | ||||
| @@ -90,48 +69,29 @@ 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')] | ||||
|     public function newAction() | ||||
|     #[\Symfony\Component\Routing\Attribute\Route(path: '/{_locale}/admin/activityreason/new', name: 'chill_activity_activityreason_new')] | ||||
|     public function newAction(): \Symfony\Component\HttpFoundation\Response | ||||
|     { | ||||
|         $entity = new ActivityReason(); | ||||
|         $form = $this->createCreateForm($entity); | ||||
|  | ||||
|         return $this->render('@ChillActivity/ActivityReason/new.html.twig', [ | ||||
|             'entity' => $entity, | ||||
|             'form' => $form->createView(), | ||||
|         ]); | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * Finds and displays a ActivityReason entity. | ||||
|      */ | ||||
|     #[\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(); | ||||
|  | ||||
|         $entity = $em->getRepository(ActivityReason::class)->find($id); | ||||
|  | ||||
|         if (!$entity) { | ||||
|             throw $this->createNotFoundException('Unable to find ActivityReason entity.'); | ||||
|         } | ||||
|  | ||||
|         return $this->render('@ChillActivity/ActivityReason/show.html.twig', [ | ||||
|             'entity' => $entity, | ||||
|             'form' => $form, | ||||
|         ]); | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * Edits an existing ActivityReason entity. | ||||
|      */ | ||||
|     #[\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) | ||||
|     #[\Symfony\Component\Routing\Attribute\Route(path: '/{_locale}/admin/activityreason/{id}/update', name: 'chill_activity_activityreason_update', methods: ['POST', 'PUT'])] | ||||
|     public function updateAction(Request $request, mixed $id): \Symfony\Component\HttpFoundation\RedirectResponse|\Symfony\Component\HttpFoundation\Response | ||||
|     { | ||||
|         $em = $this->managerRegistry->getManager(); | ||||
|  | ||||
|         $entity = $em->getRepository(ActivityReason::class)->find($id); | ||||
|  | ||||
|         if (!$entity) { | ||||
|         if (null === $entity) { | ||||
|             throw $this->createNotFoundException('Unable to find ActivityReason entity.'); | ||||
|         } | ||||
|  | ||||
| @@ -146,7 +106,7 @@ class ActivityReasonController extends AbstractController | ||||
|  | ||||
|         return $this->render('@ChillActivity/ActivityReason/edit.html.twig', [ | ||||
|             'entity' => $entity, | ||||
|             'edit_form' => $editForm->createView(), | ||||
|             'edit_form' => $editForm, | ||||
|         ]); | ||||
|     } | ||||
|  | ||||
| @@ -154,10 +114,8 @@ class ActivityReasonController extends AbstractController | ||||
|      * Creates a form to create a ActivityReason entity. | ||||
|      * | ||||
|      * @param ActivityReason $entity The entity | ||||
|      * | ||||
|      * @return \Symfony\Component\Form\Form The form | ||||
|      */ | ||||
|     private function createCreateForm(ActivityReason $entity) | ||||
|     private function createCreateForm(ActivityReason $entity): FormInterface | ||||
|     { | ||||
|         $form = $this->createForm(ActivityReasonType::class, $entity, [ | ||||
|             'action' => $this->generateUrl('chill_activity_activityreason_create'), | ||||
| @@ -173,14 +131,12 @@ class ActivityReasonController extends AbstractController | ||||
|      * Creates a form to edit a ActivityReason entity. | ||||
|      * | ||||
|      * @param ActivityReason $entity The entity | ||||
|      * | ||||
|      * @return \Symfony\Component\Form\Form The form | ||||
|      */ | ||||
|     private function createEditForm(ActivityReason $entity) | ||||
|     private function createEditForm(ActivityReason $entity): FormInterface | ||||
|     { | ||||
|         $form = $this->createForm(ActivityReasonType::class, $entity, [ | ||||
|             'action' => $this->generateUrl('chill_activity_activityreason_update', ['id' => $entity->getId()]), | ||||
|             'method' => 'PUT', | ||||
|             'method' => 'POST', | ||||
|         ]); | ||||
|  | ||||
|         $form->add('submit', SubmitType::class, ['label' => 'Update']); | ||||
|   | ||||
| @@ -18,15 +18,15 @@ use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; | ||||
|  */ | ||||
| class AdminController extends AbstractController | ||||
| { | ||||
|     #[\Symfony\Component\Routing\Annotation\Route(path: '/{_locale}/admin/activity', name: 'chill_activity_admin_index')] | ||||
|     public function indexActivityAction() | ||||
|     #[\Symfony\Component\Routing\Attribute\Route(path: '/{_locale}/admin/activity', name: 'chill_activity_admin_index')] | ||||
|     public function indexActivityAction(): \Symfony\Component\HttpFoundation\Response | ||||
|     { | ||||
|         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')] | ||||
|     public function redirectToAdminIndexAction() | ||||
|     #[\Symfony\Component\Routing\Attribute\Route(path: '/{_locale}/admin/activity_redirect_to_main', name: 'chill_admin_aside_activity_redirect_to_admin_index', options: [null])] | ||||
|     #[\Symfony\Component\Routing\Attribute\Route(path: '/{_locale}/admin/activity_redirect_to_main', name: 'chill_admin_activity_redirect_to_admin_index')] | ||||
|     public function redirectToAdminIndexAction(): \Symfony\Component\HttpFoundation\RedirectResponse | ||||
|     { | ||||
|         return $this->redirectToRoute('chill_main_admin_central'); | ||||
|     } | ||||
|   | ||||
| @@ -27,8 +27,6 @@ use Faker\Factory as FakerFactory; | ||||
|  | ||||
| class LoadActivity extends AbstractFixture implements OrderedFixtureInterface | ||||
| { | ||||
|     use \Symfony\Component\DependencyInjection\ContainerAwareTrait; | ||||
|  | ||||
|     private readonly \Faker\Generator $faker; | ||||
|  | ||||
|     public function __construct(private readonly EntityManagerInterface $em) | ||||
|   | ||||
| @@ -25,7 +25,7 @@ use Symfony\Component\HttpKernel\DependencyInjection\Extension; | ||||
|  */ | ||||
| class ChillActivityExtension extends Extension implements PrependExtensionInterface | ||||
| { | ||||
|     public function load(array $configs, ContainerBuilder $container) | ||||
|     public function load(array $configs, ContainerBuilder $container): void | ||||
|     { | ||||
|         $configuration = new Configuration(); | ||||
|         $config = $this->processConfiguration($configuration, $configs); | ||||
| @@ -44,14 +44,14 @@ class ChillActivityExtension extends Extension implements PrependExtensionInterf | ||||
|         $loader->load('services/doctrine.entitylistener.yaml'); | ||||
|     } | ||||
|  | ||||
|     public function prepend(ContainerBuilder $container) | ||||
|     public function prepend(ContainerBuilder $container): void | ||||
|     { | ||||
|         $this->prependRoutes($container); | ||||
|         $this->prependAuthorization($container); | ||||
|         $this->prependCruds($container); | ||||
|     } | ||||
|  | ||||
|     public function prependAuthorization(ContainerBuilder $container) | ||||
|     public function prependAuthorization(ContainerBuilder $container): void | ||||
|     { | ||||
|         $container->prependExtensionConfig('security', [ | ||||
|             'role_hierarchy' => [ | ||||
| @@ -71,7 +71,7 @@ class ChillActivityExtension extends Extension implements PrependExtensionInterf | ||||
|     /** (non-PHPdoc). | ||||
|      * @see \Symfony\Component\DependencyInjection\Extension\PrependExtensionInterface::prepend() | ||||
|      */ | ||||
|     public function prependRoutes(ContainerBuilder $container) | ||||
|     public function prependRoutes(ContainerBuilder $container): void | ||||
|     { | ||||
|         // add routes for custom bundle | ||||
|         $container->prependExtensionConfig('chill_main', [ | ||||
|   | ||||
| @@ -22,7 +22,7 @@ use function is_int; | ||||
|  */ | ||||
| class Configuration implements ConfigurationInterface | ||||
| { | ||||
|     public function getConfigTreeBuilder() | ||||
|     public function getConfigTreeBuilder(): TreeBuilder | ||||
|     { | ||||
|         $treeBuilder = new TreeBuilder('chill_activity'); | ||||
|         $rootNode = $treeBuilder->getRootNode(); | ||||
|   | ||||
| @@ -34,9 +34,9 @@ use Chill\ThirdPartyBundle\Entity\ThirdParty; | ||||
| use Doctrine\Common\Collections\ArrayCollection; | ||||
| use Doctrine\Common\Collections\Collection; | ||||
| use Doctrine\ORM\Mapping as ORM; | ||||
| use Symfony\Component\Serializer\Annotation\DiscriminatorMap; | ||||
| use Symfony\Component\Serializer\Annotation\Groups; | ||||
| use Symfony\Component\Serializer\Annotation\SerializedName; | ||||
| use Symfony\Component\Serializer\Attribute\DiscriminatorMap; | ||||
| use Symfony\Component\Serializer\Attribute\Groups; | ||||
| use Symfony\Component\Serializer\Attribute\SerializedName; | ||||
| use Symfony\Component\Validator\Constraints as Assert; | ||||
|  | ||||
| /** | ||||
|   | ||||
| @@ -12,7 +12,7 @@ declare(strict_types=1); | ||||
| namespace Chill\ActivityBundle\Entity; | ||||
|  | ||||
| use Doctrine\ORM\Mapping as ORM; | ||||
| use Symfony\Component\Serializer\Annotation as Serializer; | ||||
| use Symfony\Component\Serializer\Attribute as Serializer; | ||||
|  | ||||
| /** | ||||
|  * Class ActivityPresence. | ||||
|   | ||||
| @@ -37,10 +37,8 @@ class ActivityReason | ||||
|  | ||||
|     /** | ||||
|      * Get active. | ||||
|      * | ||||
|      * @return bool | ||||
|      */ | ||||
|     public function getActive() | ||||
|     public function getActive(): bool | ||||
|     { | ||||
|         return $this->active; | ||||
|     } | ||||
| @@ -55,10 +53,8 @@ class ActivityReason | ||||
|  | ||||
|     /** | ||||
|      * Get id. | ||||
|      * | ||||
|      * @return int | ||||
|      */ | ||||
|     public function getId() | ||||
|     public function getId(): ?int | ||||
|     { | ||||
|         return $this->id; | ||||
|     } | ||||
|   | ||||
| @@ -58,20 +58,16 @@ class ActivityReasonCategory implements \Stringable | ||||
|  | ||||
|     /** | ||||
|      * Get active. | ||||
|      * | ||||
|      * @return bool | ||||
|      */ | ||||
|     public function getActive() | ||||
|     public function getActive(): bool | ||||
|     { | ||||
|         return $this->active; | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * Get id. | ||||
|      * | ||||
|      * @return int | ||||
|      */ | ||||
|     public function getId() | ||||
|     public function getId(): ?int | ||||
|     { | ||||
|         return $this->id; | ||||
|     } | ||||
|   | ||||
| @@ -12,8 +12,8 @@ declare(strict_types=1); | ||||
| namespace Chill\ActivityBundle\Entity; | ||||
|  | ||||
| use Doctrine\ORM\Mapping as ORM; | ||||
| use Symfony\Component\Serializer\Annotation as Serializer; | ||||
| use Symfony\Component\Serializer\Annotation\Groups; | ||||
| use Symfony\Component\Serializer\Attribute as Serializer; | ||||
| use Symfony\Component\Serializer\Attribute\Groups; | ||||
| use Symfony\Component\Validator\Constraints as Assert; | ||||
| use Symfony\Component\Validator\Context\ExecutionContextInterface; | ||||
|  | ||||
| @@ -188,7 +188,7 @@ class ActivityType | ||||
|     private int $userVisible = self::FIELD_REQUIRED; | ||||
|  | ||||
|     #[Assert\Callback] | ||||
|     public function checkSocialActionsVisibility(ExecutionContextInterface $context, mixed $payload) | ||||
|     public function checkSocialActionsVisibility(ExecutionContextInterface $context, mixed $payload): void | ||||
|     { | ||||
|         if ($this->socialIssuesVisible !== $this->socialActionsVisible) { | ||||
|             // if social issues are invisible then social actions cannot be optional or required + if social issues are optional then social actions shouldn't be required | ||||
| @@ -461,11 +461,17 @@ class ActivityType | ||||
|     { | ||||
|         $property = $field.'Visible'; | ||||
|  | ||||
|         if (!property_exists($this, $property)) { | ||||
|         // Get the real class name (not the proxy) | ||||
|         $class = static::class; | ||||
|         if (str_contains($class, '__CG__')) { | ||||
|             $class = get_parent_class($this); | ||||
|         } | ||||
|         $realClass = $class; | ||||
|  | ||||
|         if (!property_exists($realClass, $property)) { | ||||
|             throw new \InvalidArgumentException('Field "'.$field.'" not found'); | ||||
|         } | ||||
|  | ||||
|         /* @phpstan-ignore-next-line */ | ||||
|         return self::FIELD_INVISIBLE !== $this->{$property}; | ||||
|     } | ||||
|  | ||||
|   | ||||
| @@ -21,7 +21,7 @@ class ActivityEntityListener | ||||
| { | ||||
|     public function __construct(private readonly EntityManagerInterface $em, private readonly AccompanyingPeriodWorkRepository $workRepository) {} | ||||
|  | ||||
|     public function persistActionToCourse(Activity $activity) | ||||
|     public function persistActionToCourse(Activity $activity): void | ||||
|     { | ||||
|         if ($activity->getAccompanyingPeriod() instanceof AccompanyingPeriod) { | ||||
|             $period = $activity->getAccompanyingPeriod(); | ||||
|   | ||||
| @@ -24,7 +24,7 @@ class ByActivityNumberAggregator implements AggregatorInterface | ||||
|         return null; | ||||
|     } | ||||
|  | ||||
|     public function alterQuery(QueryBuilder $qb, $data): void | ||||
|     public function alterQuery(QueryBuilder $qb, $data, \Chill\MainBundle\Export\ExportGenerationContext $exportGenerationContext): void | ||||
|     { | ||||
|         $qb | ||||
|             ->addSelect('(SELECT COUNT(activity.id) FROM '.Activity::class.' activity WHERE activity.accompanyingPeriod = acp) AS activity_by_number_aggregator') | ||||
| @@ -41,12 +41,27 @@ class ByActivityNumberAggregator implements AggregatorInterface | ||||
|         // No form needed | ||||
|     } | ||||
|  | ||||
|     public function getNormalizationVersion(): int | ||||
|     { | ||||
|         return 1; | ||||
|     } | ||||
|  | ||||
|     public function normalizeFormData(array $formData): array | ||||
|     { | ||||
|         return []; | ||||
|     } | ||||
|  | ||||
|     public function denormalizeFormData(array $formData, int $fromVersion): array | ||||
|     { | ||||
|         return []; | ||||
|     } | ||||
|  | ||||
|     public function getFormDefaultData(): array | ||||
|     { | ||||
|         return []; | ||||
|     } | ||||
|  | ||||
|     public function getLabels($key, array $values, $data) | ||||
|     public function getLabels($key, array $values, $data): callable | ||||
|     { | ||||
|         return static function ($value) { | ||||
|             if ('_header' === $value) { | ||||
|   | ||||
| @@ -33,7 +33,7 @@ final readonly class ByActivityTypeAggregator implements AggregatorInterface | ||||
|         private TranslatableStringHelperInterface $translatableStringHelper, | ||||
|     ) {} | ||||
|  | ||||
|     public function buildForm(FormBuilderInterface $builder) | ||||
|     public function buildForm(FormBuilderInterface $builder): void | ||||
|     { | ||||
|         $builder | ||||
|             ->add('after_date', PickRollingDateType::class, [ | ||||
| @@ -46,6 +46,21 @@ final readonly class ByActivityTypeAggregator implements AggregatorInterface | ||||
|             ]); | ||||
|     } | ||||
|  | ||||
|     public function getNormalizationVersion(): int | ||||
|     { | ||||
|         return 1; | ||||
|     } | ||||
|  | ||||
|     public function normalizeFormData(array $formData): array | ||||
|     { | ||||
|         return ['after_date' => $formData['after_date']?->normalize(), 'before_date' => $formData['before_date']?->normalize()]; | ||||
|     } | ||||
|  | ||||
|     public function denormalizeFormData(array $formData, int $fromVersion): array | ||||
|     { | ||||
|         return ['after_date' => \Chill\MainBundle\Service\RollingDate\RollingDate::fromNormalized($formData['after_date']), 'before_date' => \Chill\MainBundle\Service\RollingDate\RollingDate::fromNormalized($formData['before_date'])]; | ||||
|     } | ||||
|  | ||||
|     public function getFormDefaultData(): array | ||||
|     { | ||||
|         return [ | ||||
| @@ -54,7 +69,7 @@ final readonly class ByActivityTypeAggregator implements AggregatorInterface | ||||
|         ]; | ||||
|     } | ||||
|  | ||||
|     public function getLabels($key, array $values, mixed $data) | ||||
|     public function getLabels($key, array $values, mixed $data): callable | ||||
|     { | ||||
|         return function (int|string|null $value): string { | ||||
|             if ('_header' === $value) { | ||||
| @@ -69,12 +84,12 @@ final readonly class ByActivityTypeAggregator implements AggregatorInterface | ||||
|         }; | ||||
|     } | ||||
|  | ||||
|     public function getQueryKeys($data) | ||||
|     public function getQueryKeys($data): array | ||||
|     { | ||||
|         return [self::PREFIX.'_actype_id']; | ||||
|     } | ||||
|  | ||||
|     public function getTitle() | ||||
|     public function getTitle(): string|\Symfony\Contracts\Translation\TranslatableInterface | ||||
|     { | ||||
|         return 'export.aggregator.acp.by_activity_type.title'; | ||||
|     } | ||||
| @@ -84,7 +99,7 @@ final readonly class ByActivityTypeAggregator implements AggregatorInterface | ||||
|         return null; | ||||
|     } | ||||
|  | ||||
|     public function alterQuery(QueryBuilder $qb, $data) | ||||
|     public function alterQuery(QueryBuilder $qb, $data, \Chill\MainBundle\Export\ExportGenerationContext $exportGenerationContext): void | ||||
|     { | ||||
|         $p = self::PREFIX; | ||||
|  | ||||
| @@ -115,7 +130,7 @@ final readonly class ByActivityTypeAggregator implements AggregatorInterface | ||||
|             ->addGroupBy("{$p}_actype_id"); | ||||
|     } | ||||
|  | ||||
|     public function applyOn() | ||||
|     public function applyOn(): string | ||||
|     { | ||||
|         return Declarations::ACP_TYPE; | ||||
|     } | ||||
|   | ||||
| @@ -27,7 +27,7 @@ class BySocialActionAggregator implements AggregatorInterface | ||||
|         return null; | ||||
|     } | ||||
|  | ||||
|     public function alterQuery(QueryBuilder $qb, $data) | ||||
|     public function alterQuery(QueryBuilder $qb, $data, \Chill\MainBundle\Export\ExportGenerationContext $exportGenerationContext): void | ||||
|     { | ||||
|         if (!\in_array('actsocialaction', $qb->getAllAliases(), true)) { | ||||
|             $qb->leftJoin('activity.socialActions', 'actsocialaction'); | ||||
| @@ -42,17 +42,32 @@ class BySocialActionAggregator implements AggregatorInterface | ||||
|         return Declarations::ACTIVITY_ACP; | ||||
|     } | ||||
|  | ||||
|     public function buildForm(FormBuilderInterface $builder) | ||||
|     public function buildForm(FormBuilderInterface $builder): void | ||||
|     { | ||||
|         // no form | ||||
|     } | ||||
|  | ||||
|     public function getNormalizationVersion(): int | ||||
|     { | ||||
|         return 1; | ||||
|     } | ||||
|  | ||||
|     public function normalizeFormData(array $formData): array | ||||
|     { | ||||
|         return []; | ||||
|     } | ||||
|  | ||||
|     public function denormalizeFormData(array $formData, int $fromVersion): array | ||||
|     { | ||||
|         return []; | ||||
|     } | ||||
|  | ||||
|     public function getFormDefaultData(): array | ||||
|     { | ||||
|         return []; | ||||
|     } | ||||
|  | ||||
|     public function getLabels($key, array $values, $data) | ||||
|     public function getLabels($key, array $values, $data): callable | ||||
|     { | ||||
|         return function ($value) { | ||||
|             if ('_header' === $value) { | ||||
|   | ||||
| @@ -27,7 +27,7 @@ class BySocialIssueAggregator implements AggregatorInterface | ||||
|         return null; | ||||
|     } | ||||
|  | ||||
|     public function alterQuery(QueryBuilder $qb, $data) | ||||
|     public function alterQuery(QueryBuilder $qb, $data, \Chill\MainBundle\Export\ExportGenerationContext $exportGenerationContext): void | ||||
|     { | ||||
|         if (!\in_array('actsocialissue', $qb->getAllAliases(), true)) { | ||||
|             $qb->leftJoin('activity.socialIssues', 'actsocialissue'); | ||||
| @@ -42,17 +42,32 @@ class BySocialIssueAggregator implements AggregatorInterface | ||||
|         return Declarations::ACTIVITY_ACP; | ||||
|     } | ||||
|  | ||||
|     public function buildForm(FormBuilderInterface $builder) | ||||
|     public function buildForm(FormBuilderInterface $builder): void | ||||
|     { | ||||
|         // no form | ||||
|     } | ||||
|  | ||||
|     public function getNormalizationVersion(): int | ||||
|     { | ||||
|         return 1; | ||||
|     } | ||||
|  | ||||
|     public function normalizeFormData(array $formData): array | ||||
|     { | ||||
|         return []; | ||||
|     } | ||||
|  | ||||
|     public function denormalizeFormData(array $formData, int $fromVersion): array | ||||
|     { | ||||
|         return []; | ||||
|     } | ||||
|  | ||||
|     public function getFormDefaultData(): array | ||||
|     { | ||||
|         return []; | ||||
|     } | ||||
|  | ||||
|     public function getLabels($key, array $values, $data) | ||||
|     public function getLabels($key, array $values, $data): callable | ||||
|     { | ||||
|         return function ($value): string { | ||||
|             if ('_header' === $value) { | ||||
|   | ||||
| @@ -25,7 +25,7 @@ final readonly class ActivityLocationAggregator implements AggregatorInterface | ||||
|         return null; | ||||
|     } | ||||
|  | ||||
|     public function alterQuery(QueryBuilder $qb, $data) | ||||
|     public function alterQuery(QueryBuilder $qb, $data, \Chill\MainBundle\Export\ExportGenerationContext $exportGenerationContext): void | ||||
|     { | ||||
|         if (!\in_array('actloc', $qb->getAllAliases(), true)) { | ||||
|             $qb->leftJoin('activity.location', 'actloc'); | ||||
| @@ -39,17 +39,32 @@ final readonly class ActivityLocationAggregator implements AggregatorInterface | ||||
|         return Declarations::ACTIVITY; | ||||
|     } | ||||
|  | ||||
|     public function buildForm(FormBuilderInterface $builder) | ||||
|     public function buildForm(FormBuilderInterface $builder): void | ||||
|     { | ||||
|         // no form required for this aggregator | ||||
|     } | ||||
|  | ||||
|     public function getNormalizationVersion(): int | ||||
|     { | ||||
|         return 1; | ||||
|     } | ||||
|  | ||||
|     public function normalizeFormData(array $formData): array | ||||
|     { | ||||
|         return []; | ||||
|     } | ||||
|  | ||||
|     public function denormalizeFormData(array $formData, int $fromVersion): array | ||||
|     { | ||||
|         return []; | ||||
|     } | ||||
|  | ||||
|     public function getFormDefaultData(): array | ||||
|     { | ||||
|         return []; | ||||
|     } | ||||
|  | ||||
|     public function getLabels($key, array $values, $data): \Closure | ||||
|     public function getLabels($key, array $values, $data): callable | ||||
|     { | ||||
|         return function ($value): string { | ||||
|             if ('_header' === $value) { | ||||
| @@ -69,7 +84,7 @@ final readonly class ActivityLocationAggregator implements AggregatorInterface | ||||
|         return [self::KEY]; | ||||
|     } | ||||
|  | ||||
|     public function getTitle() | ||||
|     public function getTitle(): string|\Symfony\Contracts\Translation\TranslatableInterface | ||||
|     { | ||||
|         return 'export.aggregator.activity.by_location.Title'; | ||||
|     } | ||||
|   | ||||
| @@ -22,14 +22,29 @@ final readonly class ActivityPresenceAggregator implements AggregatorInterface | ||||
| { | ||||
|     public function __construct(private ActivityPresenceRepositoryInterface $activityPresenceRepository, private TranslatableStringHelperInterface $translatableStringHelper) {} | ||||
|  | ||||
|     public function buildForm(FormBuilderInterface $builder) {} | ||||
|     public function buildForm(FormBuilderInterface $builder): void {} | ||||
|  | ||||
|     public function getNormalizationVersion(): int | ||||
|     { | ||||
|         return 1; | ||||
|     } | ||||
|  | ||||
|     public function normalizeFormData(array $formData): array | ||||
|     { | ||||
|         return []; | ||||
|     } | ||||
|  | ||||
|     public function denormalizeFormData(array $formData, int $fromVersion): array | ||||
|     { | ||||
|         return []; | ||||
|     } | ||||
|  | ||||
|     public function getFormDefaultData(): array | ||||
|     { | ||||
|         return []; | ||||
|     } | ||||
|  | ||||
|     public function getLabels($key, array $values, mixed $data) | ||||
|     public function getLabels($key, array $values, mixed $data): callable | ||||
|     { | ||||
|         return function (int|string|null $value): string { | ||||
|             if ('_header' === $value) { | ||||
| @@ -44,7 +59,7 @@ final readonly class ActivityPresenceAggregator implements AggregatorInterface | ||||
|         }; | ||||
|     } | ||||
|  | ||||
|     public function getQueryKeys($data) | ||||
|     public function getQueryKeys($data): array | ||||
|     { | ||||
|         return ['activity_presence_aggregator_attendee']; | ||||
|     } | ||||
| @@ -59,13 +74,13 @@ final readonly class ActivityPresenceAggregator implements AggregatorInterface | ||||
|         return null; | ||||
|     } | ||||
|  | ||||
|     public function alterQuery(QueryBuilder $qb, $data): void | ||||
|     public function alterQuery(QueryBuilder $qb, $data, \Chill\MainBundle\Export\ExportGenerationContext $exportGenerationContext): void | ||||
|     { | ||||
|         $qb->addSelect('IDENTITY(activity.attendee) AS activity_presence_aggregator_attendee'); | ||||
|         $qb->addGroupBy('activity_presence_aggregator_attendee'); | ||||
|     } | ||||
|  | ||||
|     public function applyOn() | ||||
|     public function applyOn(): string | ||||
|     { | ||||
|         return Declarations::ACTIVITY; | ||||
|     } | ||||
|   | ||||
| @@ -36,7 +36,7 @@ class ActivityReasonAggregator implements AggregatorInterface, ExportElementVali | ||||
|         return null; | ||||
|     } | ||||
|  | ||||
|     public function alterQuery(QueryBuilder $qb, $data) | ||||
|     public function alterQuery(QueryBuilder $qb, $data, \Chill\MainBundle\Export\ExportGenerationContext $exportGenerationContext): void | ||||
|     { | ||||
|         // add select element | ||||
|         if ('reasons' === $data['level']) { | ||||
| @@ -72,7 +72,7 @@ class ActivityReasonAggregator implements AggregatorInterface, ExportElementVali | ||||
|         return Declarations::ACTIVITY; | ||||
|     } | ||||
|  | ||||
|     public function buildForm(FormBuilderInterface $builder) | ||||
|     public function buildForm(FormBuilderInterface $builder): void | ||||
|     { | ||||
|         $builder->add( | ||||
|             'level', | ||||
| @@ -89,6 +89,21 @@ class ActivityReasonAggregator implements AggregatorInterface, ExportElementVali | ||||
|         ); | ||||
|     } | ||||
|  | ||||
|     public function getNormalizationVersion(): int | ||||
|     { | ||||
|         return 1; | ||||
|     } | ||||
|  | ||||
|     public function normalizeFormData(array $formData): array | ||||
|     { | ||||
|         return ['level' => $formData['level']]; | ||||
|     } | ||||
|  | ||||
|     public function denormalizeFormData(array $formData, int $fromVersion): array | ||||
|     { | ||||
|         return ['level' => $formData['level']]; | ||||
|     } | ||||
|  | ||||
|     public function getFormDefaultData(): array | ||||
|     { | ||||
|         return [ | ||||
| @@ -96,7 +111,7 @@ class ActivityReasonAggregator implements AggregatorInterface, ExportElementVali | ||||
|         ]; | ||||
|     } | ||||
|  | ||||
|     public function getLabels($key, array $values, $data) | ||||
|     public function getLabels($key, array $values, $data): callable | ||||
|     { | ||||
|         return function ($value) use ($data) { | ||||
|             if ('_header' === $value) { | ||||
| @@ -125,7 +140,7 @@ class ActivityReasonAggregator implements AggregatorInterface, ExportElementVali | ||||
|         }; | ||||
|     } | ||||
|  | ||||
|     public function getQueryKeys($data) | ||||
|     public function getQueryKeys($data): array | ||||
|     { | ||||
|         // add select element | ||||
|         if ('reasons' === $data['level']) { | ||||
| @@ -139,12 +154,12 @@ class ActivityReasonAggregator implements AggregatorInterface, ExportElementVali | ||||
|         throw new \RuntimeException('The data provided are not recognised.'); | ||||
|     } | ||||
|  | ||||
|     public function getTitle() | ||||
|     public function getTitle(): string|\Symfony\Contracts\Translation\TranslatableInterface | ||||
|     { | ||||
|         return 'Aggregate by activity reason'; | ||||
|     } | ||||
|  | ||||
|     public function validateForm($data, ExecutionContextInterface $context) | ||||
|     public function validateForm($data, ExecutionContextInterface $context): void | ||||
|     { | ||||
|         if (null === $data['level']) { | ||||
|             $context | ||||
|   | ||||
| @@ -29,7 +29,7 @@ class ActivityTypeAggregator implements AggregatorInterface | ||||
|         return null; | ||||
|     } | ||||
|  | ||||
|     public function alterQuery(QueryBuilder $qb, $data) | ||||
|     public function alterQuery(QueryBuilder $qb, $data, \Chill\MainBundle\Export\ExportGenerationContext $exportGenerationContext): void | ||||
|     { | ||||
|         if (!\in_array('acttype', $qb->getAllAliases(), true)) { | ||||
|             $qb->leftJoin('activity.activityType', 'acttype'); | ||||
| @@ -44,17 +44,32 @@ class ActivityTypeAggregator implements AggregatorInterface | ||||
|         return Declarations::ACTIVITY; | ||||
|     } | ||||
|  | ||||
|     public function buildForm(FormBuilderInterface $builder) | ||||
|     public function buildForm(FormBuilderInterface $builder): void | ||||
|     { | ||||
|         // no form required for this aggregator | ||||
|     } | ||||
|  | ||||
|     public function getNormalizationVersion(): int | ||||
|     { | ||||
|         return 1; | ||||
|     } | ||||
|  | ||||
|     public function normalizeFormData(array $formData): array | ||||
|     { | ||||
|         return []; | ||||
|     } | ||||
|  | ||||
|     public function denormalizeFormData(array $formData, int $fromVersion): array | ||||
|     { | ||||
|         return []; | ||||
|     } | ||||
|  | ||||
|     public function getFormDefaultData(): array | ||||
|     { | ||||
|         return []; | ||||
|     } | ||||
|  | ||||
|     public function getLabels($key, array $values, $data): \Closure | ||||
|     public function getLabels($key, array $values, $data): callable | ||||
|     { | ||||
|         return function (int|string|null $value): string { | ||||
|             if ('_header' === $value) { | ||||
| @@ -74,7 +89,7 @@ class ActivityTypeAggregator implements AggregatorInterface | ||||
|         return [self::KEY]; | ||||
|     } | ||||
|  | ||||
|     public function getTitle() | ||||
|     public function getTitle(): string|\Symfony\Contracts\Translation\TranslatableInterface | ||||
|     { | ||||
|         return 'Aggregate by activity type'; | ||||
|     } | ||||
|   | ||||
| @@ -29,7 +29,7 @@ class ActivityUserAggregator implements AggregatorInterface | ||||
|         return null; | ||||
|     } | ||||
|  | ||||
|     public function alterQuery(QueryBuilder $qb, $data) | ||||
|     public function alterQuery(QueryBuilder $qb, $data, \Chill\MainBundle\Export\ExportGenerationContext $exportGenerationContext): void | ||||
|     { | ||||
|         // add select element | ||||
|         $qb->addSelect(sprintf('IDENTITY(activity.user) AS %s', self::KEY)); | ||||
| @@ -43,17 +43,32 @@ class ActivityUserAggregator implements AggregatorInterface | ||||
|         return Declarations::ACTIVITY; | ||||
|     } | ||||
|  | ||||
|     public function buildForm(FormBuilderInterface $builder) | ||||
|     public function buildForm(FormBuilderInterface $builder): void | ||||
|     { | ||||
|         // nothing to add | ||||
|     } | ||||
|  | ||||
|     public function getNormalizationVersion(): int | ||||
|     { | ||||
|         return 1; | ||||
|     } | ||||
|  | ||||
|     public function normalizeFormData(array $formData): array | ||||
|     { | ||||
|         return []; | ||||
|     } | ||||
|  | ||||
|     public function denormalizeFormData(array $formData, int $fromVersion): array | ||||
|     { | ||||
|         return []; | ||||
|     } | ||||
|  | ||||
|     public function getFormDefaultData(): array | ||||
|     { | ||||
|         return []; | ||||
|     } | ||||
|  | ||||
|     public function getLabels($key, $values, $data): \Closure | ||||
|     public function getLabels($key, $values, $data): callable | ||||
|     { | ||||
|         return function ($value) { | ||||
|             if ('_header' === $value) { | ||||
| @@ -70,7 +85,7 @@ class ActivityUserAggregator implements AggregatorInterface | ||||
|         }; | ||||
|     } | ||||
|  | ||||
|     public function getQueryKeys($data) | ||||
|     public function getQueryKeys($data): array | ||||
|     { | ||||
|         return [self::KEY]; | ||||
|     } | ||||
|   | ||||
| @@ -27,7 +27,7 @@ class ActivityUsersAggregator implements AggregatorInterface | ||||
|         return null; | ||||
|     } | ||||
|  | ||||
|     public function alterQuery(QueryBuilder $qb, $data) | ||||
|     public function alterQuery(QueryBuilder $qb, $data, \Chill\MainBundle\Export\ExportGenerationContext $exportGenerationContext): void | ||||
|     { | ||||
|         if (!\in_array('actusers', $qb->getAllAliases(), true)) { | ||||
|             $qb->leftJoin('activity.users', 'actusers'); | ||||
| @@ -43,17 +43,32 @@ class ActivityUsersAggregator implements AggregatorInterface | ||||
|         return Declarations::ACTIVITY; | ||||
|     } | ||||
|  | ||||
|     public function buildForm(FormBuilderInterface $builder) | ||||
|     public function buildForm(FormBuilderInterface $builder): void | ||||
|     { | ||||
|         // nothing to add on the form | ||||
|     } | ||||
|  | ||||
|     public function getNormalizationVersion(): int | ||||
|     { | ||||
|         return 1; | ||||
|     } | ||||
|  | ||||
|     public function normalizeFormData(array $formData): array | ||||
|     { | ||||
|         return []; | ||||
|     } | ||||
|  | ||||
|     public function denormalizeFormData(array $formData, int $fromVersion): array | ||||
|     { | ||||
|         return []; | ||||
|     } | ||||
|  | ||||
|     public function getFormDefaultData(): array | ||||
|     { | ||||
|         return []; | ||||
|     } | ||||
|  | ||||
|     public function getLabels($key, array $values, $data) | ||||
|     public function getLabels($key, array $values, $data): callable | ||||
|     { | ||||
|         return function ($value) { | ||||
|             if ('_header' === $value) { | ||||
| @@ -70,12 +85,12 @@ class ActivityUsersAggregator implements AggregatorInterface | ||||
|         }; | ||||
|     } | ||||
|  | ||||
|     public function getQueryKeys($data) | ||||
|     public function getQueryKeys($data): array | ||||
|     { | ||||
|         return ['activity_users_aggregator']; | ||||
|     } | ||||
|  | ||||
|     public function getTitle() | ||||
|     public function getTitle(): string|\Symfony\Contracts\Translation\TranslatableInterface | ||||
|     { | ||||
|         return 'Aggregate by activity users'; | ||||
|     } | ||||
|   | ||||
| @@ -34,7 +34,7 @@ class ActivityUsersJobAggregator implements AggregatorInterface | ||||
|         return null; | ||||
|     } | ||||
|  | ||||
|     public function alterQuery(QueryBuilder $qb, $data) | ||||
|     public function alterQuery(QueryBuilder $qb, $data, \Chill\MainBundle\Export\ExportGenerationContext $exportGenerationContext): void | ||||
|     { | ||||
|         $p = self::PREFIX; | ||||
|  | ||||
| @@ -65,14 +65,29 @@ class ActivityUsersJobAggregator implements AggregatorInterface | ||||
|         return Declarations::ACTIVITY; | ||||
|     } | ||||
|  | ||||
|     public function buildForm(FormBuilderInterface $builder) {} | ||||
|     public function buildForm(FormBuilderInterface $builder): void {} | ||||
|  | ||||
|     public function getNormalizationVersion(): int | ||||
|     { | ||||
|         return 1; | ||||
|     } | ||||
|  | ||||
|     public function normalizeFormData(array $formData): array | ||||
|     { | ||||
|         return []; | ||||
|     } | ||||
|  | ||||
|     public function denormalizeFormData(array $formData, int $fromVersion): array | ||||
|     { | ||||
|         return []; | ||||
|     } | ||||
|  | ||||
|     public function getFormDefaultData(): array | ||||
|     { | ||||
|         return []; | ||||
|     } | ||||
|  | ||||
|     public function getLabels($key, array $values, $data) | ||||
|     public function getLabels($key, array $values, $data): callable | ||||
|     { | ||||
|         return function ($value): string { | ||||
|             if ('_header' === $value) { | ||||
|   | ||||
| @@ -34,7 +34,7 @@ class ActivityUsersScopeAggregator implements AggregatorInterface | ||||
|         return null; | ||||
|     } | ||||
|  | ||||
|     public function alterQuery(QueryBuilder $qb, $data) | ||||
|     public function alterQuery(QueryBuilder $qb, $data, \Chill\MainBundle\Export\ExportGenerationContext $exportGenerationContext): void | ||||
|     { | ||||
|         $p = self::PREFIX; | ||||
|  | ||||
| @@ -65,14 +65,29 @@ class ActivityUsersScopeAggregator implements AggregatorInterface | ||||
|         return Declarations::ACTIVITY; | ||||
|     } | ||||
|  | ||||
|     public function buildForm(FormBuilderInterface $builder) {} | ||||
|     public function buildForm(FormBuilderInterface $builder): void {} | ||||
|  | ||||
|     public function getNormalizationVersion(): int | ||||
|     { | ||||
|         return 1; | ||||
|     } | ||||
|  | ||||
|     public function normalizeFormData(array $formData): array | ||||
|     { | ||||
|         return []; | ||||
|     } | ||||
|  | ||||
|     public function denormalizeFormData(array $formData, int $fromVersion): array | ||||
|     { | ||||
|         return []; | ||||
|     } | ||||
|  | ||||
|     public function getFormDefaultData(): array | ||||
|     { | ||||
|         return []; | ||||
|     } | ||||
|  | ||||
|     public function getLabels($key, array $values, $data) | ||||
|     public function getLabels($key, array $values, $data): callable | ||||
|     { | ||||
|         return function ($value): string { | ||||
|             if ('_header' === $value) { | ||||
|   | ||||
| @@ -27,7 +27,7 @@ class ByCreatorAggregator implements AggregatorInterface | ||||
|         return null; | ||||
|     } | ||||
|  | ||||
|     public function alterQuery(QueryBuilder $qb, $data) | ||||
|     public function alterQuery(QueryBuilder $qb, $data, \Chill\MainBundle\Export\ExportGenerationContext $exportGenerationContext): void | ||||
|     { | ||||
|         $qb->addSelect('IDENTITY(activity.createdBy) AS creator_aggregator'); | ||||
|         $qb->addGroupBy('creator_aggregator'); | ||||
| @@ -38,17 +38,32 @@ class ByCreatorAggregator implements AggregatorInterface | ||||
|         return Declarations::ACTIVITY; | ||||
|     } | ||||
|  | ||||
|     public function buildForm(FormBuilderInterface $builder) | ||||
|     public function buildForm(FormBuilderInterface $builder): void | ||||
|     { | ||||
|         // no form | ||||
|     } | ||||
|  | ||||
|     public function getNormalizationVersion(): int | ||||
|     { | ||||
|         return 1; | ||||
|     } | ||||
|  | ||||
|     public function normalizeFormData(array $formData): array | ||||
|     { | ||||
|         return []; | ||||
|     } | ||||
|  | ||||
|     public function denormalizeFormData(array $formData, int $fromVersion): array | ||||
|     { | ||||
|         return []; | ||||
|     } | ||||
|  | ||||
|     public function getFormDefaultData(): array | ||||
|     { | ||||
|         return []; | ||||
|     } | ||||
|  | ||||
|     public function getLabels($key, array $values, $data) | ||||
|     public function getLabels($key, array $values, $data): callable | ||||
|     { | ||||
|         return function ($value): string { | ||||
|             if ('_header' === $value) { | ||||
|   | ||||
Some files were not shown because too many files have changed in this diff Show More
		Reference in New Issue
	
	Block a user