mirror of
https://gitlab.com/Chill-Projet/chill-bundles.git
synced 2025-06-07 18:44:08 +00:00
Merge remote-tracking branch 'origin/master' into fix-phpstan-issues-202303
This commit is contained in:
commit
d9dd8d7317
@ -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;
|
||||
|
||||
|
@ -225,6 +225,7 @@ class ActivityType extends AbstractType
|
||||
$builder->add('user', PickUserDynamicType::class, [
|
||||
'label' => $activityType->getLabel('user'),
|
||||
'required' => $activityType->isRequired('user'),
|
||||
'multiple' => false,
|
||||
]);
|
||||
}
|
||||
|
||||
|
@ -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()],
|
||||
|
@ -63,7 +63,7 @@
|
||||
</div>
|
||||
{% endif %}
|
||||
|
||||
{% if activity.user and t.userVisible %}
|
||||
{% if activity.user is not null and t.userVisible %}
|
||||
<div class="wl-row">
|
||||
<div class="wl-col title"><h3>{{ 'Referrer'|trans }}</h3></div>
|
||||
<div class="wl-col list">
|
||||
|
@ -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 %}
|
||||
|
||||
|
@ -34,10 +34,12 @@
|
||||
|
||||
<div class="item-row separator">
|
||||
<dl class="chill_view_data">
|
||||
{%- if entity.user is not null %}
|
||||
<dt class="inline">{{ 'Referrer'|trans|capitalize }}</dt>
|
||||
<dd>
|
||||
<span class="badge-user">{{ entity.user|chill_entity_render_box }}</span>
|
||||
</dd>
|
||||
{% endif %}
|
||||
|
||||
{%- if entity.scope -%}
|
||||
<dt class="inline">{{ 'Scope'|trans }}</dt>
|
||||
|
@ -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'
|
||||
|
@ -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
|
||||
@ -336,8 +336,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
|
||||
|
@ -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é
|
||||
|
@ -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"
|
||||
|
@ -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'],
|
||||
]);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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(),
|
||||
$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
|
||||
|
@ -93,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;
|
||||
|
||||
|
@ -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',
|
||||
]);
|
||||
}
|
||||
|
||||
|
@ -15,6 +15,7 @@
|
||||
:picked="null !== this.$store.getters.getMainUser ? [this.$store.getters.getMainUser] : []"
|
||||
:removableIfSet="false"
|
||||
:displayPicked="false"
|
||||
:suggested="this.suggestedUsers"
|
||||
@addNewEntity="setMainUser"
|
||||
></pick-entity>
|
||||
</div>
|
||||
@ -143,6 +144,7 @@ export default {
|
||||
slotMinTime: '09:00:00',
|
||||
slotMaxTime: '18:00:00',
|
||||
hideWeekEnds: true,
|
||||
previousUser: [],
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
@ -188,11 +190,23 @@ export default {
|
||||
users.push(this.$store.getters.getUserDataById(id).user);
|
||||
}
|
||||
return users;
|
||||
},
|
||||
suggestedUsers() {
|
||||
const suggested = [];
|
||||
|
||||
this.$data.previousUser.forEach(u => {
|
||||
if (u.id !== this.$store.getters.getMainUser.id) {
|
||||
suggested.push(u)
|
||||
}
|
||||
});
|
||||
|
||||
return suggested;
|
||||
},
|
||||
},
|
||||
methods: {
|
||||
setMainUser(user) {
|
||||
console.log('setMainUser APP', user);
|
||||
setMainUser({entity}) {
|
||||
const user = entity;
|
||||
console.log('setMainUser APP', entity);
|
||||
|
||||
if (user.id !== this.$store.getters.getMainUser && (
|
||||
this.$store.state.activity.calendarRange !== null
|
||||
@ -205,6 +219,14 @@ export default {
|
||||
}
|
||||
}
|
||||
|
||||
// add the previous user, if any, in the previous user list (in use for suggestion)
|
||||
if (null !== this.$store.getters.getMainUser) {
|
||||
const suggestedUids = new Set(this.$data.previousUser.map(u => u.id));
|
||||
if (!suggestedUids.has(this.$store.getters.getMainUser.id)){
|
||||
this.$data.previousUser.push(this.$store.getters.getMainUser);
|
||||
}
|
||||
}
|
||||
|
||||
this.$store.dispatch('setMainUser', user);
|
||||
this.$store.commit('showUserOnCalendar', {user, ranges: true, remotes: true});
|
||||
},
|
||||
|
@ -202,6 +202,8 @@ export default {
|
||||
|
||||
return dispatch('associateCalendarToRange', { range: null }).then(() => {
|
||||
commit('setMainUser', mainUser);
|
||||
|
||||
return dispatch('fetchCalendarEvents');
|
||||
});
|
||||
},
|
||||
|
||||
|
@ -54,7 +54,7 @@ export const mapEntity = (entity: EventInput): EventInput => {
|
||||
|
||||
export const createUserData = (user: User, colorIndex: number): UserData => {
|
||||
const colorId = colorIndex % COLORS.length;
|
||||
console.log('colorId', colorId);
|
||||
|
||||
return {
|
||||
user: user,
|
||||
calendarRanges: [],
|
||||
|
@ -1,7 +1,7 @@
|
||||
<template>
|
||||
<div class="row">
|
||||
<div class="col-sm">
|
||||
<label class="form-label">Lieu des plages de disponibilités créées</label>
|
||||
<label class="form-label">{{ $t('created_availabilities') }}</label>
|
||||
<vue-multiselect
|
||||
v-model="pickedLocation"
|
||||
:options="locations"
|
||||
|
@ -1,5 +1,6 @@
|
||||
const appMessages = {
|
||||
fr: {
|
||||
created_availabilities: "Lieu des plages de disponibilités créées",
|
||||
edit_your_calendar_range: "Planifiez vos plages de disponibilités",
|
||||
show_my_calendar: "Afficher mon calendrier",
|
||||
show_weekends: "Afficher les week-ends",
|
||||
|
@ -20,15 +20,24 @@
|
||||
<div class="row">
|
||||
<div class="col text-start">
|
||||
{{ d.storedObject.title }}
|
||||
</div>
|
||||
{% if d.dateTimeVersion < d.calendar.dateTimeVersion %}
|
||||
<div class="col text-start">
|
||||
<span class="badge bg-danger">{{ 'chill_calendar.Document outdated'|trans }}</span>
|
||||
</div>
|
||||
{% endif %}
|
||||
</div>
|
||||
<div class="col-md-auto text-center">
|
||||
{{ mm.mimeIcon(d.storedObject.type) }}
|
||||
</div>
|
||||
<div class="col col-lg-4 text-end">
|
||||
<ul class="record_actions">
|
||||
<li>
|
||||
{{ d.storedObject|chill_document_button_group(d.storedObject.title, is_granted('CHILL_CALENDAR_DOC_EDIT', d), {'small': true}) }}
|
||||
</li>
|
||||
<li>
|
||||
<a href="{{ chill_path_add_return_path('chill_calendar_calendardoc_edit', {id: d.id}) }}" class="btn btn-sm btn-edit"></a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="{{ chill_path_add_return_path('chill_calendar_calendardoc_delete', {id: d.id}) }}" class="btn btn-sm btn-delete"></a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
|
@ -110,7 +110,46 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="item-row">
|
||||
{% if calendar.activity is not null %}
|
||||
<div class="item-row separator">
|
||||
<div class="item-col">
|
||||
<div class="wrap-list">
|
||||
<div class="wl-row">
|
||||
<div class="wl-col title"><h3>{{ 'Activity'|trans }}</h3></div>
|
||||
<div class="wl-col list activity-linked">
|
||||
<h2 class="badge-title">
|
||||
<span class="title_label"></span>
|
||||
<span class="title_action">
|
||||
{{ calendar.activity.type.name | localize_translatable_string }}
|
||||
|
||||
{% if calendar.activity.emergency %}
|
||||
<span class="badge bg-danger rounded-pill fs-6 float-end">{{ 'Emergency'|trans|upper }}</span>
|
||||
{% endif %}
|
||||
</span>
|
||||
</h2>
|
||||
|
||||
<ul class="record_actions">
|
||||
<li class="cancel">
|
||||
<span class="createdBy">
|
||||
{{ 'Created by'|trans }}
|
||||
<b>{{ calendar.activity.createdBy|chill_entity_render_string }}</b>, {{ 'on'|trans }} {{ calendar.activity.createdAt|format_datetime('short', 'short') }}
|
||||
</span>
|
||||
</li>
|
||||
{% if is_granted('CHILL_ACTIVITY_SEE', calendar.activity) %}
|
||||
<li>
|
||||
<a href="{{ chill_path_add_return_path('chill_activity_activity_show', {'id': calendar.activity.id}) }}" class="btn btn-sm btn-show" ></a>
|
||||
</li>
|
||||
{% endif %}
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{% endif %}
|
||||
|
||||
<div class="item-row separator">
|
||||
<ul class="record_actions">
|
||||
{% if is_granted('CHILL_CALENDAR_CALENDAR_SEE', calendar) %}
|
||||
{% if templates|length == 0 %}
|
||||
@ -147,7 +186,12 @@
|
||||
</li>
|
||||
{% 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))
|
||||
)
|
||||
%}
|
||||
<li>
|
||||
<a class="btn btn-create"
|
||||
href="{{ chill_path_add_return_path('chill_calendar_calendar_to_activity', { 'id': calendar.id }) }}">
|
||||
|
@ -9,13 +9,13 @@
|
||||
{% block js %}
|
||||
{{ parent() }}
|
||||
{{ encore_entry_script_tags('mod_answer') }}
|
||||
{{ encore_entry_script_tags('mod_async_upload') }}
|
||||
{{ encore_entry_script_tags('mod_document_action_buttons_group') }}
|
||||
{% endblock %}
|
||||
|
||||
{% block css %}
|
||||
{{ parent() }}
|
||||
{{ encore_entry_link_tags('mod_answer') }}
|
||||
{{ encore_entry_link_tags('mod_async_upload') }}
|
||||
{{ encore_entry_link_tags('mod_document_action_buttons_group') }}
|
||||
{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
|
@ -24,7 +24,6 @@
|
||||
{{ form_start(form) }}
|
||||
|
||||
{{ form_row(form.title) }}
|
||||
{{ form_row(form.doc) }}
|
||||
|
||||
<ul class="record_actions sticky-form-buttons">
|
||||
<li class="cancel">
|
||||
|
@ -23,7 +23,6 @@
|
||||
{{ form_start(form) }}
|
||||
|
||||
{{ form_row(form.title) }}
|
||||
{{ form_row(form.doc) }}
|
||||
|
||||
<ul class="record_actions sticky-form-buttons">
|
||||
<li class="cancel">
|
||||
|
@ -28,7 +28,7 @@
|
||||
|
||||
<ul class="record_actions sticky-form-buttons">
|
||||
<li class="cancel">
|
||||
<a class="btn btn-cancel" href="{{ chill_return_path_or('chill_calendar_calendar_list_by_accompanying_period', {'id': accompanyingCourse.id }) }}">{{ 'Cancel'|trans|chill_return_path_label }}</a>
|
||||
<a class="btn btn-cancel" href="{{ chill_return_path_or('chill_calendar_calendar_edit', {'id': calendar_doc.calendar.id }) }}">{{ 'Cancel'|trans|chill_return_path_label }}</a>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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;
|
||||
|
@ -51,16 +51,9 @@
|
||||
</div>
|
||||
<ul class="item-col record_actions flex-shrink-1">
|
||||
{% if document.course is defined %}
|
||||
{% if is_granted('CHILL_ACCOMPANYING_COURSE_DOCUMENT_DELETE', document) %}
|
||||
<li class="delete">
|
||||
<a href="{{ chill_return_path_or('chill_docstore_accompanying_course_document_delete', {'course': accompanyingCourse.id, 'id': document.id}) }}" class="btn btn-delete"></a>
|
||||
</li>
|
||||
{% endif %}
|
||||
{% if is_granted('CHILL_ACCOMPANYING_COURSE_DOCUMENT_UPDATE', document) %}
|
||||
<li>
|
||||
<a href="{{ path('accompanying_course_document_edit', {'course': accompanyingCourse.id, 'id': document.id }) }}" class="btn btn-update"></a>
|
||||
{{ chill_entity_workflow_list('Chill\\DocStoreBundle\\Entity\\AccompanyingCourseDocument', document.id) }}
|
||||
</li>
|
||||
{% endif %}
|
||||
{% if is_granted('CHILL_ACCOMPANYING_COURSE_DOCUMENT_SEE_DETAILS', document) %}
|
||||
<li>
|
||||
{{ document.object|chill_document_button_group(document.title, is_granted('CHILL_ACCOMPANYING_COURSE_DOCUMENT_UPDATE', document)) }}
|
||||
@ -69,20 +62,17 @@
|
||||
<a href="{{ chill_path_add_return_path('accompanying_course_document_show', {'course': accompanyingCourse.id, 'id': document.id}) }}" class="btn btn-show"></a>
|
||||
</li>
|
||||
{% endif %}
|
||||
{% if is_granted('CHILL_ACCOMPANYING_COURSE_DOCUMENT_UPDATE', document) %}
|
||||
<li>
|
||||
{{ chill_entity_workflow_list('Chill\\DocStoreBundle\\Entity\\AccompanyingCourseDocument', document.id) }}
|
||||
<a href="{{ path('accompanying_course_document_edit', {'course': accompanyingCourse.id, 'id': document.id }) }}" class="btn btn-update"></a>
|
||||
</li>
|
||||
{% else %}
|
||||
{% if is_granted('CHILL_PERSON_DOCUMENT_DELETE', document) %}
|
||||
{% endif %}
|
||||
{% if is_granted('CHILL_ACCOMPANYING_COURSE_DOCUMENT_DELETE', document) %}
|
||||
<li class="delete">
|
||||
<a href="{{ chill_return_path_or('chill_docstore_person_document_delete', {'person': person.id, 'id': document.id}) }}" class="btn btn-delete"></a>
|
||||
</li>
|
||||
{% endif %}
|
||||
{% if is_granted('CHILL_PERSON_DOCUMENT_UPDATE', document) %}
|
||||
<li>
|
||||
<a href="{{ path('person_document_edit', {'person': person.id, 'id': document.id}) }}" class="btn btn-update"></a>
|
||||
<a href="{{ chill_return_path_or('chill_docstore_accompanying_course_document_delete', {'course': accompanyingCourse.id, 'id': document.id}) }}" class="btn btn-delete"></a>
|
||||
</li>
|
||||
{% endif %}
|
||||
{% else %}
|
||||
{% if is_granted('CHILL_PERSON_DOCUMENT_SEE_DETAILS', document) %}
|
||||
<li>
|
||||
{{ document.object|chill_document_button_group(document.title, is_granted('CHILL_PERSON_DOCUMENT_UPDATE', document)) }}
|
||||
@ -91,6 +81,16 @@
|
||||
<a href="{{ path('person_document_show', {'person': person.id, 'id': document.id}) }}" class="btn btn-show"></a>
|
||||
</li>
|
||||
{% endif %}
|
||||
{% if is_granted('CHILL_PERSON_DOCUMENT_UPDATE', document) %}
|
||||
<li>
|
||||
<a href="{{ path('person_document_edit', {'person': person.id, 'id': document.id}) }}" class="btn btn-update"></a>
|
||||
</li>
|
||||
{% endif %}
|
||||
{% if is_granted('CHILL_PERSON_DOCUMENT_DELETE', document) %}
|
||||
<li class="delete">
|
||||
<a href="{{ chill_return_path_or('chill_docstore_person_document_delete', {'person': person.id, 'id': document.id}) }}" class="btn btn-delete"></a>
|
||||
</li>
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
</ul>
|
||||
|
||||
|
@ -78,12 +78,12 @@ class AccompanyingCourseDocumentVoter extends AbstractChillVoter implements Prov
|
||||
return [];
|
||||
}
|
||||
|
||||
protected function supports($attribute, $subject)
|
||||
protected function supports($attribute, $subject): bool
|
||||
{
|
||||
return $this->voterHelper->supports($attribute, $subject);
|
||||
}
|
||||
|
||||
protected function voteOnAttribute($attribute, $subject, TokenInterface $token)
|
||||
protected function voteOnAttribute($attribute, $subject, TokenInterface $token): bool
|
||||
{
|
||||
if (!$token->getUser() instanceof User) {
|
||||
return false;
|
||||
|
@ -34,7 +34,7 @@ Edit the participation: Modifier la participation
|
||||
Participation Edit: Modifier une participation
|
||||
Add a participation: Ajouter un participant
|
||||
Participation creation: Ajouter une participation
|
||||
Associated person: Personne associée
|
||||
Associated person: Usager associé
|
||||
Associated event: Événement associé
|
||||
Back to the event: Retour à l'événement
|
||||
The participation was created: La participation a été créée
|
||||
|
@ -18,6 +18,7 @@ function loadDynamicPicker(element) {
|
||||
isMultiple = parseInt(el.dataset.multiple) === 1,
|
||||
uniqId = el.dataset.uniqid,
|
||||
input = element.querySelector('[data-input-uniqid="'+ el.dataset.uniqid +'"]'),
|
||||
// the "picked" will always be an array, even if multiple is false
|
||||
picked = isMultiple ?
|
||||
JSON.parse(input.value) : (
|
||||
(input.value === '[]' || input.value === '') ?
|
||||
@ -54,16 +55,12 @@ function loadDynamicPicker(element) {
|
||||
},
|
||||
computed: {
|
||||
notPickedSuggested() {
|
||||
if (this.multiple) {
|
||||
const pickedIds = new Set();
|
||||
for (const p of this.picked) {
|
||||
pickedIds.add(`${p.type}${p.id}`);
|
||||
}
|
||||
return this.suggested.filter(e => !pickedIds.has(`${e.type}${e.id}`))
|
||||
}
|
||||
|
||||
return this.suggested.filter(e => e.type !== this.picked.type && e.id !== e.picked.id);
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
addNewEntity({entity}) {
|
||||
@ -90,7 +87,11 @@ function loadDynamicPicker(element) {
|
||||
this.suggested.push(entity);
|
||||
}
|
||||
this.picked = this.picked.filter(e => !(e.type === entity.type && e.id === entity.id));
|
||||
if (this.multiple) {
|
||||
input.value = JSON.stringify(this.picked);
|
||||
} else {
|
||||
input.value = "";
|
||||
}
|
||||
},
|
||||
}
|
||||
})
|
||||
|
@ -66,6 +66,7 @@
|
||||
{{ form_row(transition_form.future_dest_users) }}
|
||||
|
||||
{{ form_row(transition_form.future_dest_emails) }}
|
||||
{{ form_errors(transition_form.future_dest_users) }}
|
||||
</div>
|
||||
|
||||
<p>{{ form_label(transition_form.comment) }}</p>
|
||||
|
@ -30,7 +30,7 @@ class SearchApi
|
||||
|
||||
private PaginatorFactory $paginator;
|
||||
|
||||
private iterable $providers = [];
|
||||
private iterable $providers;
|
||||
|
||||
public function __construct(
|
||||
EntityManagerInterface $em,
|
||||
@ -42,9 +42,6 @@ class SearchApi
|
||||
$this->paginator = $paginator;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return Model/Result[]
|
||||
*/
|
||||
public function getResults(string $pattern, array $types, array $parameters): Collection
|
||||
{
|
||||
$queries = $this->findQueries($pattern, $types, $parameters);
|
||||
@ -53,10 +50,10 @@ class SearchApi
|
||||
throw new SearchApiNoQueryException($pattern, $types, $parameters);
|
||||
}
|
||||
|
||||
$total = $this->countItems($queries, $types, $parameters);
|
||||
$total = $this->countItems($queries);
|
||||
$paginator = $this->paginator->create($total);
|
||||
|
||||
$rawResults = $this->fetchRawResult($queries, $types, $parameters, $paginator);
|
||||
$rawResults = $this->fetchRawResult($queries, $types, $paginator);
|
||||
|
||||
$this->prepareProviders($rawResults);
|
||||
$results = $this->buildResults($rawResults);
|
||||
@ -64,7 +61,7 @@ class SearchApi
|
||||
return new Collection($results, $paginator);
|
||||
}
|
||||
|
||||
private function buildCountQuery(array $queries, $types, $parameters)
|
||||
private function buildCountQuery(array $queries): array
|
||||
{
|
||||
$query = 'SELECT SUM(c) AS count FROM ({union_unordered}) AS sq';
|
||||
$unions = [];
|
||||
@ -88,7 +85,7 @@ class SearchApi
|
||||
$items = [];
|
||||
|
||||
foreach ($rawResults as $r) {
|
||||
foreach ($this->providers as $k => $p) {
|
||||
foreach ($this->providers as $p) {
|
||||
if ($p->supportsResult($r['key'], $r['metadata'])) {
|
||||
$items[] = (new SearchApiResult($r['pertinence']))
|
||||
->setResult(
|
||||
@ -103,7 +100,7 @@ class SearchApi
|
||||
return $items;
|
||||
}
|
||||
|
||||
private function buildUnionQuery(array $queries, $types, $parameters, Paginator $paginator)
|
||||
private function buildUnionQuery(array $queries, Paginator $paginator): array
|
||||
{
|
||||
$query = '{unions} ORDER BY pertinence DESC LIMIT ? OFFSET ?';
|
||||
$unions = [];
|
||||
@ -126,9 +123,9 @@ class SearchApi
|
||||
];
|
||||
}
|
||||
|
||||
private function countItems($providers, $types, $parameters): int
|
||||
private function countItems($providers): int
|
||||
{
|
||||
[$countQuery, $parameters] = $this->buildCountQuery($providers, $types, $parameters);
|
||||
[$countQuery, $parameters] = $this->buildCountQuery($providers);
|
||||
$rsmCount = new ResultSetMappingBuilder($this->em);
|
||||
$rsmCount->addScalarResult('count', 'count');
|
||||
$countNq = $this->em->createNativeQuery($countQuery, $rsmCount);
|
||||
@ -137,9 +134,9 @@ class SearchApi
|
||||
return (int) $countNq->getSingleScalarResult();
|
||||
}
|
||||
|
||||
private function fetchRawResult($queries, $types, $parameters, Paginator $paginator): array
|
||||
private function fetchRawResult($queries, $types, Paginator $paginator): array
|
||||
{
|
||||
[$union, $parameters] = $this->buildUnionQuery($queries, $types, $parameters, $paginator);
|
||||
[$union, $parameters] = $this->buildUnionQuery($queries, $paginator);
|
||||
$rsm = new ResultSetMappingBuilder($this->em);
|
||||
$rsm->addScalarResult('key', 'key', Types::STRING)
|
||||
->addScalarResult('metadata', 'metadata', Types::JSON)
|
||||
@ -172,7 +169,7 @@ class SearchApi
|
||||
);
|
||||
}
|
||||
|
||||
private function prepareProviders(array $rawResults)
|
||||
private function prepareProviders(array $rawResults): void
|
||||
{
|
||||
$metadatas = [];
|
||||
$providers = [];
|
||||
|
@ -16,6 +16,18 @@ use function count;
|
||||
use function implode;
|
||||
use function strtr;
|
||||
|
||||
/**
|
||||
* This create a query optimized for searching for the api response.
|
||||
*
|
||||
* When build, this class generate a SQL string and a list of a parameters which is suitable for running
|
||||
* a native SQL query. This have usually the form of
|
||||
*
|
||||
* `SELECT '<key>' as key, <metadata> as metadata, <pertinence> as pertinence FROM <from clause> WHERE <where clause>`.
|
||||
*
|
||||
* The clause between `<>` are provided through the dedicated method in this class (@link{self::setSelectKey},
|
||||
* @link{self::setFromClause}), etc.).
|
||||
*
|
||||
*/
|
||||
class SearchApiQuery
|
||||
{
|
||||
private ?string $fromClause = null;
|
||||
|
@ -16,7 +16,7 @@ use Chill\MainBundle\Entity\Scope;
|
||||
use Chill\MainBundle\Entity\User;
|
||||
use Chill\MainBundle\Repository\UserACLAwareRepositoryInterface;
|
||||
use Chill\MainBundle\Security\ParentRoleHelper;
|
||||
use Chill\MainBundle\Security\Resolver\CenterResolverDispatcherInterface;
|
||||
use Chill\MainBundle\Security\Resolver\CenterResolverManagerInterface;
|
||||
use Chill\MainBundle\Security\Resolver\ScopeResolverDispatcher;
|
||||
use Psr\Log\LoggerInterface;
|
||||
use Symfony\Component\Security\Core\Role\Role;
|
||||
@ -34,7 +34,7 @@ use function get_class;
|
||||
*/
|
||||
class AuthorizationHelper implements AuthorizationHelperInterface
|
||||
{
|
||||
private CenterResolverDispatcherInterface $centerResolverDispatcher;
|
||||
private CenterResolverManagerInterface $centerResolverManager;
|
||||
|
||||
private LoggerInterface $logger;
|
||||
|
||||
@ -45,13 +45,13 @@ class AuthorizationHelper implements AuthorizationHelperInterface
|
||||
private UserACLAwareRepositoryInterface $userACLAwareRepository;
|
||||
|
||||
public function __construct(
|
||||
CenterResolverDispatcherInterface $centerResolverDispatcher,
|
||||
CenterResolverManagerInterface $centerResolverManager,
|
||||
LoggerInterface $logger,
|
||||
ScopeResolverDispatcher $scopeResolverDispatcher,
|
||||
UserACLAwareRepositoryInterface $userACLAwareRepository,
|
||||
ParentRoleHelper $parentRoleHelper
|
||||
) {
|
||||
$this->centerResolverDispatcher = $centerResolverDispatcher;
|
||||
$this->centerResolverManager = $centerResolverManager;
|
||||
$this->logger = $logger;
|
||||
$this->scopeResolverDispatcher = $scopeResolverDispatcher;
|
||||
$this->userACLAwareRepository = $userACLAwareRepository;
|
||||
@ -63,7 +63,7 @@ class AuthorizationHelper implements AuthorizationHelperInterface
|
||||
*
|
||||
* @param User $user The user
|
||||
* @param array $centers a list of centers which are going to be filtered
|
||||
* @param Center|string $role
|
||||
* @param string $role
|
||||
*/
|
||||
public function filterReachableCenters(User $user, array $centers, $role): array
|
||||
{
|
||||
@ -113,13 +113,14 @@ class AuthorizationHelper implements AuthorizationHelperInterface
|
||||
* Get reachable Centers for the given user, role,
|
||||
* and optionally Scope.
|
||||
*
|
||||
* @return array|Center[]
|
||||
* @return list<Center>
|
||||
*/
|
||||
public function getReachableCenters(UserInterface $user, string $role, ?Scope $scope = null): array
|
||||
{
|
||||
if ($role instanceof Role) {
|
||||
$role = $role->getRole();
|
||||
}
|
||||
/** @var array<string, Center> $centers */
|
||||
$centers = [];
|
||||
|
||||
foreach ($user->getGroupCenters() as $groupCenter) {
|
||||
@ -129,13 +130,13 @@ class AuthorizationHelper implements AuthorizationHelperInterface
|
||||
//check that the role is in the reachable roles
|
||||
if ($this->isRoleReached($role, $roleScope->getRole())) {
|
||||
if (null === $scope) {
|
||||
$centers[] = $groupCenter->getCenter();
|
||||
$centers[spl_object_hash($groupCenter->getCenter())] = $groupCenter->getCenter();
|
||||
|
||||
break;
|
||||
}
|
||||
|
||||
if ($scope->getId() === $roleScope->getScope()->getId()) {
|
||||
$centers[] = $groupCenter->getCenter();
|
||||
$centers[spl_object_hash($groupCenter->getCenter())] = $groupCenter->getCenter();
|
||||
|
||||
break;
|
||||
}
|
||||
@ -143,7 +144,7 @@ class AuthorizationHelper implements AuthorizationHelperInterface
|
||||
}
|
||||
}
|
||||
|
||||
return $centers;
|
||||
return array_values($centers);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -194,7 +195,7 @@ class AuthorizationHelper implements AuthorizationHelperInterface
|
||||
*
|
||||
* @return array|Scope[]
|
||||
*/
|
||||
public function getReachableScopes(UserInterface $user, string $role, $center): array
|
||||
public function getReachableScopes(UserInterface $user, string $role, Center|array $center): array
|
||||
{
|
||||
if ($role instanceof Role) {
|
||||
$role = $role->getRole();
|
||||
@ -252,10 +253,9 @@ class AuthorizationHelper implements AuthorizationHelperInterface
|
||||
*/
|
||||
public function userHasAccess(User $user, $entity, $attribute)
|
||||
{
|
||||
$center = $this->centerResolverDispatcher->resolveCenter($entity);
|
||||
$centers = $this->centerResolverManager->resolveCenters($entity);
|
||||
|
||||
if (is_iterable($center)) {
|
||||
foreach ($center as $c) {
|
||||
foreach ($centers as $c) {
|
||||
if ($this->userHasAccessForCenter($user, $c, $entity, $attribute)) {
|
||||
return true;
|
||||
}
|
||||
@ -264,17 +264,6 @@ class AuthorizationHelper implements AuthorizationHelperInterface
|
||||
return false;
|
||||
}
|
||||
|
||||
if ($center instanceof Center) {
|
||||
return $this->userHasAccessForCenter($user, $center, $entity, $attribute);
|
||||
}
|
||||
|
||||
if (null === $center) {
|
||||
return false;
|
||||
}
|
||||
|
||||
throw new UnexpectedValueException('could not resolver a center');
|
||||
}
|
||||
|
||||
/**
|
||||
* Test if a parent role may give access to a given child role.
|
||||
*
|
||||
|
@ -21,12 +21,12 @@ interface AuthorizationHelperInterface
|
||||
* Get reachable Centers for the given user, role,
|
||||
* and optionnaly Scope.
|
||||
*
|
||||
* @return Center[]
|
||||
* @return list<Center>
|
||||
*/
|
||||
public function getReachableCenters(UserInterface $user, string $role, ?Scope $scope = null): array;
|
||||
|
||||
/**
|
||||
* @param array|Center|Center[] $center
|
||||
* @param Center|list<Center> $center
|
||||
*/
|
||||
public function getReachableScopes(UserInterface $user, string $role, $center): array;
|
||||
public function getReachableScopes(UserInterface $user, string $role, Center|array $center): array;
|
||||
}
|
||||
|
@ -1,8 +1,8 @@
|
||||
"This program is free software: you can redistribute it and/or modify it under the terms of the <strong>GNU Affero General Public License</strong>": "Ce programme est un logiciel libre: vous pouvez le redistribuer et/ou le modifier selon les termes de la licence <strong>GNU Affero GPL</strong>"
|
||||
User manual: Manuel d'utilisation
|
||||
Search: Rechercher
|
||||
"Search persons, ...": "Recherche des personnes, ..."
|
||||
Person name: Nom / Prénom de la personne
|
||||
"Search persons, ...": "Recherche des usagers, ..."
|
||||
Person name: Nom / Prénom de l'usager
|
||||
Login: Connexion
|
||||
Logout: Se déconnecter
|
||||
Bad credentials.: Le mot de passe et le nom d'utilisateur ne correspondent pas.
|
||||
|
@ -11,6 +11,8 @@ declare(strict_types=1);
|
||||
|
||||
namespace Chill\PersonBundle\Controller;
|
||||
|
||||
use Chill\MainBundle\Security\Authorization\AuthorizationHelper;
|
||||
use Chill\MainBundle\Security\Authorization\AuthorizationHelperInterface;
|
||||
use Chill\PersonBundle\Config\ConfigPersonAltNamesHelper;
|
||||
use Chill\PersonBundle\Entity\Household\Household;
|
||||
use Chill\PersonBundle\Entity\Household\HouseholdMember;
|
||||
@ -20,6 +22,7 @@ use Chill\PersonBundle\Form\PersonType;
|
||||
use Chill\PersonBundle\Privacy\PrivacyEvent;
|
||||
use Chill\PersonBundle\Repository\PersonRepository;
|
||||
use Chill\PersonBundle\Search\SimilarPersonMatcher;
|
||||
use Chill\PersonBundle\Security\Authorization\PersonVoter;
|
||||
use DateTimeImmutable;
|
||||
use Doctrine\ORM\EntityManagerInterface;
|
||||
use Psr\Log\LoggerInterface;
|
||||
@ -44,6 +47,8 @@ use function is_array;
|
||||
|
||||
final class PersonController extends AbstractController
|
||||
{
|
||||
private AuthorizationHelperInterface $authorizationHelper;
|
||||
|
||||
/**
|
||||
* @var ConfigPersonAltNamesHelper
|
||||
*/
|
||||
@ -87,6 +92,7 @@ final class PersonController extends AbstractController
|
||||
private $validator;
|
||||
|
||||
public function __construct(
|
||||
AuthorizationHelperInterface $authorizationHelper,
|
||||
SimilarPersonMatcher $similarPersonMatcher,
|
||||
TranslatorInterface $translator,
|
||||
EventDispatcherInterface $eventDispatcher,
|
||||
@ -97,6 +103,7 @@ final class PersonController extends AbstractController
|
||||
EntityManagerInterface $em,
|
||||
Security $security
|
||||
) {
|
||||
$this->authorizationHelper = $authorizationHelper;
|
||||
$this->similarPersonMatcher = $similarPersonMatcher;
|
||||
$this->translator = $translator;
|
||||
$this->eventDispatcher = $eventDispatcher;
|
||||
@ -206,22 +213,15 @@ final class PersonController extends AbstractController
|
||||
*
|
||||
* The next post compare the data with previous one and, if yes, show a
|
||||
* review page if there are "alternate persons".
|
||||
*
|
||||
* @return Response|\Symfony\Component\HttpFoundation\RedirectResponse
|
||||
*/
|
||||
public function newAction(Request $request)
|
||||
public function newAction(Request $request): Response
|
||||
{
|
||||
$person = new Person();
|
||||
|
||||
if (
|
||||
1 === count($this->security->getUser()
|
||||
->getGroupCenters())
|
||||
) {
|
||||
$person->setCenter(
|
||||
$this->security->getUser()
|
||||
->getGroupCenters()[0]
|
||||
->getCenter()
|
||||
);
|
||||
$authorizedCenters =$this->authorizationHelper->getReachableCenters($this->getUser(), PersonVoter::CREATE);
|
||||
|
||||
if (1 === count($authorizedCenters)) {
|
||||
$person->setCenter($authorizedCenters[0]);
|
||||
}
|
||||
|
||||
$form = $this->createForm(CreationPersonType::class, $person)
|
||||
|
@ -94,8 +94,8 @@ class AccompanyingPeriodWork implements AccompanyingPeriodLinkedWithSocialIssues
|
||||
* @Serializer\Groups({"accompanying_period_work:create"})
|
||||
* @Serializer\Groups({"accompanying_period_work:edit"})
|
||||
* @Serializer\Groups({"read", "docgen:read", "read:accompanyingPeriodWork:light"})
|
||||
* @Assert\GreaterThan(propertyPath="startDate",
|
||||
* message="accompanying_course_work.The endDate should be greater than the start date"
|
||||
* @Assert\GreaterThanOrEqual(propertyPath="startDate",
|
||||
* message="accompanying_course_work.The endDate should be greater or equal than the start date"
|
||||
* )
|
||||
*/
|
||||
private ?DateTimeImmutable $endDate = null;
|
||||
|
@ -75,7 +75,8 @@ final class PersonACLAwareRepository implements PersonACLAwareRepositoryInterfac
|
||||
$birthdateAfter,
|
||||
$gender,
|
||||
$countryCode,
|
||||
$phonenumber
|
||||
$phonenumber,
|
||||
$city
|
||||
);
|
||||
|
||||
return $this->addAuthorizations($query);
|
||||
|
@ -1,15 +1,22 @@
|
||||
import { createApp } from 'vue';
|
||||
import { _createI18n } from 'ChillMainAssets/vuejs/_js/i18n';
|
||||
import { store } from './store';
|
||||
import { personMessages } from 'ChillPersonAssets/vuejs/_js/i18n'
|
||||
import {createApp} from 'vue';
|
||||
import {_createI18n} from 'ChillMainAssets/vuejs/_js/i18n';
|
||||
import {store} from './store';
|
||||
import {personMessages} from 'ChillPersonAssets/vuejs/_js/i18n'
|
||||
import App from './App.vue';
|
||||
import VueToast from "vue-toast-notification";
|
||||
|
||||
const i18n = _createI18n(personMessages);
|
||||
|
||||
const app = createApp({
|
||||
template: `<app></app>`,
|
||||
})
|
||||
.use(store)
|
||||
.use(i18n)
|
||||
.component('app', App)
|
||||
.mount('#accompanying_course_work_create');
|
||||
.use(store)
|
||||
.use(i18n)
|
||||
.use(VueToast, {
|
||||
position: "bottom-right",
|
||||
type: "error",
|
||||
duration: 10000,
|
||||
dismissible: true,
|
||||
})
|
||||
.component('app', App)
|
||||
.mount('#accompanying_course_work_create');
|
||||
|
@ -107,6 +107,9 @@ const store = createStore({
|
||||
setPostingWork(state) {
|
||||
state.isPostingWork = true;
|
||||
},
|
||||
setPostingWorkDone(state) {
|
||||
state.isPostingWork = false;
|
||||
},
|
||||
setStartDate(state, date) {
|
||||
state.startDate = date;
|
||||
},
|
||||
@ -150,11 +153,12 @@ const store = createStore({
|
||||
const url = `/api/1.0/person/accompanying-course/${state.accompanyingCourse.id}/work.json`;
|
||||
commit('setPostingWork');
|
||||
|
||||
makeFetch('POST', url, payload)
|
||||
return makeFetch('POST', url, payload)
|
||||
.then((response) => {
|
||||
window.location.assign(`/fr/person/accompanying-period/work/${response.id}/edit`)
|
||||
})
|
||||
.catch((error) => {
|
||||
commit('setPostingWorkDone');
|
||||
throw error;
|
||||
});
|
||||
},
|
||||
|
@ -549,7 +549,14 @@ export default {
|
||||
.catch(e => { console.log(e); throw e; });
|
||||
},
|
||||
submit() {
|
||||
this.$store.dispatch('submit');
|
||||
this.$store.dispatch('submit').catch((error) => {
|
||||
if (error.name === 'ValidationException' || error.name === 'AccessException') {
|
||||
error.violations.forEach((violation) => this.$toast.open({message: violation}));
|
||||
} else {
|
||||
this.$toast.open({message: 'An error occurred'});
|
||||
throw error;
|
||||
}
|
||||
});
|
||||
},
|
||||
saveFormOnTheFly(payload) {
|
||||
console.log('saveFormOnTheFly: type', payload.type, ', data', payload.data);
|
||||
|
@ -15,7 +15,7 @@ const app = createApp({
|
||||
.use(VueToast, {
|
||||
position: "bottom-right",
|
||||
type: "error",
|
||||
duration: 5000,
|
||||
duration: 10000,
|
||||
dismissible: true
|
||||
})
|
||||
.use(i18n)
|
||||
|
@ -500,9 +500,8 @@ const store = createStore({
|
||||
window.location.assign(`/fr/person/accompanying-period/${state.work.accompanyingPeriod.id}/work`);
|
||||
}
|
||||
}).catch(error => {
|
||||
console.log('error on submit', error);
|
||||
commit('setIsPosting', false);
|
||||
commit('setErrors', error.violations);
|
||||
throw error;
|
||||
});
|
||||
},
|
||||
updateDocumentTitle({commit}, payload) {
|
||||
|
@ -36,7 +36,7 @@
|
||||
{%- macro links(person, options) -%}
|
||||
<ul>
|
||||
|
||||
<li><b>{{ person.counters.nb_activity }}</b> {{ (person.counters.nb_activity > 1)? 'activités' : 'activité' }}</li>
|
||||
<li><b>{{ person.counters.nb_activity }}</b> {{ (person.counters.nb_activity > 1)? 'échanges' : 'échange' }}</li>
|
||||
<li><b>{{ person.counters.nb_task }}</b> {{ (person.counters.nb_task > 1)? 'tâches' : 'tâche' }}</li>
|
||||
<li><b>{{ person.counters.nb_document }}</b> {{ (person.counters.nb_document > 1)? 'documents' : 'document' }}</li>
|
||||
<li><b>{{ person.counters.nb_event }}</b> {{ (person.counters.nb_event > 1)? 'événements' : 'événement' }}</li>
|
||||
|
@ -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;
|
||||
}
|
||||
|
@ -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,13 +1054,13 @@ 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
|
||||
|
||||
course:
|
||||
@ -1077,11 +1077,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 +1108,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:
|
||||
|
@ -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
|
||||
|
@ -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éé !"
|
||||
|
@ -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
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user