network_inventory/backend/customers/decorators.py

17 lines
509 B
Python

from django.http import HttpResponseForbidden
from .models import Customer
def customer_view_permission(old_function):
def new_function(request, pk, *args, **kwargs):
customer = Customer.objects.get(pk=pk)
user = request.user
if user.has_perm('customers.view_customer', customer):
return old_function(request, pk)
else:
return HttpResponseForbidden(
"You're not allowed to access this page."
)
return new_function