summaryrefslogtreecommitdiff
path: root/archaeological_operations/views.py
diff options
context:
space:
mode:
authorÉtienne Loks <etienne.loks@iggdrasil.net>2025-01-09 12:40:57 +0100
committerÉtienne Loks <etienne.loks@iggdrasil.net>2025-02-19 14:45:56 +0100
commit13f9202121e5470827174079da7fc699a8227295 (patch)
tree6805622d0a6369412cee1da958768bf94a524f55 /archaeological_operations/views.py
parentedec846118a178ed1a6a5803f8bcbf26742f4b82 (diff)
downloadIshtar-13f9202121e5470827174079da7fc699a8227295.tar.bz2
Ishtar-13f9202121e5470827174079da7fc699a8227295.zip
🐛 new permissions: fix permission_check for action (refs #6126)
Diffstat (limited to 'archaeological_operations/views.py')
-rw-r--r--archaeological_operations/views.py60
1 files changed, 14 insertions, 46 deletions
diff --git a/archaeological_operations/views.py b/archaeological_operations/views.py
index a93ba80e3..db5721be7 100644
--- a/archaeological_operations/views.py
+++ b/archaeological_operations/views.py
@@ -52,23 +52,16 @@ from ishtar_common.views import (
IshtarMixin,
LoginRequiredMixin,
)
-from ishtar_common.views_item import get_item, show_item, revert_item, new_qa_item
+from ishtar_common.views_item import get_item, get_autocomplete_query, show_item, \
+ revert_item, new_qa_item
from ishtar_common.wizards import SearchWizard
def autocomplete_patriarche(request):
- ishtaruser = getattr(request.user, "ishtaruser", None)
- if not ishtaruser:
- return HttpResponse(content_type="text/plain")
- if (
- not ishtaruser.has_permission("archaeological_operations.view_operation")
- and not ishtaruser.has_permission("archaeological_operations.view_own_operation")
- ):
- return HttpResponse(content_type="text/plain")
- if not request.GET.get("term"):
+ query = get_autocomplete_query(request, "archaeological_operations", "operation")
+ if query is None:
return HttpResponse(content_type="text/plain")
q = request.GET.get("term")
- query = Q()
for q in q.split(" "):
query &= Q(code_patriarche__startswith=q)
limit = 15
@@ -85,19 +78,12 @@ def autocomplete_patriarche(request):
def autocomplete_archaeologicalsite(request):
- ishtaruser = getattr(request.user, "ishtaruser", None)
- if not ishtaruser:
- return HttpResponse(content_type="text/plain")
- if not ishtaruser.has_permission(
- "archaeological_operations.view_archaeologicalsite"
- ) and not ishtaruser.has_permission(
- "archaeological_operations.view_own_archaeologicalsite",
- ):
- return HttpResponse(content_type="text/plain")
- if not request.GET.get("term"):
+ query = get_autocomplete_query(
+ request, "archaeological_operations", "archaeologicalsite"
+ )
+ if query is None:
return HttpResponse(content_type="text/plain")
q = request.GET.get("term")
- query = Q()
for q in q.split(" "):
qt = Q(reference__icontains=q) | Q(name__icontains=q)
query = query & qt
@@ -120,21 +106,10 @@ new_archaeologicalsite = new_qa_item(
def autocomplete_operation(request):
- ishtaruser = getattr(request.user, "ishtaruser", None)
- if not ishtaruser:
- return HttpResponse(content_type="text/plain")
- # person_types = request.user.ishtaruser.person.person_type
- if (
- not ishtaruser.has_permission("archaeological_operations.view_operation")
- and not ishtaruser.has_permission(
- "archaeological_operations.view_own_operation"
- )
- ):
- return HttpResponse(content_type="text/plain")
- if not request.GET.get("term"):
+ query = get_autocomplete_query(request, "archaeological_operations", "operation")
+ if query is None:
return HttpResponse(content_type="text/plain")
q = request.GET.get("term")
- query = Q()
for q in q.split(" "):
extra = Q(towns__name__icontains=q) | Q(common_name__icontains=q)
try:
@@ -1041,19 +1016,12 @@ def administrativeactfile_document(
def autocomplete_administrativeact(request):
- ishtaruser = getattr(request.user, "ishtaruser", None)
- if not ishtaruser:
- return HttpResponse(content_type="text/plain")
- if not ishtaruser.has_permission(
- "archaeological_operations.view_administrativeact"
- ) and not ishtaruser.has_permission(
- "archaeological_operations.view_own_administrativeact"
- ):
- return HttpResponse(content_type="text/plain")
- if not request.GET.get("term"):
+ query = get_autocomplete_query(
+ request, "archaeological_operations", "administrativeact"
+ )
+ if query is None:
return HttpResponse(content_type="text/plain")
q = request.GET.get("term")
- query = Q()
for q in q.split(" "):
qt = Q(act_type__label__icontains=q) | Q(towns_label=q)
try: