diff options
| author | Étienne Loks <etienne.loks@iggdrasil.net> | 2021-10-14 17:50:58 +0200 | 
|---|---|---|
| committer | Étienne Loks <etienne.loks@iggdrasil.net> | 2022-07-08 09:58:49 +0200 | 
| commit | eb89fc8efbc498955a7025d05eeb032452dd515f (patch) | |
| tree | 58a6e53bdde1c439ff543f81711eaa7ea12ffb41 /ishtar_common/admin.py | |
| parent | f45ce8504167799e110ea878017d7ba8fff1832f (diff) | |
| download | Ishtar-eb89fc8efbc498955a7025d05eeb032452dd515f.tar.bz2 Ishtar-eb89fc8efbc498955a7025d05eeb032452dd515f.zip | |
Admin: add custom label to list filters
Diffstat (limited to 'ishtar_common/admin.py')
| -rw-r--r-- | ishtar_common/admin.py | 19 | 
1 files changed, 18 insertions, 1 deletions
| diff --git a/ishtar_common/admin.py b/ishtar_common/admin.py index 03819ec12..e363de401 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 @@ -1537,6 +1547,7 @@ class ImportTargetInline(admin.TabularInline):      extra = 1      form = ImportTargetForm +  class ImporterColumnAdmin(admin.ModelAdmin):      list_display = (          "label", @@ -1549,7 +1560,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] | 
