Добавлены фильтры для списка клиентов через django-filter
- Создан CustomerFilter с тремя фильтрами: * Есть заметки (has_notes) * Нет телефона (no_phone) * Нет email (no_email) - Обновлен views.py для использования фильтров - Добавлены чекбоксы фильтров в шаблон списка клиентов - Фильтры работают совместно с поиском - Кнопка Очистить отображается при активных фильтрах или поиске
This commit is contained in:
@@ -27,21 +27,48 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Поиск -->
|
||||
<!-- Поиск и фильтры -->
|
||||
<div class="card mb-3">
|
||||
<div class="card-body">
|
||||
<form method="get" class="row g-2">
|
||||
<div class="col-md-8">
|
||||
<form method="get" class="row g-3">
|
||||
<!-- Поиск -->
|
||||
<div class="col-md-6">
|
||||
<input type="text" class="form-control" name="q" value="{{ query }}"
|
||||
placeholder="Поиск по имени, email или телефону..."
|
||||
autofocus>
|
||||
</div>
|
||||
<div class="col-md-4">
|
||||
<div class="btn-group w-100" role="group">
|
||||
|
||||
<!-- Фильтры -->
|
||||
<div class="col-md-6">
|
||||
<div class="d-flex gap-3 align-items-center">
|
||||
<div class="form-check">
|
||||
{{ filter.form.has_notes }}
|
||||
<label class="form-check-label" for="{{ filter.form.has_notes.id_for_label }}">
|
||||
Есть заметки
|
||||
</label>
|
||||
</div>
|
||||
<div class="form-check">
|
||||
{{ filter.form.no_phone }}
|
||||
<label class="form-check-label" for="{{ filter.form.no_phone.id_for_label }}">
|
||||
Нет телефона
|
||||
</label>
|
||||
</div>
|
||||
<div class="form-check">
|
||||
{{ filter.form.no_email }}
|
||||
<label class="form-check-label" for="{{ filter.form.no_email.id_for_label }}">
|
||||
Нет email
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Кнопки -->
|
||||
<div class="col-12">
|
||||
<div class="btn-group" role="group">
|
||||
<button type="submit" class="btn btn-primary">
|
||||
<i class="bi bi-search"></i> Поиск
|
||||
<i class="bi bi-search"></i> Поиск / Фильтр
|
||||
</button>
|
||||
{% if query %}
|
||||
{% if query or filter.form.has_notes.value or filter.form.no_phone.value or filter.form.no_email.value %}
|
||||
<a href="{% url 'customers:customer-list' %}" class="btn btn-outline-secondary">
|
||||
<i class="bi bi-x-circle"></i> Очистить
|
||||
</a>
|
||||
|
||||
Reference in New Issue
Block a user