From fa556bbba1f7a6a74360c90df3059028ae7efb05 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Julien=20Fastr=C3=A9?= Date: Wed, 2 Jun 2021 11:44:36 +0200 Subject: [PATCH] basic context for household --- .../Controller/HouseholdController.php | 34 +++++++++++++++ .../Menu/HouseholdMenuBuilder.php | 42 +++++++++++++++++++ .../views/Household/banner.html.twig | 26 ++++++++++++ .../views/Household/layout.html.twig | 17 ++++++++ .../Resources/views/Household/menu.html.twig | 7 ++++ .../views/Household/summary.html.twig | 14 +++++++ .../config/services/menu.yaml | 36 +++++++++------- 7 files changed, 161 insertions(+), 15 deletions(-) create mode 100644 src/Bundle/ChillPersonBundle/Controller/HouseholdController.php create mode 100644 src/Bundle/ChillPersonBundle/Menu/HouseholdMenuBuilder.php create mode 100644 src/Bundle/ChillPersonBundle/Resources/views/Household/banner.html.twig create mode 100644 src/Bundle/ChillPersonBundle/Resources/views/Household/layout.html.twig create mode 100644 src/Bundle/ChillPersonBundle/Resources/views/Household/menu.html.twig create mode 100644 src/Bundle/ChillPersonBundle/Resources/views/Household/summary.html.twig diff --git a/src/Bundle/ChillPersonBundle/Controller/HouseholdController.php b/src/Bundle/ChillPersonBundle/Controller/HouseholdController.php new file mode 100644 index 000000000..008a569e1 --- /dev/null +++ b/src/Bundle/ChillPersonBundle/Controller/HouseholdController.php @@ -0,0 +1,34 @@ +render('@ChillPerson/Household/summary.html.twig', + [ + 'household' => $household + ] + ); + } +} diff --git a/src/Bundle/ChillPersonBundle/Menu/HouseholdMenuBuilder.php b/src/Bundle/ChillPersonBundle/Menu/HouseholdMenuBuilder.php new file mode 100644 index 000000000..03c9b4306 --- /dev/null +++ b/src/Bundle/ChillPersonBundle/Menu/HouseholdMenuBuilder.php @@ -0,0 +1,42 @@ +translator = $translator; + } + + public static function getMenuIds(): array + { + return [ 'household' ]; + } + + public function buildMenu($menuId, MenuItem $menu, array $parameters): void + { + $household = $parameters['household']; + + $menu->addChild($this->translator->trans('Summary'), [ + 'route' => 'chill_person_household_summary', + 'routeParameters' => [ + 'household_id' => $household->getId() + ]]) + ->setExtras(['order' => 10]); + + } + + +} diff --git a/src/Bundle/ChillPersonBundle/Resources/views/Household/banner.html.twig b/src/Bundle/ChillPersonBundle/Resources/views/Household/banner.html.twig new file mode 100644 index 000000000..9ea33c8d4 --- /dev/null +++ b/src/Bundle/ChillPersonBundle/Resources/views/Household/banner.html.twig @@ -0,0 +1,26 @@ +
+
+
+ +
{% set title = title %} +

+ + {{ 'Household'|trans }} + (n°{{ household.id }}) +

+
+ + + + + +
+
+
+
+ + + +
+
+
diff --git a/src/Bundle/ChillPersonBundle/Resources/views/Household/layout.html.twig b/src/Bundle/ChillPersonBundle/Resources/views/Household/layout.html.twig new file mode 100644 index 000000000..6b8faa4b0 --- /dev/null +++ b/src/Bundle/ChillPersonBundle/Resources/views/Household/layout.html.twig @@ -0,0 +1,17 @@ +{% extends "ChillMainBundle::layoutWithVerticalMenu.html.twig" %} + +{% block top_banner %} + {{ include('@ChillPerson/Household/banner.html.twig', { title: block('title') }) }} +{% endblock %} + +{% block layout_wvm_content %} + {% block content %}{% endblock %} +{% endblock %} + +{% block vertical_menu_content %} + {{ chill_menu('household', { + 'layout': '@ChillPerson/Household/menu.html.twig', + 'args' : { 'household': household } + }) }} +{% endblock %} + diff --git a/src/Bundle/ChillPersonBundle/Resources/views/Household/menu.html.twig b/src/Bundle/ChillPersonBundle/Resources/views/Household/menu.html.twig new file mode 100644 index 000000000..a60abe7eb --- /dev/null +++ b/src/Bundle/ChillPersonBundle/Resources/views/Household/menu.html.twig @@ -0,0 +1,7 @@ + diff --git a/src/Bundle/ChillPersonBundle/Resources/views/Household/summary.html.twig b/src/Bundle/ChillPersonBundle/Resources/views/Household/summary.html.twig new file mode 100644 index 000000000..d0305d183 --- /dev/null +++ b/src/Bundle/ChillPersonBundle/Resources/views/Household/summary.html.twig @@ -0,0 +1,14 @@ +{% extends '@ChillPerson/Household/layout.html.twig' %} + +{% block title 'Household summary'|trans %} + +{% block content %} +

{{ block('title') }}

+ +

Household with id {{ household.id }}

+ +

{{ 'Actual household members'|trans }}

+ +

TODO

+ +{% endblock %} diff --git a/src/Bundle/ChillPersonBundle/config/services/menu.yaml b/src/Bundle/ChillPersonBundle/config/services/menu.yaml index e94a81572..344eb2a17 100644 --- a/src/Bundle/ChillPersonBundle/config/services/menu.yaml +++ b/src/Bundle/ChillPersonBundle/config/services/menu.yaml @@ -1,17 +1,23 @@ services: - Chill\PersonBundle\Menu\SectionMenuBuilder: - arguments: - $authorizationChecker: '@Symfony\Component\Security\Core\Authorization\AuthorizationCheckerInterface' - $translator: '@Symfony\Component\Translation\TranslatorInterface' - tags: - - { name: 'chill.menu_builder' } - - Chill\PersonBundle\Menu\AdminMenuBuilder: - arguments: - $authorizationChecker: '@Symfony\Component\Security\Core\Authorization\AuthorizationCheckerInterface' + Chill\PersonBundle\Menu\: + resource: './../../Menu' + autowire: true tags: - { name: 'chill.menu_builder' } + # Chill\PersonBundle\Menu\SectionMenuBuilder: + # arguments: + # $authorizationChecker: '@Symfony\Component\Security\Core\Authorization\AuthorizationCheckerInterface' + # $translator: '@Symfony\Component\Translation\TranslatorInterface' + # tags: + # - { name: 'chill.menu_builder' } + # + # Chill\PersonBundle\Menu\AdminMenuBuilder: + # arguments: + # $authorizationChecker: '@Symfony\Component\Security\Core\Authorization\AuthorizationCheckerInterface' + # tags: + # - { name: 'chill.menu_builder' } + # Chill\PersonBundle\Menu\PersonMenuBuilder: arguments: $showAccompanyingPeriod: '%chill_person.accompanying_period%' @@ -19,8 +25,8 @@ services: tags: - { name: 'chill.menu_builder' } - Chill\PersonBundle\Menu\AccompanyingCourseMenuBuilder: - arguments: - $translator: '@Symfony\Contracts\Translation\TranslatorInterface' - tags: - - { name: 'chill.menu_builder' } + # Chill\PersonBundle\Menu\AccompanyingCourseMenuBuilder: + # arguments: + # $translator: '@Symfony\Contracts\Translation\TranslatorInterface' + # tags: + # - { name: 'chill.menu_builder' }