瀏覽代碼

done set firewall name <name> rule <1-9999> source group port-group <name> #54
done set firewall name <name> rule <1-9999> destination group port-group <name> #55

Roberto Berto 5 年之前
父節點
當前提交
bf1c504e19
共有 2 個文件被更改,包括 28 次插入8 次删除
  1. 4 4
      vycontrol/firewall/templates/firewall/addrule.html
  2. 24 4
      vycontrol/firewall/views.py

+ 4 - 4
vycontrol/firewall/templates/firewall/addrule.html

@@ -378,8 +378,8 @@
         <div class="row">
             <div class="col">
                 <p>
-                    <label for="sdportgroup_source">source port group</label><br>
-                    <select name="sdportgroup_source" size="10" style="width: 200px;">
+                    <label for="sdportgroup_source">source port group (single choice)</label><br>
+                    <select name="sdportgroup_source" id="sdportgroup_source" size="10" style="width: 200px;">
                         {% for f in portgroups_groups %}
                         <option>{{ f }}</option>
                         {% endfor %}
@@ -390,8 +390,8 @@
 
             <div class="col">
                 <p>
-                    <label for="sdportgroup_destination">destination port group</label><br>
-                    <select name="sdportgroup_destination" size="10" style="width: 200px;">
+                    <label for="sdportgroup_destination">destination port group (single choice)</label><br>
+                    <select name="sdportgroup_destination" id="sdportgroup_destination" size="10" style="width: 200px;">
                         {% for f in portgroups_groups %}
                         <option>{{ f }}</option>
                         {% endfor %}

+ 24 - 4
vycontrol/firewall/views.py

@@ -445,10 +445,30 @@ def addrule(request, firewall_name):
                     if v.success:
                         changed = True
 
-                    
-                # if criteria_portgroup set, save it
-                #if request.POST.get('criteria_portgroup', None) == "1":
-                #    pass
+            # if criteria_portgroup set, save it
+            if request.POST.get('criteria_portgroup', None) == "1":
+                if request.POST.get('sdportgroup_source', None) != None:
+                    v = vyos2.api (
+                        hostname=   hostname_default,
+                        api =       "post",
+                        op =        "set",
+                        cmd =       ["firewall", "name", firewall_name, "rule", request.POST.get('rulenumber'), "source", "group", "port-group", request.POST.get('sdportgroup_source')],
+                        description = "set sdportgroup_source",
+                    )
+                    if v.success:
+                        changed = True
+
+                if request.POST.get('sdportgroup_destination', None) != None:
+                    v = vyos2.api (
+                        hostname=   hostname_default,
+                        api =       "post",
+                        op =        "set",
+                        cmd =       ["firewall", "name", firewall_name, "rule", request.POST.get('rulenumber'), "destination", "group", "port-group", request.POST.get('sdportgroup_destination')],
+                        description = "set sdportgroup_destination",
+                    )
+                    if v.success:
+                        changed = True                        
+
 
 
     if changed == True: