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