diff options
-rw-r--r-- | archaeological_finds/models_finds.py | 20 | ||||
-rw-r--r-- | docs/fr/source/annexe-tech-4-jinja-filters.rst | 7 |
2 files changed, 23 insertions, 4 deletions
diff --git a/archaeological_finds/models_finds.py b/archaeological_finds/models_finds.py index 706a2bbbf..f91269456 100644 --- a/archaeological_finds/models_finds.py +++ b/archaeological_finds/models_finds.py @@ -2105,11 +2105,12 @@ class Find( ("base_finds", _("List of associated base finds")), ("material_types_label", _("Material types string")), ("material_types_code", _("Material types code string")), + ("material_types_recommendations", _("Recommendations string from material")), ] def get_material_types_code(self) -> str: """ - Return pipe separated material type code inside a container + Return pipe separated material type code """ materials = set() for material in self.material_types.exclude(code__isnull=True).values_list( @@ -2120,7 +2121,7 @@ class Find( def get_material_types(self) -> str: """ - Return comma separated string of material types inside a container + Return comma separated string of material types """ materials = set() for material in self.material_types.exclude(label__isnull=True).values_list( @@ -2129,6 +2130,18 @@ class Find( materials.add(material) return ", ".join(sorted(materials)) + def get_material_types_recommendations(self) -> str: + """ + Return comma separated string of recommendations from material + """ + recommendations = set() + for recommendation in self.material_types.exclude( + recommendation__isnull=True).exclude( + recommendation="").values_list("recommendation", flat=True + ): + recommendations.add(recommendation) + return ", ".join(sorted(recommendations)) + def get_values(self, prefix="", no_values=False, filtr=None, **kwargs): no_base_finds = False if "no_base_finds" in kwargs: @@ -2140,6 +2153,9 @@ class Find( values[prefix + "material_types_label"] = self.get_material_types() if not filtr or prefix + "material_types_code" in filtr: values[prefix + "material_types_code"] = self.get_material_types_code() + if not filtr or prefix + "material_types_recommendations" in filtr: + values[prefix + "material_types_recommendations"] = \ + self.get_material_types_recommendations() if no_base_finds: return values # by default attach first basefind data diff --git a/docs/fr/source/annexe-tech-4-jinja-filters.rst b/docs/fr/source/annexe-tech-4-jinja-filters.rst index aca06fa10..0df8369e8 100644 --- a/docs/fr/source/annexe-tech-4-jinja-filters.rst +++ b/docs/fr/source/annexe-tech-4-jinja-filters.rst @@ -7,7 +7,7 @@ Annexe technique 4 - Filtres pour les patrons de documents ========================================================== :Auteurs: Étienne Loks, Valérie-Emma Leroux -:Date: 2021-01-11 +:Date: 2021-10-20 :Copyright: CC-BY 3.0 :Ishtar Version: v3.1.0 @@ -22,7 +22,10 @@ caractère `|`, par exemple : `{{variable|capfirst}}`. .. note:: Les filtres peuvent se chaîner. On peut donc écrire : `{{variable|human_date|capitalize}}.` Pour les différents exemples nous utilisons directement une chaîne de caractères pour illustrer, en utilisation réelle on utilise un nom de variable. -Les différents filtres disponibles sont : + +La bibliothèque logicielle Jinja utilisée pour la génération des patrons met à disposition nativement un certain nombre de filtres : `documentation des filtres de base (anglais) <https://jinja.palletsprojects.com/en/2.11.x/templates/#list-of-builtin-filters>`_. + +Ishtar met a disposition des filtres supplémentaires : Formatage des chaînes de caractères ----------------------------------- |