Исправлено сохранение фильтров при пагинации

- Пагинация теперь сохраняет ВСЕ GET-параметры (query, has_notes, no_phone, no_email)
- Использован request.GET.copy() и params.urlencode для передачи всех параметров
- Фильтры больше не сбрасываются при переходе между страницами
This commit is contained in:
2026-01-03 15:10:05 +03:00
parent 5ded404346
commit ce67062ac3

View File

@@ -128,16 +128,19 @@
<!-- Pagination -->
{% if page_obj.has_other_pages %}
{# Сохраняем все GET-параметры кроме page #}
{% with params=request.GET.copy %}
{% if params.page %}{{ params.pop|slice:":0" }}{% endif %}
<nav aria-label="Page navigation" class="mt-3">
<ul class="pagination pagination-sm justify-content-center mb-0">
{% if page_obj.has_previous %}
<li class="page-item">
<a class="page-link" href="?page=1{% if query %}&q={{ query }}{% endif %}" title="Первая страница">
<a class="page-link" href="?page=1&{{ params.urlencode }}" title="Первая страница">
&laquo;&laquo;
</a>
</li>
<li class="page-item">
<a class="page-link" href="?page={{ page_obj.previous_page_number }}{% if query %}&q={{ query }}{% endif %}" title="Предыдущая">
<a class="page-link" href="?page={{ page_obj.previous_page_number }}&{{ params.urlencode }}" title="Предыдущая">
&laquo;
</a>
</li>
@@ -156,12 +159,12 @@
{% if page_obj.has_next %}
<li class="page-item">
<a class="page-link" href="?page={{ page_obj.next_page_number }}{% if query %}&q={{ query }}{% endif %}" title="Следующая">
<a class="page-link" href="?page={{ page_obj.next_page_number }}&{{ params.urlencode }}" title="Следующая">
&raquo;
</a>
</li>
<li class="page-item">
<a class="page-link" href="?page={{ page_obj.paginator.num_pages }}{% if query %}&q={{ query }}{% endif %}" title="Последняя страница">
<a class="page-link" href="?page={{ page_obj.paginator.num_pages }}&{{ params.urlencode }}" title="Последняя страница">
&raquo;&raquo;
</a>
</li>
@@ -175,6 +178,7 @@
{% endif %}
</ul>
</nav>
{% endwith %}
{% endif %}
{% else %}