summaryrefslogtreecommitdiff
path: root/archaeological_finds/models_finds.py
diff options
context:
space:
mode:
authorÉtienne Loks <etienne.loks@iggdrasil.net>2023-01-19 20:47:06 +0100
committerÉtienne Loks <etienne.loks@iggdrasil.net>2023-01-19 20:47:06 +0100
commit931092752a4db520becea7815e0d1e205b0a921e (patch)
treef7f66957278e35bacd7298ed22fa5f383e1689b7 /archaeological_finds/models_finds.py
parentf81bf9854a58827f36d5eb0a4303bad5fc64c558 (diff)
downloadIshtar-931092752a4db520becea7815e0d1e205b0a921e.tar.bz2
Ishtar-931092752a4db520becea7815e0d1e205b0a921e.zip
Sheet find refactoring
Diffstat (limited to 'archaeological_finds/models_finds.py')
-rw-r--r--archaeological_finds/models_finds.py13
1 files changed, 13 insertions, 0 deletions
diff --git a/archaeological_finds/models_finds.py b/archaeological_finds/models_finds.py
index 11c611eea..05321be50 100644
--- a/archaeological_finds/models_finds.py
+++ b/archaeological_finds/models_finds.py
@@ -2230,6 +2230,19 @@ class Find(
materials.add(material)
return ", ".join(sorted(materials))
+ def get_hierarchical_material_types(self) -> str:
+ """
+ Return comma separated string of material types with full hierarchy
+ """
+ labels = []
+ for material in self.material_types.all():
+ mat = [material.label]
+ while material.parent:
+ mat.append(material.parent.label)
+ material = material.parent
+ labels.append(" > ".join([m for m in reversed(mat)]))
+ return " ; ".join(sorted(labels))
+
def get_material_types_recommendations(self) -> str:
"""
Return comma separated string of recommendations from material