2019-06-16 15:00:21 +02:00
|
|
|
from django.http import HttpResponseForbidden
|
2019-08-06 21:41:31 +02:00
|
|
|
from django.shortcuts import get_object_or_404
|
2019-07-25 20:13:04 +02:00
|
|
|
from .models import Computer, Customer, Device, ConnectedDevice
|
2019-06-16 15:00:21 +02:00
|
|
|
|
|
|
|
|
|
|
|
def computer_view_permission(old_fuction):
|
|
|
|
def new_function(request, computer_id, *args, **kwargs):
|
2019-08-06 21:41:31 +02:00
|
|
|
computer = get_object_or_404(Computer, pk=computer_id)
|
2019-06-16 15:00:21 +02:00
|
|
|
customer = Customer.objects.get(pk=computer.customer.pk)
|
|
|
|
user = request.user
|
|
|
|
if user.has_perm('inventory.view_customer', customer):
|
|
|
|
return old_fuction(request, computer_id)
|
|
|
|
else:
|
|
|
|
return HttpResponseForbidden(
|
|
|
|
"You're not allowed to access this device."
|
|
|
|
)
|
|
|
|
return new_function
|
2019-07-19 16:10:33 +02:00
|
|
|
|
|
|
|
|
|
|
|
def device_view_permission(old_function):
|
|
|
|
def new_function(request, device_id, *args, **kwargs):
|
2019-08-06 21:46:32 +02:00
|
|
|
device = get_object_or_404(Device, pk=device_id)
|
2019-07-19 16:10:33 +02:00
|
|
|
customer = Customer.objects.get(pk=device.customer.pk)
|
|
|
|
user = request.user
|
|
|
|
if user.has_perm('inventory.view_customer', customer):
|
|
|
|
return old_fuction(request, device_id)
|
|
|
|
else:
|
|
|
|
return HttpResponseForbidden(
|
|
|
|
"You're not allowed to access this device."
|
|
|
|
)
|
|
|
|
return new_function
|
|
|
|
|
|
|
|
|
|
|
|
def connect_device_view_permission(old_function):
|
|
|
|
def new_function(request, device_id, *args, **kwargs):
|
2019-08-06 21:46:53 +02:00
|
|
|
device = get_object_or_404(ConnectedDevice, pk=device_id)
|
2019-07-19 16:10:33 +02:00
|
|
|
customer = Customer.objects.get(pk=device.customer.pk)
|
|
|
|
user = request.user
|
|
|
|
if user.has_perm('inventory.view_customer', customer):
|
|
|
|
return old_fuction(request, device_id)
|
|
|
|
else:
|
|
|
|
return HttpResponseForbidden(
|
|
|
|
"You're not allowed to access this device."
|
|
|
|
)
|
|
|
|
return new_function
|