diff options
| author | Étienne Loks <etienne.loks@iggdrasil.net> | 2026-05-22 09:54:12 +0200 |
|---|---|---|
| committer | Étienne Loks <etienne.loks@iggdrasil.net> | 2026-05-22 09:54:12 +0200 |
| commit | 9f88fca5528b76f3493a0a5b5e5d14e030b2dcf8 (patch) | |
| tree | bb777e47f6d24cbaa1eb1ab0e9e18332855c1ed4 /ishtar_common/models_common.py | |
| parent | 421ee83283ef465f34d28bf871c2116ebae93896 (diff) | |
| download | Ishtar-9f88fca5528b76f3493a0a5b5e5d14e030b2dcf8.tar.bz2 Ishtar-9f88fca5528b76f3493a0a5b5e5d14e030b2dcf8.zip | |
✨ improvements for templates
- add fields for document
- defaut inititialization (prevent crash when indexing a list)
- add a hierarchy variable for document source types
Diffstat (limited to 'ishtar_common/models_common.py')
| -rw-r--r-- | ishtar_common/models_common.py | 12 |
1 files changed, 10 insertions, 2 deletions
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 |
