From be13f8f65b3204be7e2b2084ef13d03ce2d162a2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Julien=20Fastr=C3=A9?= Date: Mon, 7 Jun 2021 17:27:02 +0200 Subject: [PATCH] fullfill summary page --- .../Controller/HouseholdController.php | 13 ++++- .../Menu/HouseholdMenuBuilder.php | 6 +-- .../views/Household/summary.html.twig | 47 +++++++++++++++++-- .../translations/messages+intl-icu.fr.yaml | 4 +- 4 files changed, 61 insertions(+), 9 deletions(-) diff --git a/src/Bundle/ChillPersonBundle/Controller/HouseholdController.php b/src/Bundle/ChillPersonBundle/Controller/HouseholdController.php index 28a28f21f..951030b8e 100644 --- a/src/Bundle/ChillPersonBundle/Controller/HouseholdController.php +++ b/src/Bundle/ChillPersonBundle/Controller/HouseholdController.php @@ -26,9 +26,20 @@ class HouseholdController extends AbstractController public function summary(Request $request, Household $household) { // TODO ACL + + $positions = $this->getDoctrine()->getManager() + ->getRepository(Position::class) + ->findAll() + ; + + // little performance improvement: + // initialize members collection, which will avoid + // some queries + $household->getMembers()->initialize(); return $this->render('@ChillPerson/Household/summary.html.twig', [ - 'household' => $household + 'household' => $household, + 'positions' => $positions ] ); } diff --git a/src/Bundle/ChillPersonBundle/Menu/HouseholdMenuBuilder.php b/src/Bundle/ChillPersonBundle/Menu/HouseholdMenuBuilder.php index 2146bbb7c..3377b6f74 100644 --- a/src/Bundle/ChillPersonBundle/Menu/HouseholdMenuBuilder.php +++ b/src/Bundle/ChillPersonBundle/Menu/HouseholdMenuBuilder.php @@ -29,21 +29,21 @@ class HouseholdMenuBuilder implements LocalMenuBuilderInterface { $household = $parameters['household']; - $menu->addChild($this->translator->trans('Summary'), [ + $menu->addChild($this->translator->trans('household.Household summary'), [ 'route' => 'chill_person_household_summary', 'routeParameters' => [ 'household_id' => $household->getId() ]]) ->setExtras(['order' => 10]); - $menu->addChild($this->translator->trans('Members'), [ + $menu->addChild($this->translator->trans('household.Household members'), [ 'route' => 'chill_person_household_members', 'routeParameters' => [ 'household_id' => $household->getId() ]]) ->setExtras(['order' => 20]); - $menu->addChild($this->translator->trans('Addresses'), [ + $menu->addChild($this->translator->trans('household.Addresses'), [ 'route' => 'chill_person_household_addresses', 'routeParameters' => [ 'household_id' => $household->getId() diff --git a/src/Bundle/ChillPersonBundle/Resources/views/Household/summary.html.twig b/src/Bundle/ChillPersonBundle/Resources/views/Household/summary.html.twig index d0305d183..b5bbd1c86 100644 --- a/src/Bundle/ChillPersonBundle/Resources/views/Household/summary.html.twig +++ b/src/Bundle/ChillPersonBundle/Resources/views/Household/summary.html.twig @@ -1,14 +1,53 @@ {% extends '@ChillPerson/Household/layout.html.twig' %} -{% block title 'Household summary'|trans %} +{% block title 'household.Household summary'|trans %} {% block content %}

{{ block('title') }}

-

Household with id {{ household.id }}

+

{{ 'household.Current household members'|trans }}

-

{{ 'Actual household members'|trans }}

+{% for p in positions %} +{%- set members = household.currentMembersByPosition(p) %} +{% if members|length > 0 %} +

{{ p.label|localize_translatable_string }}

-

TODO

+{% if false == p.shareHousehold %} +

{{ 'household.Those members does not share address'|trans }}

+{% endif %} + +
+ {% for m in members %} +
+
+
+
+ {{ m.person|chill_entity_render_box({'addLink': true}) }} + {% if m.holder %} + {{ 'household.holder'|trans }} + {% endif %} +
+
+ {{ 'Born the date'|trans({ 'gender': m.person.gender, 'birthdate': m.person.birthdate|format_date('long') }) }} +
+
+
+
    + {% if m.startDate is not empty %} +
  • {{ 'Since %date%'|trans({'%date%': m.startDate|format_date('long') }) }}
  • + {% endif %} + {% if m.endDate is not empty %} +
  • {{ 'Until %date%'|trans({'%date%': m.endDate|format_date('long') }) }}
  • + {% endif %} +
+
+
+
+ {% endfor %} +
+ +{% endif %} + +{% endfor %} {% endblock %} diff --git a/src/Bundle/ChillPersonBundle/translations/messages+intl-icu.fr.yaml b/src/Bundle/ChillPersonBundle/translations/messages+intl-icu.fr.yaml index dcb541d50..72b065d32 100644 --- a/src/Bundle/ChillPersonBundle/translations/messages+intl-icu.fr.yaml +++ b/src/Bundle/ChillPersonBundle/translations/messages+intl-icu.fr.yaml @@ -26,4 +26,6 @@ household: is not holder: N'est pas titulaire holder: Titulaire Edit member household: Modifier l'appartenance au ménage - + Current household members: Membres actuels du ménage + Household summary: Résumé + Addresses: Adresses