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" | 
