Ver código fonte

create viewinfo to help views

Roberto Berto 4 anos atrás
pai
commit
61bd238dad

+ 2 - 1
vycontrol/dnsresolver/templates/dnsresolver/add.html

@@ -3,6 +3,7 @@
 {% block header_title %}dnsresolver{% endblock %}
 {% block section_title %}dnsresolver{% endblock %}
 {% block username %}{{ username }}{% endblock %}
+{% block debugactive %}{{ debug }}{% endblock %}
 
 {% block debug %}
 {% endblock %}
@@ -10,7 +11,7 @@
 {% block content %}
 
 <p class="submenu1">
-    <a href="{% url 'dnsresolver:dnsresolver-list' %}">List dnsresolver servers</a>
+    <a href="{% url 'dnsresolver:dnsresolver-list' %}">List resolvers</a>
 </p>
 <p class="submenu2">
     

+ 2 - 1
vycontrol/dnsresolver/templates/dnsresolver/list.html

@@ -3,6 +3,7 @@
 {% block header_title %}dnsresolver{% endblock %}
 {% block section_title %}dnsresolver{% endblock %}
 {% block username %}{{ username }}{% endblock %}
+{% block debugactive %}{{ debug }}{% endblock %}
 
 
 {% block debug %}
@@ -11,7 +12,7 @@
 {% block content %}
 
 <p class="submenu1">
-    <a href="{% url 'dnsresolver:dnsresolver-add' %}">Add new dnsresolver server</a>
+    <a href="{% url 'dnsresolver:dnsresolver-add' %}">Add new resolver</a>
 </p>
 <p class="submenu2">
     

+ 19 - 31
vycontrol/dnsresolver/views.py

@@ -6,81 +6,69 @@ from django.conf import settings
 from django.urls import reverse
 
 import vyos
-import vycontrol_messages as vmsg
 import vycontrol_vyos_api_lib as vapilib
 import vycontrol_vyos_api as vapi
 
 from perms import is_authenticated
 from libs.vycontrol_filters import routeunpack
-import perms
 
+import perms
 import validators
+import viewinfo
 
 
 @is_authenticated
 def index(request):
-    all_instances = vyos.instance_getall_by_group(request)
-    hostname_default = vyos.get_hostname_prefered(request)
-    is_superuser = perms.get_is_superuser(request.user)
+    vinfo = viewinfo.prepare(request)
 
-    dnsresolver_srv = vapi.get_dnsresolver(hostname_default)
+    dnsresolver_srv = vapi.get_dnsresolver(vinfo.hostname_default)
     dnsresolver_servers = {}
     if dnsresolver_srv.success:
         if dnsresolver_srv.data['name-server'] != None:
             dnsresolver_servers = dnsresolver_srv.data['name-server']
 
-    context = {
-        'instances':                                all_instances,
-        'hostname_default':                         hostname_default,
+    context = viewinfo.context(vinfo)    
+    localcontext = {
         'dnsresolver_servers' :                     dnsresolver_servers,
-        'is_superuser' :                            is_superuser,
-        'username':                                 request.user,
     }
+    context.update(localcontext)
 
     return render(request, 'dnsresolver/list.html', context)
 
 
 @is_authenticated
 def add(request):
-    msg = vmsg.msg()
-
-    all_instances = vyos.instance_getall_by_group(request)
-    hostname_default = vyos.get_hostname_prefered(request)
-    is_superuser = perms.get_is_superuser(request.user)
+    vinfo = viewinfo.prepare(request)
 
     if 'server' in request.POST:
         if validators.ipv6(request.POST['server'].strip()) or validators.ipv4(request.POST['server'].strip()):
-            v = vapi.set_dnsresolver(hostname_default, request.POST['server'].strip())
+            v = vapi.set_dnsresolver(vinfo.hostname_default, request.POST['server'].strip())
             if v.success == False: 
-                msg.add_error("dnsresolver server add fail - " + v.reason)
+                vinfo.msg.add_error("dnsresolver server add fail - " + v.reason)
             else:
-                msg.add_success("dnsresolver server added")
+                vinfo.msg.add_success("dnsresolver server added")
         else:
-            msg.add_error("dnsresolver server add fail - insert only IPv4 or IPv6")
+            vinfo.msg.add_error("dnsresolver server add fail - insert only IPv4 or IPv6")
 
-    context = {
-        'instances':                                all_instances,
-        'hostname_default':                         hostname_default,
-        'username':                                 request.user,
-        'is_superuser' :                            is_superuser,
-
-        'msg' :                                     msg.get_all(),
+    context = viewinfo.context(vinfo)    
+    localcontext = {
     }
-
+    context.update(localcontext)
+    
     return render(request, 'dnsresolver/add.html', context)
 
 
 @is_authenticated
 def remove(request, server):
-    hostname_default = vyos.get_hostname_prefered(request)
+    vinfo = viewinfo.prepare(request)
 
-    dnsresolver_srv = vapi.get_dnsresolver(hostname_default)
+    dnsresolver_srv = vapi.get_dnsresolver(vinfo.hostname_default)
     if len(dnsresolver_srv.data['name-server']) == 0:
         return redirect('dnsresolver:dnsresolver-list')
 
     if dnsresolver_srv.success:
         if 'name-server' in dnsresolver_srv.data:
             if validators.ipv6(server.strip()) or validators.ipv4(server.strip()):
-                v = vapi.delete_dnsresolver(hostname_default, server.strip())
+                v = vapi.delete_dnsresolver(vinfo.hostname_default, server.strip())
 
     return redirect('dnsresolver:dnsresolver-list')

+ 3 - 0
vycontrol/perms.py

@@ -10,6 +10,8 @@ from django.contrib import auth
 
 import vyos
 
+
+
 def is_authenticated(func):
     @functools.wraps(func)
     def wrapper_perm(*args, **kwargs):
@@ -176,3 +178,4 @@ def get_hostname_prefered(request):
             except Instance.DoesNotExist:
                 pass
     return None
+

+ 2 - 0
vycontrol/vycontrol/templates/base.html

@@ -121,12 +121,14 @@
 </div>
 
 
+{% if debugactive == True %}
 <div class="container" id="debug">
   <h3>Debug</h3>
   <pre>
   {% block debug %}{% endblock %}
 </pre>
 </div>
+{% endif %}
 
 <hr>
 <div class="container" id="credits">