From 72afaf1e2124cb3ad8ceca4b116d20c45a524f09 Mon Sep 17 00:00:00 2001 From: Étienne Loks Date: Wed, 20 Nov 2024 17:11:37 +0100 Subject: ✨ sheet filtering - can set many keys with ';' separator MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ishtar_common/admin.py | 2 +- ishtar_common/models.py | 5 ++++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/ishtar_common/admin.py b/ishtar_common/admin.py index c48aa40f2..909421188 100644 --- a/ishtar_common/admin.py +++ b/ishtar_common/admin.py @@ -912,7 +912,7 @@ class BaseSheetFilterForm(forms.ModelForm, ContentTypeChoice): help_text.append(key) self.fields["key"].help_text = str(_("Available keys: ")) + " ; ".join( help_text - ) + ) + "
" + str(_("You can set many fields using \" ; \" as a separator.")) + "" class SheetFilterForm(BaseSheetFilterForm): diff --git a/ishtar_common/models.py b/ishtar_common/models.py index e0cd0929d..916a89ff5 100644 --- a/ishtar_common/models.py +++ b/ishtar_common/models.py @@ -3467,9 +3467,12 @@ class ProfileType(GeneralType): if not q.count(): return (None, None) filter_sheet = q.all()[0] + filters = [] + for filtr in filter_sheet.filters.values_list("key", flat=True): + filters += [f.strip() for f in filtr.split(";")] return ( filter_sheet.exclude_or_include == "E", - list(filter_sheet.filters.values_list("key", flat=True)) + filters ) def clean_groups(self): -- cgit v1.2.3