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
|
2020-01-07 21:31:44 +01:00
|
|
|
|
2019-12-31 16:16:41 +01:00
|
|
|
from .models import Backup
|
|
|
|
from .models import Computer
|
|
|
|
from .models import Device
|
|
|
|
from .models import ConnectedDevice
|
|
|
|
from .models import Net
|
|
|
|
from .models import User
|
2019-06-16 15:00:21 +02:00
|
|
|
|
|
|
|
|
|
|
|
def computer_view_permission(old_fuction):
|
2019-09-03 18:49:44 +02:00
|
|
|
def new_function(request, pk, *args, **kwargs):
|
|
|
|
computer = get_object_or_404(Computer, pk=pk)
|
2019-06-16 15:00:21 +02:00
|
|
|
user = request.user
|
2020-01-07 21:31:44 +01:00
|
|
|
if user.has_perm('customer.view_customer', computer.customer):
|
2019-09-03 18:49:44 +02:00
|
|
|
return old_fuction(request, pk)
|
2019-06-16 15:00:21 +02:00
|
|
|
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):
|
2019-09-03 18:49:44 +02:00
|
|
|
def new_function(request, pk, *args, **kwargs):
|
|
|
|
device = get_object_or_404(Device, pk=pk)
|
2019-07-19 16:10:33 +02:00
|
|
|
user = request.user
|
2020-01-07 21:31:44 +01:00
|
|
|
if user.has_perm('customer.view_customer', device.customer):
|
2019-11-30 16:51:22 +01:00
|
|
|
return old_function(request, pk)
|
2019-07-19 16:10:33 +02:00
|
|
|
else:
|
|
|
|
return HttpResponseForbidden(
|
|
|
|
"You're not allowed to access this device."
|
|
|
|
)
|
|
|
|
return new_function
|
|
|
|
|
|
|
|
|
|
|
|
def connect_device_view_permission(old_function):
|
2019-09-03 18:49:44 +02:00
|
|
|
def new_function(request, pk, *args, **kwargs):
|
|
|
|
device = get_object_or_404(ConnectedDevice, pk=pk)
|
2019-07-19 16:10:33 +02:00
|
|
|
user = request.user
|
2020-01-07 21:31:44 +01:00
|
|
|
if user.has_perm('customer.view_customer', device.customer):
|
2019-12-01 22:42:20 +01:00
|
|
|
return old_function(request, pk)
|
2019-07-19 16:10:33 +02:00
|
|
|
else:
|
|
|
|
return HttpResponseForbidden(
|
|
|
|
"You're not allowed to access this device."
|
|
|
|
)
|
|
|
|
return new_function
|
2019-11-30 14:14:01 +01:00
|
|
|
|
|
|
|
|
2019-12-11 17:57:48 +01:00
|
|
|
def net_view_permission(old_fuction):
|
|
|
|
def new_function(request, pk, *args, **kwargs):
|
|
|
|
net = get_object_or_404(Net, pk=pk)
|
|
|
|
user = request.user
|
2020-01-07 21:31:44 +01:00
|
|
|
if user.has_perm('customer.view_customer', net.customer):
|
2019-12-29 13:32:35 +01:00
|
|
|
return old_fuction(request, pk)
|
|
|
|
else:
|
|
|
|
return HttpResponseForbidden(
|
|
|
|
"You're not allowed to access this device."
|
|
|
|
)
|
|
|
|
return new_function
|
2019-12-29 14:03:31 +01:00
|
|
|
|
|
|
|
|
|
|
|
def backup_view_permission(old_fuction):
|
|
|
|
def new_function(request, pk, *args, **kwargs):
|
|
|
|
backup = get_object_or_404(Backup, pk=pk)
|
|
|
|
user = request.user
|
2020-01-07 21:31:44 +01:00
|
|
|
if user.has_perm('customer.view_customer', backup.computer.customer):
|
2019-12-11 17:57:48 +01:00
|
|
|
return old_fuction(request, pk)
|
|
|
|
else:
|
|
|
|
return HttpResponseForbidden(
|
|
|
|
"You're not allowed to access this device."
|
|
|
|
)
|
|
|
|
return new_function
|
2020-01-01 19:57:19 +01:00
|
|
|
|
|
|
|
|
|
|
|
def user_view_permission(old_fuction):
|
|
|
|
def new_function(request, pk, *args, **kwargs):
|
|
|
|
inventory_user = get_object_or_404(User, pk=pk)
|
|
|
|
user = request.user
|
2020-01-07 21:31:44 +01:00
|
|
|
if user.has_perm('customer.view_customer', inventory_user.customer):
|
2020-01-01 19:57:19 +01:00
|
|
|
return old_fuction(request, pk)
|
|
|
|
else:
|
|
|
|
return HttpResponseForbidden(
|
|
|
|
"You're not allowed to access this device."
|
|
|
|
)
|
|
|
|
return new_function
|