summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorÉtienne Loks <etienne.loks@iggdrasil.net>2021-10-20 17:26:11 +0200
committerÉtienne Loks <etienne.loks@iggdrasil.net>2021-10-20 17:26:11 +0200
commit767c677b1b019b1c89791fea45dec03163e4b488 (patch)
tree47aa70288b52f5ba8402732971ee117fa1d6d10d
parent99cf07f2afd4c0cc56d8dc8755fe79ccf02b2d45 (diff)
downloadIshtar-767c677b1b019b1c89791fea45dec03163e4b488.tar.bz2
Ishtar-767c677b1b019b1c89791fea45dec03163e4b488.zip
Finds: add "material_types_recommendations" string for templates - update doc with base jinja filters
-rw-r--r--archaeological_finds/models_finds.py20
-rw-r--r--docs/fr/source/annexe-tech-4-jinja-filters.rst7
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
-----------------------------------