summaryrefslogtreecommitdiff
path: root/archaeological_finds/models_finds.py
diff options
context:
space:
mode:
Diffstat (limited to 'archaeological_finds/models_finds.py')
-rw-r--r--archaeological_finds/models_finds.py23
1 files changed, 15 insertions, 8 deletions
diff --git a/archaeological_finds/models_finds.py b/archaeological_finds/models_finds.py
index 35dc6995a..7155f3906 100644
--- a/archaeological_finds/models_finds.py
+++ b/archaeological_finds/models_finds.py
@@ -1094,14 +1094,21 @@ class Find(BulkUpdatedItem, ValueGetter, BaseHistorizedItem, ImageModel,
@classmethod
def get_query_owns(cls, ishtaruser):
- return (Q(base_finds__context_record__operation__scientist=
- ishtaruser.person) |
- Q(base_finds__context_record__operation__in_charge=
- ishtaruser.person) |
- Q(base_finds__context_record__operation__collaborators__pk=
- ishtaruser.person.pk) |
- Q(history_creator=ishtaruser.user_ptr)) \
- & Q(base_finds__context_record__operation__end_date__isnull=True)
+ profile = ishtaruser.current_profile
+ town_ids = []
+ if profile:
+ town_ids = [town['pk']
+ for town in profile.query_towns.values('pk').all()]
+ return (
+ Q(base_finds__context_record__operation__scientist=
+ ishtaruser.person) |
+ Q(base_finds__context_record__operation__in_charge=
+ ishtaruser.person) |
+ Q(base_finds__context_record__operation__collaborators__pk=
+ ishtaruser.person.pk) |
+ Q(history_creator=ishtaruser.user_ptr) |
+ Q(base_finds__context_record__operation__towns__pk__in=town_ids)
+ ) & Q(base_finds__context_record__operation__end_date__isnull=True)
@classmethod
def get_owns(cls, user, menu_filtr=None, limit=None,