summaryrefslogtreecommitdiff
path: root/ishtar_common/models.py
diff options
context:
space:
mode:
Diffstat (limited to 'ishtar_common/models.py')
-rw-r--r--ishtar_common/models.py36
1 files changed, 30 insertions, 6 deletions
diff --git a/ishtar_common/models.py b/ishtar_common/models.py
index 045bab1cc..eb9e73150 100644
--- a/ishtar_common/models.py
+++ b/ishtar_common/models.py
@@ -3607,12 +3607,14 @@ class UserProfile(models.Model):
item_ids = []
model_class = content_type.model_class()
if permission_request.include_associated_items:
- item_ids += model_class.objects.filter(
- ishtar_users__pk=ishtar_user.pk
- ).values_list("pk", flat=True)
- item_ids += model_class.objects.filter(
- history_creator_id=ishtar_user.pk
- ).values_list("pk", flat=True)
+ if hasattr(model_class, "ishtar_users"):
+ item_ids += model_class.objects.filter(
+ ishtar_users__pk=ishtar_user.pk
+ ).values_list("pk", flat=True)
+ if hasattr(model_class, "history_creator_id"):
+ item_ids += model_class.objects.filter(
+ history_creator_id=ishtar_user.pk
+ ).values_list("pk", flat=True)
if content_type.model == "find" and \
permission_type in ("view", "change"):
Find = apps.get_model("archaeological_finds", "Find")
@@ -4510,6 +4512,28 @@ class Document(
"towns",
"areas",
]
+ UPPER_PERMISSIONS = [
+ (("archaeological_files", "file"),
+ "files__pk"),
+ (("archaeological_operations", "operation"),
+ "operations__pk"),
+ (("archaeological_operations", "archaeologicalsite"),
+ "sites__pk"),
+ (("archaeological_operations", "administrativeact"),
+ "administrativeacts__pk"),
+ (("archaeological_context_records", "contextrecord"),
+ "context_records__pk"),
+ (("archaeological_finds", "find"),
+ "finds__pk"),
+ (("archaeological_finds", "treatmentfile"),
+ "treatment_files__pk"),
+ (("archaeological_finds", "treatment"),
+ "treatments__pk"),
+ (("archaeological_warehouse", "warehouse"),
+ "warehouses__pk"),
+ (("archaeological_warehouse", "container"),
+ "containers__pk"),
+ ]
SLUG = "document"
LINK_SPLIT = "<||>"