Skip to content
Snippets Groups Projects
Verified Commit 4753da59 authored by David Beniamine's avatar David Beniamine
Browse files

Pass group information to paginator

parent 69af1048
Branches
No related tags found
1 merge request!100Resolve "Filter by group n’apparait que sur la première page de la liste des capsules"
......@@ -75,10 +75,19 @@ class CapsuleController extends AbstractController
$all_capsules = $current_user->getCapsules()->toArray();
$groups = $this->prependGroupAllToUserGroups($current_user);
$form = $this->createForm(FilterByGroupFormType::class, ['groups' => $groups]);
$form = $this->createForm(FilterByGroupFormType::class, ['groups' => $groups, 'method' => 'GET']);
// Retrieve group from GET data and update form data if required
$paginatorGroupName = $request->query->get('group', '');
$forceForm = false;
if ($paginatorGroupName != '') {
$form->submit(['name' => $paginatorGroupName]);
$forceForm = true;
} else {
$form->handleRequest($request);
}
if ($form->isSubmitted() && $form->isValid()) {
if ($forceForm || $form->isSubmitted() && $form->isValid()) {
$group = $form->getData()['name'];
if (! $group instanceof Group) {
......@@ -88,6 +97,8 @@ class CapsuleController extends AbstractController
if ($group->getId() !== Group::$GROUP_ALL_ID) {
$all_capsules = $group->getCapsules()->toArray();
}
} else {
$group = null;
}
$capsules = $paginator->paginate(
......@@ -96,6 +107,11 @@ class CapsuleController extends AbstractController
5
);
// Pass group param to the paginator (it will be sent as GET data)
if ($group) {
$capsules->setParam('group', $group->getName());
}
return $this->renderForm('capsule/index.html.twig', [
'filterByGroupForm' => $form,
'capsules' => $capsules,
......
......@@ -13,7 +13,6 @@
{{ 'capsule.title'|trans }}
</h2>
{% if app.request.query.get('page')|default(1) == 1 %}
{% if current_user.getGroups()|length > 1 %}
{{ form_start(filterByGroupForm, {'attr': {novalidate: 'novalidate', 'class': 'd-flex flex-column flex-nowrap'}}) }}
{{ form_widget(filterByGroupForm._token) }}
......@@ -23,7 +22,6 @@
</div>
{{ form_end(filterByGroupForm) }}
{% endif %}
{% endif %}
<form class="d-flex mb-4 mb-lg-0">
<button class="btn btn-orange text-uppercase" formaction="{{ path('create_capsule') }}">
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment