diff --git a/CHANGELOG.md b/CHANGELOG.md index 5515ca751..09d974cb2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -11,6 +11,7 @@ and this project adheres to ## Unreleased +* [person] add a returnPath when clicking on some Person or ThirdParty badge (https://gitlab.com/champs-libres/departement-de-la-vendee/chill/-/issues/427) * [person] accompanying course work: fix on-the-fly update of thirdParty * [on-the-fly] close modal only after validation * [person] correct thirdparty PATCH url + add email and altnames in AddPerson and serializer (https://gitlab.com/champs-libres/departement-de-la-vendee/chill/-/issues/433) @@ -18,12 +19,13 @@ and this project adheres to * [person]: style fix in parcours listing per person. (https://gitlab.com/champs-libres/departement-de-la-vendee/chill/-/issues/432) * ajoute un ordre dans les localisation (api) * [pick entity]: fix translations in modal (https://gitlab.com/champs-libres/departement-de-la-vendee/accent-suivi-developpement/-/issues/419) +* [homepage_widget]: fix translation on emergency badge (https://gitlab.com/champs-libres/departement-de-la-vendee/accent-suivi-developpement/-/issues/440) +* [person]: create person and household added to button dropdown (https://gitlab.com/champs-libres/departement-de-la-vendee/accent-suivi-developpement/-/issues/454) ## Test releases ### test release 2021-02-01 ->>>>>>> master * renommer "dossier numéro" en "parcours numéro" dans les résultats de recherche * renomme date de début en date d'ouverture dans le formulaire parcours diff --git a/src/Bundle/ChillMainBundle/Resources/public/vuejs/HomepageWidget/MyAccompanyingCourses.vue b/src/Bundle/ChillMainBundle/Resources/public/vuejs/HomepageWidget/MyAccompanyingCourses.vue index 4292c3af5..1c3b5e152 100644 --- a/src/Bundle/ChillMainBundle/Resources/public/vuejs/HomepageWidget/MyAccompanyingCourses.vue +++ b/src/Bundle/ChillMainBundle/Resources/public/vuejs/HomepageWidget/MyAccompanyingCourses.vue @@ -32,7 +32,7 @@ - {{ $t('emergency') }} + {{ $t('emergency') }} {{ $t('confidential') }} @@ -80,5 +80,7 @@ export default { \ No newline at end of file diff --git a/src/Bundle/ChillMainBundle/Resources/public/vuejs/HomepageWidget/js/i18n.js b/src/Bundle/ChillMainBundle/Resources/public/vuejs/HomepageWidget/js/i18n.js index 0b3d6a428..29f9dac62 100644 --- a/src/Bundle/ChillMainBundle/Resources/public/vuejs/HomepageWidget/js/i18n.js +++ b/src/Bundle/ChillMainBundle/Resources/public/vuejs/HomepageWidget/js/i18n.js @@ -50,7 +50,9 @@ const appMessages = { assignated_evaluations: "{n} évaluation assignée | {n} évaluations assignées", alert_tasks: "{n} tâche en rappel | {n} tâches en rappel", warning_tasks: "{n} tâche à échéance | {n} tâches à échéance", - } + }, + emergency: "Urgent", + confidential: "Confidentiel", } }; diff --git a/src/Bundle/ChillMainBundle/Resources/public/vuejs/OnTheFly/components/OnTheFly.vue b/src/Bundle/ChillMainBundle/Resources/public/vuejs/OnTheFly/components/OnTheFly.vue index 21f7a9c55..7b06776ba 100644 --- a/src/Bundle/ChillMainBundle/Resources/public/vuejs/OnTheFly/components/OnTheFly.vue +++ b/src/Bundle/ChillMainBundle/Resources/public/vuejs/OnTheFly/components/OnTheFly.vue @@ -160,7 +160,10 @@ export default { }, badgeType() { return 'entity-' + this.type + ' badge-' + this.type; - } + }, + getReturnPath() { + return `?returnPath=${window.location.pathname}${window.location.search}${window.location.hash}`; + }, }, methods: { closeModal() { @@ -207,9 +210,9 @@ export default { buildLocation(id, type) { if (type === 'person') { // TODO i18n - return `/fr/person/${id}/general`; + return encodeURI(`/fr/person/${id}/general${this.getReturnPath}`); } else if (type === 'thirdparty') { - return `/fr/3party/3party/${id}/view`; + return encodeURI(`/fr/3party/3party/${id}/view${this.getReturnPath}`); } } } diff --git a/src/Bundle/ChillPersonBundle/Controller/HouseholdApiController.php b/src/Bundle/ChillPersonBundle/Controller/HouseholdApiController.php index da8655f3d..1ebde2b57 100644 --- a/src/Bundle/ChillPersonBundle/Controller/HouseholdApiController.php +++ b/src/Bundle/ChillPersonBundle/Controller/HouseholdApiController.php @@ -50,7 +50,6 @@ class HouseholdApiController extends ApiController */ public function getHouseholdByAddressReference(AddressReference $addressReference): Response { - // TODO ACL $this->denyAccessUnlessGranted('ROLE_USER'); $total = $this->householdACLAwareRepository->countByAddressReference($addressReference); diff --git a/src/Bundle/ChillPersonBundle/Controller/PersonController.php b/src/Bundle/ChillPersonBundle/Controller/PersonController.php index 02c77ebd3..ac371a2af 100644 --- a/src/Bundle/ChillPersonBundle/Controller/PersonController.php +++ b/src/Bundle/ChillPersonBundle/Controller/PersonController.php @@ -224,6 +224,8 @@ final class PersonController extends AbstractController 'label' => 'Add the person', ])->add('createPeriod', SubmitType::class, [ 'label' => 'Add the person and create an accompanying period', + ])->add('createHousehold', SubmitType::class, [ + 'label' => 'Add the person and create a household' ]); $form->handleRequest($request); @@ -252,6 +254,12 @@ final class PersonController extends AbstractController ]); } + if ($form->get('createHousehold')->isClicked()) { + return $this->redirectToRoute('chill_person_household_members_editor', [ + 'persons' => [$person->getId()], + ]); + } + return $this->redirectToRoute( 'chill_person_general_edit', ['person_id' => $person->getId()] diff --git a/src/Bundle/ChillPersonBundle/Repository/Household/HouseholdACLAwareRepository.php b/src/Bundle/ChillPersonBundle/Repository/Household/HouseholdACLAwareRepository.php index dc5e8f5d3..48dabd054 100644 --- a/src/Bundle/ChillPersonBundle/Repository/Household/HouseholdACLAwareRepository.php +++ b/src/Bundle/ChillPersonBundle/Repository/Household/HouseholdACLAwareRepository.php @@ -14,7 +14,7 @@ namespace Chill\PersonBundle\Repository\Household; use Chill\MainBundle\Entity\AddressReference; use Chill\MainBundle\Security\Authorization\AuthorizationHelper; use Chill\PersonBundle\Entity\Household\Household; -use Chill\PersonBundle\Security\Authorization\HouseholdVoter; +use Chill\PersonBundle\Security\Authorization\PersonVoter; use DateTime; use Doctrine\ORM\EntityManagerInterface; use Doctrine\ORM\QueryBuilder; @@ -39,7 +39,7 @@ final class HouseholdACLAwareRepository implements HouseholdACLAwareRepositoryIn { $centers = $this->authorizationHelper->getReachableCenters( $this->security->getUser(), - HouseholdVoter::SEE + PersonVoter::SEE // the authorization to see a household is the same as seeing a person ); if ([] === $centers) { diff --git a/src/Bundle/ChillPersonBundle/Resources/views/Person/create.html.twig b/src/Bundle/ChillPersonBundle/Resources/views/Person/create.html.twig index 70d6a4a8e..3a9083310 100644 --- a/src/Bundle/ChillPersonBundle/Resources/views/Person/create.html.twig +++ b/src/Bundle/ChillPersonBundle/Resources/views/Person/create.html.twig @@ -115,6 +115,9 @@
  • {{ form_widget(form.editPerson, { 'attr': { 'class': 'dropdown-item' }}) }}
  • +
  • + {{ form_widget(form.createHousehold, { 'attr': { 'class': 'dropdown-item' }}) }} +
  • {{ form_widget(form.createPeriod, { 'attr': { 'class': 'dropdown-item' }}) }}
  • diff --git a/src/Bundle/ChillPersonBundle/translations/messages.fr.yml b/src/Bundle/ChillPersonBundle/translations/messages.fr.yml index 91aed0304..60cf842af 100644 --- a/src/Bundle/ChillPersonBundle/translations/messages.fr.yml +++ b/src/Bundle/ChillPersonBundle/translations/messages.fr.yml @@ -124,7 +124,7 @@ 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 & créer une période d'accompagnement" -'Add the person and create an household': "Créer la personne & créer un ménage" +'Add the person and create a household': "Créer la personne & créer un ménage" Show person: Voir le dossier de la personne 'Confirm the creation': 'Confirmer la création' 'You will create this person': 'Vous allez créer le dossier suivant'