From 7d8bd089a21b8a47c29bc593d02c601436679634 Mon Sep 17 00:00:00 2001 From: Julie Lenaerts Date: Tue, 1 Feb 2022 10:09:48 +0100 Subject: [PATCH 1/4] double edit button removed --- .../Resources/views/HouseholdComposition/index.html.twig | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/Bundle/ChillPersonBundle/Resources/views/HouseholdComposition/index.html.twig b/src/Bundle/ChillPersonBundle/Resources/views/HouseholdComposition/index.html.twig index 594863a64..ccd0ba1a9 100644 --- a/src/Bundle/ChillPersonBundle/Resources/views/HouseholdComposition/index.html.twig +++ b/src/Bundle/ChillPersonBundle/Resources/views/HouseholdComposition/index.html.twig @@ -22,7 +22,7 @@

{{ c.householdCompositionType.label|localize_translatable_string }}

{{ 'household_composition.numberOfChildren'|trans }}: {{ c.numberOfChildren }}

-
{{ 'household_composition.Since'|trans({'startDate': c.startDate}) }}
+
{{ 'household_composition.Since'|trans({'startDate': c.startDate}) }}
@@ -45,7 +45,7 @@
  • - +
  • @@ -57,8 +57,8 @@ {{ form_widget(form) }}
    diff --git a/src/Bundle/ChillPersonBundle/translations/messages.fr.yml b/src/Bundle/ChillPersonBundle/translations/messages.fr.yml index f1cb52913..bcfa243a8 100644 --- a/src/Bundle/ChillPersonBundle/translations/messages.fr.yml +++ b/src/Bundle/ChillPersonBundle/translations/messages.fr.yml @@ -486,6 +486,10 @@ Household summary: Résumé du ménage Edit household address: Modifier l'adresse du ménage Show household: Voir le ménage Back to household: Revenir au ménage +Remove household composition: Supprimer composition familiale +Are you sure you want to remove this composition?: Etes-vous sûr de vouloir supprimer cette composition familiale ? +Concerns household n°%id%: Concerne le ménage n°%id% +Composition: Composition # accompanying course work Accompanying Course Actions: Actions d'accompagnements From a986b4ae983e24b572d001d531ef739adaf7fa40 Mon Sep 17 00:00:00 2001 From: Julie Lenaerts Date: Tue, 1 Feb 2022 12:33:09 +0100 Subject: [PATCH 3/4] csfixes --- .../Entity/ActivityType.php | 2 +- .../ChillMainBundle/Form/WorkflowStepType.php | 34 +++--- .../HouseholdCompositionController.php | 105 +++++++++--------- .../Entity/AccompanyingPeriod.php | 2 +- .../AccompanyingPeriodRepository.php | 10 +- 5 files changed, 78 insertions(+), 75 deletions(-) diff --git a/src/Bundle/ChillActivityBundle/Entity/ActivityType.php b/src/Bundle/ChillActivityBundle/Entity/ActivityType.php index 94f732a89..bdf75ed05 100644 --- a/src/Bundle/ChillActivityBundle/Entity/ActivityType.php +++ b/src/Bundle/ChillActivityBundle/Entity/ActivityType.php @@ -271,7 +271,7 @@ class ActivityType public function checkSocialActionsVisibility(ExecutionContextInterface $context, $payload) { if ($this->socialIssuesVisible !== $this->socialActionsVisible) { - if (!($this->socialIssuesVisible === 2 && $this->socialActionsVisible === 1)) { + if (!(2 === $this->socialIssuesVisible && 1 === $this->socialActionsVisible)) { $context ->buildViolation('The socialActionsVisible value is not compatible with the socialIssuesVisible value') ->atPath('socialActionsVisible') diff --git a/src/Bundle/ChillMainBundle/Form/WorkflowStepType.php b/src/Bundle/ChillMainBundle/Form/WorkflowStepType.php index 18ac10c47..b843890c2 100644 --- a/src/Bundle/ChillMainBundle/Form/WorkflowStepType.php +++ b/src/Bundle/ChillMainBundle/Form/WorkflowStepType.php @@ -76,32 +76,32 @@ class WorkflowStepType extends AbstractType 'expanded' => true, 'choices' => $choices, 'choice_label' => function (Transition $transition) use ($workflow) { - $meta = $workflow->getMetadataStore()->getTransitionMetadata($transition); + $meta = $workflow->getMetadataStore()->getTransitionMetadata($transition); - if (array_key_exists('label', $meta)) { - return $this->translatableStringHelper->localize($meta['label']); - } + if (array_key_exists('label', $meta)) { + return $this->translatableStringHelper->localize($meta['label']); + } - return $transition->getName(); - }, + return $transition->getName(); + }, 'choice_attr' => static function (Transition $transition) use ($workflow) { - $toFinal = true; + $toFinal = true; - foreach ($transition->getTos() as $to) { - $meta = $workflow->getMetadataStore()->getPlaceMetadata($to); + foreach ($transition->getTos() as $to) { + $meta = $workflow->getMetadataStore()->getPlaceMetadata($to); - if ( + if ( !array_key_exists('isFinal', $meta) || false === $meta['isFinal'] ) { - $toFinal = false; - } + $toFinal = false; } + } - return [ - 'data-is-transition' => 'data-is-transition', - 'data-to-final' => $toFinal ? '1' : '0', - ]; - }, + return [ + 'data-is-transition' => 'data-is-transition', + 'data-to-final' => $toFinal ? '1' : '0', + ]; + }, ]) ->add('future_dest_users', PickUserDynamicType::class, [ 'label' => 'workflow.dest for next steps', diff --git a/src/Bundle/ChillPersonBundle/Controller/HouseholdCompositionController.php b/src/Bundle/ChillPersonBundle/Controller/HouseholdCompositionController.php index 4b78c8738..22e92eb02 100644 --- a/src/Bundle/ChillPersonBundle/Controller/HouseholdCompositionController.php +++ b/src/Bundle/ChillPersonBundle/Controller/HouseholdCompositionController.php @@ -44,6 +44,8 @@ class HouseholdCompositionController extends AbstractController private HouseholdCompositionRepository $householdCompositionRepository; + private HouseholdRepository $householdRepository; + private PaginatorFactory $paginatorFactory; private Security $security; @@ -52,8 +54,6 @@ class HouseholdCompositionController extends AbstractController private UrlGeneratorInterface $urlGenerator; - private HouseholdRepository $householdRepository; - public function __construct( Security $security, HouseholdCompositionRepository $householdCompositionRepository, @@ -76,6 +76,58 @@ class HouseholdCompositionController extends AbstractController $this->householdRepository = $householdRepository; } + /** + * @Route("/{_locale}/person/household/{household_id}/composition/{composition_id}/delete", name="chill_person_household_composition_delete") + * + * @param mixed $household_id + * @param mixed $composition_id + */ + public function deleteAction(Request $request, $household_id, $composition_id): Response + { + $composition = $this->householdCompositionRepository->find($composition_id); + $household = $this->householdRepository->find($household_id); + + $this->denyAccessUnlessGranted(HouseholdVoter::EDIT, $household); + + if (null === $composition) { + throw $this->createNotFoundException('Unable to find composition entity.'); + } + + $form = $this->createFormBuilder() + ->setAction($this->generateUrl('chill_person_household_composition_delete', [ + 'composition_id' => $composition_id, + 'household_id' => $household_id, + ])) + ->setMethod('DELETE') + ->add('submit', SubmitType::class, ['label' => 'Delete']) + ->getForm(); + + if ($request->getMethod() === Request::METHOD_DELETE) { + $form->handleRequest($request); + + if ($form->isValid()) { + $this->entityManager->remove($composition); + $this->entityManager->flush(); + + $this->addFlash('success', $this->translator + ->trans('The composition has been successfully removed.')); + + return $this->redirectToRoute('chill_person_household_composition_index', [ + 'id' => $household_id, + ]); + } + } + + return $this->render( + 'ChillPersonBundle:HouseholdComposition:delete.html.twig', + [ + 'household' => $household, + 'composition' => $composition, + 'form' => $form->createView(), + ] + ); + } + /** * @Route("/{_locale}/person/household/{id}/composition/index", name="chill_person_household_composition_index") */ @@ -153,53 +205,4 @@ class HouseholdCompositionController extends AbstractController ] )); } - - /** - * @Route("/{_locale}/person/household/{household_id}/composition/{composition_id}/delete", name="chill_person_household_composition_delete") - */ - public function deleteAction(Request $request, $household_id, $composition_id): Response - { - $composition = $this->householdCompositionRepository->find($composition_id); - $household = $this->householdRepository->find($household_id); - - $this->denyAccessUnlessGranted(HouseholdVoter::EDIT, $household); - - if (null === $composition) { - throw $this->createNotFoundException('Unable to find composition entity.'); - } - - $form = $this->createFormBuilder() - ->setAction($this->generateUrl('chill_person_household_composition_delete', [ - 'composition_id' => $composition_id, - 'household_id' => $household_id, - ])) - ->setMethod('DELETE') - ->add('submit', SubmitType::class, ['label' => 'Delete']) - ->getForm(); - - if ($request->getMethod() === Request::METHOD_DELETE) { - $form->handleRequest($request); - - if ($form->isValid()) { - $this->entityManager->remove($composition); - $this->entityManager->flush(); - - $this->addFlash('success', $this->translator - ->trans('The composition has been successfully removed.')); - - return $this->redirectToRoute('chill_person_household_composition_index', [ - 'id' => $household_id, - ]); - } - } - - return $this->render( - 'ChillPersonBundle:HouseholdComposition:delete.html.twig', - [ - 'household' => $household, - 'composition' => $composition, - 'form' => $form->createView(), - ] - ); - } } diff --git a/src/Bundle/ChillPersonBundle/Entity/AccompanyingPeriod.php b/src/Bundle/ChillPersonBundle/Entity/AccompanyingPeriod.php index d71ac2b9f..07fb859b7 100644 --- a/src/Bundle/ChillPersonBundle/Entity/AccompanyingPeriod.php +++ b/src/Bundle/ChillPersonBundle/Entity/AccompanyingPeriod.php @@ -213,7 +213,7 @@ class AccompanyingPeriod implements * * @ORM\Column(type="date") * @Groups({"read", "write", "docgen:read"}) - * @Assert\LessThan(value= "today", groups={AccompanyingPeriod::STEP_CONFIRMED}) + * @Assert\LessThan(value="today", groups={AccompanyingPeriod::STEP_CONFIRMED}) * @Assert\LessThan(propertyPath="closingDate", groups={AccompanyingPeriod::STEP_CONFIRMED}) */ private ?DateTime $openingDate = null; diff --git a/src/Bundle/ChillPersonBundle/Repository/AccompanyingPeriodRepository.php b/src/Bundle/ChillPersonBundle/Repository/AccompanyingPeriodRepository.php index 3f0c30e47..10b424cef 100644 --- a/src/Bundle/ChillPersonBundle/Repository/AccompanyingPeriodRepository.php +++ b/src/Bundle/ChillPersonBundle/Repository/AccompanyingPeriodRepository.php @@ -28,6 +28,11 @@ final class AccompanyingPeriodRepository implements ObjectRepository $this->repository = $entityManager->getRepository(AccompanyingPeriod::class); } + public function countBy(array $criteria): int + { + return $this->repository->count($criteria); + } + public function countByRecentUserHistory(User $user, DateTimeImmutable $since): int { $qb = $this->buildQueryByRecentUserHistory($user, $since); @@ -35,11 +40,6 @@ final class AccompanyingPeriodRepository implements ObjectRepository return $qb->select('count(a)')->getQuery()->getSingleScalarResult(); } - public function countBy(array $criteria): int - { - return $this->repository->count($criteria); - } - public function createQueryBuilder(string $alias, ?string $indexBy = null): QueryBuilder { return $this->repository->createQueryBuilder($alias, $indexBy); From 1530e9d13adbe4205690db61bb2ff78d374fb195 Mon Sep 17 00:00:00 2001 From: Julie Lenaerts Date: Tue, 1 Feb 2022 12:37:09 +0100 Subject: [PATCH 4/4] changelog updated --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index a198c0929..fb0d742f7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -13,6 +13,7 @@ and this project adheres to * 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 +* [household]: household composition double edit button replaced by a delete action (https://gitlab.com/champs-libres/departement-de-la-vendee/chill/-/issues/426) ## Test releases