From c89f887875cdc859e85befadca42465e6c81321e Mon Sep 17 00:00:00 2001 From: Étienne Loks Date: Thu, 3 Jan 2019 16:58:16 +0100 Subject: Permissions: fix permission for context record, operation, sites associated to a find basket --- archaeological_operations/models.py | 6 ++++++ archaeological_operations/templates/ishtar/sheet_operation.html | 7 +++++++ 2 files changed, 13 insertions(+) (limited to 'archaeological_operations') diff --git a/archaeological_operations/models.py b/archaeological_operations/models.py index adcadccd7..d8233ba0f 100644 --- a/archaeological_operations/models.py +++ b/archaeological_operations/models.py @@ -304,6 +304,9 @@ class ArchaeologicalSite(BaseHistorizedItem, OwnPerms, ValueGetter, q = cls._construct_query_own( 'operations__context_record__base_finds__find__container__responsible__', Warehouse._get_query_owns_dicts(ishtaruser) + ) | cls._construct_query_own( + 'operations__context_record__base_finds__find__basket__', + [{"shared_with": ishtaruser, "shared_write_with": ishtaruser}] ) | cls._construct_query_own( 'operations__context_record__base_finds__find__container__location__', Warehouse._get_query_owns_dicts(ishtaruser) @@ -1170,6 +1173,9 @@ class Operation(ClosedItem, BaseHistorizedItem, OwnPerms, ValueGetter, ) | cls._construct_query_own( 'context_record__base_finds__find__container__location__', Warehouse._get_query_owns_dicts(ishtaruser) + ) | cls._construct_query_own( + 'context_record__base_finds__find__basket__', + [{"shared_with": ishtaruser, "shared_write_with": ishtaruser}] ) | cls._construct_query_own( '', cls._get_query_owns_dicts(ishtaruser) ) diff --git a/archaeological_operations/templates/ishtar/sheet_operation.html b/archaeological_operations/templates/ishtar/sheet_operation.html index 1d699cbed..8801855cd 100644 --- a/archaeological_operations/templates/ishtar/sheet_operation.html +++ b/archaeological_operations/templates/ishtar/sheet_operation.html @@ -207,9 +207,11 @@ {% endif %} {% trans "Document from this operation" as operation_docs %} +{% if permission_view_own_document or permission_view_document %} {% if item.documents.count %} {% dynamic_table_document operation_docs 'documents' 'operations' item.pk '' output %} {% endif %} +{% endif %} {% if permission_view_own_contextrecord or permission_view_contextrecord %} {% if item.context_record.count %} @@ -222,21 +224,26 @@ {% dynamic_table_document cr_rels 'context_records_relations_detail' 'left_record__operation' item.pk '' output %} {% endif %} +{% if permission_view_own_document or permission_view_document %} {% if item.context_record_docs_q.count %} {% trans "Documents from associated context records" as cr_docs %} {% dynamic_table_document cr_docs 'documents' 'context_records__operation' item.pk '' output %} {% endif %} {% endif %} +{% endif %} + {% if item.finds %} {% trans "Finds" as finds %} {% dynamic_table_document finds 'finds_for_ope' 'base_finds__context_record__operation' item.pk 'TABLE_COLS_FOR_OPE' output %} {% endif %} +{% if permission_view_own_document or permission_view_document %} {% if item.find_docs_q.count %} {% trans "Documents from associated finds" as finds_docs %} {% dynamic_table_document finds_docs 'documents' 'finds__base_finds__context_record__operation' item.pk '' output %} {% endif %} +{% endif %} {% if permission_view_own_container or permission_view_container %} {% if item.containers_q.count %} -- cgit v1.2.3