diff options
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 |
commit | 13f9202121e5470827174079da7fc699a8227295 (patch) | |
tree | 6805622d0a6369412cee1da958768bf94a524f55 /archaeological_operations/views.py | |
parent | edec846118a178ed1a6a5803f8bcbf26742f4b82 (diff) | |
download | Ishtar-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.py | 60 |
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: |