diff options
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 |
commit | 23c467b659999f1b74bf9e1d6839500a3b46c4b2 (patch) | |
tree | 2172b2263ee8d160e0166a80101fdf33e3065431 | |
parent | 58c76d5d47f15b652e2322b87a2b2f247c86bdb6 (diff) | |
download | Ishtar-23c467b659999f1b74bf9e1d6839500a3b46c4b2.tar.bz2 Ishtar-23c467b659999f1b74bf9e1d6839500a3b46c4b2.zip |
🚑️ document template: fix associated basket for treatment file and treatments
-rw-r--r-- | archaeological_finds/models_treatments.py | 22 |
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" |