From 3c685d50dd89d9d4b0ce4c929fbd3227c970f1e2 Mon Sep 17 00:00:00 2001 From: Julie Lenaerts Date: Tue, 14 Jun 2022 12:11:29 +0200 Subject: [PATCH] household composition type added to admin panel --- .../HouseholdCompositionCRUDController.php | 26 ++++++++++++ .../ChillPersonExtension.php | 21 ++++++++++ .../Form/HouseholdCompositionTypeType.php | 40 ++++++++++++++++++ .../Menu/AdminHouseholdMenuBuilder.php | 6 ++- .../HouseholdComposition/admin/edit.html.twig | 11 +++++ .../admin/index.html.twig | 41 +++++++++++++++++++ .../HouseholdComposition/admin/new.html.twig | 12 ++++++ .../translations/messages.fr.yml | 6 +++ 8 files changed, 162 insertions(+), 1 deletion(-) create mode 100644 src/Bundle/ChillPersonBundle/Controller/HouseholdCompositionCRUDController.php create mode 100644 src/Bundle/ChillPersonBundle/Form/HouseholdCompositionTypeType.php create mode 100644 src/Bundle/ChillPersonBundle/Resources/views/HouseholdComposition/admin/edit.html.twig create mode 100644 src/Bundle/ChillPersonBundle/Resources/views/HouseholdComposition/admin/index.html.twig create mode 100644 src/Bundle/ChillPersonBundle/Resources/views/HouseholdComposition/admin/new.html.twig diff --git a/src/Bundle/ChillPersonBundle/Controller/HouseholdCompositionCRUDController.php b/src/Bundle/ChillPersonBundle/Controller/HouseholdCompositionCRUDController.php new file mode 100644 index 000000000..40ecc8736 --- /dev/null +++ b/src/Bundle/ChillPersonBundle/Controller/HouseholdCompositionCRUDController.php @@ -0,0 +1,26 @@ +addOrderBy('e.id', 'ASC'); + + return parent::orderQuery($action, $query, $request, $paginator); + } +} \ No newline at end of file diff --git a/src/Bundle/ChillPersonBundle/DependencyInjection/ChillPersonExtension.php b/src/Bundle/ChillPersonBundle/DependencyInjection/ChillPersonExtension.php index d7037c1d2..9fb2fe788 100644 --- a/src/Bundle/ChillPersonBundle/DependencyInjection/ChillPersonExtension.php +++ b/src/Bundle/ChillPersonBundle/DependencyInjection/ChillPersonExtension.php @@ -227,6 +227,27 @@ class ChillPersonExtension extends Extension implements PrependExtensionInterfac ], ], ], + [ + 'class' => \Chill\PersonBundle\Entity\Household\HouseholdCompositionType::class, + 'name' => 'person_household_composition_type', + 'base_path' => '/admin/person/household/composition-type', + 'form_class' => \Chill\PersonBundle\Form\HouseholdCompositionTypeType::class, + 'controller' => \Chill\PersonBundle\Controller\HouseholdCompositionCRUDController::class, + 'actions' => [ + 'index' => [ + 'role' => 'ROLE_ADMIN', + 'template' => '@ChillPerson/HouseholdComposition/admin/index.html.twig', + ], + 'new' => [ + 'role' => 'ROLE_ADMIN', + 'template' => '@ChillPerson/HouseholdComposition/admin/new.html.twig', + ], + 'edit' => [ + 'role' => 'ROLE_ADMIN', + 'template' => '@ChillPerson/HouseholdComposition/admin/edit.html.twig', + ], + ], + ], [ 'class' => \Chill\PersonBundle\Entity\Relationships\Relation::class, 'name' => 'person_relation', diff --git a/src/Bundle/ChillPersonBundle/Form/HouseholdCompositionTypeType.php b/src/Bundle/ChillPersonBundle/Form/HouseholdCompositionTypeType.php new file mode 100644 index 000000000..686e8b88a --- /dev/null +++ b/src/Bundle/ChillPersonBundle/Form/HouseholdCompositionTypeType.php @@ -0,0 +1,40 @@ +add('label', TranslatableStringFormType::class) + ->add('active', ChoiceType::class, [ + 'choices' => [ + 'Active' => true, + 'Inactive' => false, + ], + ]); + } + + public function configureOptions(OptionsResolver $resolver) + { + $resolver + ->setDefault('class', HouseholdCompositionType::class); + } +} \ No newline at end of file diff --git a/src/Bundle/ChillPersonBundle/Menu/AdminHouseholdMenuBuilder.php b/src/Bundle/ChillPersonBundle/Menu/AdminHouseholdMenuBuilder.php index e68059e1d..4dc43bcaa 100644 --- a/src/Bundle/ChillPersonBundle/Menu/AdminHouseholdMenuBuilder.php +++ b/src/Bundle/ChillPersonBundle/Menu/AdminHouseholdMenuBuilder.php @@ -46,9 +46,13 @@ class AdminHouseholdMenuBuilder implements LocalMenuBuilderInterface 'route' => 'chill_crud_person_household_position_index', ])->setExtras(['order' => 2110]); + $menu->addChild('Composition', [ + 'route' => 'chill_crud_person_household_composition_type_index', + ])->setExtras(['order' => 2120]); + $menu->addChild('person_admin.relation', [ 'route' => 'chill_crud_person_relation_index', - ])->setExtras(['order' => 2120]); + ])->setExtras(['order' => 2130]); } public static function getMenuIds(): array diff --git a/src/Bundle/ChillPersonBundle/Resources/views/HouseholdComposition/admin/edit.html.twig b/src/Bundle/ChillPersonBundle/Resources/views/HouseholdComposition/admin/edit.html.twig new file mode 100644 index 000000000..28678bf6d --- /dev/null +++ b/src/Bundle/ChillPersonBundle/Resources/views/HouseholdComposition/admin/edit.html.twig @@ -0,0 +1,11 @@ +{% extends '@ChillMain/CRUD/Admin/index.html.twig' %} + +{% block title %} + {% include('@ChillMain/CRUD/_edit_title.html.twig') %} +{% endblock %} + +{% block admin_content %} + {% embed '@ChillMain/CRUD/_edit_content.html.twig' %} + {% block content_form_actions_save_and_show %}{% endblock %} + {% endembed %} +{% endblock admin_content %} \ No newline at end of file diff --git a/src/Bundle/ChillPersonBundle/Resources/views/HouseholdComposition/admin/index.html.twig b/src/Bundle/ChillPersonBundle/Resources/views/HouseholdComposition/admin/index.html.twig new file mode 100644 index 000000000..514eaa4e5 --- /dev/null +++ b/src/Bundle/ChillPersonBundle/Resources/views/HouseholdComposition/admin/index.html.twig @@ -0,0 +1,41 @@ +{% extends '@ChillMain/CRUD/Admin/index.html.twig' %} + +{% block admin_content %} + {% embed '@ChillMain/CRUD/_index.html.twig' %} + {% block table_entities_thead_tr %} + {{ 'Id'|trans }} + {{ 'Label'|trans }} + {{ 'Active'|trans }} +   + {% endblock %} + + {% block table_entities_tbody %} + {% for entity in entities %} + + {{ entity.id }} + {{ entity.label|localize_translatable_string }} + + {%- if entity.active -%} + + {%- else -%} + + {%- endif -%} + + + + + + {% endfor %} + {% endblock %} + + {% block actions_before %} +
  • + {{'Back to the admin'|trans}} +
  • + {% endblock %} + {% endembed %} +{% endblock %} \ No newline at end of file diff --git a/src/Bundle/ChillPersonBundle/Resources/views/HouseholdComposition/admin/new.html.twig b/src/Bundle/ChillPersonBundle/Resources/views/HouseholdComposition/admin/new.html.twig new file mode 100644 index 000000000..3a28dd85f --- /dev/null +++ b/src/Bundle/ChillPersonBundle/Resources/views/HouseholdComposition/admin/new.html.twig @@ -0,0 +1,12 @@ +{% extends '@ChillMain/CRUD/Admin/index.html.twig' %} + +{% block title %} + {% include('@ChillMain/CRUD/_new_title.html.twig') %} +{% endblock %} + +{% block admin_content %} + {% embed '@ChillMain/CRUD/_new_content.html.twig' %} + {% block content_form_actions_save_and_show %}{% endblock %} + {% endembed %} +{% endblock admin_content %} + diff --git a/src/Bundle/ChillPersonBundle/translations/messages.fr.yml b/src/Bundle/ChillPersonBundle/translations/messages.fr.yml index c2c27f58a..78639077c 100644 --- a/src/Bundle/ChillPersonBundle/translations/messages.fr.yml +++ b/src/Bundle/ChillPersonBundle/translations/messages.fr.yml @@ -407,6 +407,12 @@ crud: add_new: Ajouter un nouveau title_new: Nouvelle position title_edit: Modifier la position + person_household_composition_type: + index: + title: Type de composition + add_new: Ajouter un nouveau composition + title_new: Nouvelle composition + title_edit: Modifier la composition person_relation: index: title: Relations de filiations