diff options
| author | Étienne Loks <etienne.loks@iggdrasil.net> | 2024-10-16 17:57:13 +0200 | 
|---|---|---|
| committer | Étienne Loks <etienne.loks@iggdrasil.net> | 2025-02-19 14:43:48 +0100 | 
| commit | c93dd3812c53d21ab8517dc7af72e1d4b70a1b04 (patch) | |
| tree | 2153d8fd121f7ecd08a31e4867d58a2eb3c9aab7 /archaeological_warehouse/views.py | |
| parent | b8eef9b6aaed7ee097f8ea86174067f9ca42abd8 (diff) | |
| download | Ishtar-c93dd3812c53d21ab8517dc7af72e1d4b70a1b04.tar.bz2 Ishtar-c93dd3812c53d21ab8517dc7af72e1d4b70a1b04.zip  | |
♻ permissions refactoring: refactor has_permission methods
Diffstat (limited to 'archaeological_warehouse/views.py')
| -rw-r--r-- | archaeological_warehouse/views.py | 25 | 
1 files changed, 16 insertions, 9 deletions
diff --git a/archaeological_warehouse/views.py b/archaeological_warehouse/views.py index 4b3f494d8..416849c9a 100644 --- a/archaeological_warehouse/views.py +++ b/archaeological_warehouse/views.py @@ -95,10 +95,13 @@ new_container = new_qa_item(  def autocomplete_warehouse(request): -    if not request.user.has_perm( -        "ishtar_common.view_warehouse", models.Warehouse -    ) and not request.user.has_perm( -        "ishtar_common.view_own_warehouse", models.Warehouse +    ishtaruser = getattr(request.user, "ishtaruser", None) +    if not ishtaruser: +        return HttpResponse(content_type="text/plain") +    if not ishtaruser.has_permission( +        "archaeological_warehouse.view_warehouse" +    ) and not ishtaruser.has_permission( +        "archaeological_warehouse.view_own_warehouse", models.Warehouse      ):          return HttpResponse(content_type="text/plain")      if not request.GET.get("term"): @@ -106,7 +109,8 @@ def autocomplete_warehouse(request):      q = request.GET.get("term")      query = Q()      for q in q.split(" "): -        extra = Q(name__icontains=q) | Q(slug__icontains=q) | Q(warehouse_type__label__icontains=q) +        extra = Q(name__icontains=q) | Q(slug__icontains=q) | \ +            Q(warehouse_type__label__icontains=q)          query = query & extra      limit = 15      warehouses = models.Warehouse.objects.filter(query)[:limit] @@ -117,10 +121,13 @@ def autocomplete_warehouse(request):  def autocomplete_container(request, warehouse_id=None): -    if not request.user.has_perm( -        "ishtar_common.view_warehouse", models.Warehouse -    ) and not request.user.has_perm( -        "ishtar_common.view_own_warehouse", models.Warehouse +    ishtaruser = getattr(request.user, "ishtaruser", None) +    if not ishtaruser: +        return HttpResponse(content_type="text/plain") +    if not ishtaruser.has_permission( +        "archaeological_warehouse.view_container" +    ) and not ishtaruser.has_permission( +        "archaeological_warehouse.view_own_container"      ):          return HttpResponse(content_type="text/plain")      if not request.GET.get("term"):  | 
