Browse Source

admin links not showing to admin #66

Roberto Berto 5 years ago
parent
commit
ef033c9e20
3 changed files with 41 additions and 10 deletions
  1. 24 5
      vycontrol/firewall/views.py
  2. 11 4
      vycontrol/interface/views.py
  3. 6 1
      vycontrol/static/views.py

+ 24 - 5
vycontrol/firewall/views.py

@@ -9,6 +9,7 @@ from django.urls import reverse
 import vyos
 from performance import timer
 from perms import is_authenticated
+import perms
 
 
 
@@ -17,6 +18,7 @@ def index(request):
     #interfaces = vyos.get_interfaces()
     all_instances = vyos.instance_getall_by_group(request)
     hostname_default = vyos.get_hostname_prefered(request)
+    is_superuser = perms.get_is_superuser(request.user)
 
 
 
@@ -36,6 +38,7 @@ def index(request):
         'hostname_default': hostname_default,
         'firewall_all':  firewall_all,
         'username': request.user,
+        'is_superuser' : is_superuser,
     }   
     return HttpResponse(template.render(context, request))
 
@@ -45,6 +48,7 @@ def create(request):
     #interfaces = vyos.get_interfaces()
     all_instances = vyos.instance_getall()
     hostname_default = vyos.get_hostname_prefered(request)
+    is_superuser = perms.get_is_superuser(request.user)
 
     if 'name' in request.POST:
         cmd = {"op": "set", "path": ["firewall", "name", request.POST['name']]}
@@ -69,6 +73,7 @@ def create(request):
         'instances': all_instances,
         'hostname_default': hostname_default,
         'username': request.user,
+        'is_superuser' : is_superuser,
     }   
     return HttpResponse(template.render(context, request))
 
@@ -80,6 +85,7 @@ def addrule(request, firewall_name):
     #interfaces = vyos.get_interfaces()
     all_instances = vyos.instance_getall()
     hostname_default = vyos.get_hostname_prefered(request)
+    is_superuser = perms.get_is_superuser(request.user)
 
     firewall = vyos.get_firewall(hostname_default, firewall_name)
     
@@ -120,6 +126,7 @@ def addrule(request, firewall_name):
         'firewall':  firewall,
         'firewall_name': firewall_name,
         'username': request.user,
+        'is_superuser' : is_superuser,
     }  
     return HttpResponse(template.render(context, request))
 
@@ -142,6 +149,7 @@ def editrule(request, firewall_name, firewall_rulenumber):
     #interfaces = vyos.get_interfaces()
     all_instances = vyos.instance_getall()
     hostname_default = vyos.get_hostname_prefered(request)
+    is_superuser = perms.get_is_superuser(request.user)
 
     firewall = vyos.get_firewall(hostname_default, firewall_name)
     firewall_rule = vyos.get_firewall_rule(hostname_default, firewall_name, firewall_rulenumber)
@@ -186,6 +194,7 @@ def editrule(request, firewall_name, firewall_rulenumber):
         'firewall_rule': firewall_rule,
         'firewall_rulenumber' : firewall_rulenumber,
         'username': request.user,
+        'is_superuser' : is_superuser,
     }  
     return HttpResponse(template.render(context, request))
 
@@ -196,6 +205,7 @@ def show(request, firewall_name):
     #interfaces = vyos.get_interfaces()
     all_instances = vyos.instance_getall()
     hostname_default = vyos.get_hostname_prefered(request)
+    is_superuser = perms.get_is_superuser(request.user)
 
     firewall = vyos.get_firewall(hostname_default, firewall_name)
     
@@ -208,6 +218,7 @@ def show(request, firewall_name):
         'firewall':  firewall,
         'firewall_name': firewall_name,
         'username': request.user,
+        'is_superuser' : is_superuser,
     }   
     return HttpResponse(template.render(context, request))
 
@@ -217,7 +228,7 @@ def firewall_networkgroup_list(request):
     hostname_default = vyos.get_hostname_prefered(request)
     firewall_networkgroup = vyos.get_firewall_networkgroup(hostname_default)
     all_instances = vyos.instance_getall_by_group(request)
-
+    is_superuser = perms.get_is_superuser(request.user)
 
     template = loader.get_template('firewall/networkgroup-list.html')
     context = { 
@@ -225,6 +236,7 @@ def firewall_networkgroup_list(request):
         'hostname_default': hostname_default,
         'username': request.user, 
         'instances': all_instances,
+        'is_superuser' : is_superuser,
     }   
     return HttpResponse(template.render(context, request))
 
@@ -234,7 +246,7 @@ def firewall_networkgroup_list(request):
 def firewall_networkgroup_add(request):
     hostname_default = vyos.get_hostname_prefered(request)
     all_instances = vyos.instance_getall_by_group(request)
-
+    is_superuser = perms.get_is_superuser(request.user)
 
     if request.POST.get('name', None) != None and request.POST.get('network', None) != None:
         vyos.set_firewall_networkgroup_add(hostname_default, request.POST.get('name'), request.POST.get('network'))
@@ -251,6 +263,7 @@ def firewall_networkgroup_add(request):
         'hostname_default': hostname_default,
         'username': request.user,        
         'instances': all_instances,
+        'is_superuser' : is_superuser,
     }   
     return HttpResponse(template.render(context, request))
 
@@ -261,7 +274,7 @@ def firewall_addressgroup_list(request):
     hostname_default = vyos.get_hostname_prefered(request)
     firewall_addressgroup = vyos.get_firewall_addressgroup(hostname_default)
     all_instances = vyos.instance_getall_by_group(request)
-
+    is_superuser = perms.get_is_superuser(request.user)
 
     template = loader.get_template('firewall/addressgroup-list.html')
     context = { 
@@ -269,6 +282,7 @@ def firewall_addressgroup_list(request):
         'hostname_default': hostname_default,
         'username': request.user,        
         'instances': all_instances,
+        'is_superuser' : is_superuser,
     }   
     return HttpResponse(template.render(context, request))
 
@@ -278,7 +292,7 @@ def firewall_addressgroup_add(request):
         
     hostname_default = vyos.get_hostname_prefered(request)
     all_instances = vyos.instance_getall_by_group(request)
-
+    is_superuser = perms.get_is_superuser(request.user)
 
     if request.POST.get('addresstype', None) == "single" and request.POST.get('name', None) != None and request.POST.get('address', None) != None:
         vyos.set_firewall_addressgroup_add(hostname_default, request.POST.get('name'), request.POST.get('address'))
@@ -302,6 +316,7 @@ def firewall_addressgroup_add(request):
         'hostname_default': hostname_default,
         'username': request.user,        
         'instances': all_instances,
+        'is_superuser' : is_superuser,
     }   
     return HttpResponse(template.render(context, request))
 
@@ -315,7 +330,8 @@ def firewall_config(request, firewall_name):
     #interfaces = vyos.get_interfaces()
     all_instances = vyos.instance_getall()
     hostname_default = vyos.get_hostname_prefered(request)
-
+    is_superuser = perms.get_is_superuser(request.user)
+    
     firewall = vyos.get_firewall(hostname_default, firewall_name)
     
 
@@ -327,6 +343,7 @@ def firewall_config(request, firewall_name):
         'firewall':  firewall,
         'firewall_name': firewall_name,
         'username': request.user,
+        'is_superuser' : is_superuser,
     }   
     return HttpResponse(template.render(context, request))
 
@@ -371,6 +388,7 @@ def firewall_edit(request, firewall_name):
     hostname_default = vyos.get_hostname_prefered(request)
     firewall = vyos.get_firewall(hostname_default, firewall_name)
     firewall['defaultaction'] = firewall['default-action']
+    is_superuser = perms.get_is_superuser(request.user)
 
     changed = False
     if 'description' in request.POST:
@@ -396,5 +414,6 @@ def firewall_edit(request, firewall_name):
         'firewall_name': firewall_name,
         'firewall': firewall,
         'username': request.user,
+        'is_superuser' : is_superuser,
     }   
     return HttpResponse(template.render(context, request))

+ 11 - 4
vycontrol/interface/views.py

@@ -9,6 +9,7 @@ from django.template.defaultfilters import register
 
 import vyos
 from perms import is_authenticated
+import perms
 
 
 from config.models import Instance
@@ -27,6 +28,7 @@ def index(request):
     all_instances = vyos.instance_getall()
     firewall_all = vyos.get_firewall_all(hostname_default)
     interfaces = vyos.get_interfaces(hostname_default)
+    is_superuser = perms.get_is_superuser(request.user)
 
     interface_firewall_in = {}
     interface_firewall_out = {}
@@ -104,7 +106,8 @@ def index(request):
         'firewall_all' : firewall_all,
         'interface_firewall_in' : interface_firewall_in,
         'interface_firewall_out' : interface_firewall_out,
-        'username': request.user,        
+        'username': request.user,   
+        'is_superuser' : is_superuser,     
     }
     return HttpResponse(template.render(context, request))
 
@@ -115,7 +118,8 @@ def interfaceshow(request, interface_type, interface_name):
     hostname_default = vyos.get_hostname_prefered(request)
     firewall_all = vyos.get_firewall_all(hostname_default)   
     interface = vyos.get_interface(interface_type, interface_name, hostname=hostname_default)
-    
+    is_superuser = perms.get_is_superuser(request.user)
+  
     template = loader.get_template('interface/show.html')
     context = { 
         'interface': interface,
@@ -124,7 +128,8 @@ def interfaceshow(request, interface_type, interface_name):
         'interface_name' : interface_name,
         'hostname_default': hostname_default,
         'firewall_all' : firewall_all,
-        'username': request.user,                       
+        'username': request.user,        
+        'is_superuser' : is_superuser,               
     }   
     return HttpResponse(template.render(context, request))
 
@@ -133,6 +138,7 @@ def interfaceshow(request, interface_type, interface_name):
 def interfacefirewall(request, interface_type, interface_name):
         
     all_instances = vyos.instance_getall()
+    is_superuser = perms.get_is_superuser(request.user)
 
     hostname_default = vyos.get_hostname_prefered(request)
     
@@ -145,7 +151,8 @@ def interfacefirewall(request, interface_type, interface_name):
         'hostname_default': hostname_default,
         'interface_type' : interface_type,
         'interface_name' : interface_name,        
-        'username': request.user,        
+        'username': request.user,      
+        'is_superuser' : is_superuser,  
     }   
     return HttpResponse(template.render(context, request))
 

+ 6 - 1
vycontrol/static/views.py

@@ -8,6 +8,7 @@ from django.urls import reverse
 import vyos
 from perms import is_authenticated
 from filters.vycontrol_filters import routeunpack
+import perms
 
 
 @is_authenticated    
@@ -15,6 +16,8 @@ def static_list(request):
     all_instances = vyos.instance_getall()
     hostname_default = vyos.get_hostname_prefered(request)
     static_dict = vyos.get_route_static(hostname_default)
+    is_superuser = perms.get_is_superuser(request.user)
+
     static_list = []
     for s in static_dict['route']:
         static_list.append({
@@ -28,6 +31,7 @@ def static_list(request):
         'hostname_default': hostname_default,
         'static_list' : static_list,
         'username': request.user,
+        'is_superuser' : is_superuser,     
     }   
     return HttpResponse(template.render(context, request))
 
@@ -38,7 +42,7 @@ def static_add(request):
     all_instances = vyos.instance_getall()
     hostname_default = vyos.get_hostname_prefered(request)
     static_list = vyos.get_route_static(hostname_default)
-
+    is_superuser = perms.get_is_superuser(request.user)
 
 
     error_message = None
@@ -59,6 +63,7 @@ def static_add(request):
         'static_list' : static_list,
         'error_message' : error_message,
         'username': request.user,
+        'is_superuser' : is_superuser,     
     }   
     return HttpResponse(template.render(context, request))