diff options
Diffstat (limited to 'ishtar_common/models.py')
-rw-r--r-- | ishtar_common/models.py | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/ishtar_common/models.py b/ishtar_common/models.py index fb84aafb4..02be873ce 100644 --- a/ishtar_common/models.py +++ b/ishtar_common/models.py @@ -1999,6 +1999,37 @@ class TemplateItem: def label_templates(cls): return cls._label_templates_q() + def get_extra_templates(self, request): + cls = self.__class__ + templates = [] + name = str(cls.__name__) + module = str(cls.__module__) + if "archaeological_finds" in module: + if "models_finds" in name or "models_treatments" in name: + names = [ + name, + name.replace("models_finds", "models" + ).replace("models_treatments", "models") + ] + else: + names = [name, name.replace("models", "models_finds"), + name.replace("models", "models_treatments")] + else: + names = [name] + model_names = [ + "{}.{}".format(module, name) for name in names + ] + q = DocumentTemplate.objects.filter( + associated_model__klass__in=model_names, + for_labels=False, available=True) + for template in q.all(): + urlname = "generate-document" + templates.append( + (template.name, reverse( + urlname, args=[template.slug, self.pk])) + ) + return templates + class StatisticItem: STATISTIC_MODALITIES = [] # example: "year", "operation_type__label" |