create-edit composition placed in separate page to avoid confusion

This commit is contained in:
Julie Lenaerts 2022-03-09 14:06:18 +01:00
parent d6933fce35
commit e28da7e99b
4 changed files with 68 additions and 41 deletions

View File

@ -129,23 +129,10 @@ class HouseholdCompositionController extends AbstractController
}
/**
* @Route("/{_locale}/person/household/{id}/composition/index", name="chill_person_household_composition_index")
* @Route("/{_locale}/person/household/{id}/composition/new", name="chill_person_household_composition_new")
*/
public function index(Household $household, Request $request): Response
public function newAction(Household $household, Request $request): Response
{
if (!$this->security->isGranted(HouseholdVoter::SEE, $household)) {
throw new AccessDeniedException('not allowed to edit an household');
}
$count = $this->householdCompositionRepository->countByHousehold($household);
$paginator = $this->paginatorFactory->create($count);
$compositions = $this->householdCompositionRepository->findByHousehold(
$household,
['startDate' => 'DESC', 'id' => 'DESC'],
$paginator->getItemsPerPage(),
$paginator->getCurrentPageFirstItemNumber()
);
if ($this->security->isGranted(HouseholdVoter::EDIT, $household)) {
$isEdit = $request->query->has('edit');
@ -195,14 +182,40 @@ class HouseholdCompositionController extends AbstractController
}
return new Response($this->engine->render(
'@ChillPerson/HouseholdComposition/index.html.twig',
'@ChillPerson/HouseholdComposition/create.html.twig',
[
'household' => $household,
'compositions' => $compositions,
'form' => isset($form) ? $form->createView() : null,
'isPosted' => isset($form) ? $form->isSubmitted() : false,
'editId' => $request->query->getInt('edit', -1),
]
));
}
/**
* @Route("/{_locale}/person/household/{id}/composition/index", name="chill_person_household_composition_index")
*/
public function index(Household $household, Request $request): Response
{
if (!$this->security->isGranted(HouseholdVoter::SEE, $household)) {
throw new AccessDeniedException('not allowed to edit a household');
}
$count = $this->householdCompositionRepository->countByHousehold($household);
$paginator = $this->paginatorFactory->create($count);
$compositions = $this->householdCompositionRepository->findByHousehold(
$household,
['startDate' => 'DESC', 'id' => 'DESC'],
$paginator->getItemsPerPage(),
$paginator->getCurrentPageFirstItemNumber()
);
return new Response($this->engine->render(
'@ChillPerson/HouseholdComposition/index.html.twig',
[
'household' => $household,
'compositions' => $compositions
]
));
}
}

View File

@ -0,0 +1,26 @@
{% extends '@ChillPerson/Household/layout.html.twig' %}
{% block title 'household_composition.create'|trans %}
{% block block_post_menu %}
<div class="post-menu"></div>
{% endblock %}
{% block content %}
<h1>{{ 'household_composition.Create'|trans }}</h1>
<div>
{{ form_start(form) }}
{{ form_widget(form) }}
<ul class="record_actions">
<li>
<button type="submit" class="btn btn-create">{{ 'Save'|trans }}</button>
</li>
</ul>
{{ form_end(form) }}
</div>
{% endblock %}

View File

@ -15,7 +15,7 @@
{% else %}
<div class="flex-table">
{% for c in compositions %}
{% if c.id != editId %}
{# {% if c.id != editId %} #}
<div class="item-bloc">
<div class="item-row">
<div class="item-col">
@ -42,7 +42,7 @@
<div class="item-row">
<ul class="record_actions">
<li>
<a href="{{ path('chill_person_household_composition_index', {'id': c.household.id, 'edit': c.id}) }}" class="btn btn-edit"></a>
<a href="{{ path('chill_person_household_composition_new', {'id': c.household.id, 'edit': c.id}) }}" class="btn btn-edit"></a>
</li>
<li>
<a href="{{ chill_path_add_return_path('chill_person_household_composition_delete', {'composition_id': c.id,
@ -54,7 +54,7 @@
</div>
{% endif %}
</div>
{% else %}
{# {% else %}
{{ form_start(form) }}
{{ form_widget(form) }}
@ -68,32 +68,19 @@
</li>
</ul>
{{ form_end(form) }}
{% endif %}
{% endif %} #}
{% endfor %}
</div>
{% endif %}
<div id="collapseForm" class="{% if not isPosted %}collapse{% endif %}">
{{ form_start(form) }}
{{ form_widget(form) }}
<ul class="record_actions">
<li>
<button type="submit" class="btn btn-create">{{ 'Save'|trans }}</button>
</li>
</ul>
{{ form_end(form) }}
</div>
{% if editId == -1 %}
{# {% if editId == -1 %} #}
<ul class="record_actions sticky-form-buttons">
<li>
<button class="btn btn-primary btn-create change-icon" type="button" data-bs-toggle="collapse" data-bs-target="#collapseForm" aria-expanded="false" aria-controls="collapseForm">
{{ 'Create'|trans }}
</button>
</li>
<li>
<a href="{{ chill_path_add_return_path('chill_person_household_composition_new', {'id': household.id,}) }}"
class="btn btn-sm btn-new"
title="{{ 'Create'|trans }}">{{ 'Create'|trans }}</a>
</li>
</ul>
{% endif %}
{# {% endif %} #}
</div>
{% endblock %}

View File

@ -566,6 +566,7 @@ household_composition:
Currently no composition: Aucune composition familiale renseignée.
Add a composition: Ajouter une composition familiale
Update composition: Modifier la composition familiale
Create: Créér une nouvelle composition familiale
# docgen
Linked evaluations: Évaluations associées