diff options
| author | Étienne Loks <etienne.loks@iggdrasil.net> | 2019-08-28 16:53:58 +0200 | 
|---|---|---|
| committer | Étienne Loks <etienne.loks@iggdrasil.net> | 2019-08-28 16:53:58 +0200 | 
| commit | 65125fa79ab69a5b5b091f73141558e5a8bf8587 (patch) | |
| tree | 3fb29419d4703fcc224df4265466cd9000502ba4 /ishtar_common/models.py | |
| parent | db76313a941d9d859e023e300b672628d761b4a1 (diff) | |
| download | Ishtar-65125fa79ab69a5b5b091f73141558e5a8bf8587.tar.bz2 Ishtar-65125fa79ab69a5b5b091f73141558e5a8bf8587.zip | |
Publish action for generic items
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" | 
