diff --git a/src/Bundle/ChillPersonBundle/Controller/HouseholdController.php b/src/Bundle/ChillPersonBundle/Controller/HouseholdController.php index 0a8b7eea1..c0f0baab2 100644 --- a/src/Bundle/ChillPersonBundle/Controller/HouseholdController.php +++ b/src/Bundle/ChillPersonBundle/Controller/HouseholdController.php @@ -12,6 +12,7 @@ declare(strict_types=1); namespace Chill\PersonBundle\Controller; use Chill\MainBundle\Entity\Address; +use Chill\MainBundle\Form\Type\AddressType; use Chill\PersonBundle\Entity\Household\Household; use Chill\PersonBundle\Form\HouseholdType; use Chill\PersonBundle\Repository\Household\PositionRepository; @@ -136,6 +137,46 @@ class HouseholdController extends AbstractController ); } + /** + * @Route( + * "/{household_id}/address/edit_valid_from", + * name="chill_person_household_address_valid_from_edit", + * methods={"GET", "HEAD", "POST"} + * ) + * @ParamConverter("household", options={"id": "household_id"}) + */ + public function addressValidFromEdit(Request $request, Household $household) + { + // TODO ACL + + $address_id = $request->query->get('address_id'); + $address = $this->getDoctrine()->getManager() + ->getRepository(Address::class) + ->find($address_id); + + $form = $this->createForm(AddressType::class, $address, []); + + $form->handleRequest($request); + + if ($form->isSubmitted() && $form->isValid()) { + $this->getDoctrine()->getManager()->persist($address); + $this->getDoctrine()->getManager()->flush(); + + return $this->redirectToRoute('chill_person_household_addresses', [ + 'household_id' => $household->getId() + ]); + } + + return $this->render( + '@ChillPerson/Household/address_valid_from_edit.html.twig', + [ + 'household' => $household, + 'address' => $address, + 'form' => $form->createView() + ] + ); + } + /** * @Route( * "/{household_id}/addresses", diff --git a/src/Bundle/ChillPersonBundle/Resources/views/Household/address_valid_from_edit.html.twig b/src/Bundle/ChillPersonBundle/Resources/views/Household/address_valid_from_edit.html.twig new file mode 100644 index 000000000..a58e29de0 --- /dev/null +++ b/src/Bundle/ChillPersonBundle/Resources/views/Household/address_valid_from_edit.html.twig @@ -0,0 +1,34 @@ +{% extends '@ChillPerson/Household/layout.html.twig' %} + +{% block title 'Edit household address valid from'|trans %} + +{% block content %} +

{{ block('title') }}

+
+ {{ address|chill_entity_render_box}} +
+ + {{ form_start(form) }} + {{ form_errors(form) }} + +
+ {{ form_row(form.validFrom) }} +
+ + + + + {{ form_end(form) }} + +{% endblock %} diff --git a/src/Bundle/ChillPersonBundle/Resources/views/Household/addresses.html.twig b/src/Bundle/ChillPersonBundle/Resources/views/Household/addresses.html.twig index 2802c62a7..d61e0b63e 100644 --- a/src/Bundle/ChillPersonBundle/Resources/views/Household/addresses.html.twig +++ b/src/Bundle/ChillPersonBundle/Resources/views/Household/addresses.html.twig @@ -64,9 +64,12 @@ }) }} diff --git a/src/Bundle/ChillPersonBundle/translations/messages.fr.yml b/src/Bundle/ChillPersonBundle/translations/messages.fr.yml index ae7687324..5395ba983 100644 --- a/src/Bundle/ChillPersonBundle/translations/messages.fr.yml +++ b/src/Bundle/ChillPersonBundle/translations/messages.fr.yml @@ -498,6 +498,9 @@ Concerns household n°%id%: Concerne le ménage n°%id% Composition: Composition Budget: Budget The composition has been successfully removed.: La composition a été supprimée. +edit address valid from: Changer la date du déménagement +Edit household address valid from: Changer la date du déménagement + # accompanying course work Accompanying Course Actions: Actions d'accompagnements