summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorÉtienne Loks <etienne.loks@iggdrasil.net>2021-10-14 17:50:58 +0200
committerÉtienne Loks <etienne.loks@iggdrasil.net>2021-10-25 12:06:03 +0200
commit6469f7cc97ff4fc55cf7d52629b4a2fcf25c7a55 (patch)
tree4041d1b0b641dd07b55da2d35ec7af000d855ff6
parent6f647c36ec0f75caa59f0c1267dd21c9b6cde451 (diff)
downloadIshtar-6469f7cc97ff4fc55cf7d52629b4a2fcf25c7a55.tar.bz2
Ishtar-6469f7cc97ff4fc55cf7d52629b4a2fcf25c7a55.zip
Admin: add custom label to list filters
-rw-r--r--ishtar_common/admin.py19
1 files changed, 18 insertions, 1 deletions
diff --git a/ishtar_common/admin.py b/ishtar_common/admin.py
index c7ef05f28..f811a98e1 100644
--- a/ishtar_common/admin.py
+++ b/ishtar_common/admin.py
@@ -110,6 +110,16 @@ class ImportGenericForm(forms.Form):
)
+def custom_titled_filter(title, klass):
+ # klass: admin.BooleanFieldListFilter, admin.RelatedFieldListFilter or ...
+ class Wrapper(klass):
+ def __new__(cls, *args, **kwargs):
+ instance = klass(*args, **kwargs)
+ instance.title = title
+ return instance
+ return Wrapper
+
+
def change_value(attribute, value, description):
"""
Action to change a specific value in a list
@@ -1530,6 +1540,7 @@ class ImportTargetInline(admin.TabularInline):
extra = 1
form = ImportTargetForm
+
class ImporterColumnAdmin(admin.ModelAdmin):
list_display = (
"label",
@@ -1542,7 +1553,13 @@ class ImporterColumnAdmin(admin.ModelAdmin):
"duplicate_fields_lbl",
"required",
)
- list_filter = ("importer_type", "importer_type__available")
+ list_filter = (
+ (
+ "importer_type__available",
+ custom_titled_filter(_("Importer available"), admin.BooleanFieldListFilter),
+ ),
+ "importer_type",
+ )
search_fields = ("label",)
inlines = (ImportTargetInline, ImporterDuplicateFieldInline)
actions = [duplicate_importercolumn, shift_left, shift_right]