From 9f88fca5528b76f3493a0a5b5e5d14e030b2dcf8 Mon Sep 17 00:00:00 2001 From: Étienne Loks Date: Fri, 22 May 2026 09:54:12 +0200 Subject: ✨ improvements for templates MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - add fields for document - defaut inititialization (prevent crash when indexing a list) - add a hierarchy variable for document source types --- ishtar_common/models_common.py | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) (limited to 'ishtar_common/models_common.py') diff --git a/ishtar_common/models_common.py b/ishtar_common/models_common.py index 573d4f8bf..de1de3a91 100644 --- a/ishtar_common/models_common.py +++ b/ishtar_common/models_common.py @@ -193,6 +193,7 @@ class GeneralType(Cached, models.Model): available = models.BooleanField(_("Available"), default=True) HELP_TEXT = "" objects = TypeManager() + GET_VALUES_EXTRA = [] class Meta: abstract = True @@ -207,10 +208,15 @@ class GeneralType(Cached, models.Model): return self.txt_idx def get_values(self, prefix="", no_values=False, filtr=None, **kwargs): + if "simple" in kwargs: + return str(self) dct = {} if "parent_level" in kwargs and kwargs["parent_level"] > 5: return dct - if not prefix: # prefix is mandatory + for key in self.GET_VALUES_EXTRA: + p = (prefix[:]) if prefix else "" + dct[p + key] = str(getattr(self, key)) + if not prefix or "simple" in kwargs: # prefix is mandatory return dct else: dct[prefix[:-1]] = str(self) @@ -220,8 +226,10 @@ class GeneralType(Cached, models.Model): kwargs["parent_level"] += 1 else: kwargs["parent_level"] = 1 + kw = copy.deepcopy(kwargs) + kw["no_hierarchy"] = True dct[prefix + "parent"] = self.parent.get_values( - prefix=prefix + "parent_", no_values=no_values, filtr=filtr, **kwargs) + prefix=prefix, no_values=no_values, filtr=filtr, **kw) return dct @classmethod -- cgit v1.2.3