diff --git a/core/admin.py b/core/admin.py index 93cae31..973f4f8 100644 --- a/core/admin.py +++ b/core/admin.py @@ -7,6 +7,7 @@ from django.utils.translation import gettext_lazy as _ from django.urls import reverse from unfold.admin import ModelAdmin from unfold.decorators import action +from unfold.contrib.filters.admin import DropdownFilter from treenode.forms import TreeNodeForm from django.forms import TextInput, Textarea from django.db.models import Count @@ -15,7 +16,7 @@ from import_export.admin import ImportExportModelAdmin from unfold.contrib.import_export.forms import ExportForm, ImportForm # Register your models here. -class DirectoryTypeFilter(SimpleListFilter): +class DirectoryTypeFilter(DropdownFilter): title = _('Тип справочника') parameter_name = 'directory_type' @@ -26,8 +27,8 @@ class DirectoryTypeFilter(SimpleListFilter): if self.value(): return queryset.filter(directory_type_id=self.value()) return queryset - -class ActiveFilter(SimpleListFilter): + +class ActiveFilter(DropdownFilter): title = _('Статус') parameter_name = 'is_active' @@ -134,6 +135,7 @@ class DirectoryAdmin(ModelAdmin, ImportExportModelAdmin): list_display = ['name_with_hierarchy', 'directory_type', 'code', 'is_active', 'updated_at'] list_display_links = ['name_with_hierarchy'] list_filter = [DirectoryTypeFilter, ActiveFilter] + list_filter_sheet = False # фильтры сверху горизонтально, а не в боковой панели ordering = ('_path',) actions_list = ['rebuild_tree_action'] @@ -225,7 +227,8 @@ class AccessSystemAdmin(ModelAdmin): """Отдельный раздел для списка систем/баз доступа (1С, почта, CRM…), которые выбираются чекбоксами в заявке на найм.""" list_display = ['name', 'code', 'is_active', 'updated_at'] - list_filter = ['is_active'] + list_filter = [ActiveFilter] + list_filter_sheet = False search_fields = ['name', 'code'] ordering = ['name'] fields = ['name', 'code', 'description', 'is_active']