diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index cea6bda87..3f1d75ed5 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -69,7 +69,7 @@ phpstan_tests:
stage: Tests
image: gitea.champs-libres.be/chill-project/chill-skeleton-basic/base-image:php82
script:
- - bin/phpstan
+ - bin/phpstan analyze --memory-limit=2G
cache:
paths:
- .cache/
@@ -79,21 +79,37 @@ phpstan_tests:
- bin
- tests/app/vendor/
-psalm_tests:
+rector_tests:
stage: Tests
image: gitea.champs-libres.be/chill-project/chill-skeleton-basic/base-image:php82
script:
- - bin/psalm
- allow_failure: true
+ - bin/rector --dry-run
+ cache:
+ paths:
+ - .cache/
artifacts:
expire_in: 30 min
paths:
- bin
- tests/app/vendor/
+# psalm_tests:
+# stage: Tests
+# image: gitea.champs-libres.be/chill-project/chill-skeleton-basic/base-image:php82
+# script:
+# - bin/psalm
+# allow_failure: true
+# artifacts:
+# expire_in: 30 min
+# paths:
+# - bin
+# - tests/app/vendor/
+
unit_tests:
stage: Tests
image: gitea.champs-libres.be/chill-project/chill-skeleton-basic/base-image:php82
+ # until we fix testes
+ allow_failure: true
script:
- php tests/app/bin/console doctrine:migrations:migrate -n
- php -d memory_limit=2G tests/app/bin/console cache:clear --env=dev
diff --git a/composer.json b/composer.json
index 12fa59fd1..033b3f19b 100644
--- a/composer.json
+++ b/composer.json
@@ -75,6 +75,7 @@
"phpunit/phpunit": ">= 7.5",
"psalm/plugin-phpunit": "^0.18.4",
"psalm/plugin-symfony": "^4.0.2",
+ "rector/rector": "^0.15.23",
"symfony/debug-bundle": "^5.1",
"symfony/dotenv": "^4.4",
"symfony/maker-bundle": "^1.20",
diff --git a/package.json b/package.json
index 0bd3a81e5..590976cfa 100644
--- a/package.json
+++ b/package.json
@@ -41,6 +41,7 @@
"@fullcalendar/timegrid": "^6.1.4",
"@fullcalendar/vue3": "^6.1.4",
"@popperjs/core": "^2.9.2",
+ "@types/leaflet": "^1.9.3",
"dropzone": "^5.7.6",
"es6-promise": "^4.2.8",
"leaflet": "^1.7.1",
diff --git a/phpstan-baseline-level-3.neon b/phpstan-baseline-level-3.neon
index 1d5aa5252..b7091f4ad 100644
--- a/phpstan-baseline-level-3.neon
+++ b/phpstan-baseline-level-3.neon
@@ -442,11 +442,6 @@ parameters:
count: 2
path: src/Bundle/ChillMainBundle/Workflow/Validator/StepDestValidValidator.php
- -
- message: "#^Return type \\(int\\|void\\|null\\) of method Chill\\\\PersonBundle\\\\Command\\\\ImportPeopleFromCSVCommand\\:\\:execute\\(\\) should be covariant with return type \\(int\\) of method Symfony\\\\Component\\\\Console\\\\Command\\\\Command\\:\\:execute\\(\\)$#"
- count: 1
- path: src/Bundle/ChillPersonBundle/Command/ImportPeopleFromCSVCommand.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
@@ -788,16 +783,6 @@ parameters:
count: 1
path: src/Bundle/ChillThirdPartyBundle/Security/Voter/ThirdPartyVoter.php
- -
- message: "#^Parameter \\#1 \\$thirdParty \\(Chill\\\\ThirdPartyBundle\\\\Entity\\\\ThirdParty\\) of method Chill\\\\ThirdPartyBundle\\\\Serializer\\\\Normalizer\\\\ThirdPartyNormalizer\\:\\:normalize\\(\\) should be contravariant with parameter \\$object \\(mixed\\) of method Symfony\\\\Component\\\\Serializer\\\\Normalizer\\\\NormalizerInterface\\:\\:normalize\\(\\)$#"
- count: 1
- path: src/Bundle/ChillThirdPartyBundle/Serializer/Normalizer/ThirdPartyNormalizer.php
-
- -
- message: "#^Parameter \\#2 \\$format \\(string\\) of method Chill\\\\ThirdPartyBundle\\\\Serializer\\\\Normalizer\\\\ThirdPartyNormalizer\\:\\:supportsNormalization\\(\\) should be contravariant with parameter \\$format \\(string\\|null\\) of method Symfony\\\\Component\\\\Serializer\\\\Normalizer\\\\NormalizerInterface\\:\\:supportsNormalization\\(\\)$#"
- count: 1
- path: src/Bundle/ChillThirdPartyBundle/Serializer/Normalizer/ThirdPartyNormalizer.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
diff --git a/phpstan-baseline-level-4.neon b/phpstan-baseline-level-4.neon
index 432e06695..1b7bb5a07 100644
--- a/phpstan-baseline-level-4.neon
+++ b/phpstan-baseline-level-4.neon
@@ -3026,111 +3026,6 @@ parameters:
count: 2
path: src/Bundle/ChillPersonBundle/Command/ChillPersonMoveCommand.php
- -
- message: "#^Access to an undefined property Symfony\\\\Component\\\\EventDispatcher\\\\Event\\:\\:\\$force\\.$#"
- count: 1
- path: src/Bundle/ChillPersonBundle/Command/ImportPeopleFromCSVCommand.php
-
- -
- message: "#^Access to an undefined property Symfony\\\\Component\\\\EventDispatcher\\\\Event\\:\\:\\$headers\\.$#"
- count: 1
- path: src/Bundle/ChillPersonBundle/Command/ImportPeopleFromCSVCommand.php
-
- -
- message: "#^Access to an undefined property Symfony\\\\Component\\\\EventDispatcher\\\\Event\\:\\:\\$helperSet\\.$#"
- count: 1
- path: src/Bundle/ChillPersonBundle/Command/ImportPeopleFromCSVCommand.php
-
- -
- message: "#^Access to an undefined property Symfony\\\\Component\\\\EventDispatcher\\\\Event\\:\\:\\$input\\.$#"
- count: 1
- path: src/Bundle/ChillPersonBundle/Command/ImportPeopleFromCSVCommand.php
-
- -
- message: "#^Access to an undefined property Symfony\\\\Component\\\\EventDispatcher\\\\Event\\:\\:\\$output\\.$#"
- count: 1
- path: src/Bundle/ChillPersonBundle/Command/ImportPeopleFromCSVCommand.php
-
- -
- message: "#^Access to an undefined property Symfony\\\\Component\\\\EventDispatcher\\\\Event\\:\\:\\$person\\.$#"
- count: 1
- path: src/Bundle/ChillPersonBundle/Command/ImportPeopleFromCSVCommand.php
-
- -
- message: "#^Access to an undefined property Symfony\\\\Component\\\\EventDispatcher\\\\Event\\:\\:\\$rawHeaders\\.$#"
- count: 1
- path: src/Bundle/ChillPersonBundle/Command/ImportPeopleFromCSVCommand.php
-
- -
- message: "#^Access to an undefined property Symfony\\\\Component\\\\EventDispatcher\\\\Event\\:\\:\\$row\\.$#"
- count: 1
- path: src/Bundle/ChillPersonBundle/Command/ImportPeopleFromCSVCommand.php
-
- -
- message: "#^Access to an undefined property Symfony\\\\Component\\\\EventDispatcher\\\\Event\\:\\:\\$skipPerson\\.$#"
- count: 1
- path: src/Bundle/ChillPersonBundle/Command/ImportPeopleFromCSVCommand.php
-
- -
- message: "#^Call to an undefined method Doctrine\\\\Persistence\\\\ObjectManager\\:\\:createQuery\\(\\)\\.$#"
- count: 1
- path: src/Bundle/ChillPersonBundle/Command/ImportPeopleFromCSVCommand.php
-
- -
- message: "#^Call to method buildForm\\(\\) on an unknown class Chill\\\\CustomFieldsBundle\\\\Service\\\\CustomFieldInterface\\.$#"
- count: 1
- path: src/Bundle/ChillPersonBundle/Command/ImportPeopleFromCSVCommand.php
-
- -
- message: "#^Else branch is unreachable because previous condition is always true\\.$#"
- count: 1
- path: src/Bundle/ChillPersonBundle/Command/ImportPeopleFromCSVCommand.php
-
- -
- message: "#^Elseif branch is unreachable because previous condition is always true\\.$#"
- count: 1
- path: src/Bundle/ChillPersonBundle/Command/ImportPeopleFromCSVCommand.php
-
- -
- message: "#^Instanceof between \\*NEVER\\* and Symfony\\\\Component\\\\Form\\\\ChoiceList\\\\View\\\\ChoiceGroupView will always evaluate to false\\.$#"
- count: 1
- path: src/Bundle/ChillPersonBundle/Command/ImportPeopleFromCSVCommand.php
-
- -
- message: "#^Instanceof between Symfony\\\\Component\\\\Form\\\\ChoiceList\\\\View\\\\ChoiceView and Symfony\\\\Component\\\\Form\\\\ChoiceList\\\\View\\\\ChoiceView will always evaluate to true\\.$#"
- count: 1
- path: src/Bundle/ChillPersonBundle/Command/ImportPeopleFromCSVCommand.php
-
- -
- message: "#^Method Chill\\\\PersonBundle\\\\Command\\\\ImportPeopleFromCSVCommand\\:\\:processTextType\\(\\) has invalid return type Chill\\\\PersonBundle\\\\Command\\\\type\\.$#"
- count: 1
- path: src/Bundle/ChillPersonBundle/Command/ImportPeopleFromCSVCommand.php
-
- -
- message: "#^Method Symfony\\\\Component\\\\Console\\\\Helper\\\\Table\\:\\:render\\(\\) invoked with 1 parameter, 0 required\\.$#"
- count: 1
- path: src/Bundle/ChillPersonBundle/Command/ImportPeopleFromCSVCommand.php
-
- -
- message: "#^Method Symfony\\\\Contracts\\\\EventDispatcher\\\\EventDispatcherInterface\\:\\:dispatch\\(\\) invoked with 2 parameters, 1 required\\.$#"
- count: 1
- path: src/Bundle/ChillPersonBundle/Command/ImportPeopleFromCSVCommand.php
-
- -
- message: "#^PHPDoc tag @var above foreach loop does not specify variable name\\.$#"
- count: 1
- path: src/Bundle/ChillPersonBundle/Command/ImportPeopleFromCSVCommand.php
-
- -
- message: "#^Parameter \\$value of method Chill\\\\PersonBundle\\\\Command\\\\ImportPeopleFromCSVCommand\\:\\:processTextType\\(\\) has invalid type Chill\\\\PersonBundle\\\\Command\\\\type\\.$#"
- count: 1
- path: src/Bundle/ChillPersonBundle/Command/ImportPeopleFromCSVCommand.php
-
- -
- message: "#^Strict comparison using \\=\\=\\= between false and false will always evaluate to true\\.$#"
- count: 1
- path: src/Bundle/ChillPersonBundle/Command/ImportPeopleFromCSVCommand.php
-
-
message: "#^PHPDoc tag @var for property Chill\\\\PersonBundle\\\\Command\\\\ImportSocialWorkMetadata\\:\\:\\$importer with type Psr\\\\Log\\\\LoggerInterface is not subtype of native type Chill\\\\PersonBundle\\\\Service\\\\Import\\\\ChillImporter\\.$#"
count: 1
diff --git a/phpstan-baseline-level-5.neon b/phpstan-baseline-level-5.neon
index 10390e8da..23321ba68 100644
--- a/phpstan-baseline-level-5.neon
+++ b/phpstan-baseline-level-5.neon
@@ -425,21 +425,6 @@ parameters:
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/Command/ImportPeopleFromCSVCommand.php
-
- -
- message: "#^Parameter \\#1 \\$mobilenumber of method Chill\\\\PersonBundle\\\\Entity\\\\Person\\:\\:setMobilenumber\\(\\) expects libphonenumber\\\\PhoneNumber\\|null, string given\\.$#"
- count: 1
- path: src/Bundle/ChillPersonBundle/Command/ImportPeopleFromCSVCommand.php
-
- -
- message: "#^Parameter \\#1 \\$phonenumber of method Chill\\\\PersonBundle\\\\Entity\\\\Person\\:\\:setPhonenumber\\(\\) expects libphonenumber\\\\PhoneNumber\\|null, string given\\.$#"
- count: 1
- path: src/Bundle/ChillPersonBundle/Command/ImportPeopleFromCSVCommand.php
-
-
message: "#^Parameter \\#1 \\$event of method Symfony\\\\Contracts\\\\EventDispatcher\\\\EventDispatcherInterface\\:\\:dispatch\\(\\) expects object, string given\\.$#"
count: 1
diff --git a/phpstan-types.neon b/phpstan-types.neon
index d62c8bc4b..3368c94d2 100644
--- a/phpstan-types.neon
+++ b/phpstan-types.neon
@@ -310,11 +310,6 @@ parameters:
count: 1
path: src/Bundle/ChillPersonBundle/Command/ChillPersonMoveCommand.php
- -
- message: "#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#"
- count: 6
- path: src/Bundle/ChillPersonBundle/Command/ImportPeopleFromCSVCommand.php
-
-
message: "#^Construct empty\\(\\) is not allowed\\. Use more strict comparison\\.$#"
count: 1
diff --git a/phpstan.neon.dist b/phpstan.neon.dist
index 611f6d71e..56b7c2228 100644
--- a/phpstan.neon.dist
+++ b/phpstan.neon.dist
@@ -3,7 +3,7 @@ parameters:
paths:
- src/
tmpDir: .cache/
- reportUnmatchedIgnoredErrors: true
+ reportUnmatchedIgnoredErrors: false
excludePaths:
- .php_cs*
- docs/
diff --git a/rector.php b/rector.php
new file mode 100644
index 000000000..2c5b08bec
--- /dev/null
+++ b/rector.php
@@ -0,0 +1,25 @@
+paths([
+ __DIR__ . '/docs',
+ __DIR__ . '/src',
+ ]);
+
+ $rectorConfig->cacheClass(\Rector\Caching\ValueObject\Storage\FileCacheStorage::class);
+ $rectorConfig->cacheDirectory(__DIR__.'/.cache/rector');
+
+ // register a single rule
+ $rectorConfig->rule(InlineConstructorDefaultToPropertyRector::class);
+
+ // define sets of rules
+ // $rectorConfig->sets([
+ // LevelSetList::UP_TO_PHP_74
+ // ]);
+};
diff --git a/src/Bundle/ChillActivityBundle/Entity/Activity.php b/src/Bundle/ChillActivityBundle/Entity/Activity.php
index 2a5ae6acb..9adfa057f 100644
--- a/src/Bundle/ChillActivityBundle/Entity/Activity.php
+++ b/src/Bundle/ChillActivityBundle/Entity/Activity.php
@@ -195,7 +195,7 @@ class Activity implements AccompanyingPeriodLinkedWithSocialIssuesEntityInterfac
* @ORM\ManyToOne(targetEntity="Chill\MainBundle\Entity\User")
* @Groups({"docgen:read"})
*/
- private User $user;
+ private ?User $user;
/**
* @ORM\ManyToMany(targetEntity="Chill\MainBundle\Entity\User")
@@ -494,7 +494,7 @@ class Activity implements AccompanyingPeriodLinkedWithSocialIssuesEntityInterfac
return $this->activityType;
}
- public function getUser(): User
+ public function getUser(): ?User
{
return $this->user;
}
@@ -681,14 +681,14 @@ class Activity implements AccompanyingPeriodLinkedWithSocialIssuesEntityInterfac
return $this;
}
- public function setUser(UserInterface $user): self
+ public function setUser(?User $user): self
{
$this->user = $user;
return $this;
}
- public function setUsers(?Collection $users): self
+ public function setUsers(Collection $users): self
{
$this->users = $users;
diff --git a/src/Bundle/ChillActivityBundle/Export/Filter/ACPFilters/LocationFilter.php b/src/Bundle/ChillActivityBundle/Export/Filter/ACPFilters/LocationFilter.php
index 5cdce5b31..3d69d1633 100644
--- a/src/Bundle/ChillActivityBundle/Export/Filter/ACPFilters/LocationFilter.php
+++ b/src/Bundle/ChillActivityBundle/Export/Filter/ACPFilters/LocationFilter.php
@@ -20,13 +20,6 @@ use Symfony\Component\Form\FormBuilderInterface;
class LocationFilter implements FilterInterface
{
- private TranslatableStringHelper $translatableStringHelper;
-
- public function __construct(TranslatableStringHelper $translatableStringHelper)
- {
- $this->translatableStringHelper = $translatableStringHelper;
- }
-
public function addRole(): ?string
{
return null;
diff --git a/src/Bundle/ChillActivityBundle/Form/ActivityType.php b/src/Bundle/ChillActivityBundle/Form/ActivityType.php
index 6d198c5fa..5dfd756f9 100644
--- a/src/Bundle/ChillActivityBundle/Form/ActivityType.php
+++ b/src/Bundle/ChillActivityBundle/Form/ActivityType.php
@@ -225,6 +225,7 @@ class ActivityType extends AbstractType
$builder->add('user', PickUserDynamicType::class, [
'label' => $activityType->getLabel('user'),
'required' => $activityType->isRequired('user'),
+ 'multiple' => false,
]);
}
diff --git a/src/Bundle/ChillActivityBundle/Menu/PersonMenuBuilder.php b/src/Bundle/ChillActivityBundle/Menu/PersonMenuBuilder.php
index 3a4da753d..03a1b09ab 100644
--- a/src/Bundle/ChillActivityBundle/Menu/PersonMenuBuilder.php
+++ b/src/Bundle/ChillActivityBundle/Menu/PersonMenuBuilder.php
@@ -48,7 +48,7 @@ final class PersonMenuBuilder implements LocalMenuBuilderInterface
if ($this->authorizationChecker->isGranted(ActivityVoter::SEE, $person)) {
$menu->addChild(
- $this->translator->trans('Activity list'),
+ $this->translator->trans('Activities'),
[
'route' => 'chill_activity_activity_list',
'routeParameters' => ['person_id' => $person->getId()],
diff --git a/src/Bundle/ChillActivityBundle/Resources/views/Activity/_list_item.html.twig b/src/Bundle/ChillActivityBundle/Resources/views/Activity/_list_item.html.twig
index 885125aa6..8d1aba2b3 100644
--- a/src/Bundle/ChillActivityBundle/Resources/views/Activity/_list_item.html.twig
+++ b/src/Bundle/ChillActivityBundle/Resources/views/Activity/_list_item.html.twig
@@ -63,7 +63,7 @@
{% endif %}
- {% if activity.user and t.userVisible %}
+ {% if activity.user is not null and t.userVisible %}
{{ 'Referrer'|trans }}
diff --git a/src/Bundle/ChillActivityBundle/Resources/views/Activity/concernedGroups.html.twig b/src/Bundle/ChillActivityBundle/Resources/views/Activity/concernedGroups.html.twig
index 96cfef39b..48eb839d7 100644
--- a/src/Bundle/ChillActivityBundle/Resources/views/Activity/concernedGroups.html.twig
+++ b/src/Bundle/ChillActivityBundle/Resources/views/Activity/concernedGroups.html.twig
@@ -5,7 +5,7 @@
Maybe should we think about abstracting this file a bit more ? Moving it to PersonBundle ?
#}
-{% if context == 'calendar_accompanyingCourse' %}
+{% if context == 'calendar_accompanyingCourse' or context == 'calendar_person' %}
{% import "@ChillCalendar/_invite.html.twig" as invite %}
{% endif %}
diff --git a/src/Bundle/ChillActivityBundle/Resources/views/Activity/show.html.twig b/src/Bundle/ChillActivityBundle/Resources/views/Activity/show.html.twig
index acda43b97..fca6a7658 100644
--- a/src/Bundle/ChillActivityBundle/Resources/views/Activity/show.html.twig
+++ b/src/Bundle/ChillActivityBundle/Resources/views/Activity/show.html.twig
@@ -34,10 +34,12 @@
-
{{ 'Referrer'|trans|capitalize }}
-
- {{ entity.user|chill_entity_render_box }}
-
+ {%- if entity.user is not null %}
+
{{ 'Referrer'|trans|capitalize }}
+
+ {{ entity.user|chill_entity_render_box }}
+
+ {% endif %}
{%- if entity.scope -%}
{{ 'Scope'|trans }}
diff --git a/src/Bundle/ChillActivityBundle/Tests/Controller/ActivityControllerTest.php b/src/Bundle/ChillActivityBundle/Tests/Controller/ActivityControllerTest.php
index e689e205d..8e2c219f0 100644
--- a/src/Bundle/ChillActivityBundle/Tests/Controller/ActivityControllerTest.php
+++ b/src/Bundle/ChillActivityBundle/Tests/Controller/ActivityControllerTest.php
@@ -121,14 +121,14 @@ final class ActivityControllerTest extends WebTestCase
$client->getResponse()->getStatusCode(),
'Unexpected HTTP status code for GET /activity/'
);
- $crawler = $client->click($crawler->selectLink('Ajouter une nouvelle activité')
+ $crawler = $client->click($crawler->selectLink('Ajouter un nouvel échange')
->link());
$reason1 = $this->getRandomActivityReason();
$reason2 = $this->getRandomActivityReason([$reason1->getId()]);
// Fill in the form and submit it
- $form = $crawler->selectButton('Ajouter une nouvelle activité')->form([
+ $form = $crawler->selectButton('Ajouter un nouvel échange')->form([
'chill_activitybundle_activity' => [
'date' => '15-01-2015',
'durationTime' => 600,
@@ -152,9 +152,9 @@ final class ActivityControllerTest extends WebTestCase
);
// Edit the entity
- $crawler = $client->click($crawler->selectLink("Modifier l'activité")->link());
+ $crawler = $client->click($crawler->selectLink("Modifier l'échange")->link());
- $form = $crawler->selectButton("Sauver l'activité")->form([
+ $form = $crawler->selectButton("Sauver l'échange")->form([
'chill_activitybundle_activity' => [
'date' => '25-01-2015',
// 'remark' => 'Foo'
diff --git a/src/Bundle/ChillActivityBundle/Tests/Form/ActivityTypeTest.php b/src/Bundle/ChillActivityBundle/Tests/Form/ActivityTypeTest.php
index b6cb6fc7b..df0a602a4 100644
--- a/src/Bundle/ChillActivityBundle/Tests/Form/ActivityTypeTest.php
+++ b/src/Bundle/ChillActivityBundle/Tests/Form/ActivityTypeTest.php
@@ -112,9 +112,9 @@ final class ActivityTypeTest extends KernelTestCase
'attendee' => true,
]]);
-// var_dump($form->getErrors()->count()); var_dump($form->isValid());
-// foreach($form->getErrors() as $e) { fwrite(STDOUT, var_dump($e->getMessage())); }
-// var_dump($form->getErrors());
+ // var_dump($form->getErrors()->count()); var_dump($form->isValid());
+ // foreach($form->getErrors() as $e) { fwrite(STDOUT, var_dump($e->getMessage())); }
+ // var_dump($form->getErrors());
$this->assertTrue($form->isSynchronized(), 'Test the form is synchronized');
$this->assertTrue($form->isValid(), 'test the form is valid');
diff --git a/src/Bundle/ChillActivityBundle/translations/messages.fr.yml b/src/Bundle/ChillActivityBundle/translations/messages.fr.yml
index 2afb1779a..c90478785 100644
--- a/src/Bundle/ChillActivityBundle/translations/messages.fr.yml
+++ b/src/Bundle/ChillActivityBundle/translations/messages.fr.yml
@@ -1,41 +1,41 @@
#general
-Show the activity: Voir l'activité
-Edit the activity: Modifier l'activité
-Activity: Activité
+Show the activity: Voir l'échange
+Edit the activity: Modifier l'échange
+Activity: Échange
Duration time: Durée
Duration Time: Durée
durationTime: durée
Travel time: Durée de déplacement
-Attendee: Présence de la personne
-attendee: présence de la personne
+Attendee: Présence de l'usager
+attendee: présence de l'usager
list_reasons: liste des sujets
user_username: nom de l'utilisateur
circle_name: nom du cercle
Remark: Commentaire
No comments: Aucun commentaire
-Add a new activity: Ajouter une nouvelle activité
-Activity list: Liste des activités
+Add a new activity: Ajouter une nouvel échange
+Activity list: Liste des échanges
present: présent
not present: absent
Delete: Supprimer
Update: Mettre à jour
-Update activity: Modifier l'activité
+Update activity: Modifier l'échange
Scope: Cercle
-Activity data: Données de l'activité
-Activity location: Localisation de l'activité
+Activity data: Données de l'échange
+Activity location: Localisation de l'échange
No reason associated: Aucun sujet
No social issues associated: Aucune problématique sociale
No social actions associated: Aucune action d'accompagnement
-There isn't any activities.: Aucune activité enregistrée.
-type_name: type de l'activité
+There isn't any activities.: Aucun échange enregistré.
+type_name: type de l'échange
person_firstname: prénom
person_lastname: nom de famille
-person_id: identifiant de la personne
+person_id: identifiant de l'usager
Type: Type
Invisible: Invisible
Optional: Optionnel
Required: Obligatoire
-Persons: Personnes
+Persons: Usagers
Users: Utilisateurs
Emergency: Urgent
Sent received: Entrant / Sortant
@@ -50,10 +50,10 @@ received: Reçu
#forms
-Activity creation: Nouvelle activité
+Activity creation: Nouvel échange
Create: Créer
Back to the list: Retour à la liste
-Save activity: Sauver l'activité
+Save activity: Sauver l'échange
Reset form: Remise à zéro du formulaire
Choose the duration: Choisir la durée
Choose a type: Choisir un type
@@ -90,40 +90,40 @@ activity:
No documents: Aucun document
#timeline
-'%user% has done an %activity_type%': '%user% a effectué une activité de type "%activity_type%"'
+'%user% has done an %activity_type%': '%user% a effectué un échange de type "%activity_type%"'
#controller
-'Success : activity created!': L'activité a été créée.
-'The form is not valid. The activity has not been created !': Le formulaire est invalide. L'activité n'a pas été créée.
-'Success : activity updated!': L'activité a été mise à jour.
-'The form is not valid. The activity has not been updated !': Le formulaire est invalide. L'activité n'a pas été mise à jour.
+'Success : activity created!': L'échange a été créé.
+'The form is not valid. The activity has not been created !': Le formulaire est invalide. L'échange n'a pas été créé.
+'Success : activity updated!': L'échange a été mis à jour.
+'The form is not valid. The activity has not been updated !': Le formulaire est invalide. L'échange n'a pas été mise à jour.
# ROLES
-CHILL_ACTIVITY_CREATE: Créer une activité
-CHILL_ACTIVITY_UPDATE: Modifier une activité
-CHILL_ACTIVITY_SEE: Voir une activité
-CHILL_ACTIVITY_SEE_DETAILS: Voir le détail des activités
-CHILL_ACTIVITY_DELETE: Supprimer une activité
-CHILL_ACTIVITY_STATS: Statistique des activités
-CHILL_ACTIVITY_LIST: Liste des activités
+CHILL_ACTIVITY_CREATE: Créer un échange
+CHILL_ACTIVITY_UPDATE: Modifier un échange
+CHILL_ACTIVITY_SEE: Voir un échange
+CHILL_ACTIVITY_SEE_DETAILS: Voir le détail des échanges
+CHILL_ACTIVITY_DELETE: Supprimer un échange
+CHILL_ACTIVITY_STATS: Statistique des échanges
+CHILL_ACTIVITY_LIST: Liste des échanges
# admin
-Activities: Activités
-Activity configuration: Configuration des activités
-Activity configuration menu: Configuration des activités
-Activity types: Types d'activité
-Activity type configuration: Configuration des categories d'activités
-Activity Reasons: Sujets d'une activité
-Activity Reasons Category: Catégories de sujet d'activités
-Activity Types Categories: Catégories des types d'activité
-Activity Presences: Presences aux activités
+Activities: Échanges
+Activity configuration: Configuration des échanges
+Activity configuration menu: Configuration des échanges
+Activity types: Types d'échange
+Activity type configuration: Configuration des catégories d'échanges
+Activity Reasons: Sujets d'un échange
+Activity Reasons Category: Catégories de sujet d'échanges
+Activity Types Categories: Catégories des types d'échange
+Activity Presences: Presences aux échanges
Associated activity reason category is inactive: La catégorie de sujet attachée est inactive
# Crud
crud:
activity_type:
- title_new: Nouveau type d'activité
+ title_new: Nouveau type d'échange
title_edit: Edition d'un type d'activité
activity_type_category:
title_new: Nouvelle catégorie de type d'activité
@@ -159,8 +159,8 @@ Create a new activity presence: Créer une nouvelle "Présence aux activités"
# activity type type admin
ActivityType list: Types d'activités
Create a new activity type: Créer un nouveau type d'activité
-Persons visible: Visibilité du champ Personnes
-Persons label: Libellé du champ Personnes
+Persons visible: Visibilité du champ Usagers
+Persons label: Libellé du champ Usagers
User visible: Visibilité du champ Utilisateur
User label: Libellé du champ Utilisateur
Date visible: Visibilité du champ Date
@@ -183,8 +183,8 @@ Private comment visible: Visibilité du champ Commentaire Privé
Private comment label: Libellé du champ Commentaire Privé
Emergency visible: Visibilité du champ Urgent
Emergency label: Libellé du champ Urgent
-Accompanying period visible: Visibilité du champ Période d'accompagnement
-Accompanying period label: Libellé du champ Période d'accompagnement
+Accompanying period visible: Visibilité du champ parcours d'accompagnement
+Accompanying period label: Libellé du champ parcours d'accompagnement
Social issues visible: Visibilité du champ Problématiques sociales
Social issues label: Libellé du champ Problématiques sociales
Social actions visible: Visibilité du champ Action sociale
@@ -206,10 +206,10 @@ Are you sure you want to remove the activity about "%name%" ?: Êtes-vous sûr d
The activity has been successfully removed.: L'activité a été supprimée.
# exports
-Exports of activities linked to a person: Exports des activités liées à une personne
-Number of activities linked to a person: Nombre d'activités liées à une personne
+Exports of activities linked to a person: Exports des activités liées à un usager
+Number of activities linked to a person: Nombre d'activités liées à un usager
Count activities linked to a person: Nombre d'activités
-Count activities linked to a person by various parameters.: Compte le nombre d'activités enregistrées et liées à une personne en fonction de différents paramètres.
+Count activities linked to a person by various parameters.: Compte le nombre d'activités enregistrées et liées à un usager en fonction de différents paramètres.
Sum activity linked to a person duration: Durée des activités
Sum activities linked to a person duration: Durée des activités liés à un usager
Sum activities linked to a person duration by various parameters.: Additionne la durée des activités en fonction de différents paramètres.
@@ -244,10 +244,10 @@ Activities before this date: Activités avant cette date
"Filtered by date of activity: only between %date_from% and %date_to%": "Filtré par date de l'activité: uniquement entre %date_from% et %date_to%"
This date should be after the date given in "Implied in an activity after this date" field: Cette date devrait être postérieure à la date donnée dans le champ "activités après cette date"
-Filtered by person having an activity in a period: Uniquement les personnes ayant eu une activité dans la période donnée
+Filtered by person having an activity in a period: Uniquement les usagers ayant eu une activité dans la période donnée
Implied in an activity after this date: Impliqué dans une activité après cette date
Implied in an activity before this date: Impliqué dans une activité avant cette date
-Filtered by person having an activity between %date_from% and %date_to% with reasons %reasons_name%: Filtré par personnes associées à une activité entre %date_from% et %date_to% avec les sujets %reasons_name%
+Filtered by person having an activity between %date_from% and %date_to% with reasons %reasons_name%: Filtré par usager associées à une activité entre %date_from% et %date_to% avec les sujets %reasons_name%
Activity reasons for those activities: Sujets de ces activités
Filter by activity type: Filtrer les activités par type
@@ -338,8 +338,8 @@ export:
users name: Nom des utilisateurs
users ids: Identifiant des utilisateurs
third parties ids: Identifiant des tiers
- persons ids: Identifiant des personnes
- persons name: Nom des personnes
+ persons ids: Identifiant des usagers
+ persons name: Nom des usagers
thirds parties: Tiers
date: Date de l'activité
locationName: Localisation
diff --git a/src/Bundle/ChillActivityBundle/translations/messages.nl.yaml b/src/Bundle/ChillActivityBundle/translations/messages.nl.yaml
index dac37fc7d..c7dc05f2b 100644
--- a/src/Bundle/ChillActivityBundle/translations/messages.nl.yaml
+++ b/src/Bundle/ChillActivityBundle/translations/messages.nl.yaml
@@ -47,10 +47,10 @@ Reasons: Onderwerpen
#forms
-Activity creation: Nouvelle activité
+Activity creation: Nouvel échange
Create: Créer
Back to the list: Retour à la liste
-Save activity: Sauver l'activité
+Save activity: Sauver l'échange
Reset form: Remise à zéro du formulaire
Choose the duration: Choisir la durée
Choose a type: Choisir un type
@@ -79,43 +79,43 @@ activity:
No documents: Aucun document
#timeline
-'%user% has done an %activity_type%': '%user% a effectué une activité de type "%activity_type%"'
+'%user% has done an %activity_type%': '%user% a effectué un échange de type "%activity_type%"'
#controller
-'Success : activity created!': L'activité a été créée.
-'The form is not valid. The activity has not been created !': Le formulaire est invalide. L'activité n'a pas été créée.
-'Success : activity updated!': L'activité a été mise à jour.
-'The form is not valid. The activity has not been updated !': Le formulaire est invalide. L'activité n'a pas été mise à jour.
+'Success : activity created!': L'échange a été créé.
+'The form is not valid. The activity has not been created !': Le formulaire est invalide. L'échange n'a pas été créé.
+'Success : activity updated!': L'échange a été mis à jour.
+'The form is not valid. The activity has not been updated !': Le formulaire est invalide. L'échange n'a pas été mis à jour.
# ROLES
-CHILL_ACTIVITY_CREATE: Créer une activité
-CHILL_ACTIVITY_UPDATE: Modifier une activité
-CHILL_ACTIVITY_SEE: Voir une activité
-CHILL_ACTIVITY_SEE_DETAILS: Voir le détail des activités
-CHILL_ACTIVITY_DELETE: Supprimer une activité
-CHILL_ACTIVITY_STATS: Statistique des activités
-CHILL_ACTIVITY_LIST: Liste des activités
+CHILL_ACTIVITY_CREATE: Créer un échange
+CHILL_ACTIVITY_UPDATE: Modifier un échange
+CHILL_ACTIVITY_SEE: Voir un échange
+CHILL_ACTIVITY_SEE_DETAILS: Voir le détail des échanges
+CHILL_ACTIVITY_DELETE: Supprimer un échange
+CHILL_ACTIVITY_STATS: Statistique des échanges
+CHILL_ACTIVITY_LIST: Liste des échanges
# admin
-Activities: Activités
-Activity configuration: Configuration des activités
-Activity configuration menu: Configuration des activités
-Activity types: Types d'activité
-Activity type configuration: Configuration des categories d'activités
-Activity Reasons: Sujets d'une activité
-Activity Reasons Category: Catégories de sujet d'activités
-Activity Types Categories: Catégories des types d'activité
-Activity Presences: Presences des activités
+Activities: Échanges
+Activity configuration: Configuration des échanges
+Activity configuration menu: Configuration des échanges
+Activity types: Types d'échange
+Activity type configuration: Configuration des categories d'échanges
+Activity Reasons: Sujets d'un échange
+Activity Reasons Category: Catégories de sujet d'échanges
+Activity Types Categories: Catégories des types d'échanges
+Activity Presences: Presences des échanges
# Crud
crud:
activity_type:
- title_new: Nouveau type d'activité
- title_edit: Edition d'un type d'activité
+ title_new: Nouveau type d'échange
+ title_edit: Edition d'un type d'échange
activity_type_category:
- title_new: Nouvelle catégorie de type d'activité
- title_edit: Edition d'une catégorie de type d'activité
+ title_new: Nouvelle catégorie de type d'échange
+ title_edit: Edition d'une catégorie de type d'échange
# activity reason admin
ActivityReason list: Liste des sujets
@@ -124,7 +124,7 @@ Active: Actif
Category: Catégorie
ActivityReason creation: Nouveau sujet
ActivityReason edit: Modification d'un sujet
-ActivityReason: Sujet d'activité
+ActivityReason: Sujet d'échange
The entity is inactive and won't be proposed: Le sujet est inactif et ne sera pas proposé
The entity is active and will be proposed: Le sujet est actif et sera proposé
@@ -133,13 +133,13 @@ ActivityReasonCategory list: Catégories de sujets
Create a new activity category reason: Créer une nouvelle catégorie
ActivityReasonCategory creation: Nouvelle catégorie de sujet
ActivityReasonCategory edit: Modification d'une catégorie de sujet
-ActivityReasonCategory: Catégorie de sujet d'activité
+ActivityReasonCategory: Catégorie de sujet d'échange
ActivityReasonCategory is active and will be proposed: La catégorie est active et sera proposée
ActivityReasonCategory is inactive and won't be proposed: La catégorie est inactive et ne sera pas proposée
# activity type type admin
-ActivityType list: Types d'activités
-Create a new activity type: Créer un nouveau type d'activité
+ActivityType list: Types d'échanges
+Create a new activity type: Créer un nouveau type d'échange
Persons visible: Visibilité du champ Personnes
Persons label: Libellé du champ Personnes
User visible: Visibilité du champ Utilisateur
@@ -177,20 +177,20 @@ Documents label: Libellé du champ Documents
# activity type category admin
ActivityTypeCategory list: Liste des catégories des types d'activité
-Create a new activity type category: Créer une nouvelle catégorie de type d'activité
+Create a new activity type category: Créer une nouvelle catégorie de type d'échange
# activity delete
-Remove activity: Supprimer une activité
-Are you sure you want to remove the activity about "%name%" ?: Êtes-vous sûr de vouloir supprimer une activité qui concerne "%name%" ?
-The activity has been successfully removed.: L'activité a été supprimée.
+Remove activity: Supprimer un échange
+Are you sure you want to remove the activity about "%name%" ?: Êtes-vous sûr de vouloir supprimer un échange qui concerne "%name%" ?
+The activity has been successfully removed.: L'échange a été supprimée.
# exports
-Count activities: Nombre d'activités
-Count activities by various parameters.: Compte le nombre d'activités enregistrées en fonction de différents paramètres.
-Sum activity duration: Total de la durée des activités
-Sum activities duration by various parameters.: Additionne la durée des activités en fonction de différents paramètres.
-List activities: Liste les activités
-Number of activities: Nombre d'activités
+Count activities: Nombre d'échanges
+Count activities by various parameters.: Compte le nombre d'échanges enregistrées en fonction de différents paramètres.
+Sum activity duration: Total de la durée des échanges
+Sum activities duration by various parameters.: Additionne la durée des échanges en fonction de différents paramètres.
+List activities: Liste les échanges
+Number of activities: Nombre d'échanges
#filters
Filter by reason: Filtrer par sujet d'activité
diff --git a/src/Bundle/ChillActivityBundle/translations/validators.fr.yml b/src/Bundle/ChillActivityBundle/translations/validators.fr.yml
index f2c104828..053752854 100644
--- a/src/Bundle/ChillActivityBundle/translations/validators.fr.yml
+++ b/src/Bundle/ChillActivityBundle/translations/validators.fr.yml
@@ -1,22 +1,22 @@
The reasons's level should not be empty: Le niveau du sujet ne peut pas être vide
At least one reason must be choosen: Au moins un sujet doit être choisi
-For this type of activity, you must add at least one person: Pour ce type d'activité, vous devez ajouter au moins un usager
-For this type of activity, you must add at least one user: Pour ce type d'activité, vous devez ajouter au moins un utilisateur
-For this type of activity, you must add at least one third party: Pour ce type d'activité, vous devez ajouter au moins un tiers
-For this type of activity, user is required: Pour ce type d'activité, l'utilisateur est requis
-For this type of activity, date is required: Pour ce type d'activité, la date est requise
-For this type of activity, location is required: Pour ce type d'activité, la localisation est requise
-For this type of activity, attendee is required: Pour ce type d'activité, le champ "Présence de la personne" est requis
-For this type of activity, duration time is required: Pour ce type d'activité, la durée est requise
-For this type of activity, travel time is required: Pour ce type d'activité, la durée du trajet est requise
-For this type of activity, reasons is required: Pour ce type d'activité, le champ "sujet" est requis
-For this type of activity, comment is required: Pour ce type d'activité, un commentaire est requis
-For this type of activity, sent/received is required: Pour ce type d'activité, le champ Entrant/Sortant est requis
-For this type of activity, document is required: Pour ce type d'activité, un document est requis
-For this type of activity, emergency is required: Pour ce type d'activité, le champ "Urgent" est requis
-For this type of activity, accompanying period is required: Pour ce type d'activité, le parcours d'accompagnement est requis
-For this type of activity, you must add at least one social issue: Pour ce type d'activité, vous devez ajouter au moins une problématique sociale
-For this type of activity, you must add at least one social action: Pour ce type d'activité, vous devez indiquer au moins une action sociale
+For this type of activity, you must add at least one person: Pour ce type d'échange, vous devez ajouter au moins un usager
+For this type of activity, you must add at least one user: Pour ce type d'échange, vous devez ajouter au moins un utilisateur
+For this type of activity, you must add at least one third party: Pour ce type d'échange, vous devez ajouter au moins un tiers
+For this type of activity, user is required: Pour ce type d'échange, l'utilisateur est requis
+For this type of activity, date is required: Pour ce type d'échange, la date est requise
+For this type of activity, location is required: Pour ce type d'échange, la localisation est requise
+For this type of activity, attendee is required: Pour ce type d'échange, le champ "Présence de l'usager" est requis
+For this type of activity, duration time is required: Pour ce type d'échange, la durée est requise
+For this type of activity, travel time is required: Pour ce type d'échange, la durée du trajet est requise
+For this type of activity, reasons is required: Pour ce type d'échange, le champ "sujet" est requis
+For this type of activity, comment is required: Pour ce type d'échange, un commentaire est requis
+For this type of activity, sent/received is required: Pour ce type d'échange, le champ Entrant/Sortant est requis
+For this type of activity, document is required: Pour ce type d'échange, un document est requis
+For this type of activity, emergency is required: Pour ce type d'échange, le champ "Urgent" est requis
+For this type of activity, accompanying period is required: Pour ce type d'échange, le parcours d'accompagnement est requis
+For this type of activity, you must add at least one social issue: Pour ce type d'échange, vous devez ajouter au moins une problématique sociale
+For this type of activity, you must add at least one social action: Pour ce type d'échange, vous devez indiquer au moins une action sociale
# admin
This parameter must be equal to social issue parameter: Ce paramètre doit être égal au paramètre "Visibilité du champs Problématiques sociales"
diff --git a/src/Bundle/ChillAsideActivityBundle/src/Export/Export/ListAsideActivity.php b/src/Bundle/ChillAsideActivityBundle/src/Export/Export/ListAsideActivity.php
index 976f4171c..aee168174 100644
--- a/src/Bundle/ChillAsideActivityBundle/src/Export/Export/ListAsideActivity.php
+++ b/src/Bundle/ChillAsideActivityBundle/src/Export/Export/ListAsideActivity.php
@@ -160,8 +160,8 @@ final class ListAsideActivity implements ListInterface, GroupedExportInterface
return 'export.aside_activity.main_center';
}
- /** @var Center $c */
if (null === $value || '' === $value || null === $c = $this->centerRepository->find($value)) {
+ /** @var Center $c */
return '';
}
@@ -190,10 +190,6 @@ final class ListAsideActivity implements ListInterface, GroupedExportInterface
];
}
- /**
- * @param QueryBuilder $query
- * @param array $data
- */
public function getResult($query, $data): array
{
return $query->getQuery()->getResult(AbstractQuery::HYDRATE_ARRAY);
diff --git a/src/Bundle/ChillAsideActivityBundle/src/Form/AsideActivityFormType.php b/src/Bundle/ChillAsideActivityBundle/src/Form/AsideActivityFormType.php
index c02e53c23..9a95a8d09 100644
--- a/src/Bundle/ChillAsideActivityBundle/src/Form/AsideActivityFormType.php
+++ b/src/Bundle/ChillAsideActivityBundle/src/Form/AsideActivityFormType.php
@@ -28,22 +28,17 @@ use Symfony\Component\Form\FormBuilderInterface;
use Symfony\Component\Form\FormEvent;
use Symfony\Component\Form\FormEvents;
use Symfony\Component\OptionsResolver\OptionsResolver;
-use Symfony\Component\Security\Core\Authentication\Token\Storage\TokenStorageInterface;
use function in_array;
final class AsideActivityFormType extends AbstractType
{
- private TokenStorageInterface $storage;
-
private array $timeChoices;
public function __construct(
ParameterBagInterface $parameterBag,
- TokenStorageInterface $storage
) {
$this->timeChoices = $parameterBag->get('chill_aside_activity.form.time_duration');
- $this->storage = $storage;
}
public function buildForm(FormBuilderInterface $builder, array $options)
diff --git a/src/Bundle/ChillAsideActivityBundle/src/Menu/SectionMenuBuilder.php b/src/Bundle/ChillAsideActivityBundle/src/Menu/SectionMenuBuilder.php
index d4ed7dbf9..f23fcdc8a 100644
--- a/src/Bundle/ChillAsideActivityBundle/src/Menu/SectionMenuBuilder.php
+++ b/src/Bundle/ChillAsideActivityBundle/src/Menu/SectionMenuBuilder.php
@@ -44,17 +44,6 @@ class SectionMenuBuilder implements LocalMenuBuilderInterface
'order' => 11,
'icons' => ['plus'],
]);
- $menu->addChild($this->translator->trans('Phonecall'), [
- 'route' => 'chill_crud_aside_activity_new',
- 'routeParameters' => [
- 'type' => 1,
- 'duration' => 900,
- ],
- ])
- ->setExtras([
- 'order' => 12,
- 'icons' => ['plus'],
- ]);
}
}
diff --git a/src/Bundle/ChillAsideActivityBundle/src/translations/messages.fr.yml b/src/Bundle/ChillAsideActivityBundle/src/translations/messages.fr.yml
index 0c807479f..cc428390c 100644
--- a/src/Bundle/ChillAsideActivityBundle/src/translations/messages.fr.yml
+++ b/src/Bundle/ChillAsideActivityBundle/src/translations/messages.fr.yml
@@ -21,7 +21,7 @@ Type: Type
Invisible: Invisible
Optional: Optionnel
Required: Obligatoire
-Persons: Personnes
+Persons: Usagers
Users: Utilisateurs
Emergency: Urgent
by: "Par "
@@ -50,7 +50,7 @@ For agent: Pour l'utilisateur
date: Date
Duration: Durée
Note: Note
-Choose the agent for whom this activity is created: Choisissez l'agent pour qui l'activité est créée
+Choose the agent for whom this activity is created: Choisissez l'agent pour qui l'échange est créé
Choose the activity category: Choisir la catégorie
#Duration
diff --git a/src/Bundle/ChillBudgetBundle/Controller/ElementController.php b/src/Bundle/ChillBudgetBundle/Controller/ElementController.php
index 70730e5c9..b5db3cd30 100644
--- a/src/Bundle/ChillBudgetBundle/Controller/ElementController.php
+++ b/src/Bundle/ChillBudgetBundle/Controller/ElementController.php
@@ -33,27 +33,15 @@ class ElementController extends AbstractController
{
private CalculatorManager $calculator;
- private LoggerInterface $chillMainLogger;
-
- private EntityManagerInterface $em;
-
private ResourceRepository $resourceRepository;
private ChargeRepository $chargeRepository;
- private TranslatorInterface $translator;
-
public function __construct(
- EntityManagerInterface $em,
- TranslatorInterface $translator,
- LoggerInterface $chillMainLogger,
CalculatorManager $calculator,
ResourceRepository $resourceRepository,
ChargeRepository $chargeRepository,
) {
- $this->em = $em;
- $this->translator = $translator;
- $this->chillMainLogger = $chillMainLogger;
$this->calculator = $calculator;
$this->resourceRepository = $resourceRepository;
$this->chargeRepository = $chargeRepository;
diff --git a/src/Bundle/ChillBudgetBundle/Repository/ChargeKindRepository.php b/src/Bundle/ChillBudgetBundle/Repository/ChargeKindRepository.php
index 01f5cd737..9aaf68ddf 100644
--- a/src/Bundle/ChillBudgetBundle/Repository/ChargeKindRepository.php
+++ b/src/Bundle/ChillBudgetBundle/Repository/ChargeKindRepository.php
@@ -30,7 +30,7 @@ final class ChargeKindRepository implements ChargeKindRepositoryInterface
}
/**
- * @return ChargeType[]
+ * @return array
*/
public function findAll(): array
{
@@ -38,7 +38,7 @@ final class ChargeKindRepository implements ChargeKindRepositoryInterface
}
/**
- * @return ChargeType[]
+ * @return array
*/
public function findAllActive(): array
{
@@ -53,7 +53,7 @@ final class ChargeKindRepository implements ChargeKindRepositoryInterface
}
/**
- * @return ChargeType[]
+ * @return array
*/
public function findAllByType(string $type): array
{
@@ -64,7 +64,7 @@ final class ChargeKindRepository implements ChargeKindRepositoryInterface
* @param mixed|null $limit
* @param mixed|null $offset
*
- * @return ChargeType[]
+ * @return array
*/
public function findBy(array $criteria, ?array $orderBy = null, ?int $limit = null, ?int $offset = null): array
{
diff --git a/src/Bundle/ChillBudgetBundle/Repository/ChargeKindRepositoryInterface.php b/src/Bundle/ChillBudgetBundle/Repository/ChargeKindRepositoryInterface.php
index fb8c9dc35..f92851eba 100644
--- a/src/Bundle/ChillBudgetBundle/Repository/ChargeKindRepositoryInterface.php
+++ b/src/Bundle/ChillBudgetBundle/Repository/ChargeKindRepositoryInterface.php
@@ -19,25 +19,25 @@ interface ChargeKindRepositoryInterface extends ObjectRepository
public function find($id): ?ChargeKind;
/**
- * @return ChargeType[]
+ * @return array
*/
public function findAll(): array;
/**
- * @return ChargeType[]
+ * @return array
*/
public function findAllActive(): array;
/**
- * @return ChargeType[]
+ * @return array
*/
public function findAllByType(string $type): array;
/**
- * @param mixed|null $limit
- * @param mixed|null $offset
+ * @param int|null $limit
+ * @param int|null $offset
*
- * @return ChargeType[]
+ * @return array
*/
public function findBy(array $criteria, ?array $orderBy = null, ?int $limit = null, ?int $offset = null): array;
diff --git a/src/Bundle/ChillBudgetBundle/Repository/ResourceKindRepository.php b/src/Bundle/ChillBudgetBundle/Repository/ResourceKindRepository.php
index 42e5418fc..1f9f99753 100644
--- a/src/Bundle/ChillBudgetBundle/Repository/ResourceKindRepository.php
+++ b/src/Bundle/ChillBudgetBundle/Repository/ResourceKindRepository.php
@@ -30,7 +30,7 @@ final class ResourceKindRepository implements ResourceKindRepositoryInterface
}
/**
- * @return ResourceType[]
+ * @return list
*/
public function findAll(): array
{
@@ -38,7 +38,7 @@ final class ResourceKindRepository implements ResourceKindRepositoryInterface
}
/**
- * @return ResourceType[]
+ * @return list
*/
public function findAllActive(): array
{
@@ -58,7 +58,7 @@ final class ResourceKindRepository implements ResourceKindRepositoryInterface
}
/**
- * @return ResourceType[]
+ * @return list
*/
public function findAllByType(string $type): array
{
@@ -69,7 +69,7 @@ final class ResourceKindRepository implements ResourceKindRepositoryInterface
* @param mixed|null $limit
* @param mixed|null $offset
*
- * @return ResourceType[]
+ * @return list
*/
public function findBy(array $criteria, ?array $orderBy = null, ?int $limit = null, ?int $offset = null): array
{
diff --git a/src/Bundle/ChillBudgetBundle/Repository/ResourceKindRepositoryInterface.php b/src/Bundle/ChillBudgetBundle/Repository/ResourceKindRepositoryInterface.php
index 658a87a3d..dac46ff35 100644
--- a/src/Bundle/ChillBudgetBundle/Repository/ResourceKindRepositoryInterface.php
+++ b/src/Bundle/ChillBudgetBundle/Repository/ResourceKindRepositoryInterface.php
@@ -19,25 +19,25 @@ interface ResourceKindRepositoryInterface extends ObjectRepository
public function find($id): ?ResourceKind;
/**
- * @return ResourceType[]
+ * @return list
*/
public function findAll(): array;
/**
- * @return ResourceType[]
+ * @return list
*/
public function findAllActive(): array;
/**
- * @return ResourceType[]
+ * @return list
*/
public function findAllByType(string $type): array;
/**
- * @param mixed|null $limit
- * @param mixed|null $offset
+ * @param int|null $limit
+ * @param int|null $offset
*
- * @return ResourceType[]
+ * @return list
*/
public function findBy(array $criteria, ?array $orderBy = null, ?int $limit = null, ?int $offset = null): array;
diff --git a/src/Bundle/ChillBudgetBundle/translations/messages.fr.yml b/src/Bundle/ChillBudgetBundle/translations/messages.fr.yml
index b20477150..a5e5490a0 100644
--- a/src/Bundle/ChillBudgetBundle/translations/messages.fr.yml
+++ b/src/Bundle/ChillBudgetBundle/translations/messages.fr.yml
@@ -29,7 +29,7 @@ End of validity period: Fin de la période de validité
Total: Total
Create new resource: Créer une nouvelle ressource
Create new charge: Créer une nouvelle charge
-See person: Voir personne
+See person: Voir usagers
There isn't any element recorded: Aucun élément enregistré
No resources registered: Aucune ressource enregistrée
diff --git a/src/Bundle/ChillCalendarBundle/Controller/CalendarController.php b/src/Bundle/ChillCalendarBundle/Controller/CalendarController.php
index 550c6e984..eed693451 100644
--- a/src/Bundle/ChillCalendarBundle/Controller/CalendarController.php
+++ b/src/Bundle/ChillCalendarBundle/Controller/CalendarController.php
@@ -207,6 +207,7 @@ class CalendarController extends AbstractController
'entityClassName' => Calendar::class,
'entityId' => $entity->getId(),
'template' => $template->getId(),
+ 'returnPath' => $request->getRequestUri(),
]);
}
}
@@ -377,7 +378,9 @@ class CalendarController extends AbstractController
$this->addFlash('success', $this->translator->trans('Success : calendar item created!'));
if ($form->get('save_and_upload_doc')->isClicked()) {
- return $this->redirectToRoute('chill_calendar_calendardoc_new', ['id' => $entity->getId()]);
+ return $this->redirectToRoute('chill_calendar_calendardoc_new', [
+ 'id' => $entity->getId()
+ ]);
}
foreach ($templates as $template) {
@@ -386,6 +389,7 @@ class CalendarController extends AbstractController
'entityClassName' => Calendar::class,
'entityId' => $entity->getId(),
'template' => $template->getId(),
+ 'returnPath' => $this->generateUrl('chill_calendar_calendar_edit', ['id' => $entity->getId()]),
]);
}
}
@@ -526,14 +530,20 @@ class CalendarController extends AbstractController
'comment' => $calendar->getComment()->getComment(),
];
- return $this->redirectToRoute(
- 'chill_activity_activity_new',
- [
- 'accompanying_period_id' => $calendar->getAccompanyingPeriod()->getId(),
- 'activityData' => $activityData,
- 'returnPath' => $request->query->get('returnPath', null),
- ]
- );
+ $routeParams = [
+ 'activityData' => $activityData,
+ 'returnPath' => $request->query->get('returnPath', null),
+ ];
+
+ if ($calendar->getContext() === 'accompanying_period') {
+ $routeParams['accompanying_period_id'] = $calendar->getAccompanyingPeriod()->getId();
+ } elseif ($calendar->getContext() === 'person') {
+ $routeParams['person_id'] = $calendar->getPerson()->getId();
+ } else {
+ throw new RuntimeException('context not found for this calendar');
+ }
+
+ return $this->redirectToRoute('chill_activity_activity_new', $routeParams);
}
private function buildListFilterOrder(): FilterOrderHelper
@@ -544,21 +554,6 @@ class CalendarController extends AbstractController
return $filterOrder->build();
}
- private function buildParamsToUrl(?User $user, ?AccompanyingPeriod $accompanyingPeriod): array
- {
- $params = [];
-
- if (null !== $user) {
- $params['user_id'] = $user->getId();
- }
-
- if (null !== $accompanyingPeriod) {
- $params['id'] = $accompanyingPeriod->getId();
- }
-
- return $params;
- }
-
/**
* Creates a form to delete a Calendar entity by id.
*/
diff --git a/src/Bundle/ChillCalendarBundle/Entity/Calendar.php b/src/Bundle/ChillCalendarBundle/Entity/Calendar.php
index 56373ca17..d7f38adf0 100644
--- a/src/Bundle/ChillCalendarBundle/Entity/Calendar.php
+++ b/src/Bundle/ChillCalendarBundle/Entity/Calendar.php
@@ -29,6 +29,7 @@ use DateTimeImmutable;
use Doctrine\Common\Collections\ArrayCollection;
use Doctrine\Common\Collections\Collection;
use Doctrine\Common\Collections\Criteria;
+use Doctrine\Common\Collections\ReadableCollection;
use Doctrine\ORM\Mapping as ORM;
use LogicException;
use Symfony\Component\Serializer\Annotation as Serializer;
@@ -92,6 +93,7 @@ class Calendar implements TrackCreationInterface, TrackUpdateInterface, HasCente
/**
* @ORM\ManyToOne(targetEntity="Chill\PersonBundle\Entity\AccompanyingPeriod", inversedBy="calendars")
+ * @Serializer\Groups({"calendar:read", "read"})
*/
private ?AccompanyingPeriod $accompanyingPeriod = null;
@@ -507,10 +509,10 @@ class Calendar implements TrackCreationInterface, TrackUpdateInterface, HasCente
}
/**
- * @return Collection|User[]
+ * @return ReadableCollection<(int|string), User>
* @Serializer\Groups({"calendar:read", "read"})
*/
- public function getUsers(): Collection
+ public function getUsers(): ReadableCollection
{
return $this->getInvites()->map(static function (Invite $i) {
return $i->getUser();
diff --git a/src/Bundle/ChillCalendarBundle/Export/Export/CountCalendars.php b/src/Bundle/ChillCalendarBundle/Export/Export/CountCalendars.php
index 06d6defca..f3bf79547 100644
--- a/src/Bundle/ChillCalendarBundle/Export/Export/CountCalendars.php
+++ b/src/Bundle/ChillCalendarBundle/Export/Export/CountCalendars.php
@@ -52,7 +52,7 @@ class CountCalendars implements ExportInterface, GroupedExportInterface
return 'Exports of calendar';
}
- public function getLabels($key, array $values, $data): Closure
+ public function getLabels($key, array $values, $data)
{
if ('export_result' !== $key) {
throw new LogicException("the key {$key} is not used by this export");
diff --git a/src/Bundle/ChillCalendarBundle/Form/CalendarDocEditType.php b/src/Bundle/ChillCalendarBundle/Form/CalendarDocEditType.php
index 26a9d59e2..34a501028 100644
--- a/src/Bundle/ChillCalendarBundle/Form/CalendarDocEditType.php
+++ b/src/Bundle/ChillCalendarBundle/Form/CalendarDocEditType.php
@@ -26,9 +26,6 @@ class CalendarDocEditType extends AbstractType
->add('title', TextType::class, [
'label' => 'chill_calendar.Document title',
'required' => true,
- ])
- ->add('doc', StoredObjectType::class, [
- 'label' => 'chill_calendar.Document object',
]);
}
diff --git a/src/Bundle/ChillCalendarBundle/Resources/public/vuejs/Calendar/App.vue b/src/Bundle/ChillCalendarBundle/Resources/public/vuejs/Calendar/App.vue
index 32b6b569b..e09175a4b 100644
--- a/src/Bundle/ChillCalendarBundle/Resources/public/vuejs/Calendar/App.vue
+++ b/src/Bundle/ChillCalendarBundle/Resources/public/vuejs/Calendar/App.vue
@@ -15,6 +15,7 @@
:picked="null !== this.$store.getters.getMainUser ? [this.$store.getters.getMainUser] : []"
:removableIfSet="false"
:displayPicked="false"
+ :suggested="this.suggestedUsers"
@addNewEntity="setMainUser"
>
+ {% if is_granted('CHILL_ACTIVITY_SEE', calendar.activity) %}
+
+
+
+ {% endif %}
+
+
+
+
+
+
+
+ {% endif %}
+
+
{% if is_granted('CHILL_CALENDAR_CALENDAR_SEE', calendar) %}
{% if templates|length == 0 %}
@@ -147,7 +186,12 @@
{% endif %}
{% endif %}
- {% if accompanyingCourse is defined and is_granted('CHILL_ACTIVITY_CREATE', accompanyingCourse) and calendar.activity is null %}
+ {% if calendar.activity is null and (
+ (calendar.context == 'accompanying_period' and is_granted('CHILL_ACTIVITY_CREATE', calendar.accompanyingPeriod))
+ or
+ (calendar.context == 'person' and is_granted('CHILL_ACTIVITY_CREATE', calendar.person))
+ )
+ %}
diff --git a/src/Bundle/ChillCalendarBundle/translations/messages.fr.yml b/src/Bundle/ChillCalendarBundle/translations/messages.fr.yml
index aa933bb63..eb02be280 100644
--- a/src/Bundle/ChillCalendarBundle/translations/messages.fr.yml
+++ b/src/Bundle/ChillCalendarBundle/translations/messages.fr.yml
@@ -132,8 +132,8 @@ docgen:
Base context for calendar: 'Rendez-vous: contexte de base'
A base context for generating document on calendar: Contexte pour générer des documents à partir des rendez-vous
Track changes on datetime and warn user if date time is updated after the doc generation: Suivre les changements sur le document et prévenir les utilisateurs que la date et l'heure ont été modifiée après la génération du document
- Ask main person: Demander de choisir une personne parmi les participants aux rendez-vous
- Main person label: Label pour choisir la personne
+ Ask main person: Demander de choisir un usager parmi les participants aux rendez-vous
+ Main person label: Label pour choisir l'usager
Ask third party: Demander de choisir un tiers parmi les participants aux rendez-vous
Third party label: Label pour choisir le tiers
Destinee: Destinataire
diff --git a/src/Bundle/ChillCalendarBundle/translations/validators.fr.yml b/src/Bundle/ChillCalendarBundle/translations/validators.fr.yml
index 7d9be7a91..03343ba8a 100644
--- a/src/Bundle/ChillCalendarBundle/translations/validators.fr.yml
+++ b/src/Bundle/ChillCalendarBundle/translations/validators.fr.yml
@@ -1,5 +1,5 @@
calendar:
- At least {{ limit }} person is required.: Au moins {{ limit }} personne doit être associée à ce rendez-vous
+ At least {{ limit }} person is required.: Au moins {{ limit }} usager doit être associée à ce rendez-vous
An end date is required: Indiquez une date et heure de fin
A start date is required: Indiquez une date et heure de début
A location is required: Indiquez un lieu
diff --git a/src/Bundle/ChillDocStoreBundle/Entity/AccompanyingCourseDocument.php b/src/Bundle/ChillDocStoreBundle/Entity/AccompanyingCourseDocument.php
index d7bd1f274..d0613f9a3 100644
--- a/src/Bundle/ChillDocStoreBundle/Entity/AccompanyingCourseDocument.php
+++ b/src/Bundle/ChillDocStoreBundle/Entity/AccompanyingCourseDocument.php
@@ -11,6 +11,7 @@ declare(strict_types=1);
namespace Chill\DocStoreBundle\Entity;
+use Chill\MainBundle\Entity\HasCentersInterface;
use Chill\MainBundle\Entity\HasScopesInterface;
use Chill\PersonBundle\Entity\AccompanyingPeriod;
use Doctrine\ORM\Mapping as ORM;
@@ -19,7 +20,7 @@ use Doctrine\ORM\Mapping as ORM;
* @ORM\Entity
* @ORM\Table("chill_doc.accompanyingcourse_document")
*/
-class AccompanyingCourseDocument extends Document implements HasScopesInterface
+class AccompanyingCourseDocument extends Document implements HasScopesInterface, HasCentersInterface
{
/**
* @ORM\ManyToOne(targetEntity=AccompanyingPeriod::class)
@@ -27,6 +28,11 @@ class AccompanyingCourseDocument extends Document implements HasScopesInterface
*/
private ?AccompanyingPeriod $course = null;
+ public function getCenters(): ?iterable
+ {
+ return $this->course->getCenters();
+ }
+
public function getCourse(): ?AccompanyingPeriod
{
return $this->course;
diff --git a/src/Bundle/ChillDocStoreBundle/Resources/views/List/list_item.html.twig b/src/Bundle/ChillDocStoreBundle/Resources/views/List/list_item.html.twig
index dffff01aa..8dea4bbe7 100644
--- a/src/Bundle/ChillDocStoreBundle/Resources/views/List/list_item.html.twig
+++ b/src/Bundle/ChillDocStoreBundle/Resources/views/List/list_item.html.twig
@@ -51,16 +51,9 @@
{% if document.course is defined %}
- {% if is_granted('CHILL_ACCOMPANYING_COURSE_DOCUMENT_DELETE', document) %}
-
diff --git a/src/Bundle/ChillPersonBundle/Search/PersonSearch.php b/src/Bundle/ChillPersonBundle/Search/PersonSearch.php
index 3de2fd4f1..7cd1849a3 100644
--- a/src/Bundle/ChillPersonBundle/Search/PersonSearch.php
+++ b/src/Bundle/ChillPersonBundle/Search/PersonSearch.php
@@ -203,15 +203,6 @@ class PersonSearch extends AbstractSearch implements HasAdvancedSearchFormInterf
return true;
}
- /**
- * (non-PHPdoc).
- *
- * @see \Chill\MainBundle\Search\SearchInterface::renderResult()
- *
- * @param mixed $start
- * @param mixed $limit
- * @param mixed $format
- */
public function renderResult(array $terms, $start = 0, $limit = 50, array $options = [], $format = 'html')
{
$terms = $this->findAdditionnalInDefault($terms);
@@ -236,15 +227,13 @@ class PersonSearch extends AbstractSearch implements HasAdvancedSearchFormInterf
]
);
}
-
- if ('json' === $format) {
- return [
- 'results' => $this->search($terms, $start, $limit, array_merge($options, ['simplify' => true])),
- 'pagination' => [
- 'more' => $paginator->hasNextPage(),
- ],
- ];
- }
+ // format is "json"
+ return [
+ 'results' => $this->search($terms, $start, $limit, array_merge($options, ['simplify' => true])),
+ 'pagination' => [
+ 'more' => $paginator->hasNextPage(),
+ ],
+ ];
}
public function supports($domain, $format)
diff --git a/src/Bundle/ChillPersonBundle/Search/SearchHouseholdApiProvider.php b/src/Bundle/ChillPersonBundle/Search/SearchHouseholdApiProvider.php
index 02d944d15..819554252 100644
--- a/src/Bundle/ChillPersonBundle/Search/SearchHouseholdApiProvider.php
+++ b/src/Bundle/ChillPersonBundle/Search/SearchHouseholdApiProvider.php
@@ -84,15 +84,19 @@ class SearchHouseholdApiProvider implements SearchApiInterface
count($phoneResult->getFound()) > 0 ? $phoneResult->getFound()[0] : null
);
+ $previousFrom = $query->getFromClause();
+ $previousParams = $query->getFromParams();
+
$query
- ->setDistinct(true, 'household_id')
+ ->setDistinct(true, 'cpphm.household_id')
->setFromClause(
- 'view_chill_person_household_address AS vcpha ' .
- 'JOIN chill_person_person AS person ON vcpha.person_id = person.id'
+ $previousFrom . ' '.
+ 'JOIN chill_person_household_members AS cpphm ON cpphm.person_id = person.id',
+ $previousParams
)
+ ->andWhereClause('(cpphm.startDate <= NOW() AND (cpphm.endDate IS NULL or cpphm.endDate > NOW()))')
->setSelectKey('household')
- ->andWhereClause('vcpha.validTo IS NULL', [])
- ->setSelectJsonbMetadata("jsonb_build_object('id', vcpha.household_id)");
+ ->setSelectJsonbMetadata("jsonb_build_object('id', cpphm.household_id)");
return $query;
}
diff --git a/src/Bundle/ChillPersonBundle/Service/DocGenerator/AccompanyingPeriodContext.php b/src/Bundle/ChillPersonBundle/Service/DocGenerator/AccompanyingPeriodContext.php
index 3a92df3a4..4a08eff08 100644
--- a/src/Bundle/ChillPersonBundle/Service/DocGenerator/AccompanyingPeriodContext.php
+++ b/src/Bundle/ChillPersonBundle/Service/DocGenerator/AccompanyingPeriodContext.php
@@ -27,6 +27,7 @@ use Chill\PersonBundle\Entity\Person;
use Chill\PersonBundle\Repository\PersonRepository;
use Chill\PersonBundle\Templating\Entity\PersonRenderInterface;
use DateTime;
+use Doctrine\Common\Collections\ArrayCollection;
use Doctrine\ORM\EntityManagerInterface;
use Doctrine\ORM\EntityRepository;
use Symfony\Bridge\Doctrine\Form\Type\EntityType;
@@ -159,9 +160,9 @@ class AccompanyingPeriodContext implements
public function buildPublicForm(FormBuilderInterface $builder, DocGeneratorTemplate $template, mixed $entity): void
{
$options = $template->getOptions();
- $persons = $entity->getCurrentParticipations()->map(static function (AccompanyingPeriodParticipation $p) {
+ $persons = new ArrayCollection($entity->getCurrentParticipations()->map(static function (AccompanyingPeriodParticipation $p) {
return $p->getPerson();
- });
+ })->toArray());
foreach ($entity->getCurrentParticipations() as $p) {
foreach ($p->getPerson()->getResources() as $r) {
diff --git a/src/Bundle/ChillPersonBundle/Workflow/AccompanyingPeriodWorkWorkflowHandler.php b/src/Bundle/ChillPersonBundle/Workflow/AccompanyingPeriodWorkWorkflowHandler.php
index 75ad04cfb..3cdf23f88 100644
--- a/src/Bundle/ChillPersonBundle/Workflow/AccompanyingPeriodWorkWorkflowHandler.php
+++ b/src/Bundle/ChillPersonBundle/Workflow/AccompanyingPeriodWorkWorkflowHandler.php
@@ -102,7 +102,9 @@ class AccompanyingPeriodWorkWorkflowHandler implements EntityWorkflowHandlerInte
->getAccompanyingPeriod()
->getUser();
- $suggestedUsers[spl_object_hash($referrer)] = $referrer;
+ if (null !== $referrer) {
+ $suggestedUsers[spl_object_hash($referrer)] = $referrer;
+ }
return $suggestedUsers;
}
diff --git a/src/Bundle/ChillPersonBundle/config/services/exports_person.yaml b/src/Bundle/ChillPersonBundle/config/services/exports_person.yaml
index a8563e5ca..bf372ea06 100644
--- a/src/Bundle/ChillPersonBundle/config/services/exports_person.yaml
+++ b/src/Bundle/ChillPersonBundle/config/services/exports_person.yaml
@@ -110,6 +110,12 @@ services:
tags:
- { name: chill.export_filter, alias: person_geog_filter }
+ Chill\PersonBundle\Export\Filter\PersonFilters\AddressRefStatusFilter:
+ autowire: true
+ autoconfigure: true
+ tags:
+ - { name: chill.export_filter, alias: person_address_ref_status_filter }
+
Chill\PersonBundle\Export\Filter\PersonFilters\ByHouseholdCompositionFilter:
tags:
- { name: chill.export_filter, alias: person_by_household_composition_filter }
diff --git a/src/Bundle/ChillPersonBundle/translations/messages.fr.yml b/src/Bundle/ChillPersonBundle/translations/messages.fr.yml
index 090f35c1c..18e3ab13f 100644
--- a/src/Bundle/ChillPersonBundle/translations/messages.fr.yml
+++ b/src/Bundle/ChillPersonBundle/translations/messages.fr.yml
@@ -47,8 +47,8 @@ Phonenumber: 'Numéro de téléphone'
phonenumber: numéro de téléphone
Mobilenumber: 'Numéro de téléphone portable'
mobilenumber: numéro de téléphone portable
-Accept short text message ?: La personne a donné l'autorisation d'utiliser ce no de téléphone pour l'envoi de rappel par SMS
-Accept short text message: La personne a donné l'autorisation d'utiliser ce no de téléphone pour l'envoi de rappel par SMS
+Accept short text message ?: L'usager a donné l'autorisation d'utiliser ce no de téléphone pour l'envoi de rappel par SMS
+Accept short text message: L'usager a donné l'autorisation d'utiliser ce no de téléphone pour l'envoi de rappel par SMS
Other phonenumber: Autre numéro de téléphone
Others phone numbers: Autres numéros de téléphone
No additional phone numbers: Aucun numéro de téléphone supplémentaire
@@ -85,9 +85,9 @@ Course number: Parcours n°
Civility: Civilité
choose civility: --
All genders: tous les genres
-Any person selected: Aucune personne sélectionnée
-Create a household and add an address: Ajouter une adresse pour une personne non suivie et seule dans un ménage
-A new household will be created. The person will be member of this household.: Un nouveau ménage va être créé. La personne sera membre de ce ménage.
+Any person selected: Aucun usager sélectionné
+Create a household and add an address: Ajouter une adresse pour un usager non suivie et seule dans un ménage
+A new household will be created. The person will be member of this household.: Un nouveau ménage va être créé. L'usager sera membre de ce ménage.
Comment on the gender: Commentaire sur le genre
genderComment: Commentaire sur le genre
maritalStatus: État civil
@@ -136,10 +136,10 @@ address_country_name: Pays
address_country_code: Code pays
'Alreay existing person': 'Dossiers déjà encodés'
-'Add the person': 'Ajouter la personne'
-'Add the person and create an accompanying period': "Créer la personne ET créer une période d'accompagnement"
-'Add the person and create a household': "Créer la personne ET créer un ménage"
-Show person: Voir le dossier de la personne
+'Add the person': "Ajouter l'usager"
+'Add the person and create an accompanying period': "Créer l'usager et créer un parcours d'accompagnement"
+'Add the person and create a household': "Créer l'usager et créer un ménage"
+Show person: Voir le dossier de l'usager
'Confirm the creation': 'Confirmer la création'
'You will create this person': 'Vous allez créer le dossier suivant'
Return: Retour
@@ -148,51 +148,51 @@ Reset: 'Remise à zéro'
'The person data has been updated': 'Les données ont été mises à jour.'
'The person data provided are not valid': 'Les données introduites ne sont pas valides'
'{1} The person field %field% is incorrect. Please check. | ]1, Inf] Several person fields are incorrect. Please check.': '{1} Le champs %field% est incorrect. Veuillez le corriger. | ]1, Inf] Plusieurs champs sont incorrects. Veuillez les vérifier.'
-'Add a person': 'Ajout d''une personne'
-'Person Menu': 'Menu personne'
+'Add a person': 'Ajout d''un usager'
+'Person Menu': 'Menu usager'
'The person data are not valid': 'Les données de votre formulaire sont invalides.'
-'%nb% person with similar name. Please verify that this is a new person': '{1} Une personne a un nom similaire. Vérifiez qu''il ne s''agit pas d''elle. | ]1, Inf] %nb% personnes ont un nom similaire. Vérifiez qu''il ne s''agit pas de l''une d''elles.'
+'%nb% person with similar name. Please verify that this is a new person': '{1} Une usager a un nom similaire. Vérifiez qu''il ne s''agit pas d''elle. | ]1, Inf] %nb% usagers ont un nom similaire. Vérifiez qu''il ne s''agit pas de l''une d''elles.'
'The person has been created': 'Le dossier a été créé'
-'Person search results': 'Recherche de personnes'
-Person search results by phonenumber: Recherche de personnes par numéro de téléphone
-'Search within persons': 'Recherche parmi les personnes'
-Open person file: Ouvrir le dossier de la personne
+'Person search results': 'Recherche de usagers'
+Person search results by phonenumber: Recherche d'usager par numéro de téléphone
+'Search within persons': 'Recherche parmi les usagers'
+Open person file: Ouvrir le dossier de l'usager
and %number% other: '{0} et aucun autre| {1} et une autre |]1, Inf] et %number% autres'
-'%total% persons matching the search pattern:': '{0} Aucune personne ne correspond aux termes de recherche : | {1} Une personne a été trouvée par la recherche : | ]1,Inf] %total% personnes correspondent aux termes de recherche :'
+'%total% persons matching the search pattern:': '{0} Aucune usager ne correspond aux termes de recherche : | {1} Un usager a été trouvé par la recherche : | ]1,Inf] %total% usagers correspondent aux termes de recherche :'
'Last opening since %last_opening%': 'Dernière ouverture le %last_opening%.'
'Person accompanying period - %name%': 'Historique du dossier - %name%'
'Opening date': 'Date d''ouverture'
'Closing date': 'Date de clôture'
'Period opened': 'Période ouverte'
-'Close accompanying period': 'Clôre la période'
-'Open accompanying period': 'Ouvrir la période'
+'Close accompanying period': 'Clôre le parcours'
+'Open accompanying period': 'Ouvrir le parcours'
Period number %number%: 'Période n° %number%'
-'Add an accompanying period in the past': Ajouter une période d'accompagnement dans le passé
-Begin a new accompanying period: Commencer une nouvelle période d'accompagnement
-Create an accompanying period: Créer une période d'accompagnement
-'A period has been created.': Une période d'accompagnement a été créée.
-'Error! Period not created!': La période d'accompagnement n'a pas été créée.
-Update accompanying period: Mettre à jour une période d'accompagnement
-'An accompanying period has been updated.': Une période d'accompagnement a été mise à jour
-'Error when updating the period': Erreur pendant la mise à jour de la période d'accompagnement.
-'An accompanying period has been closed.': Une période d'accompagnement a été fermée.
-'Error! Period not closed!': "Erreur: la période d'accompagnement n'a pas été fermée."
-'An accompanying period has been opened.': Une période d'accompagnement a été ouverte.
+'Add an accompanying period in the past': Ajouter un parcours d'accompagnement dans le passé
+Begin a new accompanying period: Commencer un nouveau parcours d'accompagnement
+Create an accompanying period: Créer un parcours d'accompagnement
+'A period has been created.': Un parcours d'accompagnement a été créé.
+'Error! Period not created!': Le parcours d'accompagnement n'a pas été créé.
+Update accompanying period: Mettre à jour un parcours d'accompagnement
+'An accompanying period has been updated.': Un parcours d'accompagnement a été mise à jour
+'Error when updating the period': Erreur pendant la mise à jour du parcours d'accompagnement.
+'An accompanying period has been closed.': Un parcours d'accompagnement a été fermée.
+'Error! Period not closed!': "Erreur: le parcours d'accompagnement n'a pas été fermé."
+'An accompanying period has been opened.': Un parcours d'accompagnement a été ouvert.
'No remark': Pas de remarque
-'Period not opened': "La période d'accompagnement n'a pas été ouverte"
-"Period not opened : form is invalid": "La période n'a pas été ouverte: le formulaire est invalide."
+'Period not opened': "Le parcours d'accompagnement n'a pas été ouvert"
+"Period not opened : form is invalid": "Le parcours d'accompagnement n'a pas été ouverte: le formulaire est invalide."
'Closing motive': 'Motif de clôture'
This course is closed: Ce parcours est clôturé
Close accompanying course: Clôturer le parcours
Re-open accompanying course: Ré-ouvrir le parcours
-'Person details': 'Détails de la personne'
+'Person details': "Détails de l'usager"
'Update details for %name%': 'Modifier détails de %name%'
-An accompanying period ends: Une periode d'accompagnement se clôture
-An accompanying period starts: Une période d'accompagnement est ouverte
-Any accompanying periods are open: Aucune période d'accompagnement ouverte
-An accompanying period is open: Une période d'accompagnement est ouverte
-Accompanying period list: Périodes d'accompagnement
-Accompanying period list for person: Périodes d'accompagnement de la personne
+An accompanying period ends: Un parcours d'accompagnement se clôture
+An accompanying period starts: Un parcours d'accompagnement est ouvert
+Any accompanying periods are open: Aucune parcours d'accompagnement ouvert
+An accompanying period is open: Un parcours d'accompagnement est ouvert
+Accompanying period list: Parcours d'accompagnement
+Accompanying period list for person: Parcours d'accompagnement de l'usager
Accompanying period: Parcours d'accompagnement
Any accompanying period: Aucun parcours d'accompagnement
period: Parcours
@@ -200,17 +200,17 @@ New accompanying course: Nouveau parcours d'accompagnement
Choose a motive: Motif de fermeture
Re-open accompanying period: Ré-ouvrir
Re-Open a period: Ré-ouvrir
-Are you sure you want to re-open this period ?: Êtes-vous sûr de vouloir ré-ouvrir cette période d'accompagnement ?
-'The period has been re-opened': La période d'accompagnement a été ré-ouverte.
+Are you sure you want to re-open this period ?: Êtes-vous sûr de vouloir ré-ouvrir cet parcours d'accompagnement ?
+'The period has been re-opened': Le parcours d'accompagnement a été ré-ouverte.
Pediod closing form is not valid: Le formulaire n'est pas valide
Accompanying user: Accompagnant
No accompanying user: Aucun accompagnant
No data given: Pas d'information
-Participants: Personnes impliquées
+Participants: Usagers impliquées
Create an accompanying course: Créer un parcours
Accompanying courses of users: Parcours des utilisateurs
This accompanying course is still a draft: Ce parcours est encore à l'état brouillon.
-Associated peoples: Personnes concernées
+Associated peoples: Usagers concernées
Resources: Interlocuteurs privilégiés
Any requestor to this accompanying course: Aucun demandeur pour ce parcours
Social action: Action d'accompagnement
@@ -222,47 +222,47 @@ Social issues: Problématiques sociales
Pick a social issue: Choisir une problématique sociale
Last events on accompanying course: Dernières actions de suivi
Edit & activate accompanying course: Modifier et valider
-See accompanying periods: Voir toutes les périodes d'accompagnement
-See accompanying period: Voir la période
-Edit accompanying period: Modifier la période
-See this period: Voir cette période
+See accompanying periods: Voir tous les parcours d'accompagnement
+See accompanying period: Voir le parcours
+Edit accompanying period: Modifier le parcours
+See this period: Voir cet parcours
Requestor: Demandeur
No requestor: Pas de demandeur
No resources: "Pas d'interlocuteurs privilégiés"
-Persons associated: Personnes concernés
+Persons associated: Usagers concernés
Referrer: Référent
Referrers: Agents traitants
Referrer2: Agent traitant
No referrer: Pas d'agent traitant
-Some peoples does not belong to any household currently. Add them to an household soon: Certaines personnes n'appartiennent à aucun ménage actuellement. Renseignez leur ménage dès que possible.
+Some peoples does not belong to any household currently. Add them to an household soon: Certains usagers n'appartiennent à aucun ménage actuellement. Renseignez leur ménage dès que possible.
Add to household now: Ajouter à un ménage
Any resource for this accompanying course: Aucun interlocuteur privilégié pour ce parcours
course.draft: Brouillon
course.closed: Clôturé
Origin: Origine de la demande
-Delete accompanying period: Supprimer la période d'accompagnement
-Are you sure you want to remove the accompanying period "%id%" ?: Êtes-vous sûr de vouloir supprimer la période d'accompagnement %id% ?
-The accompanying course has been successfully removed.: La période d'accompagnement a été supprimée.
+Delete accompanying period: Supprimer le parcours d'accompagnement
+Are you sure you want to remove the accompanying period "%id%" ?: Êtes-vous sûr de vouloir supprimer le parcours d'accompagnement %id% ?
+The accompanying course has been successfully removed.: Le parcours d'accompagnement a été supprimé.
Concerned scopes: Services concernés
# person resource
person_resources_menu: "Personnes ressources"
-Person resources: "Ressources de la personne"
-Add a person resource: "Ajouter une ressource"
-edit resource: "Modifier ressource"
-Remove resource: "Supprimer ressource"
+Person resources: "Personnes ressources de l'usager"
+Add a person resource: "Ajouter une person ressource"
+edit resource: "Modifier la ressource"
+Remove resource: "Supprimer la ressource"
Are you sure you want to remove the resource for "%name%" ?: Étes-vous sûr de vouloir supprimer cette ressource de %name%?
The resource has been successfully removed.: "La ressource a été supprimée."
-List of resources: "Liste des ressources"
-There are no available resources: "Aucun ressource"
+List of resources: "Liste des personnes ressources"
+There are no available resources: "Aucun personne ressource"
no comment found: "Aucun commentaire"
Select a type: "Choisissez un type"
-Select a person: "Choisissez une personne"
+Select a person: "Choisissez un usager"
Kind: "Type"
# pickAPersonType
-Pick a person: Choisir une personne
+Pick a person: Choisir un usager
# Address
No address given: Pas d'adresse renseignée
@@ -277,19 +277,19 @@ New address : Nouvelle adresse
New address for %name% : Nouvelle adresse pour %name%
The new address was created successfully: La nouvelle adresse a été créée
Add an address: Ajouter une adresse
-Back to the person details: Retour aux détails de la personne
+Back to the person details: Retour aux détails de l'usager
# Residential address
Residential addresses history for %name%: Historique des adresses de résidence de %name%
Residential addresses history: Historique des adresses de résidence
Add a residential address: Ajouter une adresse de résidence
Which kind of residential address would you create ?: Quel type d'adresse de résidence voulez-vous créer?
-The address of another person: L'adresse d'une autre personne
+The address of another person: L'adresse d'une autre usager
A new address: Une nouvelle adresse
-residential_address_person_explanation: L'adresse sera positionnée auprès d'une personne. Lorsque la personne déménage, l'adresse de résidence suivra également cette personne
+residential_address_person_explanation: L'adresse sera positionnée auprès d'un usager. Lorsque l'usager déménage, l'adresse de résidence suivra également cette usager
residential_address_new_address_explanation: Créer une nouvelle adresse. L'adresse sera fixe.
New residential address: Nouvelle adresse de résidence
-Host person: Choisir l'adresse d'une personne
+Host person: Choisir l'adresse d'un usager
The new residential address was created successfully: La nouvelle adresse de résidence a été créée
Edit a residential address: Modifier l'addresse de résidence
The residential address was updated successfully: L'adresse de résidence a été mise à jour
@@ -303,29 +303,29 @@ Residential address had been deleted: L'adresse de résidence a été supprimée
#timeline
Timeline: Historique
-Closing the accompanying period: Fermeture de la période d'accompagnement
-Opening the accompanying period: Ouverture d'une période d'accompagnement
+Closing the accompanying period: Fermeture du parcours d'accompagnement
+Opening the accompanying period: Ouverture d'un parcours d'accompagnement
'Timeline for %name%': 'Historique de %name%'
# ROLES
-CHILL_PERSON_SEE: Voir les personnes
-CHILL_PERSON_UPDATE: Modifier les personnes
-CHILL_PERSON_CREATE: Ajouter des personnes
-CHILL_PERSON_STATS: Statistiques sur les personnes
-CHILL_PERSON_LISTS: Liste des personnes
-CHILL_PERSON_DUPLICATE: Gérer les doublons de personnes
+CHILL_PERSON_SEE: Voir les usagers
+CHILL_PERSON_UPDATE: Modifier les usagers
+CHILL_PERSON_CREATE: Ajouter des usagers
+CHILL_PERSON_STATS: Statistiques sur les usagers
+CHILL_PERSON_LISTS: Liste des usagers
+CHILL_PERSON_DUPLICATE: Gérer les doublons d'usagers
-CHILL_PERSON_ACCOMPANYING_PERIOD_SEE: Vision simplifiée d'une période d'accompagnement
-CHILL_PERSON_ACCOMPANYING_PERIOD_CONFIDENTIAL: Voir et modifier les périodes d'accompagnement confidentielles
-CHILL_PERSON_ACCOMPANYING_PERIOD_DELETE: Supprimer une période d'accompagnement
+CHILL_PERSON_ACCOMPANYING_PERIOD_SEE: Vision simplifiée d'un parcours d'accompagnement
+CHILL_PERSON_ACCOMPANYING_PERIOD_CONFIDENTIAL: Voir et modifier les parcours d'accompagnement confidentielles
+CHILL_PERSON_ACCOMPANYING_PERIOD_DELETE: Supprimer un pacours d'accompagnement
CHILL_PERSON_ACCOMPANYING_PERIOD_RE_OPEN: Ré-ouvrir un parcours clotûré
CHILL_PERSON_ACCOMPANYING_PERIOD_TOGGLE_CONFIDENTIAL_ALL: Modifier la confidentialité de tous les parcours
-CHILL_PERSON_ACCOMPANYING_PERIOD_CRUD_CONFIDENTIAL: Voir les périodes d'accompagnement confidentielles
-CHILL_PERSON_ACCOMPANYING_PERIOD_CREATE: Créer une période d'accompagnement
-CHILL_PERSON_ACCOMPANYING_PERIOD_UPDATE: Modifier une période d'accompagnement
-CHILL_PERSON_ACCOMPANYING_PERIOD_FULL: Voir les détails, créer, supprimer et mettre à jour une période d'accompagnement
+CHILL_PERSON_ACCOMPANYING_PERIOD_CRUD_CONFIDENTIAL: Voir les parcours d'accompagnement confidentiels
+CHILL_PERSON_ACCOMPANYING_PERIOD_CREATE: Créer un parcours d'accompagnement
+CHILL_PERSON_ACCOMPANYING_PERIOD_UPDATE: Modifier un parcours d'accompagnement
+CHILL_PERSON_ACCOMPANYING_PERIOD_FULL: Voir les détails, créer, supprimer et mettre à jour un parcours d'accompagnement
CHILL_PERSON_ACCOMPANYING_COURSE_REASSIGN_BULK: Réassigner les parcours en lot
-CHILL_PERSON_ACCOMPANYING_PERIOD_SEE_DETAILS: Voir les détails d'une période d'accompagnement
+CHILL_PERSON_ACCOMPANYING_PERIOD_SEE_DETAILS: Voir les détails d'un parcours d'accompagnement
CHILL_PERSON_ACCOMPANYING_PERIOD_STATS: Statistiques sur les parcours d'accompagnement
CHILL_MAIN_ACCOMPANYING_PERIOD_WORK_CREATE: Créer une action d'accompagnement
@@ -342,28 +342,28 @@ CHILL_PERSON_HOUSEHOLD_EDIT: Modifier les ménages
CHILL_PERSON_HOUSEHOLD_STATS: Statistiques sur les ménages
#period
-Period closed!: Période clôturée!
+Period closed!: Parcours clôturé!
Pediod closing form is not valide: Le formulaire de fermeture n'est pas valide
#widget
## widget person_list
-Accompanyied people: Personnes accompagnées
+Accompanyied people: Usagers accompagnés
## exports
-Exports of persons: Exports des personnes
-Count people by various parameters.: Compte le nombre de personnes en fonction de différents filtres.
-Count people: Nombre de personnes
-List peoples: Liste des personnes
-Create a list of people according to various filters.: Crée une liste des personnes selon différents filtres.
+Exports of persons: Exports des usagers
+Count people by various parameters.: Compte le nombre d'usagers en fonction de différents filtres.
+Count people: Nombre d'usagers
+List peoples: Liste des usagers
+Create a list of people according to various filters.: Crée une liste d'usagers selon différents filtres.
Fields to include in export: Champs à inclure dans l'export
Address valid at this date: Addresse valide à cette date
Data valid at this date: Données valides à cette date
Data regarding center, addresses, and so on will be computed at this date: Les données concernant le centre, l'adresse, le ménage, sera calculé à cette date.
List duplicates: Liste des doublons
-Create a list of duplicate people: Créer la liste des personnes détectées comme doublons.
-Count people participating in an accompanying course: Nombre de personnes concernées par un parcours
-Count people participating in an accompanying course by various parameters.: Compte le nombre de personnes concernées par un parcours
+Create a list of duplicate people: Créer la liste des usagers détectés comme doublons.
+Count people participating in an accompanying course: Nombre d'usagers concernés par un parcours
+Count people participating in an accompanying course by various parameters.: Compte le nombre d'usagers concernées par un parcours
Exports of accompanying courses: Exports des parcours d'accompagnement
Count accompanying courses: Nombre de parcours
@@ -384,33 +384,33 @@ Count evaluation by various parameters.: Compte le nombre d'évaluations selon d
Exports of households: Exports des ménages
## persons filters
-Filter by person gender: Filtrer les personnes par genre
+Filter by person gender: Filtrer les usagers par genre
Accepted genders: Genres acceptés
'Filtering by genders: only %genders%': 'Filtré par genre: seulement %genders%'
-Filter by person's nationality: Filtrer les personnes par nationalité
+Filter by person's nationality: Filtrer les usagers par nationalité
Nationalities: Nationalités
Choose countries: Choisir les nationalités
'Filtered by nationality : %nationalities%': 'Filtré par nationalité : seulement %nationalities%'
-Filter by person's birthdate: Filtrer les personnes par date de naissance
+Filter by person's birthdate: Filtrer les usagers par date de naissance
Born after this date: Nés après cette date
Born before this date: Nés avant cette date
This field should not be empty: Ce champ ne peut pas être vide
This date should be after the date given in "born after" field: Cette date doit être après la date donnée du le champ "nés après le"
-"Filtered by person's birthdate: between %date_from% and %date_to%": "Filtré par date de naissance de la personne: uniquement nés entre le %date_from% et %date_to%"
+"Filtered by person's birthdate: between %date_from% and %date_to%": "Filtré par date de naissance de l'usager: uniquement nés entre le %date_from% et %date_to%"
-Filter by person's deathdate: Filtrer les personnes par date de décès
-"Filtered by person's deathdate: between %date_from% and %date_to%": "Filtré par date de naissance de la personne: uniquement nés entre le %date_from% et %date_to%"
+Filter by person's deathdate: Filtrer les usagers par date de décès.
+"Filtered by person's deathdate: between %date_from% and %date_to%": "Filtré par date de naissance de l'usager: uniquement nés entre le %date_from% et %date_to%"
Death after this date: Décédé après cette date
Deathdate before: Décédé avant cette date
Alive: Vivant
Deceased: Décédé
Filter in relation to this date: Filtrer par rapport à cette date
-"Filtered by a state of %deadOrAlive%: at this date %date_calc%": Filtré par personnes qui sont %deadOrAlive% à cette date %date_calc%
+"Filtered by a state of %deadOrAlive%: at this date %date_calc%": Filtré par usagers qui sont %deadOrAlive% à cette date %date_calc%
-Filter by person's age: Filtrer les personnes par age
-"Filtered by person's age: between %min_age% and %max_age%": "Filtré par âge de la personne entre %min_age% et %max_age%"
+Filter by person's age: Filtrer les usagers par age.
+"Filtered by person's age: between %min_age% and %max_age%": "Filtré par âge de l'usager entre %min_age% et %max_age%"
Minimum age: Âge minimum
Maximum age: Âge maximum
The minimum age should be less than the maximum age.: L'âge minimum doit être plus bas que l'âge maximum.
@@ -420,38 +420,38 @@ Date during which residential address was valid: Date de validité
Family composition: Composition familiale
Family composition at this time: Composition familiale à cette date.
-Filter by person's marital status: Filtrer les personnes par état matrimonial
+Filter by person's marital status: Filtrer les usagers par état matrimonial
Filtered by person's marital status: Filtré par état matrimonial
Marital status at this time: État matrimonial par rapport à cette date
-Filter by entrusted child status: Filtrer les personnes "enfant confié"
-Filtered by entrusted child status: Uniquement les personnes qui sont "enfant confié"
+Filter by entrusted child status: Filtrer les usagers "enfant confié"
+Filtered by entrusted child status: Uniquement les usagers qui sont "enfant confié"
-Filter by nomadic status: Filtrer les personnes "gens du voyage"
-Filtered by nomadic status: Uniquement les personnes qui sont "gens du voyage"
+Filter by nomadic status: Filtrer les usagers "gens du voyage"
+Filtered by nomadic status: Uniquement les usagers qui sont "gens du voyage"
-"Filter by person's who have a residential address located at another user": Filtrer les personnes qui ont une addresse de résidence chez une autre personne
-"Filtered by person's who have a residential address located at another user": Uniquement les personnes qui ont une addresse de résidence chez une autre personne
+"Filter by person's who have a residential address located at another user": Filtrer les usagers qui ont une addresse de résidence chez une autre usager
+"Filtered by person's who have a residential address located at another user": Uniquement les usagers qui ont une addresse de résidence chez une autre usager
-Filter by person's that are alive or have deceased at a certain date: Filtrer les personnes qui sont décédées ou vivantes à une certaine date
-Filtered by person's that are alive or have deceased at a certain date: Uniquement les personnes qui sont décédées ou vivantes à une certaine date
+Filter by person's that are alive or have deceased at a certain date: Filtrer les usagers qui sont décédés ou vivantes à une certaine date
+Filtered by person's that are alive or have deceased at a certain date: Uniquement les usagers qui sont décédés ou vivantes à une certaine date
-"Filter by accompanying period: active period": "Filtrer les personnes par période d'accompagnement: en file active"
-Having an accompanying period opened after this date: Ayant une période d'accompagnement ouverte après cette date
-Having an accompanying period ending before this date, or still opened at this date: Ayant une période d'accompagnement fermée après cette date, ou toujours ouverte à cette date
-"Filtered by accompanying period: persons having an accompanying period opened after the %date_from% and closed before the %date_to% (or still opened at the %date_to%)": "Filtré par période d'accompagnement: personnes ayant une période d'accompagnement ouverte après le %date_from%, et cloturée le %date_to% (ou toujours ouverte le %date_to%)"
+"Filter by accompanying period: active period": "Filtrer les usagers par parcours d'accompagnement: en file active"
+Having an accompanying period opened after this date: Ayant un parcours d'accompagnement ouverte après cette date
+Having an accompanying period ending before this date, or still opened at this date: Ayant un parcours d'accompagnement fermée après cette date, ou toujours ouverte à cette date
+"Filtered by accompanying period: persons having an accompanying period opened after the %date_from% and closed before the %date_to% (or still opened at the %date_to%)": "Filtré par parcours d'accompagnement: usagers ayant un parcours d'accompagnement ouvert après le %date_from%, et cloturé le %date_to% (ou toujours ouvert le %date_to%)"
-"Filter by accompanying period: starting between two dates": "Filtrer les personnes par période d'accompagnement: début de la période entre deux dates"
-"Having an accompanying period opened before this date": "Ayant une période d'accompagnement ouverte avant cette date"
-"Filtered by accompanying period: persons having an accompanying period opened between the %date_from% and %date_to%": "Filtrer par période d'accompagnement: ayant une période ouverte entre le %date_from% et le %date_to%"
+"Filter by accompanying period: starting between two dates": "Filtrer les usagers par parcours d'accompagnement: début de la période entre deux dates"
+"Having an accompanying period opened before this date": "Ayant un parcours d'accompagnement ouvert avant cette date"
+"Filtered by accompanying period: persons having an accompanying period opened between the %date_from% and %date_to%": "Filtrer par parcours d'accompagnement: ayant un parcours ouvert entre le %date_from% et le %date_to%"
-"Filter by accompanying period: closed between two dates": "Filtrer les personnes par période d'accompagnement: période fermée entre deux dates"
-Having an accompanying period closed after this date: Ayant une période d'accompagnement fermée après cette date
-"Having an accompanying period closed before this date": "Ayant une période d'accompagnement fermée avant cette date"
-"Filtered by accompanying period: persons having an accompanying period closed between the %date_from% and %date_to%": "Filtrer par période d'accompagnement: ayant une période fermée entre le %date_from% et le %date_to%"
+"Filter by accompanying period: closed between two dates": "Filtrer les usagers par parcours d'accompagnement: parcours fermé entre deux dates"
+Having an accompanying period closed after this date: Ayant un parcours d'accompagnement fermé après cette date
+"Having an accompanying period closed before this date": "Ayant un parcours d'accompagnement fermé avant cette date"
+"Filtered by accompanying period: persons having an accompanying period closed between the %date_from% and %date_to%": "Filtrer par parcours d'accompagnement: ayant un parcours fermé entre le %date_from% et le %date_to%"
-Filter by person having an activity in a period: Filtrer les personnes ayant eu une échange pendant la période donnée
-Filtered by person having an activity between %date_from% and %date_to% with reasons %reasons_name%: Uniquement les personnes associées à une échange entre %date_from% et %date_to% avec les sujets %reasons_name%
+Filter by person having an activity in a period: Filtrer les usagers ayant eu un échange pendant la période donnée
+Filtered by person having an activity between %date_from% and %date_to% with reasons %reasons_name%: Uniquement les usagers associés à un échange entre %date_from% et %date_to% avec les sujets %reasons_name%
## accompanying course filters/aggr
@@ -483,8 +483,8 @@ acp_geog_agg_unitname: Zone géographique
acp_geog_agg_unitrefid: Clé de la zone géographique
Geographical layer: Couche géographique
Select a geographical layer: Choisir une couche géographique
-Group people by geographical unit based on his address: Grouper les personnes par zone géographique (sur base de l'adresse)
-Filter by person's geographical unit (based on address): Filter les personnes par zone géographique (sur base de l'adresse)
+Group people by geographical unit based on his address: Grouper les usagers par zone géographique (sur base de l'adresse)
+Filter by person's geographical unit (based on address): Filter les usagers par zone géographique (sur base de l'adresse)
Filter by socialaction: Filtrer les parcours par action d'accompagnement
Accepted socialactions: Actions d'accompagnement
@@ -500,9 +500,9 @@ Evaluation: Évaluation
"Filtered by evaluations: only %evals%": "Filtré par évaluation: uniquement %evals%"
Group by evaluation: Grouper les parcours par évaluation
-Filter accompanying course by activity type: Filtrer les parcours par type d'activité
-Accepted activitytypes: Types d'activités
-"Filtered by activity types: only %activitytypes%": "Filtré par type d'activité: seulement %activitytypes%"
+Filter accompanying course by activity type: Filtrer les parcours par type d'échange
+Accepted activitytypes: Types d'échanges
+"Filtered by activity types: only %activitytypes%": "Filtré par type d'échange: seulement %activitytypes%"
Filter by origin: Filtrer les parcours par origine du parcours
Accepted origins: Origines
@@ -520,12 +520,12 @@ Administrative location: Localisation administrative
"Filtered by administratives locations: only %locations%": "Filtré par localisation administrative: uniquement %locations%"
Group by administrative location: Grouper les parcours par localisation administrative
-Filter by requestor: Filtrer les parcours selon la présence du demandeur au sein des personnes concernées
+Filter by requestor: Filtrer les parcours selon la présence du demandeur au sein des usagers concernés
Accepted choices: ''
-is person concerned: Le demandeur est une personne concernée
-is other person: Le demandeur est une personne, mais n'est pas concernée
+is person concerned: Le demandeur est un usager concerné
+is other person: Le demandeur est un usager, mais n'est pas concerné
no requestor: Le parcours ne comporte pas de demandeur
-"Filtered by requestor: only %choice%": "Filtré par présence du demandeur au sein des personnes concernées: uniquement si %choice%"
+"Filtered by requestor: only %choice%": "Filtré par présence du demandeur au sein des usagers concernés: uniquement si %choice%"
Group by requestor: Grouper les parcours selon la nature du demandeur
Filter by confidential: Filtrer les parcours par confidentialité
@@ -647,24 +647,24 @@ Rounded month duration: Durée en mois (arrondie)
current duration: en cours
duration 0 month: 0 mois (<15 jours)
' months': ' mois'
-Group people by nationality: Grouper les personnes par nationalités
+Group people by nationality: Grouper les usagers par nationalités
Group by level: Grouper par niveau
Group by continents: Grouper par continent
Group by country: Grouper par pays
-Group people by gender: Grouper les personnes par genre
-Group people by their professional situation: Grouper les personnes par situation professionelle
-Group people by marital status: Grouper les personnes par état matrimonial
+Group people by gender: Grouper les usagers par genre
+Group people by their professional situation: Grouper les usagers par situation professionelle
+Group people by marital status: Grouper les usagers par état matrimonial
-Aggregate by household position: Grouper les personnes par position dans le ménage
+Aggregate by household position: Grouper les usagers par position dans le ménage
Household position in relation to this date: Position dans le ménage par rapport à cette date
Household position: Position dans le ménage
-Aggregate by age: Grouper les personnes par âge
+Aggregate by age: Grouper les usagers par âge
Calculate age in relation to this date: Calculer l'âge par rapport à cette date
-Group people by country of birth: Grouper les personnes par pays de naissance
-Similar persons: Personnes similaires
+Group people by country of birth: Grouper les usagers par pays de naissance
+Similar persons: Usagers similaires
crud:
closing_motive:
@@ -775,8 +775,8 @@ closing_motive:
any parent: Aucun parent
new child: Nouvel enfant
-Person configuration: Configuration du module "Personnes"
-Configuration of person bundle: Configuration du module "Personnes"
+Person configuration: Configuration du module "Usagers"
+Configuration of person bundle: Configuration du module "Usagers"
person_admin:
accompanying_period: Parcours d'accompagnement
What would you like to configure ?: Que souhaitez-vous configurer ?
@@ -784,7 +784,7 @@ person_admin:
closing motives list: Liste des motifs de clotûre
closing motive explanation: >
Les motifs de clotûre donnent des indications sur la fermeture
- d'une période d'accompagnement.
+ d'un parcours d'accompagnement.
origin: Origines
marital status: États civils
marital status list: Liste des états civils
@@ -825,11 +825,11 @@ Edit Accompanying Course: Modifier le parcours
Close Accompanying Course: Clôturer le parcours
Create Accompanying Course: Créer un nouveau parcours
Drop Accompanying Course: Supprimer le parcours
-This course is located at a temporarily address. You should locate this course to an user: Le parcours est localisé à une adresse temporaire. Il devrait être localisé auprès d'une personne concernée.
+This course is located at a temporarily address. You should locate this course to an user: Le parcours est localisé à une adresse temporaire. Il devrait être localisé auprès d'un usager concerné.
Accompanying course location: Localisation du parcours
This course is located by: Localisé auprès de
This course has a temporarily location: Localisation temporaire
-Choose a person to locate by: Localiser auprès d'une personne concernée
+Choose a person to locate by: Localiser auprès d'un usager concerné
Associate at least one member with an household, and set an address to this household: Associez au moins un membre du parcours à un ménage, et indiquez une adresse à ce ménage.
Locate by: Localiser auprès de
fix it: Compléter
@@ -884,7 +884,7 @@ Household configuration: Gestion des ménages
# accompanying course work
Accompanying Course Actions: Actions d'accompagnements
Accompanying Course Action: Action d'accompagnement
-Are you sure you want to remove this work of the accompanying period %name% ?: Êtes-vous sûr de vouloir supprimer cette action de la période d'accompagnement %name% ?
+Are you sure you want to remove this work of the accompanying period %name% ?: Êtes-vous sûr de vouloir supprimer cette action du parcours d'accompagnement %name% ?
The accompanying period work has been successfully removed.: L'action d'accompagnement a été supprimée.
accompanying_course_work:
create: Créer une action
@@ -916,37 +916,37 @@ Person addresses: Adresses de résidence
Household addresses: Adresses de domicile
Insert an address: Insérer une adresse
see social issues: Voir les problématiques sociales
-see persons associated: Voir les personnes concernées
+see persons associated: Voir les usagers concernés
docgen:
Accompanying Period basic: "Parcours d'accompagnement (basique)"
Accompanying period work: "Action d'accompagnement"
Accompanying period work context: "Evaluation des actions d'accompagnement"
- Main person: Personne principale
- person 1: Première personne
- person 2: Seconde personne
- Ask for main person: Demander à l'utilisateur de préciser la personne principale
- Ask for person 1: Demander à l'utilisateur de préciser la première personne
- Ask for person 2: Demander à l'utilisateur de préciser la seconde personne
+ Main person: Usager principal
+ person 1: Premièr usager
+ person 2: Second usager
+ Ask for main person: Demander à l'utilisateur de préciser l'usager principal
+ Ask for person 1: Demander à l'utilisateur de préciser le premièr usager
+ Ask for person 2: Demander à l'utilisateur de préciser le second usager
A basic context for accompanying period: Contexte pour les parcours
A context for accompanying period work: Contexte pour les actions d'accompagnement
A context for accompanying period work evaluation: Contexte pour les évaluations dans les actions d'accompagnement
- Person basic: Personne (basique)
- A basic context for person: Contexte pour les personnes
+ Person basic: Usager (basique)
+ A basic context for person: Contexte pour les usagers
Label for third party: Label à afficher aux utilisateurs
Document title: Titre du document généré
period_notification:
period_designated_subject: Vous êtes référent d'un parcours d'accompagnement
You are designated to a new period: Vous avez été désigné référent d'un parcours d'accompagnement.
- Persons are: Les personnes concernées sont les suivantes
+ Persons are: Les usagers concernés sont les suivantes
Social issues are: Les problématiques sociales renseignées sont les suivantes
See it online: Visualisez le parcours en ligne
- Person locating period has moved: La personne qui localise un parcours a déménagé
+ Person locating period has moved: L'usager qui localise un parcours a déménagé
-You are getting a notification for a period which does not exists any more: Cette notification ne correspond pas à une période d'accompagnement valide.
-You are getting a notification for a period you are not allowed to see: La notification fait référence à une période d'accompagnement à laquelle vous n'avez pas accès.
-This is the minimal period details: Période d'accompagnement n°
+You are getting a notification for a period which does not exists any more: Cette notification ne correspond pas à un parcours d'accompagnement valide.
+You are getting a notification for a period you are not allowed to see: La notification fait référence à un parcours d'accompagnement à laquelle vous n'avez pas accès.
+This is the minimal period details: Parcours d'accompagnement n°
household_composition:
No composition yet: Aucune composition familiale renseignée
@@ -1010,7 +1010,7 @@ export:
person:
by_household_composition:
Household composition: Composition du ménage
- Group course by household composition: Grouper les personnes par composition familiale
+ Group course by household composition: Grouper les usagers par composition familiale
Calc date: Date de calcul de la composition du ménage
course:
by_referrer:
@@ -1054,14 +1054,21 @@ export:
Filtered by person's geographical unit (based on address) computed at %datecalc%, only %units%: Filtré par unité géographique (sur base de l'adresse), calculé le %datecalc%, seulement %units%
person:
by_composition:
- Filter by household composition: Filtrer les personnes par composition du ménage
+ Filter by household composition: Filtrer les usagers par composition du ménage
Accepted compositions: Composition de ménages
Date calc: Date de calcul
'Filtered by composition at %date%: only %compositions%': 'Filtré par composition du ménage, le %date%, seulement %compositions%'
by_no_composition:
- Filter persons without household composition: Filtrer les personnes sans composition de ménage (ni ménage)
- Persons filtered by no composition at %date%: Uniquement les personnes sans composition de ménage à la date du %date%
+ Filter persons without household composition: Filtrer les usagers sans composition de ménage (ni ménage)
+ Persons filtered by no composition at %date%: Uniquement les usagers sans composition de ménage à la date du %date%
Date calc: Date de calcul
+ by_address_ref_status:
+ Filter by person's address ref status: Filtrer par comparaison avec l'adresse de référence
+ to_review: Diffère de l'adresse de référence
+ reviewed: Diffère de l'adresse de référence mais conservé par l'utilisateur
+ match: Identique à l'adresse de référence
+ Filtered by person\'s address status computed at %datecalc%, only %statuses%: Filtré par comparaison à l'adresse de référence, calculé à %datecalc%, seulement %statuses%
+ Status: Statut
course:
by_user_scope:
@@ -1077,11 +1084,11 @@ export:
'Filtered by creator job: only %jobs%': 'Filtré par métier du créateur: seulement %jobs%'
list:
person_with_acp:
- List peoples having an accompanying period: Liste des personnes ayant un parcours d'accompagnement
- Create a list of people having an accompaying periods, according to various filters.: Génère une liste des personnes ayant un parcours d'accompagnement, selon différents critères liés au parcours ou à l'usager
+ List peoples having an accompanying period: Liste des usagers ayant un parcours d'accompagnement
+ Create a list of people having an accompaying periods, according to various filters.: Génère une liste des usagers ayant un parcours d'accompagnement, selon différents critères liés au parcours ou à l'usager
acp:
- List of accompanying periods: Liste de périodes d'accompagnements
- Generate a list of accompanying periods, filtered on different parameters.: Génère une liste des périodes d'accompagnement, filtrée sur différents paramètres.
+ List of accompanying periods: Liste des parcours d'accompagnements
+ Generate a list of accompanying periods, filtered on different parameters.: Génère une liste des parcours d'accompagnement, filtrée sur différents paramètres.
Date of calculation for associated elements: Date de calcul des éléments associés
The associated referree, localisation, and other elements will be valid at this date: Les éléments associés, comme la localisation, le référent et d'autres éléments seront valides à cette date
id: Identifiant du parcours
@@ -1108,8 +1115,8 @@ export:
locationPersonId: Identifiant de l'usager auprès duquel le parcours est localisé
acpaddress_fieldscountry: Pays de l'adresse
isRequestorPerson: Le demandeur est-il un usager ?
- requestorPersonId: Identifiant du demandeur personne
- acprequestorPerson: Nom du demandeur personne
+ requestorPersonId: Identifiant du demandeur usager
+ acprequestorPerson: Nom du demandeur usager
scopes: Services
socialIssues: Problématiques sociales
eval:
diff --git a/src/Bundle/ChillPersonBundle/translations/validators.fr.yml b/src/Bundle/ChillPersonBundle/translations/validators.fr.yml
index 496a84921..f005755b1 100644
--- a/src/Bundle/ChillPersonBundle/translations/validators.fr.yml
+++ b/src/Bundle/ChillPersonBundle/translations/validators.fr.yml
@@ -10,7 +10,7 @@
'Opening date can not be null': 'La date d''ouverure ne peut être nulle'
'Closing date is not valid': 'La date de fermeture n''est pas valide'
'Closing date can not be null': 'La date de fermeture ne peut être nulle'
-The date of closing is before the date of opening: La période de fermeture est avant la période d'ouverture
+The date of closing is before the date of opening: La date de fermeture est avant la date d'ouverture
The closing date must be later than the date of creation: La date de clôture doit être postérieure à la date de création du parcours
The birthdate must be before %date%: La date de naissance doit être avant le %date%
'Invalid phone number: it should begin with the international prefix starting with "+", hold only digits and be smaller than 20 characters. Ex: +33123456789': 'Numéro de téléphone invalide: il doit commencer par le préfixe international précédé de "+", ne comporter que des chiffres et faire moins de 20 caractères. Ex: +31623456789'
@@ -47,19 +47,19 @@ household:
max_holder_overflowed: Il ne peut y avoir plus de deux titulaires simultanément. Or, avec cette modification, ce nombre sera dépassé entre le {{ start }} et le {{ end }}.
household_membership:
The end date must be after start date: La date de la fin de l'appartenance doit être postérieure à la date de début.
- Person with membership covering: Une personne ne peut pas appartenir à deux ménages simultanément. Or, avec cette modification, %person_name% appartiendrait à %nbHousehold% ménages à partir du %from%.
+ Person with membership covering: Un usager ne peut pas appartenir à deux ménages simultanément. Or, avec cette modification, %person_name% appartiendrait à %nbHousehold% ménages à partir du %from%.
# Accompanying period
'{{ name }} is already associated to this accompanying course.': '{{ name }} est déjà associé à ce parcours.'
A course must contains at least one social issue: 'Un parcours doit être associé à au moins une problématique sociale'
A course must be associated to at least one scope: 'Un parcours doit être associé à au moins un service'
-The social %name% issue cannot be deleted because it is associated with an activity or an action: 'La problématique sociale "%name%" ne peut pas être supprimée car elle est associée à une activité ou une action'
+The social %name% issue cannot be deleted because it is associated with an activity or an action: 'La problématique sociale "%name%" ne peut pas être supprimée car elle est associée à un échange ou une action'
A confidential parcours must have a referrer: 'Un parcours confidentiel doit avoir un référent'
Only the referrer can change the confidentiality of a parcours: 'Seul le référent peut modifier la confidentialité'
# resource
You must associate at least one entity: Associez un usager, un tiers ou indiquez une description libre
-You cannot associate a resource with the same person: Vous ne pouvez pas ajouter la personne elle-même en tant que ressource.
+You cannot associate a resource with the same person: Vous ne pouvez pas ajouter l'usager lui-même en tant que ressource.
#location
The period must remain located: 'Un parcours doit être localisé'
@@ -67,7 +67,10 @@ The person where the course is located must be associated to the course. Change
#relationship
relationship:
- duplicate: Une relation de filiation existe déjà entre ces 2 personnes
+ duplicate: Une relation de filiation existe déjà entre ces 2 usagers
person_creation:
If you want to create an household, an address is required: Pour la création d'un ménage, une adresse est requise
+
+accompanying_course_work:
+ The endDate should be greater or equal than the start date: La date de fin doit être égale ou supérieure à la date de début
diff --git a/src/Bundle/ChillReportBundle/Export/Export/ReportList.php b/src/Bundle/ChillReportBundle/Export/Export/ReportList.php
index e6289c626..21606d807 100644
--- a/src/Bundle/ChillReportBundle/Export/Export/ReportList.php
+++ b/src/Bundle/ChillReportBundle/Export/Export/ReportList.php
@@ -158,7 +158,7 @@ class ReportList implements ExportElementValidatedInterface, ListInterface
);
}
- public function getLabels($key, array $values, $data): Closure
+ public function getLabels($key, array $values, $data)
{
switch ($key) {
case 'person_birthdate':
diff --git a/src/Bundle/ChillReportBundle/translations/messages.fr.yml b/src/Bundle/ChillReportBundle/translations/messages.fr.yml
index 9cd2d5d8c..cfde70521 100644
--- a/src/Bundle/ChillReportBundle/translations/messages.fr.yml
+++ b/src/Bundle/ChillReportBundle/translations/messages.fr.yml
@@ -8,7 +8,7 @@
'Update the report': 'Modifier le rapport'
'Report list': 'Liste des rapports'
Details: Détails
-Person: Personne
+Person: Usager
Scope: Cercle
Date: Date
User: Utilisateur
@@ -17,7 +17,7 @@ User: Utilisateur
Report data: Données du rapport
'Report view : %name%': 'Rapport : %name%'
Report: Rapport
-No report registered for this person.: Aucun rapport pour cette personne.
+No report registered for this person.: Aucun rapport pour cet usager.
#Flash messages
'Success : report created!': "Succès : le rapport a bien été créé !"
@@ -52,4 +52,4 @@ CHILL_REPORT_LISTS: Liste des rapports
"Report's question": Question du rapport
Filter by report's date: Filtrer par date de rapport
Report is after this date: Rapports après cette date
-Report is before this date: Rapports avant cette date
\ No newline at end of file
+Report is before this date: Rapports avant cette date
diff --git a/src/Bundle/ChillTaskBundle/translations/messages.fr.yml b/src/Bundle/ChillTaskBundle/translations/messages.fr.yml
index 8d1d2b39d..d437baac2 100644
--- a/src/Bundle/ChillTaskBundle/translations/messages.fr.yml
+++ b/src/Bundle/ChillTaskBundle/translations/messages.fr.yml
@@ -14,7 +14,7 @@ Scope: Cercle
"Unit": ""
Task: Tâche
Details: Détails
-Person: Personne
+Person: Usager
Date: Date
Dates: Dates
User: Utilisateur
@@ -49,7 +49,7 @@ User: Utilisateur
"Tasks for {{ name }}": "Tâches pour {{ name }}"
"No description": "Pas de description"
"No dates specified": "Dates non spécifiées"
-"No one assignee": "Aucune personne assignée"
+"No one assignee": "Aucune usager assigné"
"Task types": Types de tâches
Days: Jour(s)
Weeks: Semaine(s)
@@ -59,7 +59,7 @@ Filter the tasks: Filtrer les tâches
Filter: Filtrer
Any user: Tous les utilisateurs
Unassigned: Non assigné
-Associated person: Personne associée
+Associated person: Usager associé
Default task: Tâche par défaut
Not assigned: Aucun utilisateur assigné
For person: Pour
@@ -117,5 +117,5 @@ CHILL_TASK_TASK_DELETE: Supprimer une tâche
CHILL_TASK_TASK_SHOW: Voir une tâche
CHILL_TASK_TASK_UPDATE: Modifier une tâche
CHILL_TASK_TASK_CREATE_FOR_COURSE: Créer une tâche pour un parcours
-CHILL_TASK_TASK_CREATE_FOR_PERSON: Créer une tâche pour une personne
+CHILL_TASK_TASK_CREATE_FOR_PERSON: Créer une tâche pour un usager
diff --git a/src/Bundle/ChillThirdPartyBundle/DataFixtures/ORM/LoadThirdParty.php b/src/Bundle/ChillThirdPartyBundle/DataFixtures/ORM/LoadThirdParty.php
index 058fa119d..6b40f01b9 100644
--- a/src/Bundle/ChillThirdPartyBundle/DataFixtures/ORM/LoadThirdParty.php
+++ b/src/Bundle/ChillThirdPartyBundle/DataFixtures/ORM/LoadThirdParty.php
@@ -66,22 +66,6 @@ class LoadThirdParty extends Fixture implements DependentFixtureInterface
$manager->flush();
}
- private function createAddress(): ObjectSet
- {
- $loader = new NativeLoader();
-
- return $loader->loadData([
- Address::class => [
- 'address1' => [
- 'name' => '',
- 'telephone' => $this->phoneNumberUtil->getExampleNumber('FR'),
- 'email' => '',
- 'comment' => '',
- ],
- ],
- ]);
- }
-
private function getCenters(): Iterator
{
$references = array_map(
diff --git a/src/Bundle/ChillThirdPartyBundle/Entity/ThirdParty.php b/src/Bundle/ChillThirdPartyBundle/Entity/ThirdParty.php
index 966e40bd1..ca24d2442 100644
--- a/src/Bundle/ChillThirdPartyBundle/Entity/ThirdParty.php
+++ b/src/Bundle/ChillThirdPartyBundle/Entity/ThirdParty.php
@@ -23,6 +23,7 @@ use DateTimeImmutable;
use DateTimeInterface;
use Doctrine\Common\Collections\ArrayCollection;
use Doctrine\Common\Collections\Collection;
+use Doctrine\Common\Collections\ReadableCollection;
use Doctrine\ORM\Mapping as ORM;
use libphonenumber\PhoneNumber;
use Symfony\Component\Serializer\Annotation\Context;
@@ -153,7 +154,7 @@ class ThirdParty implements TrackCreationInterface, TrackUpdateInterface
* @ORM\OneToMany(targetEntity="Chill\ThirdPartyBundle\Entity\ThirdParty", mappedBy="parent",
* cascade={"persist"}, orphanRemoval=true)
*
- * @var Collection|ThirdParty[]
+ * @var Collection<(int|string), ThirdParty>
* @Assert\Valid(traverse=true)
*/
private Collection $children;
@@ -400,7 +401,7 @@ class ThirdParty implements TrackCreationInterface, TrackUpdateInterface
/**
* Get the children where active = true.
*/
- public function getActiveChildren(): Collection
+ public function getActiveChildren(): ReadableCollection
{
return $this->children->filter(static fn (ThirdParty $tp) => $tp->getActive());
}
diff --git a/src/Bundle/ChillThirdPartyBundle/Resources/public/vuejs/_components/Entity/ThirdPartyRenderBox.vue b/src/Bundle/ChillThirdPartyBundle/Resources/public/vuejs/_components/Entity/ThirdPartyRenderBox.vue
index 49066a082..0a3831df7 100644
--- a/src/Bundle/ChillThirdPartyBundle/Resources/public/vuejs/_components/Entity/ThirdPartyRenderBox.vue
+++ b/src/Bundle/ChillThirdPartyBundle/Resources/public/vuejs/_components/Entity/ThirdPartyRenderBox.vue
@@ -1,100 +1,100 @@
-