network_inventory/src/customers/decorators.py

16 lines
480 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