diff --git a/network_inventory/inventory/decorators.py b/network_inventory/inventory/decorators.py index 03babcc..569bb1f 100644 --- a/network_inventory/inventory/decorators.py +++ b/network_inventory/inventory/decorators.py @@ -1,6 +1,6 @@ from django.http import HttpResponseForbidden from django.shortcuts import get_object_or_404 -from .models import Computer, Customer, Device, ConnectedDevice, Net +from .models import Backup, Computer, Customer, Device, ConnectedDevice, Net def computer_view_permission(old_fuction): @@ -66,6 +66,13 @@ def net_view_permission(old_fuction): "You're not allowed to access this device." ) return new_function + + +def backup_view_permission(old_fuction): + def new_function(request, pk, *args, **kwargs): + backup = get_object_or_404(Backup, pk=pk) + user = request.user + if user.has_perm('inventory.view_customer', backup.computer.customer): return old_fuction(request, pk) else: return HttpResponseForbidden(