summaryrefslogtreecommitdiff
path: root/archaeological_finds
diff options
context:
space:
mode:
authorÉtienne Loks <etienne.loks@iggdrasil.net>2020-11-13 12:40:56 +0100
committerÉtienne Loks <etienne.loks@iggdrasil.net>2021-02-28 12:15:21 +0100
commit774f682838f56443daf81c48ffde6377788a10f3 (patch)
treed3468cb46fefa64abf0f5c50d687ec29d64168aa /archaeological_finds
parent813045eb9613d8ee88faec69ec79bc2bcdb3e49a (diff)
downloadIshtar-774f682838f56443daf81c48ffde6377788a10f3.tar.bz2
Ishtar-774f682838f56443daf81c48ffde6377788a10f3.zip
Labels: fix filtering
Diffstat (limited to 'archaeological_finds')
-rw-r--r--archaeological_finds/models_finds.py23
-rw-r--r--archaeological_finds/models_treatments.py3
2 files changed, 19 insertions, 7 deletions
diff --git a/archaeological_finds/models_finds.py b/archaeological_finds/models_finds.py
index b6dfeabfd..6e09364ac 100644
--- a/archaeological_finds/models_finds.py
+++ b/archaeological_finds/models_finds.py
@@ -363,6 +363,8 @@ class BaseFind(BulkUpdatedItem, BaseHistorizedItem, GeoItem,
no_find = kwargs.get("no_find", False)
values = super(BaseFind, self).get_values(
prefix=prefix, no_values=no_values, filtr=filtr, **kwargs)
+ if not filtr or prefix + "complete_id" in filtr:
+ values[prefix + "complete_id"] = self.complete_id()
if no_find:
return values
if not filtr or prefix + "finds" in filtr:
@@ -1666,7 +1668,7 @@ class Find(BulkUpdatedItem, ValueGetter, DocumentItem, BaseHistorizedItem,
return _("FIND")
def __str__(self):
- return self.cached_label or u""
+ return self.cached_label or ""
@property
def short_label(self):
@@ -1674,11 +1676,11 @@ class Find(BulkUpdatedItem, ValueGetter, DocumentItem, BaseHistorizedItem,
@property
def dating(self):
- return u" ; ".join([str(dating) for dating in self.datings.all()])
+ return " ; ".join([str(dating) for dating in self.datings.all()])
@property
def excavation_ids(self):
- return u" - ".join(
+ return " - ".join(
[base_find['excavation_id']
for base_find in self.base_finds.values(
'excavation_id').order_by('pk').all()
@@ -1764,11 +1766,22 @@ class Find(BulkUpdatedItem, ValueGetter, DocumentItem, BaseHistorizedItem,
no_base_finds = kwargs["no_base_finds"]
values = super(Find, self).get_values(
prefix=prefix, no_values=no_values, filtr=filtr, **kwargs)
- if no_base_finds or (filtr and prefix + "base_finds" not in filtr):
+ if no_base_finds:
+ return values
+ # by default attach first basefind data
+ if filtr and prefix + "base_finds" not in filtr:
+ bf = self.get_first_base_find()
+ if not bf:
+ return values
+ v = bf.get_values(
+ prefix=prefix,
+ no_values=True, filtr=filtr, **kwargs)
+ v.update(values)
+ values = v
return values
kwargs["no_find"] = True
values[prefix + "base_finds"] = [
- base_find.get_values(no_values=True, filtr=None, **kwargs)
+ base_find.get_values(no_values=True, filtr=filtr, **kwargs)
for base_find in self.base_finds.distinct().order_by('-pk').all()
]
return values
diff --git a/archaeological_finds/models_treatments.py b/archaeological_finds/models_treatments.py
index 073083af4..2bfe8d2cb 100644
--- a/archaeological_finds/models_treatments.py
+++ b/archaeological_finds/models_treatments.py
@@ -350,10 +350,9 @@ class Treatment(DashboardFormItem, ValueGetter, DocumentItem,
if 'associatedfind_' not in prefix and self.upstream.count():
find = self.upstream.all()[0]
new_prefix = prefix + 'associatedfind_'
- new_filtr = self._get_values_update_sub_filter(filtr, new_prefix)
values.update(
find.get_values(prefix=new_prefix, no_values=True,
- filtr=new_filtr, **kwargs))
+ filtr=filtr, **kwargs))
return values
def pre_save(self):