summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorÉtienne Loks <etienne.loks@iggdrasil.net>2024-12-13 16:42:17 +0100
committerÉtienne Loks <etienne.loks@iggdrasil.net>2025-02-19 14:45:56 +0100
commit23c467b659999f1b74bf9e1d6839500a3b46c4b2 (patch)
tree2172b2263ee8d160e0166a80101fdf33e3065431
parent58c76d5d47f15b652e2322b87a2b2f247c86bdb6 (diff)
downloadIshtar-23c467b659999f1b74bf9e1d6839500a3b46c4b2.tar.bz2
Ishtar-23c467b659999f1b74bf9e1d6839500a3b46c4b2.zip
🚑️ document template: fix associated basket for treatment file and treatments
-rw-r--r--archaeological_finds/models_treatments.py22
1 files changed, 19 insertions, 3 deletions
diff --git a/archaeological_finds/models_treatments.py b/archaeological_finds/models_treatments.py
index 60a4440fd..63ab10896 100644
--- a/archaeological_finds/models_treatments.py
+++ b/archaeological_finds/models_treatments.py
@@ -130,9 +130,24 @@ class AssociatedFindBasket:
)
)
+ def get_extra_values(self, prefix="", no_values=False, filtr=None, **kwargs):
+ values = {}
+ basket_key = prefix + "associated_basket_items"
+ if filtr and basket_key not in filtr:
+ return values
+ basket = self.associated_basket
+ if not basket:
+ return values
+ values[basket_key] = [
+ item.get_values(no_values=True, filtr=filtr, **kwargs)
+ for item in basket.items.distinct().all()
+ ]
+ return values
+
class Treatment(
DashboardFormItem,
+ AssociatedFindBasket,
ValueGetter,
DocumentItem,
BaseHistorizedItem,
@@ -141,7 +156,6 @@ class Treatment(
OwnPerms,
ShortMenuItem,
SheetItem,
- AssociatedFindBasket,
):
SLUG = "treatment"
APP = "archaeological-finds"
@@ -483,7 +497,9 @@ class Treatment(
return actions
def get_extra_values(self, prefix="", no_values=False, filtr=None, **kwargs):
- values = {}
+ values = super().get_extra_values(
+ prefix=prefix, no_values=False, filtr=None, **kwargs
+ )
if not filtr or prefix + "upstream_finds" in filtr:
values[prefix + "upstream_finds"] = " ; ".join(
str(up) for up in self.upstream.all()
@@ -1161,6 +1177,7 @@ post_delete.connect(post_save_cache, sender=TreatmentFileType)
class TreatmentFile(
DashboardFormItem,
+ AssociatedFindBasket,
ClosedItem,
DocumentItem,
BaseHistorizedItem,
@@ -1168,7 +1185,6 @@ class TreatmentFile(
OwnPerms,
ValueGetter,
MainItem,
- AssociatedFindBasket,
):
SLUG = "treatmentfile"
APP = "archaeological-finds"