mirror of
https://gitlab.com/Chill-Projet/chill-bundles.git
synced 2025-08-20 14:43:49 +00:00
Merge remote-tracking branch 'origin/master' into refactor-using-rector-202303
This commit is contained in:
@@ -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
|
||||
*/
|
||||
@@ -59,8 +64,6 @@ final class PersonController extends AbstractController
|
||||
*/
|
||||
protected $personRepository;
|
||||
|
||||
private Security $security;
|
||||
|
||||
/**
|
||||
* @var SimilarPersonMatcher
|
||||
*/
|
||||
@@ -87,6 +90,7 @@ final class PersonController extends AbstractController
|
||||
private $validator;
|
||||
|
||||
public function __construct(
|
||||
AuthorizationHelperInterface $authorizationHelper,
|
||||
SimilarPersonMatcher $similarPersonMatcher,
|
||||
TranslatorInterface $translator,
|
||||
EventDispatcherInterface $eventDispatcher,
|
||||
@@ -95,8 +99,8 @@ final class PersonController extends AbstractController
|
||||
LoggerInterface $logger,
|
||||
ValidatorInterface $validator,
|
||||
EntityManagerInterface $em,
|
||||
Security $security
|
||||
) {
|
||||
$this->authorizationHelper = $authorizationHelper;
|
||||
$this->similarPersonMatcher = $similarPersonMatcher;
|
||||
$this->translator = $translator;
|
||||
$this->eventDispatcher = $eventDispatcher;
|
||||
@@ -105,7 +109,6 @@ final class PersonController extends AbstractController
|
||||
$this->logger = $logger;
|
||||
$this->validator = $validator;
|
||||
$this->em = $em;
|
||||
$this->security = $security;
|
||||
}
|
||||
|
||||
public function editAction($person_id, Request $request)
|
||||
@@ -206,22 +209,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;
|
||||
|
@@ -0,0 +1,116 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
/*
|
||||
* Chill is a software for social workers
|
||||
*
|
||||
* For the full copyright and license information, please view
|
||||
* the LICENSE file that was distributed with this source code.
|
||||
*/
|
||||
|
||||
namespace Chill\PersonBundle\Export\Filter\PersonFilters;
|
||||
|
||||
use Chill\MainBundle\Entity\Address;
|
||||
use Chill\MainBundle\Form\Type\PickRollingDateType;
|
||||
use Chill\MainBundle\Service\RollingDate\RollingDate;
|
||||
use Chill\MainBundle\Service\RollingDate\RollingDateConverterInterface;
|
||||
use Chill\MainBundle\Templating\TranslatableStringHelperInterface;
|
||||
use Chill\PersonBundle\Entity\Household\PersonHouseholdAddress;
|
||||
use Chill\PersonBundle\Export\Declarations;
|
||||
use Doctrine\ORM\QueryBuilder;
|
||||
use Symfony\Component\Form\Extension\Core\Type\ChoiceType;
|
||||
use Symfony\Component\Form\FormBuilderInterface;
|
||||
|
||||
class AddressRefStatusFilter implements \Chill\MainBundle\Export\FilterInterface
|
||||
{
|
||||
private RollingDateConverterInterface $rollingDateConverter;
|
||||
|
||||
|
||||
public function __construct(
|
||||
RollingDateConverterInterface $rollingDateConverter
|
||||
) {
|
||||
$this->rollingDateConverter = $rollingDateConverter;
|
||||
}
|
||||
|
||||
public function addRole(): ?string
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
public function alterQuery(QueryBuilder $qb, $data)
|
||||
{
|
||||
$subQuery =
|
||||
'SELECT 1
|
||||
FROM ' . PersonHouseholdAddress::class . ' person_filter_having_address_to_review_person_household_address
|
||||
JOIN person_filter_having_address_to_review_person_household_address.address person_filter_having_address_to_review_address
|
||||
WHERE
|
||||
person_filter_having_address_to_review_person_household_address.validFrom <= :person_filter_having_address_to_review_date
|
||||
AND
|
||||
(person_filter_having_address_to_review_person_household_address.validTo IS NULL
|
||||
OR person_filter_having_address_to_review_person_household_address.validTo > :person_filter_having_address_to_review_date)
|
||||
AND
|
||||
person_filter_having_address_to_review_person_household_address.person = person
|
||||
AND person_filter_having_address_to_review_address.refStatus IN (:person_filter_having_address_to_review_ref_statuses)
|
||||
';
|
||||
|
||||
$qb
|
||||
->andWhere(
|
||||
$qb->expr()->exists($subQuery)
|
||||
)
|
||||
->setParameter(
|
||||
'person_filter_having_address_to_review_date',
|
||||
$this->rollingDateConverter->convert($data['date_calc'] ?? RollingDate::T_TODAY)
|
||||
)
|
||||
->setParameter('person_filter_having_address_to_review_ref_statuses', $data['ref_statuses'] ?? [Address::ADDR_REFERENCE_STATUS_TO_REVIEW]);
|
||||
}
|
||||
|
||||
public function applyOn()
|
||||
{
|
||||
return Declarations::PERSON_TYPE;
|
||||
}
|
||||
|
||||
public function buildForm(FormBuilderInterface $builder)
|
||||
{
|
||||
$builder
|
||||
->add('date_calc', PickRollingDateType::class, [
|
||||
'label' => 'Compute address at date',
|
||||
'required' => true,
|
||||
'data' => new RollingDate(RollingDate::T_TODAY),
|
||||
])
|
||||
->add('ref_statuses', ChoiceType::class, [
|
||||
'label' => 'export.filter.person.by_address_ref_status.Status',
|
||||
'choices' => [Address::ADDR_REFERENCE_STATUS_TO_REVIEW, Address::ADDR_REFERENCE_STATUS_REVIEWED, Address::ADDR_REFERENCE_STATUS_MATCH],
|
||||
'choice_label' => function (string $item) {
|
||||
return 'export.filter.person.by_address_ref_status.'.$item;
|
||||
},
|
||||
'multiple' => true,
|
||||
'expanded' => true,
|
||||
'data' => [Address::ADDR_REFERENCE_STATUS_TO_REVIEW]
|
||||
]);
|
||||
}
|
||||
|
||||
public function describeAction($data, $format = 'string')
|
||||
{
|
||||
return [
|
||||
'export.filter.person.by_address_ref_status.Filtered by person\'s address status computed at %datecalc%, only %statuses%',
|
||||
[
|
||||
'%datecalc%' => $this->rollingDateConverter->convert($data['date_calc'])->format('Y-m-d'),
|
||||
'%statuses%' => implode(
|
||||
', ',
|
||||
array_map(
|
||||
function (string $item) {
|
||||
return 'export.filter.person.by_address_ref_status.'.$item;
|
||||
},
|
||||
$data['ref_statuses'] ?? RollingDate::T_TODAY
|
||||
)
|
||||
),
|
||||
],
|
||||
];
|
||||
}
|
||||
|
||||
public function getTitle(): string
|
||||
{
|
||||
return 'export.filter.person.by_address_ref_status.Filter by person\'s address ref status';
|
||||
}
|
||||
}
|
@@ -75,7 +75,8 @@ final class PersonACLAwareRepository implements PersonACLAwareRepositoryInterfac
|
||||
$birthdateAfter,
|
||||
$gender,
|
||||
$countryCode,
|
||||
$phonenumber
|
||||
$phonenumber,
|
||||
$city
|
||||
);
|
||||
|
||||
return $this->addAuthorizations($query);
|
||||
|
@@ -15,33 +15,36 @@
|
||||
:person="participation.person"
|
||||
:returnPath="getAccompanyingCourseReturnPath">
|
||||
|
||||
<template v-slot:record-actions>
|
||||
<ul class="record_actions">
|
||||
<template v-slot:end-bloc>
|
||||
<div class="item-row separator">
|
||||
<ul class="record_actions">
|
||||
<button-location
|
||||
v-if="hasCurrentHouseholdAddress"
|
||||
v-bind:person="participation.person">
|
||||
v-if="hasCurrentHouseholdAddress && !isPersonLocatingCourse(participation.person)"
|
||||
v-bind:person="participation.person">
|
||||
</button-location>
|
||||
<li v-if="participation.person.current_household_id">
|
||||
<a class="btn btn-sm btn-chill-beige"
|
||||
:href="getCurrentHouseholdUrl"
|
||||
:title="$t('persons_associated.show_household_number', { id: participation.person.current_household_id })">
|
||||
<i class="fa fa-fw fa-home"></i>
|
||||
</a>
|
||||
<a class="btn btn-sm btn-chill-beige"
|
||||
:href="getCurrentHouseholdUrl"
|
||||
:title="$t('persons_associated.show_household_number', { id: participation.person.current_household_id })">
|
||||
<i class="fa fa-fw fa-home"></i>
|
||||
</a>
|
||||
</li>
|
||||
<li><on-the-fly :type="participation.person.type" :id="participation.person.id" action="show"></on-the-fly></li>
|
||||
<li><on-the-fly :type="participation.person.type" :id="participation.person.id" action="edit" @saveFormOnTheFly="saveFormOnTheFly" ref="onTheFly"></on-the-fly></li>
|
||||
<li>
|
||||
<button v-if="!participation.endDate"
|
||||
class="btn btn-sm btn-remove"
|
||||
v-bind:title="$t('persons_associated.leave_course')"
|
||||
@click="modal.showModal = true">
|
||||
</button>
|
||||
<button v-if="!participation.endDate"
|
||||
class="btn btn-sm btn-remove"
|
||||
v-bind:title="$t('persons_associated.leave_course')"
|
||||
@click="modal.showModal = true">
|
||||
</button>
|
||||
</li>
|
||||
</ul>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
</template>
|
||||
</person-render-box>
|
||||
|
||||
|
||||
<teleport to="body">
|
||||
<modal v-if="modal.showModal" :modalDialogClass="modal.modalDialogClass" @close="modal.showModal = false">
|
||||
<template v-slot:header>
|
||||
@@ -106,9 +109,12 @@ export default {
|
||||
},
|
||||
getCurrentHouseholdUrl() {
|
||||
return `/fr/person/household/${this.participation.person.current_household_id}/summary?returnPath=${this.getAccompanyingCourseReturnPath}`
|
||||
}
|
||||
},
|
||||
},
|
||||
methods: {
|
||||
isPersonLocatingCourse(person) {
|
||||
return this.$store.getters.isPersonLocatingCourse(person);
|
||||
},
|
||||
saveFormOnTheFly(payload) {
|
||||
console.log('saveFormOnTheFly: type', payload.type, ', data', payload.data);
|
||||
payload.target = 'participation';
|
||||
|
@@ -12,40 +12,42 @@
|
||||
hLevel : 3,
|
||||
isConfidential : true
|
||||
}">
|
||||
<template v-slot:record-actions>
|
||||
<ul class="record_actions">
|
||||
<template v-slot:end-bloc>
|
||||
<div class="item-row separator">
|
||||
<ul class="record_actions">
|
||||
<li>
|
||||
<write-comment
|
||||
<write-comment
|
||||
:resource="resource"
|
||||
@updateComment="updateComment"
|
||||
></write-comment>
|
||||
></write-comment>
|
||||
</li>
|
||||
<li>
|
||||
<on-the-fly
|
||||
<on-the-fly
|
||||
:parent="parent"
|
||||
:type="resource.resource.type"
|
||||
:id="resource.resource.id"
|
||||
action="show">
|
||||
</on-the-fly>
|
||||
</on-the-fly>
|
||||
</li>
|
||||
<li>
|
||||
<on-the-fly
|
||||
<on-the-fly
|
||||
:parent="parent"
|
||||
:type="resource.resource.type"
|
||||
:id="resource.resource.id"
|
||||
action="edit"
|
||||
@saveFormOnTheFly="saveFormOnTheFly"
|
||||
ref="onTheFly">
|
||||
</on-the-fly>
|
||||
</on-the-fly>
|
||||
</li>
|
||||
<li>
|
||||
<button
|
||||
<button
|
||||
class="btn btn-sm btn-remove"
|
||||
:title="$t('action.remove')"
|
||||
@click.prevent="$emit('remove', resource)">
|
||||
</button>
|
||||
</button>
|
||||
</li>
|
||||
</ul>
|
||||
</ul>
|
||||
</div>
|
||||
</template>
|
||||
</person-render-box>
|
||||
|
||||
@@ -59,40 +61,42 @@
|
||||
addInfo: false,
|
||||
hLevel: 3
|
||||
}">
|
||||
<template v-slot:record-actions>
|
||||
<ul class="record_actions">
|
||||
<template v-slot:end-bloc>
|
||||
<div class="item-row separator">
|
||||
<ul class="record_actions">
|
||||
<li>
|
||||
<write-comment
|
||||
<write-comment
|
||||
:resource="resource"
|
||||
@updateComment="updateComment"
|
||||
></write-comment>
|
||||
></write-comment>
|
||||
</li>
|
||||
<li>
|
||||
<on-the-fly
|
||||
<on-the-fly
|
||||
:parent="parent"
|
||||
:type="resource.resource.type"
|
||||
:id="resource.resource.id"
|
||||
action="show">
|
||||
</on-the-fly>
|
||||
</on-the-fly>
|
||||
</li>
|
||||
<li>
|
||||
<on-the-fly
|
||||
<on-the-fly
|
||||
:parent="parent"
|
||||
:type="resource.resource.type"
|
||||
:id="resource.resource.id"
|
||||
action="edit"
|
||||
@saveFormOnTheFly="saveFormOnTheFly"
|
||||
ref="onTheFly">
|
||||
</on-the-fly>
|
||||
</on-the-fly>
|
||||
</li>
|
||||
<li>
|
||||
<button
|
||||
<button
|
||||
class="btn btn-sm btn-remove"
|
||||
:title="$t('action.remove')"
|
||||
@click.prevent="$emit('remove', resource)">
|
||||
</button>
|
||||
</button>
|
||||
</li>
|
||||
</ul>
|
||||
</ul>
|
||||
</div>
|
||||
</template>
|
||||
</third-party-render-box>
|
||||
</template>
|
||||
|
@@ -49,6 +49,13 @@ let initPromise = (root) => Promise.all([getScopesPromise(root), accompanyingCou
|
||||
postFirstPinnedCommentResponse: null,
|
||||
},
|
||||
getters: {
|
||||
isPersonLocatingCourse: (state) => (person) => {
|
||||
if (state.accompanyingCourse.locationStatus !== 'person') {
|
||||
return false;
|
||||
}
|
||||
|
||||
return state.accompanyingCourse.personLocation.id === person.id;
|
||||
},
|
||||
isParticipationValid(state) {
|
||||
return state.accompanyingCourse.participations.length > 0;
|
||||
},
|
||||
|
@@ -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>`,
|
||||
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) {
|
||||
|
@@ -1,184 +1,191 @@
|
||||
<template>
|
||||
<div v-if="render === 'bloc'" class="item-bloc">
|
||||
<div v-if="render === 'bloc'" class="item-bloc">
|
||||
<section class="chill-entity entity-person">
|
||||
<div class="item-row entity-bloc">
|
||||
<div class="item-row entity-bloc">
|
||||
|
||||
<div class="item-col">
|
||||
<div class="entity-label">
|
||||
<div class="item-col">
|
||||
<div class="entity-label">
|
||||
|
||||
<div :class="'denomination h' + options.hLevel">
|
||||
<div :class="'denomination h' + options.hLevel">
|
||||
|
||||
<a v-if="options.addLink === true" :href="getUrl">
|
||||
<!-- use person-text here to avoid code duplication ? TODO -->
|
||||
<span class="firstname">{{ person.firstName }}</span>
|
||||
<span class="lastname">{{ person.lastName }}</span>
|
||||
<span v-if="person.suffixText" class="suffixtext"> {{ person.suffixText }}</span>
|
||||
<span v-if="person.altNames && options.addAltNames == true" class="altnames">
|
||||
<a v-if="options.addLink === true" :href="getUrl">
|
||||
<!-- use person-text here to avoid code duplication ? TODO -->
|
||||
<span class="firstname">{{ person.firstName }}</span>
|
||||
<span class="lastname">{{ person.lastName }}</span>
|
||||
<span v-if="person.suffixText" class="suffixtext"> {{ person.suffixText }}</span>
|
||||
<span v-if="person.altNames && options.addAltNames == true" class="altnames">
|
||||
<span :class="'altname altname-' + altNameKey">{{ altNameLabel }}</span>
|
||||
</span>
|
||||
</a>
|
||||
</a>
|
||||
|
||||
<!-- use person-text here to avoid code duplication ? TODO -->
|
||||
<span class="firstname">{{ person.firstName }}</span>
|
||||
<span class="lastname">{{ person.lastName }}</span>
|
||||
<span v-if="person.suffixText" class="suffixtext"> {{ person.suffixText }}</span>
|
||||
<span v-if="person.deathdate" class="deathdate"> (‡)</span>
|
||||
<span v-if="person.altNames && options.addAltNames == true" class="altnames">
|
||||
<!-- use person-text here to avoid code duplication ? TODO -->
|
||||
<span class="firstname">{{ person.firstName }}</span>
|
||||
<span class="lastname">{{ person.lastName }}</span>
|
||||
<span v-if="person.suffixText" class="suffixtext"> {{ person.suffixText }}</span>
|
||||
<span v-if="person.deathdate" class="deathdate"> (‡)</span>
|
||||
<span v-if="person.altNames && options.addAltNames == true" class="altnames">
|
||||
<span :class="'altname altname-' + altNameKey">{{ altNameLabel }}</span>
|
||||
</span>
|
||||
|
||||
<span v-if="options.addId == true" class="id-number" :title="'n° ' + person.id">{{ person.id }}</span>
|
||||
<span v-if="options.addId == true" class="id-number" :title="'n° ' + person.id">{{ person.id }}</span>
|
||||
|
||||
<badge-entity v-if="options.addEntity === true"
|
||||
:entity="person"
|
||||
:options="{ displayLong: options.entityDisplayLong }">
|
||||
</badge-entity>
|
||||
<badge-entity v-if="options.addEntity === true"
|
||||
:entity="person"
|
||||
:options="{ displayLong: options.entityDisplayLong }">
|
||||
</badge-entity>
|
||||
|
||||
</div>
|
||||
|
||||
<p v-if="options.addInfo === true" class="moreinfo">
|
||||
<i :class="'fa fa-fw ' + getGenderIcon" :title="$t(getGender)"></i>
|
||||
|
||||
<time v-if="person.birthdate && !person.deathdate" :datetime="person.birthdate" :title="birthdate">
|
||||
{{ $t(getGenderTranslation) + ' ' + $d(birthdate, 'text') }}
|
||||
</time>
|
||||
|
||||
<time v-else-if="person.birthdate && person.deathdate" :datetime="person.deathdate" :title="person.deathdate">
|
||||
{{ $d(birthdate) }} - {{ $d(deathdate) }}
|
||||
</time>
|
||||
|
||||
<time v-else-if="person.deathdate" :datetime="person.deathdate" :title="person.deathdate">
|
||||
{{ $t('renderbox.deathdate') + ' ' + deathdate }}
|
||||
</time>
|
||||
|
||||
<span v-if="options.addAge && person.birthdate" class="age">{{ $tc('renderbox.years_old', person.age) }}</span>
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<p v-if="options.addInfo === true" class="moreinfo">
|
||||
<i :class="'fa fa-fw ' + getGenderIcon" :title="$t(getGender)"></i>
|
||||
|
||||
<time v-if="person.birthdate && !person.deathdate" :datetime="person.birthdate" :title="birthdate">
|
||||
{{ $t(getGenderTranslation) + ' ' + $d(birthdate, 'text') }}
|
||||
</time>
|
||||
|
||||
<time v-else-if="person.birthdate && person.deathdate" :datetime="person.deathdate"
|
||||
:title="person.deathdate">
|
||||
{{ $d(birthdate) }} - {{ $d(deathdate) }}
|
||||
</time>
|
||||
|
||||
<time v-else-if="person.deathdate" :datetime="person.deathdate" :title="person.deathdate">
|
||||
{{ $t('renderbox.deathdate') + ' ' + deathdate }}
|
||||
</time>
|
||||
|
||||
<span v-if="options.addAge && person.birthdate" class="age">{{
|
||||
$tc('renderbox.years_old', person.age)
|
||||
}}</span>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="item-col">
|
||||
<div class="float-button bottom">
|
||||
<div class="box">
|
||||
<div class="action">
|
||||
<slot name="record-actions"></slot>
|
||||
</div>
|
||||
<ul class="list-content fa-ul">
|
||||
<li v-if="person.current_household_id">
|
||||
<i class="fa fa-li fa-map-marker"></i>
|
||||
<address-render-box v-if="person.current_household_address"
|
||||
:address="person.current_household_address"
|
||||
:isMultiline="isMultiline">
|
||||
</address-render-box>
|
||||
<p v-else class="chill-no-data-statement">
|
||||
{{ $t('renderbox.household_without_address') }}
|
||||
</p>
|
||||
<a v-if="options.addHouseholdLink === true"
|
||||
:href="getCurrentHouseholdUrl"
|
||||
:title="$t('persons_associated.show_household_number', {id: person.current_household_id})">
|
||||
<div class="float-button bottom">
|
||||
<div class="box">
|
||||
<div class="action">
|
||||
<slot name="record-actions"></slot>
|
||||
</div>
|
||||
<ul class="list-content fa-ul">
|
||||
<li v-if="person.current_household_id">
|
||||
<i class="fa fa-li fa-map-marker"></i>
|
||||
<address-render-box v-if="person.current_household_address"
|
||||
:address="person.current_household_address"
|
||||
:isMultiline="isMultiline">
|
||||
</address-render-box>
|
||||
<p v-else class="chill-no-data-statement">
|
||||
{{ $t('renderbox.household_without_address') }}
|
||||
</p>
|
||||
<a v-if="options.addHouseholdLink === true"
|
||||
:href="getCurrentHouseholdUrl"
|
||||
:title="$t('persons_associated.show_household_number', {id: person.current_household_id})">
|
||||
<span class="badge rounded-pill bg-chill-beige">
|
||||
<i class="fa fa-fw fa-home"></i><!--{{ $t('persons_associated.show_household') }}-->
|
||||
</span>
|
||||
</a>
|
||||
</li>
|
||||
<li v-else-if="options.addNoData">
|
||||
<i class="fa fa-li fa-map-marker"></i>
|
||||
<p class="chill-no-data-statement">
|
||||
{{ $t('renderbox.no_data') }}
|
||||
</p>
|
||||
</li>
|
||||
</a>
|
||||
</li>
|
||||
<li v-else-if="options.addNoData">
|
||||
<i class="fa fa-li fa-map-marker"></i>
|
||||
<p class="chill-no-data-statement">
|
||||
{{ $t('renderbox.no_data') }}
|
||||
</p>
|
||||
</li>
|
||||
|
||||
<li v-if="person.email">
|
||||
<i class="fa fa-li fa-envelope-o"></i>
|
||||
<a :href="'mailto: ' + person.email">{{ person.email }}</a>
|
||||
</li>
|
||||
<li v-else-if="options.addNoData">
|
||||
<i class="fa fa-li fa-envelope-o"></i>
|
||||
<p class="chill-no-data-statement">{{ $t('renderbox.no_data') }}</p>
|
||||
</li>
|
||||
<li v-if="person.email">
|
||||
<i class="fa fa-li fa-envelope-o"></i>
|
||||
<a :href="'mailto: ' + person.email">{{ person.email }}</a>
|
||||
</li>
|
||||
<li v-else-if="options.addNoData">
|
||||
<i class="fa fa-li fa-envelope-o"></i>
|
||||
<p class="chill-no-data-statement">{{ $t('renderbox.no_data') }}</p>
|
||||
</li>
|
||||
|
||||
<li v-if="person.mobilenumber">
|
||||
<i class="fa fa-li fa-mobile"></i>
|
||||
<a :href="'tel: ' + person.mobilenumber">{{ person.mobilenumber }}</a>
|
||||
</li>
|
||||
<li v-else-if="options.addNoData">
|
||||
<i class="fa fa-li fa-mobile"></i>
|
||||
<p class="chill-no-data-statement">{{ $t('renderbox.no_data') }}</p>
|
||||
</li>
|
||||
<li v-if="person.phonenumber">
|
||||
<i class="fa fa-li fa-phone"></i>
|
||||
<a :href="'tel: ' + person.phonenumber">{{ person.phonenumber }}</a>
|
||||
</li>
|
||||
<li v-else-if="options.addNoData">
|
||||
<i class="fa fa-li fa-phone"></i>
|
||||
<p class="chill-no-data-statement">{{ $t('renderbox.no_data') }}</p>
|
||||
</li>
|
||||
<li v-if="person.mobilenumber">
|
||||
<i class="fa fa-li fa-mobile"></i>
|
||||
<a :href="'tel: ' + person.mobilenumber">{{ person.mobilenumber }}</a>
|
||||
</li>
|
||||
<li v-else-if="options.addNoData">
|
||||
<i class="fa fa-li fa-mobile"></i>
|
||||
<p class="chill-no-data-statement">{{ $t('renderbox.no_data') }}</p>
|
||||
</li>
|
||||
<li v-if="person.phonenumber">
|
||||
<i class="fa fa-li fa-phone"></i>
|
||||
<a :href="'tel: ' + person.phonenumber">{{ person.phonenumber }}</a>
|
||||
</li>
|
||||
<li v-else-if="options.addNoData">
|
||||
<i class="fa fa-li fa-phone"></i>
|
||||
<p class="chill-no-data-statement">{{ $t('renderbox.no_data') }}</p>
|
||||
</li>
|
||||
|
||||
<li v-if="person.centers !== undefined && person.centers.length > 0 && options.addCenter">
|
||||
<i class="fa fa-li fa-long-arrow-right"></i>
|
||||
<template v-for="c in person.centers">{{ c.name }}</template>
|
||||
</li>
|
||||
<li v-else-if="options.addNoData">
|
||||
<i class="fa fa-li fa-long-arrow-right"></i>
|
||||
<p class="chill-no-data-statement">{{ $t('renderbox.no_data') }}</p>
|
||||
</li>
|
||||
<slot name="custom-zone"></slot>
|
||||
<li v-if="person.centers !== undefined && person.centers.length > 0 && options.addCenter">
|
||||
<i class="fa fa-li fa-long-arrow-right"></i>
|
||||
<template v-for="c in person.centers">{{ c.name }}</template>
|
||||
</li>
|
||||
<li v-else-if="options.addNoData">
|
||||
<i class="fa fa-li fa-long-arrow-right"></i>
|
||||
<p class="chill-no-data-statement">{{ $t('renderbox.no_data') }}</p>
|
||||
</li>
|
||||
<slot name="custom-zone"></slot>
|
||||
|
||||
</ul>
|
||||
</div>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="item-col mx-3" v-if="this.showResidentialAddresses && (person.current_residential_addresses || []).length > 0">
|
||||
<div class="float-button bottom">
|
||||
<div class="box" >
|
||||
<ul class="list-content fa-ul">
|
||||
<li v-for="(addr, i) in person.current_residential_addresses" :key="i">
|
||||
<i class="fa fa-li fa-map-marker"></i>
|
||||
<div v-if="addr.address">
|
||||
<address-render-box
|
||||
:address="addr.address"
|
||||
:isMultiline="isMultiline">
|
||||
</address-render-box>
|
||||
<p>({{ $t('renderbox.residential_address') }})</p>
|
||||
</div>
|
||||
<div v-else-if="addr.hostPerson" class="mt-3">
|
||||
<p>{{ $t('renderbox.located_at') }}:</p>
|
||||
<span class="chill-entity entity-person badge-person">
|
||||
<div class="item-col mx-3"
|
||||
v-if="this.showResidentialAddresses && (person.current_residential_addresses || []).length > 0">
|
||||
<div class="float-button bottom">
|
||||
<div class="box">
|
||||
<ul class="list-content fa-ul">
|
||||
<li v-for="(addr, i) in person.current_residential_addresses" :key="i">
|
||||
<i class="fa fa-li fa-map-marker"></i>
|
||||
<div v-if="addr.address">
|
||||
<address-render-box
|
||||
:address="addr.address"
|
||||
:isMultiline="isMultiline">
|
||||
</address-render-box>
|
||||
<p>({{ $t('renderbox.residential_address') }})</p>
|
||||
</div>
|
||||
<div v-else-if="addr.hostPerson" class="mt-3">
|
||||
<p>{{ $t('renderbox.located_at') }}:</p>
|
||||
<span class="chill-entity entity-person badge-person">
|
||||
<person-text
|
||||
v-if="addr.hostPerson"
|
||||
:person="addr.hostPerson"
|
||||
></person-text>
|
||||
</span>
|
||||
<address-render-box v-if="addr.hostPerson.address"
|
||||
:address="addr.hostPerson.address"
|
||||
:isMultiline="isMultiline">
|
||||
</address-render-box>
|
||||
</div>
|
||||
<div v-else-if="addr.hostThirdParty" class="mt-3">
|
||||
<p>{{ $t('renderbox.located_at') }}:</p>
|
||||
<span class="chill-entity entity-person badge-thirdparty">
|
||||
<address-render-box v-if="addr.hostPerson.address"
|
||||
:address="addr.hostPerson.address"
|
||||
:isMultiline="isMultiline">
|
||||
</address-render-box>
|
||||
</div>
|
||||
<div v-else-if="addr.hostThirdParty" class="mt-3">
|
||||
<p>{{ $t('renderbox.located_at') }}:</p>
|
||||
<span class="chill-entity entity-person badge-thirdparty">
|
||||
<third-party-text
|
||||
v-if="addr.hostThirdParty"
|
||||
:thirdparty="addr.hostThirdParty"
|
||||
></third-party-text>
|
||||
</span>
|
||||
<address-render-box v-if="addr.hostThirdParty.address"
|
||||
:address="addr.hostThirdParty.address"
|
||||
:isMultiline="isMultiline">
|
||||
</address-render-box>
|
||||
</div>
|
||||
<address-render-box v-if="addr.hostThirdParty.address"
|
||||
:address="addr.hostThirdParty.address"
|
||||
:isMultiline="isMultiline">
|
||||
</address-render-box>
|
||||
</div>
|
||||
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<slot name="end-bloc"></slot>
|
||||
|
||||
</section>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<span v-if="render === 'badge'" class="chill-entity entity-person badge-person">
|
||||
<span v-if="render === 'badge'" class="chill-entity entity-person badge-person">
|
||||
<a v-if="options.addLink === true" :href="getUrl">
|
||||
<span v-if="options.isHolder" class="fa-stack fa-holder" :title="$t('renderbox.holder')">
|
||||
<i class="fa fa-circle fa-stack-1x text-success"></i>
|
||||
@@ -206,111 +213,119 @@ import Confidential from 'ChillMainAssets/vuejs/_components/Confidential.vue';
|
||||
import BadgeEntity from 'ChillMainAssets/vuejs/_components/BadgeEntity.vue';
|
||||
import PersonText from 'ChillPersonAssets/vuejs/_components/Entity/PersonText.vue';
|
||||
import ThirdPartyText from 'ChillThirdPartyAssets/vuejs/_components/Entity/ThirdPartyText.vue';
|
||||
import AddressDetailsButton from "ChillMainAssets/vuejs/_components/AddressDetails/AddressDetailsButton.vue";
|
||||
|
||||
export default {
|
||||
name: "PersonRenderBox",
|
||||
components: {
|
||||
AddressRenderBox,
|
||||
Confidential,
|
||||
BadgeEntity,
|
||||
PersonText,
|
||||
ThirdPartyText
|
||||
name: "PersonRenderBox",
|
||||
components: {
|
||||
AddressRenderBox,
|
||||
Confidential,
|
||||
BadgeEntity,
|
||||
PersonText,
|
||||
ThirdPartyText
|
||||
},
|
||||
props: {
|
||||
person: {
|
||||
required: true,
|
||||
},
|
||||
props: {
|
||||
person: {
|
||||
required: true,
|
||||
},
|
||||
options: {
|
||||
type: Object,
|
||||
required: false,
|
||||
},
|
||||
render: {
|
||||
type: String,
|
||||
},
|
||||
returnPath: {
|
||||
type: String,
|
||||
},
|
||||
showResidentialAddresses: {
|
||||
type: Boolean,
|
||||
default: false,
|
||||
options: {
|
||||
type: Object,
|
||||
required: false,
|
||||
},
|
||||
render: {
|
||||
type: String,
|
||||
},
|
||||
returnPath: {
|
||||
type: String,
|
||||
},
|
||||
showResidentialAddresses: {
|
||||
type: Boolean,
|
||||
default: false,
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
isMultiline: function () {
|
||||
if (this.options.isMultiline) {
|
||||
return this.options.isMultiline
|
||||
} else {
|
||||
return false
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
isMultiline: function() {
|
||||
if(this.options.isMultiline){
|
||||
return this.options.isMultiline
|
||||
} else {
|
||||
return false
|
||||
}
|
||||
},
|
||||
getGenderIcon: function() {
|
||||
return this.person.gender === 'woman' ? 'fa-venus' : this.person.gender === 'man' ? 'fa-mars' : this.person.gender === 'neuter' ? 'fa-neuter' : 'fa-genderless';
|
||||
},
|
||||
getGenderTranslation: function() {
|
||||
return this.person.gender === 'woman' ? 'renderbox.birthday.woman' : 'renderbox.birthday.man';
|
||||
},
|
||||
getGender() {
|
||||
return this.person.gender === 'woman' ? 'person.gender.woman' : this.person.gender === 'man' ? 'person.gender.man' : this.person.gender === 'neuter' ? 'person.gender.neuter' : 'person.gender.undefined';
|
||||
},
|
||||
birthdate: function(){
|
||||
if(this.person.birthdate !== null || this.person.birthdate === "undefined"){
|
||||
return new Date(this.person.birthdate.datetime);
|
||||
} else {
|
||||
return "";
|
||||
}
|
||||
},
|
||||
deathdate: function(){
|
||||
if(this.person.deathdate !== null || this.person.birthdate === "undefined"){
|
||||
return new Date(this.person.deathdate.datetime);
|
||||
} else {
|
||||
return "";
|
||||
}
|
||||
},
|
||||
altNameLabel: function() {
|
||||
for(let i = 0; i < this.person.altNames.length; i++){
|
||||
return this.person.altNames[i].label
|
||||
}
|
||||
},
|
||||
altNameKey: function() {
|
||||
for(let i = 0; i < this.person.altNames.length; i++){
|
||||
return this.person.altNames[i].key
|
||||
}
|
||||
},
|
||||
getUrl: function() {
|
||||
return `/fr/person/${this.person.id}/general`;
|
||||
},
|
||||
getCurrentHouseholdUrl: function() {
|
||||
let returnPath = this.returnPath ? `?returnPath=${this.returnPath}` : ``;
|
||||
return `/fr/person/household/${this.person.current_household_id}/summary${returnPath}`
|
||||
}
|
||||
getGenderIcon: function () {
|
||||
return this.person.gender === 'woman' ? 'fa-venus' : this.person.gender === 'man' ? 'fa-mars' : this.person.gender === 'neuter' ? 'fa-neuter' : 'fa-genderless';
|
||||
},
|
||||
getGenderTranslation: function () {
|
||||
return this.person.gender === 'woman' ? 'renderbox.birthday.woman' : 'renderbox.birthday.man';
|
||||
},
|
||||
getGender() {
|
||||
return this.person.gender === 'woman' ? 'person.gender.woman' : this.person.gender === 'man' ? 'person.gender.man' : this.person.gender === 'neuter' ? 'person.gender.neuter' : 'person.gender.undefined';
|
||||
},
|
||||
birthdate: function () {
|
||||
if (this.person.birthdate !== null || this.person.birthdate === "undefined") {
|
||||
return new Date(this.person.birthdate.datetime);
|
||||
} else {
|
||||
return "";
|
||||
}
|
||||
},
|
||||
deathdate: function () {
|
||||
if (this.person.deathdate !== null || this.person.birthdate === "undefined") {
|
||||
return new Date(this.person.deathdate.datetime);
|
||||
} else {
|
||||
return "";
|
||||
}
|
||||
},
|
||||
altNameLabel: function () {
|
||||
for (let i = 0; i < this.person.altNames.length; i++) {
|
||||
return this.person.altNames[i].label
|
||||
}
|
||||
},
|
||||
altNameKey: function () {
|
||||
for (let i = 0; i < this.person.altNames.length; i++) {
|
||||
return this.person.altNames[i].key
|
||||
}
|
||||
},
|
||||
getUrl: function () {
|
||||
return `/fr/person/${this.person.id}/general`;
|
||||
},
|
||||
getCurrentHouseholdUrl: function () {
|
||||
let returnPath = this.returnPath ? `?returnPath=${this.returnPath}` : ``;
|
||||
return `/fr/person/household/${this.person.current_household_id}/summary${returnPath}`
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang='scss'>
|
||||
|
||||
.lastname:before{
|
||||
content: " "
|
||||
.lastname:before {
|
||||
content: " "
|
||||
}
|
||||
|
||||
div.flex-table {
|
||||
div.item-bloc {
|
||||
div.item-row {
|
||||
div.item-col:first-child {
|
||||
width: 33%;
|
||||
}
|
||||
div.item-col:last-child {
|
||||
justify-content: flex-start;
|
||||
|
||||
}
|
||||
div.item-bloc {
|
||||
div.item-row {
|
||||
div.item-col:first-child {
|
||||
width: 33%;
|
||||
}
|
||||
}
|
||||
|
||||
div.item-col:last-child {
|
||||
justify-content: flex-start;
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.age{
|
||||
margin-left: 0.5em;
|
||||
&:before { content: '('; }
|
||||
&:after { content: ')'; }
|
||||
.age {
|
||||
margin-left: 0.5em;
|
||||
|
||||
&:before {
|
||||
content: '(';
|
||||
}
|
||||
|
||||
&:after {
|
||||
content: ')';
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
||||
|
@@ -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>
|
||||
|
@@ -203,15 +203,6 @@ class PersonSearch extends AbstractSearch implements HasAdvancedSearchFormInterf
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* (non-PHPdoc).
|
||||
*
|
||||
* @see \Chill\MainBundle\Search\SearchInterface::renderResult()
|
||||
*
|
||||
* @param mixed $start
|
||||
* @param mixed $limit
|
||||
* @param mixed $format
|
||||
*/
|
||||
public function renderResult(array $terms, $start = 0, $limit = 50, array $options = [], $format = 'html')
|
||||
{
|
||||
$terms = $this->findAdditionnalInDefault($terms);
|
||||
@@ -236,15 +227,13 @@ class PersonSearch extends AbstractSearch implements HasAdvancedSearchFormInterf
|
||||
]
|
||||
);
|
||||
}
|
||||
|
||||
if ('json' === $format) {
|
||||
return [
|
||||
'results' => $this->search($terms, $start, $limit, array_merge($options, ['simplify' => true])),
|
||||
'pagination' => [
|
||||
'more' => $paginator->hasNextPage(),
|
||||
],
|
||||
];
|
||||
}
|
||||
// format is "json"
|
||||
return [
|
||||
'results' => $this->search($terms, $start, $limit, array_merge($options, ['simplify' => true])),
|
||||
'pagination' => [
|
||||
'more' => $paginator->hasNextPage(),
|
||||
],
|
||||
];
|
||||
}
|
||||
|
||||
public function supports($domain, $format)
|
||||
|
@@ -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;
|
||||
}
|
||||
|
@@ -110,6 +110,12 @@ services:
|
||||
tags:
|
||||
- { name: chill.export_filter, alias: person_geog_filter }
|
||||
|
||||
Chill\PersonBundle\Export\Filter\PersonFilters\AddressRefStatusFilter:
|
||||
autowire: true
|
||||
autoconfigure: true
|
||||
tags:
|
||||
- { name: chill.export_filter, alias: person_address_ref_status_filter }
|
||||
|
||||
Chill\PersonBundle\Export\Filter\PersonFilters\ByHouseholdCompositionFilter:
|
||||
tags:
|
||||
- { name: chill.export_filter, alias: person_by_household_composition_filter }
|
||||
|
@@ -47,8 +47,8 @@ Phonenumber: 'Numéro de téléphone'
|
||||
phonenumber: numéro de téléphone
|
||||
Mobilenumber: 'Numéro de téléphone portable'
|
||||
mobilenumber: numéro de téléphone portable
|
||||
Accept short text message ?: La personne a donné l'autorisation d'utiliser ce no de téléphone pour l'envoi de rappel par SMS
|
||||
Accept short text message: La personne a donné l'autorisation d'utiliser ce no de téléphone pour l'envoi de rappel par SMS
|
||||
Accept short text message ?: L'usager a donné l'autorisation d'utiliser ce no de téléphone pour l'envoi de rappel par SMS
|
||||
Accept short text message: L'usager a donné l'autorisation d'utiliser ce no de téléphone pour l'envoi de rappel par SMS
|
||||
Other phonenumber: Autre numéro de téléphone
|
||||
Others phone numbers: Autres numéros de téléphone
|
||||
No additional phone numbers: Aucun numéro de téléphone supplémentaire
|
||||
@@ -85,9 +85,9 @@ Course number: Parcours n°
|
||||
Civility: Civilité
|
||||
choose civility: --
|
||||
All genders: tous les genres
|
||||
Any person selected: Aucune personne sélectionnée
|
||||
Create a household and add an address: Ajouter une adresse pour une personne non suivie et seule dans un ménage
|
||||
A new household will be created. The person will be member of this household.: Un nouveau ménage va être créé. La personne sera membre de ce ménage.
|
||||
Any person selected: Aucun usager sélectionné
|
||||
Create a household and add an address: Ajouter une adresse pour un usager non suivie et seule dans un ménage
|
||||
A new household will be created. The person will be member of this household.: Un nouveau ménage va être créé. L'usager sera membre de ce ménage.
|
||||
Comment on the gender: Commentaire sur le genre
|
||||
genderComment: Commentaire sur le genre
|
||||
maritalStatus: État civil
|
||||
@@ -136,10 +136,10 @@ address_country_name: Pays
|
||||
address_country_code: Code pays
|
||||
|
||||
'Alreay existing person': 'Dossiers déjà encodés'
|
||||
'Add the person': 'Ajouter la personne'
|
||||
'Add the person and create an accompanying period': "Créer la personne ET créer une période d'accompagnement"
|
||||
'Add the person and create a household': "Créer la personne ET créer un ménage"
|
||||
Show person: Voir le dossier de la personne
|
||||
'Add the person': "Ajouter l'usager"
|
||||
'Add the person and create an accompanying period': "Créer l'usager et créer un parcours d'accompagnement"
|
||||
'Add the person and create a household': "Créer l'usager et créer un ménage"
|
||||
Show person: Voir le dossier de l'usager
|
||||
'Confirm the creation': 'Confirmer la création'
|
||||
'You will create this person': 'Vous allez créer le dossier suivant'
|
||||
Return: Retour
|
||||
@@ -148,51 +148,51 @@ Reset: 'Remise à zéro'
|
||||
'The person data has been updated': 'Les données ont été mises à jour.'
|
||||
'The person data provided are not valid': 'Les données introduites ne sont pas valides'
|
||||
'{1} The person field %field% is incorrect. Please check. | ]1, Inf] Several person fields are incorrect. Please check.': '{1} Le champs %field% est incorrect. Veuillez le corriger. | ]1, Inf] Plusieurs champs sont incorrects. Veuillez les vérifier.'
|
||||
'Add a person': 'Ajout d''une personne'
|
||||
'Person Menu': 'Menu personne'
|
||||
'Add a person': 'Ajout d''un usager'
|
||||
'Person Menu': 'Menu usager'
|
||||
'The person data are not valid': 'Les données de votre formulaire sont invalides.'
|
||||
'%nb% person with similar name. Please verify that this is a new person': '{1} Une personne a un nom similaire. Vérifiez qu''il ne s''agit pas d''elle. | ]1, Inf] %nb% personnes ont un nom similaire. Vérifiez qu''il ne s''agit pas de l''une d''elles.'
|
||||
'%nb% person with similar name. Please verify that this is a new person': '{1} Une usager a un nom similaire. Vérifiez qu''il ne s''agit pas d''elle. | ]1, Inf] %nb% usagers ont un nom similaire. Vérifiez qu''il ne s''agit pas de l''une d''elles.'
|
||||
'The person has been created': 'Le dossier a été créé'
|
||||
'Person search results': 'Recherche de personnes'
|
||||
Person search results by phonenumber: Recherche de personnes par numéro de téléphone
|
||||
'Search within persons': 'Recherche parmi les personnes'
|
||||
Open person file: Ouvrir le dossier de la personne
|
||||
'Person search results': 'Recherche de usagers'
|
||||
Person search results by phonenumber: Recherche d'usager par numéro de téléphone
|
||||
'Search within persons': 'Recherche parmi les usagers'
|
||||
Open person file: Ouvrir le dossier de l'usager
|
||||
and %number% other: '{0} et aucun autre| {1} et une autre |]1, Inf] et %number% autres'
|
||||
'%total% persons matching the search pattern:': '{0} Aucune personne ne correspond aux termes de recherche : | {1} Une personne a été trouvée par la recherche : | ]1,Inf] %total% personnes correspondent aux termes de recherche :'
|
||||
'%total% persons matching the search pattern:': '{0} Aucune usager ne correspond aux termes de recherche : | {1} Un usager a été trouvé par la recherche : | ]1,Inf] %total% usagers correspondent aux termes de recherche :'
|
||||
'Last opening since %last_opening%': 'Dernière ouverture le %last_opening%.'
|
||||
'Person accompanying period - %name%': 'Historique du dossier - %name%'
|
||||
'Opening date': 'Date d''ouverture'
|
||||
'Closing date': 'Date de clôture'
|
||||
'Period opened': 'Période ouverte'
|
||||
'Close accompanying period': 'Clôre la période'
|
||||
'Open accompanying period': 'Ouvrir la période'
|
||||
'Close accompanying period': 'Clôre le parcours'
|
||||
'Open accompanying period': 'Ouvrir le parcours'
|
||||
Period number %number%: 'Période n° %number%'
|
||||
'Add an accompanying period in the past': Ajouter une période d'accompagnement dans le passé
|
||||
Begin a new accompanying period: Commencer une nouvelle période d'accompagnement
|
||||
Create an accompanying period: Créer une période d'accompagnement
|
||||
'A period has been created.': Une période d'accompagnement a été créée.
|
||||
'Error! Period not created!': La période d'accompagnement n'a pas été créée.
|
||||
Update accompanying period: Mettre à jour une période d'accompagnement
|
||||
'An accompanying period has been updated.': Une période d'accompagnement a été mise à jour
|
||||
'Error when updating the period': Erreur pendant la mise à jour de la période d'accompagnement.
|
||||
'An accompanying period has been closed.': Une période d'accompagnement a été fermée.
|
||||
'Error! Period not closed!': "Erreur: la période d'accompagnement n'a pas été fermée."
|
||||
'An accompanying period has been opened.': Une période d'accompagnement a été ouverte.
|
||||
'Add an accompanying period in the past': Ajouter un parcours d'accompagnement dans le passé
|
||||
Begin a new accompanying period: Commencer un nouveau parcours d'accompagnement
|
||||
Create an accompanying period: Créer un parcours d'accompagnement
|
||||
'A period has been created.': Un parcours d'accompagnement a été créé.
|
||||
'Error! Period not created!': Le parcours d'accompagnement n'a pas été créé.
|
||||
Update accompanying period: Mettre à jour un parcours d'accompagnement
|
||||
'An accompanying period has been updated.': Un parcours d'accompagnement a été mise à jour
|
||||
'Error when updating the period': Erreur pendant la mise à jour du parcours d'accompagnement.
|
||||
'An accompanying period has been closed.': Un parcours d'accompagnement a été fermée.
|
||||
'Error! Period not closed!': "Erreur: le parcours d'accompagnement n'a pas été fermé."
|
||||
'An accompanying period has been opened.': Un parcours d'accompagnement a été ouvert.
|
||||
'No remark': Pas de remarque
|
||||
'Period not opened': "La période d'accompagnement n'a pas été ouverte"
|
||||
"Period not opened : form is invalid": "La période n'a pas été ouverte: le formulaire est invalide."
|
||||
'Period not opened': "Le parcours d'accompagnement n'a pas été ouvert"
|
||||
"Period not opened : form is invalid": "Le parcours d'accompagnement n'a pas été ouverte: le formulaire est invalide."
|
||||
'Closing motive': 'Motif de clôture'
|
||||
This course is closed: Ce parcours est clôturé
|
||||
Close accompanying course: Clôturer le parcours
|
||||
Re-open accompanying course: Ré-ouvrir le parcours
|
||||
'Person details': 'Détails de la personne'
|
||||
'Person details': "Détails de l'usager"
|
||||
'Update details for %name%': 'Modifier détails de %name%'
|
||||
An accompanying period ends: Une periode d'accompagnement se clôture
|
||||
An accompanying period starts: Une période d'accompagnement est ouverte
|
||||
Any accompanying periods are open: Aucune période d'accompagnement ouverte
|
||||
An accompanying period is open: Une période d'accompagnement est ouverte
|
||||
Accompanying period list: Périodes d'accompagnement
|
||||
Accompanying period list for person: Périodes d'accompagnement de la personne
|
||||
An accompanying period ends: Un parcours d'accompagnement se clôture
|
||||
An accompanying period starts: Un parcours d'accompagnement est ouvert
|
||||
Any accompanying periods are open: Aucune parcours d'accompagnement ouvert
|
||||
An accompanying period is open: Un parcours d'accompagnement est ouvert
|
||||
Accompanying period list: Parcours d'accompagnement
|
||||
Accompanying period list for person: Parcours d'accompagnement de l'usager
|
||||
Accompanying period: Parcours d'accompagnement
|
||||
Any accompanying period: Aucun parcours d'accompagnement
|
||||
period: Parcours
|
||||
@@ -200,17 +200,17 @@ New accompanying course: Nouveau parcours d'accompagnement
|
||||
Choose a motive: Motif de fermeture
|
||||
Re-open accompanying period: Ré-ouvrir
|
||||
Re-Open a period: Ré-ouvrir
|
||||
Are you sure you want to re-open this period ?: Êtes-vous sûr de vouloir ré-ouvrir cette période d'accompagnement ?
|
||||
'The period has been re-opened': La période d'accompagnement a été ré-ouverte.
|
||||
Are you sure you want to re-open this period ?: Êtes-vous sûr de vouloir ré-ouvrir cet parcours d'accompagnement ?
|
||||
'The period has been re-opened': Le parcours d'accompagnement a été ré-ouverte.
|
||||
Pediod closing form is not valid: Le formulaire n'est pas valide
|
||||
Accompanying user: Accompagnant
|
||||
No accompanying user: Aucun accompagnant
|
||||
No data given: Pas d'information
|
||||
Participants: Personnes impliquées
|
||||
Participants: Usagers impliquées
|
||||
Create an accompanying course: Créer un parcours
|
||||
Accompanying courses of users: Parcours des utilisateurs
|
||||
This accompanying course is still a draft: Ce parcours est encore à l'état brouillon.
|
||||
Associated peoples: Personnes concernées
|
||||
Associated peoples: Usagers concernées
|
||||
Resources: Interlocuteurs privilégiés
|
||||
Any requestor to this accompanying course: Aucun demandeur pour ce parcours
|
||||
Social action: Action d'accompagnement
|
||||
@@ -222,47 +222,47 @@ Social issues: Problématiques sociales
|
||||
Pick a social issue: Choisir une problématique sociale
|
||||
Last events on accompanying course: Dernières actions de suivi
|
||||
Edit & activate accompanying course: Modifier et valider
|
||||
See accompanying periods: Voir toutes les périodes d'accompagnement
|
||||
See accompanying period: Voir la période
|
||||
Edit accompanying period: Modifier la période
|
||||
See this period: Voir cette période
|
||||
See accompanying periods: Voir tous les parcours d'accompagnement
|
||||
See accompanying period: Voir le parcours
|
||||
Edit accompanying period: Modifier le parcours
|
||||
See this period: Voir cet parcours
|
||||
Requestor: Demandeur
|
||||
No requestor: Pas de demandeur
|
||||
No resources: "Pas d'interlocuteurs privilégiés"
|
||||
Persons associated: Personnes concernés
|
||||
Persons associated: Usagers concernés
|
||||
Referrer: Référent
|
||||
Referrers: Agents traitants
|
||||
Referrer2: Agent traitant
|
||||
No referrer: Pas d'agent traitant
|
||||
Some peoples does not belong to any household currently. Add them to an household soon: Certaines personnes n'appartiennent à aucun ménage actuellement. Renseignez leur ménage dès que possible.
|
||||
Some peoples does not belong to any household currently. Add them to an household soon: Certains usagers n'appartiennent à aucun ménage actuellement. Renseignez leur ménage dès que possible.
|
||||
Add to household now: Ajouter à un ménage
|
||||
Any resource for this accompanying course: Aucun interlocuteur privilégié pour ce parcours
|
||||
course.draft: Brouillon
|
||||
course.closed: Clôturé
|
||||
Origin: Origine de la demande
|
||||
Delete accompanying period: Supprimer la période d'accompagnement
|
||||
Are you sure you want to remove the accompanying period "%id%" ?: Êtes-vous sûr de vouloir supprimer la période d'accompagnement %id% ?
|
||||
The accompanying course has been successfully removed.: La période d'accompagnement a été supprimée.
|
||||
Delete accompanying period: Supprimer le parcours d'accompagnement
|
||||
Are you sure you want to remove the accompanying period "%id%" ?: Êtes-vous sûr de vouloir supprimer le parcours d'accompagnement %id% ?
|
||||
The accompanying course has been successfully removed.: Le parcours d'accompagnement a été supprimé.
|
||||
Concerned scopes: Services concernés
|
||||
|
||||
# person resource
|
||||
person_resources_menu: "Personnes ressources"
|
||||
Person resources: "Ressources de la personne"
|
||||
Add a person resource: "Ajouter une ressource"
|
||||
edit resource: "Modifier ressource"
|
||||
Remove resource: "Supprimer ressource"
|
||||
Person resources: "Personnes ressources de l'usager"
|
||||
Add a person resource: "Ajouter une person ressource"
|
||||
edit resource: "Modifier la ressource"
|
||||
Remove resource: "Supprimer la ressource"
|
||||
Are you sure you want to remove the resource for "%name%" ?: Étes-vous sûr de vouloir supprimer cette ressource de %name%?
|
||||
The resource has been successfully removed.: "La ressource a été supprimée."
|
||||
List of resources: "Liste des ressources"
|
||||
There are no available resources: "Aucun ressource"
|
||||
List of resources: "Liste des personnes ressources"
|
||||
There are no available resources: "Aucun personne ressource"
|
||||
no comment found: "Aucun commentaire"
|
||||
Select a type: "Choisissez un type"
|
||||
Select a person: "Choisissez une personne"
|
||||
Select a person: "Choisissez un usager"
|
||||
Kind: "Type"
|
||||
|
||||
|
||||
# pickAPersonType
|
||||
Pick a person: Choisir une personne
|
||||
Pick a person: Choisir un usager
|
||||
|
||||
# Address
|
||||
No address given: Pas d'adresse renseignée
|
||||
@@ -277,19 +277,19 @@ New address : Nouvelle adresse
|
||||
New address for %name% : Nouvelle adresse pour %name%
|
||||
The new address was created successfully: La nouvelle adresse a été créée
|
||||
Add an address: Ajouter une adresse
|
||||
Back to the person details: Retour aux détails de la personne
|
||||
Back to the person details: Retour aux détails de l'usager
|
||||
|
||||
# Residential address
|
||||
Residential addresses history for %name%: Historique des adresses de résidence de %name%
|
||||
Residential addresses history: Historique des adresses de résidence
|
||||
Add a residential address: Ajouter une adresse de résidence
|
||||
Which kind of residential address would you create ?: Quel type d'adresse de résidence voulez-vous créer?
|
||||
The address of another person: L'adresse d'une autre personne
|
||||
The address of another person: L'adresse d'une autre usager
|
||||
A new address: Une nouvelle adresse
|
||||
residential_address_person_explanation: L'adresse sera positionnée auprès d'une personne. Lorsque la personne déménage, l'adresse de résidence suivra également cette personne
|
||||
residential_address_person_explanation: L'adresse sera positionnée auprès d'un usager. Lorsque l'usager déménage, l'adresse de résidence suivra également cette usager
|
||||
residential_address_new_address_explanation: Créer une nouvelle adresse. L'adresse sera fixe.
|
||||
New residential address: Nouvelle adresse de résidence
|
||||
Host person: Choisir l'adresse d'une personne
|
||||
Host person: Choisir l'adresse d'un usager
|
||||
The new residential address was created successfully: La nouvelle adresse de résidence a été créée
|
||||
Edit a residential address: Modifier l'addresse de résidence
|
||||
The residential address was updated successfully: L'adresse de résidence a été mise à jour
|
||||
@@ -303,29 +303,29 @@ Residential address had been deleted: L'adresse de résidence a été supprimée
|
||||
|
||||
#timeline
|
||||
Timeline: Historique
|
||||
Closing the accompanying period: Fermeture de la période d'accompagnement
|
||||
Opening the accompanying period: Ouverture d'une période d'accompagnement
|
||||
Closing the accompanying period: Fermeture du parcours d'accompagnement
|
||||
Opening the accompanying period: Ouverture d'un parcours d'accompagnement
|
||||
'Timeline for %name%': 'Historique de %name%'
|
||||
|
||||
# ROLES
|
||||
CHILL_PERSON_SEE: Voir les personnes
|
||||
CHILL_PERSON_UPDATE: Modifier les personnes
|
||||
CHILL_PERSON_CREATE: Ajouter des personnes
|
||||
CHILL_PERSON_STATS: Statistiques sur les personnes
|
||||
CHILL_PERSON_LISTS: Liste des personnes
|
||||
CHILL_PERSON_DUPLICATE: Gérer les doublons de personnes
|
||||
CHILL_PERSON_SEE: Voir les usagers
|
||||
CHILL_PERSON_UPDATE: Modifier les usagers
|
||||
CHILL_PERSON_CREATE: Ajouter des usagers
|
||||
CHILL_PERSON_STATS: Statistiques sur les usagers
|
||||
CHILL_PERSON_LISTS: Liste des usagers
|
||||
CHILL_PERSON_DUPLICATE: Gérer les doublons d'usagers
|
||||
|
||||
CHILL_PERSON_ACCOMPANYING_PERIOD_SEE: Vision simplifiée d'une période d'accompagnement
|
||||
CHILL_PERSON_ACCOMPANYING_PERIOD_CONFIDENTIAL: Voir et modifier les périodes d'accompagnement confidentielles
|
||||
CHILL_PERSON_ACCOMPANYING_PERIOD_DELETE: Supprimer une période d'accompagnement
|
||||
CHILL_PERSON_ACCOMPANYING_PERIOD_SEE: Vision simplifiée d'un parcours d'accompagnement
|
||||
CHILL_PERSON_ACCOMPANYING_PERIOD_CONFIDENTIAL: Voir et modifier les parcours d'accompagnement confidentielles
|
||||
CHILL_PERSON_ACCOMPANYING_PERIOD_DELETE: Supprimer un pacours d'accompagnement
|
||||
CHILL_PERSON_ACCOMPANYING_PERIOD_RE_OPEN: Ré-ouvrir un parcours clotûré
|
||||
CHILL_PERSON_ACCOMPANYING_PERIOD_TOGGLE_CONFIDENTIAL_ALL: Modifier la confidentialité de tous les parcours
|
||||
CHILL_PERSON_ACCOMPANYING_PERIOD_CRUD_CONFIDENTIAL: Voir les périodes d'accompagnement confidentielles
|
||||
CHILL_PERSON_ACCOMPANYING_PERIOD_CREATE: Créer une période d'accompagnement
|
||||
CHILL_PERSON_ACCOMPANYING_PERIOD_UPDATE: Modifier une période d'accompagnement
|
||||
CHILL_PERSON_ACCOMPANYING_PERIOD_FULL: Voir les détails, créer, supprimer et mettre à jour une période d'accompagnement
|
||||
CHILL_PERSON_ACCOMPANYING_PERIOD_CRUD_CONFIDENTIAL: Voir les parcours d'accompagnement confidentiels
|
||||
CHILL_PERSON_ACCOMPANYING_PERIOD_CREATE: Créer un parcours d'accompagnement
|
||||
CHILL_PERSON_ACCOMPANYING_PERIOD_UPDATE: Modifier un parcours d'accompagnement
|
||||
CHILL_PERSON_ACCOMPANYING_PERIOD_FULL: Voir les détails, créer, supprimer et mettre à jour un parcours d'accompagnement
|
||||
CHILL_PERSON_ACCOMPANYING_COURSE_REASSIGN_BULK: Réassigner les parcours en lot
|
||||
CHILL_PERSON_ACCOMPANYING_PERIOD_SEE_DETAILS: Voir les détails d'une période d'accompagnement
|
||||
CHILL_PERSON_ACCOMPANYING_PERIOD_SEE_DETAILS: Voir les détails d'un parcours d'accompagnement
|
||||
CHILL_PERSON_ACCOMPANYING_PERIOD_STATS: Statistiques sur les parcours d'accompagnement
|
||||
|
||||
CHILL_MAIN_ACCOMPANYING_PERIOD_WORK_CREATE: Créer une action d'accompagnement
|
||||
@@ -342,28 +342,28 @@ CHILL_PERSON_HOUSEHOLD_EDIT: Modifier les ménages
|
||||
CHILL_PERSON_HOUSEHOLD_STATS: Statistiques sur les ménages
|
||||
|
||||
#period
|
||||
Period closed!: Période clôturée!
|
||||
Period closed!: Parcours clôturé!
|
||||
Pediod closing form is not valide: Le formulaire de fermeture n'est pas valide
|
||||
|
||||
#widget
|
||||
|
||||
## widget person_list
|
||||
Accompanyied people: Personnes accompagnées
|
||||
Accompanyied people: Usagers accompagnés
|
||||
|
||||
## exports
|
||||
Exports of persons: Exports des personnes
|
||||
Count people by various parameters.: Compte le nombre de personnes en fonction de différents filtres.
|
||||
Count people: Nombre de personnes
|
||||
List peoples: Liste des personnes
|
||||
Create a list of people according to various filters.: Crée une liste des personnes selon différents filtres.
|
||||
Exports of persons: Exports des usagers
|
||||
Count people by various parameters.: Compte le nombre d'usagers en fonction de différents filtres.
|
||||
Count people: Nombre d'usagers
|
||||
List peoples: Liste des usagers
|
||||
Create a list of people according to various filters.: Crée une liste d'usagers selon différents filtres.
|
||||
Fields to include in export: Champs à inclure dans l'export
|
||||
Address valid at this date: Addresse valide à cette date
|
||||
Data valid at this date: Données valides à cette date
|
||||
Data regarding center, addresses, and so on will be computed at this date: Les données concernant le centre, l'adresse, le ménage, sera calculé à cette date.
|
||||
List duplicates: Liste des doublons
|
||||
Create a list of duplicate people: Créer la liste des personnes détectées comme doublons.
|
||||
Count people participating in an accompanying course: Nombre de personnes concernées par un parcours
|
||||
Count people participating in an accompanying course by various parameters.: Compte le nombre de personnes concernées par un parcours
|
||||
Create a list of duplicate people: Créer la liste des usagers détectés comme doublons.
|
||||
Count people participating in an accompanying course: Nombre d'usagers concernés par un parcours
|
||||
Count people participating in an accompanying course by various parameters.: Compte le nombre d'usagers concernées par un parcours
|
||||
|
||||
Exports of accompanying courses: Exports des parcours d'accompagnement
|
||||
Count accompanying courses: Nombre de parcours
|
||||
@@ -384,33 +384,33 @@ Count evaluation by various parameters.: Compte le nombre d'évaluations selon d
|
||||
Exports of households: Exports des ménages
|
||||
|
||||
## persons filters
|
||||
Filter by person gender: Filtrer les personnes par genre
|
||||
Filter by person gender: Filtrer les usagers par genre
|
||||
Accepted genders: Genres acceptés
|
||||
'Filtering by genders: only %genders%': 'Filtré par genre: seulement %genders%'
|
||||
|
||||
Filter by person's nationality: Filtrer les personnes par nationalité
|
||||
Filter by person's nationality: Filtrer les usagers par nationalité
|
||||
Nationalities: Nationalités
|
||||
Choose countries: Choisir les nationalités
|
||||
'Filtered by nationality : %nationalities%': 'Filtré par nationalité : seulement %nationalities%'
|
||||
|
||||
Filter by person's birthdate: Filtrer les personnes par date de naissance
|
||||
Filter by person's birthdate: Filtrer les usagers par date de naissance
|
||||
Born after this date: Nés après cette date
|
||||
Born before this date: Nés avant cette date
|
||||
This field should not be empty: Ce champ ne peut pas être vide
|
||||
This date should be after the date given in "born after" field: Cette date doit être après la date donnée du le champ "nés après le"
|
||||
"Filtered by person's birthdate: between %date_from% and %date_to%": "Filtré par date de naissance de la personne: uniquement nés entre le %date_from% et %date_to%"
|
||||
"Filtered by person's birthdate: between %date_from% and %date_to%": "Filtré par date de naissance de l'usager: uniquement nés entre le %date_from% et %date_to%"
|
||||
|
||||
Filter by person's deathdate: Filtrer les personnes par date de décès
|
||||
"Filtered by person's deathdate: between %date_from% and %date_to%": "Filtré par date de naissance de la personne: uniquement nés entre le %date_from% et %date_to%"
|
||||
Filter by person's deathdate: Filtrer les usagers par date de décès.
|
||||
"Filtered by person's deathdate: between %date_from% and %date_to%": "Filtré par date de naissance de l'usager: uniquement nés entre le %date_from% et %date_to%"
|
||||
Death after this date: Décédé après cette date
|
||||
Deathdate before: Décédé avant cette date
|
||||
Alive: Vivant
|
||||
Deceased: Décédé
|
||||
Filter in relation to this date: Filtrer par rapport à cette date
|
||||
"Filtered by a state of %deadOrAlive%: at this date %date_calc%": Filtré par personnes qui sont %deadOrAlive% à cette date %date_calc%
|
||||
"Filtered by a state of %deadOrAlive%: at this date %date_calc%": Filtré par usagers qui sont %deadOrAlive% à cette date %date_calc%
|
||||
|
||||
Filter by person's age: Filtrer les personnes par age
|
||||
"Filtered by person's age: between %min_age% and %max_age%": "Filtré par âge de la personne entre %min_age% et %max_age%"
|
||||
Filter by person's age: Filtrer les usagers par age.
|
||||
"Filtered by person's age: between %min_age% and %max_age%": "Filtré par âge de l'usager entre %min_age% et %max_age%"
|
||||
Minimum age: Âge minimum
|
||||
Maximum age: Âge maximum
|
||||
The minimum age should be less than the maximum age.: L'âge minimum doit être plus bas que l'âge maximum.
|
||||
@@ -420,38 +420,38 @@ Date during which residential address was valid: Date de validité
|
||||
Family composition: Composition familiale
|
||||
Family composition at this time: Composition familiale à cette date.
|
||||
|
||||
Filter by person's marital status: Filtrer les personnes par état matrimonial
|
||||
Filter by person's marital status: Filtrer les usagers par état matrimonial
|
||||
Filtered by person's marital status: Filtré par état matrimonial
|
||||
Marital status at this time: État matrimonial par rapport à cette date
|
||||
|
||||
Filter by entrusted child status: Filtrer les personnes "enfant confié"
|
||||
Filtered by entrusted child status: Uniquement les personnes qui sont "enfant confié"
|
||||
Filter by entrusted child status: Filtrer les usagers "enfant confié"
|
||||
Filtered by entrusted child status: Uniquement les usagers qui sont "enfant confié"
|
||||
|
||||
Filter by nomadic status: Filtrer les personnes "gens du voyage"
|
||||
Filtered by nomadic status: Uniquement les personnes qui sont "gens du voyage"
|
||||
Filter by nomadic status: Filtrer les usagers "gens du voyage"
|
||||
Filtered by nomadic status: Uniquement les usagers qui sont "gens du voyage"
|
||||
|
||||
"Filter by person's who have a residential address located at another user": Filtrer les personnes qui ont une addresse de résidence chez une autre personne
|
||||
"Filtered by person's who have a residential address located at another user": Uniquement les personnes qui ont une addresse de résidence chez une autre personne
|
||||
"Filter by person's who have a residential address located at another user": Filtrer les usagers qui ont une addresse de résidence chez une autre usager
|
||||
"Filtered by person's who have a residential address located at another user": Uniquement les usagers qui ont une addresse de résidence chez une autre usager
|
||||
|
||||
Filter by person's that are alive or have deceased at a certain date: Filtrer les personnes qui sont décédées ou vivantes à une certaine date
|
||||
Filtered by person's that are alive or have deceased at a certain date: Uniquement les personnes qui sont décédées ou vivantes à une certaine date
|
||||
Filter by person's that are alive or have deceased at a certain date: Filtrer les usagers qui sont décédés ou vivantes à une certaine date
|
||||
Filtered by person's that are alive or have deceased at a certain date: Uniquement les usagers qui sont décédés ou vivantes à une certaine date
|
||||
|
||||
"Filter by accompanying period: active period": "Filtrer les personnes par période d'accompagnement: en file active"
|
||||
Having an accompanying period opened after this date: Ayant une période d'accompagnement ouverte après cette date
|
||||
Having an accompanying period ending before this date, or still opened at this date: Ayant une période d'accompagnement fermée après cette date, ou toujours ouverte à cette date
|
||||
"Filtered by accompanying period: persons having an accompanying period opened after the %date_from% and closed before the %date_to% (or still opened at the %date_to%)": "Filtré par période d'accompagnement: personnes ayant une période d'accompagnement ouverte après le %date_from%, et cloturée le %date_to% (ou toujours ouverte le %date_to%)"
|
||||
"Filter by accompanying period: active period": "Filtrer les usagers par parcours d'accompagnement: en file active"
|
||||
Having an accompanying period opened after this date: Ayant un parcours d'accompagnement ouverte après cette date
|
||||
Having an accompanying period ending before this date, or still opened at this date: Ayant un parcours d'accompagnement fermée après cette date, ou toujours ouverte à cette date
|
||||
"Filtered by accompanying period: persons having an accompanying period opened after the %date_from% and closed before the %date_to% (or still opened at the %date_to%)": "Filtré par parcours d'accompagnement: usagers ayant un parcours d'accompagnement ouvert après le %date_from%, et cloturé le %date_to% (ou toujours ouvert le %date_to%)"
|
||||
|
||||
"Filter by accompanying period: starting between two dates": "Filtrer les personnes par période d'accompagnement: début de la période entre deux dates"
|
||||
"Having an accompanying period opened before this date": "Ayant une période d'accompagnement ouverte avant cette date"
|
||||
"Filtered by accompanying period: persons having an accompanying period opened between the %date_from% and %date_to%": "Filtrer par période d'accompagnement: ayant une période ouverte entre le %date_from% et le %date_to%"
|
||||
"Filter by accompanying period: starting between two dates": "Filtrer les usagers par parcours d'accompagnement: début de la période entre deux dates"
|
||||
"Having an accompanying period opened before this date": "Ayant un parcours d'accompagnement ouvert avant cette date"
|
||||
"Filtered by accompanying period: persons having an accompanying period opened between the %date_from% and %date_to%": "Filtrer par parcours d'accompagnement: ayant un parcours ouvert entre le %date_from% et le %date_to%"
|
||||
|
||||
"Filter by accompanying period: closed between two dates": "Filtrer les personnes par période d'accompagnement: période fermée entre deux dates"
|
||||
Having an accompanying period closed after this date: Ayant une période d'accompagnement fermée après cette date
|
||||
"Having an accompanying period closed before this date": "Ayant une période d'accompagnement fermée avant cette date"
|
||||
"Filtered by accompanying period: persons having an accompanying period closed between the %date_from% and %date_to%": "Filtrer par période d'accompagnement: ayant une période fermée entre le %date_from% et le %date_to%"
|
||||
"Filter by accompanying period: closed between two dates": "Filtrer les usagers par parcours d'accompagnement: parcours fermé entre deux dates"
|
||||
Having an accompanying period closed after this date: Ayant un parcours d'accompagnement fermé après cette date
|
||||
"Having an accompanying period closed before this date": "Ayant un parcours d'accompagnement fermé avant cette date"
|
||||
"Filtered by accompanying period: persons having an accompanying period closed between the %date_from% and %date_to%": "Filtrer par parcours d'accompagnement: ayant un parcours fermé entre le %date_from% et le %date_to%"
|
||||
|
||||
Filter by person having an activity in a period: Filtrer les personnes ayant eu une échange pendant la période donnée
|
||||
Filtered by person having an activity between %date_from% and %date_to% with reasons %reasons_name%: Uniquement les personnes associées à une échange entre %date_from% et %date_to% avec les sujets %reasons_name%
|
||||
Filter by person having an activity in a period: Filtrer les usagers ayant eu un échange pendant la période donnée
|
||||
Filtered by person having an activity between %date_from% and %date_to% with reasons %reasons_name%: Uniquement les usagers associés à un échange entre %date_from% et %date_to% avec les sujets %reasons_name%
|
||||
|
||||
|
||||
## accompanying course filters/aggr
|
||||
@@ -483,8 +483,8 @@ acp_geog_agg_unitname: Zone géographique
|
||||
acp_geog_agg_unitrefid: Clé de la zone géographique
|
||||
Geographical layer: Couche géographique
|
||||
Select a geographical layer: Choisir une couche géographique
|
||||
Group people by geographical unit based on his address: Grouper les personnes par zone géographique (sur base de l'adresse)
|
||||
Filter by person's geographical unit (based on address): Filter les personnes par zone géographique (sur base de l'adresse)
|
||||
Group people by geographical unit based on his address: Grouper les usagers par zone géographique (sur base de l'adresse)
|
||||
Filter by person's geographical unit (based on address): Filter les usagers par zone géographique (sur base de l'adresse)
|
||||
|
||||
Filter by socialaction: Filtrer les parcours par action d'accompagnement
|
||||
Accepted socialactions: Actions d'accompagnement
|
||||
@@ -500,9 +500,9 @@ Evaluation: Évaluation
|
||||
"Filtered by evaluations: only %evals%": "Filtré par évaluation: uniquement %evals%"
|
||||
Group by evaluation: Grouper les parcours par évaluation
|
||||
|
||||
Filter accompanying course by activity type: Filtrer les parcours par type d'activité
|
||||
Accepted activitytypes: Types d'activités
|
||||
"Filtered by activity types: only %activitytypes%": "Filtré par type d'activité: seulement %activitytypes%"
|
||||
Filter accompanying course by activity type: Filtrer les parcours par type d'échange
|
||||
Accepted activitytypes: Types d'échanges
|
||||
"Filtered by activity types: only %activitytypes%": "Filtré par type d'échange: seulement %activitytypes%"
|
||||
|
||||
Filter by origin: Filtrer les parcours par origine du parcours
|
||||
Accepted origins: Origines
|
||||
@@ -520,12 +520,12 @@ Administrative location: Localisation administrative
|
||||
"Filtered by administratives locations: only %locations%": "Filtré par localisation administrative: uniquement %locations%"
|
||||
Group by administrative location: Grouper les parcours par localisation administrative
|
||||
|
||||
Filter by requestor: Filtrer les parcours selon la présence du demandeur au sein des personnes concernées
|
||||
Filter by requestor: Filtrer les parcours selon la présence du demandeur au sein des usagers concernés
|
||||
Accepted choices: ''
|
||||
is person concerned: Le demandeur est une personne concernée
|
||||
is other person: Le demandeur est une personne, mais n'est pas concernée
|
||||
is person concerned: Le demandeur est un usager concerné
|
||||
is other person: Le demandeur est un usager, mais n'est pas concerné
|
||||
no requestor: Le parcours ne comporte pas de demandeur
|
||||
"Filtered by requestor: only %choice%": "Filtré par présence du demandeur au sein des personnes concernées: uniquement si %choice%"
|
||||
"Filtered by requestor: only %choice%": "Filtré par présence du demandeur au sein des usagers concernés: uniquement si %choice%"
|
||||
Group by requestor: Grouper les parcours selon la nature du demandeur
|
||||
|
||||
Filter by confidential: Filtrer les parcours par confidentialité
|
||||
@@ -647,24 +647,24 @@ Rounded month duration: Durée en mois (arrondie)
|
||||
current duration: en cours
|
||||
duration 0 month: 0 mois (<15 jours)
|
||||
' months': ' mois'
|
||||
Group people by nationality: Grouper les personnes par nationalités
|
||||
Group people by nationality: Grouper les usagers par nationalités
|
||||
Group by level: Grouper par niveau
|
||||
Group by continents: Grouper par continent
|
||||
Group by country: Grouper par pays
|
||||
|
||||
Group people by gender: Grouper les personnes par genre
|
||||
Group people by their professional situation: Grouper les personnes par situation professionelle
|
||||
Group people by marital status: Grouper les personnes par état matrimonial
|
||||
Group people by gender: Grouper les usagers par genre
|
||||
Group people by their professional situation: Grouper les usagers par situation professionelle
|
||||
Group people by marital status: Grouper les usagers par état matrimonial
|
||||
|
||||
Aggregate by household position: Grouper les personnes par position dans le ménage
|
||||
Aggregate by household position: Grouper les usagers par position dans le ménage
|
||||
Household position in relation to this date: Position dans le ménage par rapport à cette date
|
||||
Household position: Position dans le ménage
|
||||
|
||||
Aggregate by age: Grouper les personnes par âge
|
||||
Aggregate by age: Grouper les usagers par âge
|
||||
Calculate age in relation to this date: Calculer l'âge par rapport à cette date
|
||||
|
||||
Group people by country of birth: Grouper les personnes par pays de naissance
|
||||
Similar persons: Personnes similaires
|
||||
Group people by country of birth: Grouper les usagers par pays de naissance
|
||||
Similar persons: Usagers similaires
|
||||
|
||||
crud:
|
||||
closing_motive:
|
||||
@@ -775,8 +775,8 @@ closing_motive:
|
||||
any parent: Aucun parent
|
||||
new child: Nouvel enfant
|
||||
|
||||
Person configuration: Configuration du module "Personnes"
|
||||
Configuration of person bundle: Configuration du module "Personnes"
|
||||
Person configuration: Configuration du module "Usagers"
|
||||
Configuration of person bundle: Configuration du module "Usagers"
|
||||
person_admin:
|
||||
accompanying_period: Parcours d'accompagnement
|
||||
What would you like to configure ?: Que souhaitez-vous configurer ?
|
||||
@@ -784,7 +784,7 @@ person_admin:
|
||||
closing motives list: Liste des motifs de clotûre
|
||||
closing motive explanation: >
|
||||
Les motifs de clotûre donnent des indications sur la fermeture
|
||||
d'une période d'accompagnement.
|
||||
d'un parcours d'accompagnement.
|
||||
origin: Origines
|
||||
marital status: États civils
|
||||
marital status list: Liste des états civils
|
||||
@@ -825,11 +825,11 @@ Edit Accompanying Course: Modifier le parcours
|
||||
Close Accompanying Course: Clôturer le parcours
|
||||
Create Accompanying Course: Créer un nouveau parcours
|
||||
Drop Accompanying Course: Supprimer le parcours
|
||||
This course is located at a temporarily address. You should locate this course to an user: Le parcours est localisé à une adresse temporaire. Il devrait être localisé auprès d'une personne concernée.
|
||||
This course is located at a temporarily address. You should locate this course to an user: Le parcours est localisé à une adresse temporaire. Il devrait être localisé auprès d'un usager concerné.
|
||||
Accompanying course location: Localisation du parcours
|
||||
This course is located by: Localisé auprès de
|
||||
This course has a temporarily location: Localisation temporaire
|
||||
Choose a person to locate by: Localiser auprès d'une personne concernée
|
||||
Choose a person to locate by: Localiser auprès d'un usager concerné
|
||||
Associate at least one member with an household, and set an address to this household: Associez au moins un membre du parcours à un ménage, et indiquez une adresse à ce ménage.
|
||||
Locate by: Localiser auprès de
|
||||
fix it: Compléter
|
||||
@@ -884,7 +884,7 @@ Household configuration: Gestion des ménages
|
||||
# accompanying course work
|
||||
Accompanying Course Actions: Actions d'accompagnements
|
||||
Accompanying Course Action: Action d'accompagnement
|
||||
Are you sure you want to remove this work of the accompanying period %name% ?: Êtes-vous sûr de vouloir supprimer cette action de la période d'accompagnement %name% ?
|
||||
Are you sure you want to remove this work of the accompanying period %name% ?: Êtes-vous sûr de vouloir supprimer cette action du parcours d'accompagnement %name% ?
|
||||
The accompanying period work has been successfully removed.: L'action d'accompagnement a été supprimée.
|
||||
accompanying_course_work:
|
||||
create: Créer une action
|
||||
@@ -916,37 +916,37 @@ Person addresses: Adresses de résidence
|
||||
Household addresses: Adresses de domicile
|
||||
Insert an address: Insérer une adresse
|
||||
see social issues: Voir les problématiques sociales
|
||||
see persons associated: Voir les personnes concernées
|
||||
see persons associated: Voir les usagers concernés
|
||||
|
||||
docgen:
|
||||
Accompanying Period basic: "Parcours d'accompagnement (basique)"
|
||||
Accompanying period work: "Action d'accompagnement"
|
||||
Accompanying period work context: "Evaluation des actions d'accompagnement"
|
||||
Main person: Personne principale
|
||||
person 1: Première personne
|
||||
person 2: Seconde personne
|
||||
Ask for main person: Demander à l'utilisateur de préciser la personne principale
|
||||
Ask for person 1: Demander à l'utilisateur de préciser la première personne
|
||||
Ask for person 2: Demander à l'utilisateur de préciser la seconde personne
|
||||
Main person: Usager principal
|
||||
person 1: Premièr usager
|
||||
person 2: Second usager
|
||||
Ask for main person: Demander à l'utilisateur de préciser l'usager principal
|
||||
Ask for person 1: Demander à l'utilisateur de préciser le premièr usager
|
||||
Ask for person 2: Demander à l'utilisateur de préciser le second usager
|
||||
A basic context for accompanying period: Contexte pour les parcours
|
||||
A context for accompanying period work: Contexte pour les actions d'accompagnement
|
||||
A context for accompanying period work evaluation: Contexte pour les évaluations dans les actions d'accompagnement
|
||||
Person basic: Personne (basique)
|
||||
A basic context for person: Contexte pour les personnes
|
||||
Person basic: Usager (basique)
|
||||
A basic context for person: Contexte pour les usagers
|
||||
Label for third party: Label à afficher aux utilisateurs
|
||||
Document title: Titre du document généré
|
||||
|
||||
period_notification:
|
||||
period_designated_subject: Vous êtes référent d'un parcours d'accompagnement
|
||||
You are designated to a new period: Vous avez été désigné référent d'un parcours d'accompagnement.
|
||||
Persons are: Les personnes concernées sont les suivantes
|
||||
Persons are: Les usagers concernés sont les suivantes
|
||||
Social issues are: Les problématiques sociales renseignées sont les suivantes
|
||||
See it online: Visualisez le parcours en ligne
|
||||
Person locating period has moved: La personne qui localise un parcours a déménagé
|
||||
Person locating period has moved: L'usager qui localise un parcours a déménagé
|
||||
|
||||
You are getting a notification for a period which does not exists any more: Cette notification ne correspond pas à une période d'accompagnement valide.
|
||||
You are getting a notification for a period you are not allowed to see: La notification fait référence à une période d'accompagnement à laquelle vous n'avez pas accès.
|
||||
This is the minimal period details: Période d'accompagnement n°
|
||||
You are getting a notification for a period which does not exists any more: Cette notification ne correspond pas à un parcours d'accompagnement valide.
|
||||
You are getting a notification for a period you are not allowed to see: La notification fait référence à un parcours d'accompagnement à laquelle vous n'avez pas accès.
|
||||
This is the minimal period details: Parcours d'accompagnement n°
|
||||
|
||||
household_composition:
|
||||
No composition yet: Aucune composition familiale renseignée
|
||||
@@ -1010,7 +1010,7 @@ export:
|
||||
person:
|
||||
by_household_composition:
|
||||
Household composition: Composition du ménage
|
||||
Group course by household composition: Grouper les personnes par composition familiale
|
||||
Group course by household composition: Grouper les usagers par composition familiale
|
||||
Calc date: Date de calcul de la composition du ménage
|
||||
course:
|
||||
by_referrer:
|
||||
@@ -1054,14 +1054,21 @@ export:
|
||||
Filtered by person's geographical unit (based on address) computed at %datecalc%, only %units%: Filtré par unité géographique (sur base de l'adresse), calculé le %datecalc%, seulement %units%
|
||||
person:
|
||||
by_composition:
|
||||
Filter by household composition: Filtrer les personnes par composition du ménage
|
||||
Filter by household composition: Filtrer les usagers par composition du ménage
|
||||
Accepted compositions: Composition de ménages
|
||||
Date calc: Date de calcul
|
||||
'Filtered by composition at %date%: only %compositions%': 'Filtré par composition du ménage, le %date%, seulement %compositions%'
|
||||
by_no_composition:
|
||||
Filter persons without household composition: Filtrer les personnes sans composition de ménage (ni ménage)
|
||||
Persons filtered by no composition at %date%: Uniquement les personnes sans composition de ménage à la date du %date%
|
||||
Filter persons without household composition: Filtrer les usagers sans composition de ménage (ni ménage)
|
||||
Persons filtered by no composition at %date%: Uniquement les usagers sans composition de ménage à la date du %date%
|
||||
Date calc: Date de calcul
|
||||
by_address_ref_status:
|
||||
Filter by person's address ref status: Filtrer par comparaison avec l'adresse de référence
|
||||
to_review: Diffère de l'adresse de référence
|
||||
reviewed: Diffère de l'adresse de référence mais conservé par l'utilisateur
|
||||
match: Identique à l'adresse de référence
|
||||
Filtered by person\'s address status computed at %datecalc%, only %statuses%: Filtré par comparaison à l'adresse de référence, calculé à %datecalc%, seulement %statuses%
|
||||
Status: Statut
|
||||
|
||||
course:
|
||||
by_user_scope:
|
||||
@@ -1077,11 +1084,11 @@ export:
|
||||
'Filtered by creator job: only %jobs%': 'Filtré par métier du créateur: seulement %jobs%'
|
||||
list:
|
||||
person_with_acp:
|
||||
List peoples having an accompanying period: Liste des personnes ayant un parcours d'accompagnement
|
||||
Create a list of people having an accompaying periods, according to various filters.: Génère une liste des personnes ayant un parcours d'accompagnement, selon différents critères liés au parcours ou à l'usager
|
||||
List peoples having an accompanying period: Liste des usagers ayant un parcours d'accompagnement
|
||||
Create a list of people having an accompaying periods, according to various filters.: Génère une liste des usagers ayant un parcours d'accompagnement, selon différents critères liés au parcours ou à l'usager
|
||||
acp:
|
||||
List of accompanying periods: Liste de périodes d'accompagnements
|
||||
Generate a list of accompanying periods, filtered on different parameters.: Génère une liste des périodes d'accompagnement, filtrée sur différents paramètres.
|
||||
List of accompanying periods: Liste des parcours d'accompagnements
|
||||
Generate a list of accompanying periods, filtered on different parameters.: Génère une liste des parcours d'accompagnement, filtrée sur différents paramètres.
|
||||
Date of calculation for associated elements: Date de calcul des éléments associés
|
||||
The associated referree, localisation, and other elements will be valid at this date: Les éléments associés, comme la localisation, le référent et d'autres éléments seront valides à cette date
|
||||
id: Identifiant du parcours
|
||||
@@ -1108,8 +1115,8 @@ export:
|
||||
locationPersonId: Identifiant de l'usager auprès duquel le parcours est localisé
|
||||
acpaddress_fieldscountry: Pays de l'adresse
|
||||
isRequestorPerson: Le demandeur est-il un usager ?
|
||||
requestorPersonId: Identifiant du demandeur personne
|
||||
acprequestorPerson: Nom du demandeur personne
|
||||
requestorPersonId: Identifiant du demandeur usager
|
||||
acprequestorPerson: Nom du demandeur usager
|
||||
scopes: Services
|
||||
socialIssues: Problématiques sociales
|
||||
eval:
|
||||
|
@@ -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
|
||||
|
Reference in New Issue
Block a user