summaryrefslogtreecommitdiff
path: root/archaeological_warehouse/views.py
diff options
context:
space:
mode:
Diffstat (limited to 'archaeological_warehouse/views.py')
-rw-r--r--archaeological_warehouse/views.py25
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"):