|
@@ -14,13 +14,29 @@ def index(request):
|
|
|
hostname_default = vyos.get_hostname_prefered(request)
|
|
|
|
|
|
firewall_all = vyos.get_firewall_all(hostname_default)
|
|
|
+ if firewall_all == False:
|
|
|
+ return redirect('firewall:firewall-create')
|
|
|
+
|
|
|
for xitem in firewall_all['name']:
|
|
|
if 'default-action' in firewall_all['name'][xitem]:
|
|
|
firewall_all['name'][xitem]['default_action'] = firewall_all['name'][xitem]['default-action']
|
|
|
del firewall_all['name'][xitem]['default-action']
|
|
|
|
|
|
+ template = loader.get_template('firewall/list.html')
|
|
|
+ context = {
|
|
|
+ #'interfaces': interfaces,
|
|
|
+ 'instances': all_instances,
|
|
|
+ 'hostname_default': hostname_default,
|
|
|
+ 'firewall_all': firewall_all
|
|
|
+ }
|
|
|
+ return HttpResponse(template.render(context, request))
|
|
|
|
|
|
|
|
|
+def create(request):
|
|
|
+ #interfaces = vyos.get_interfaces()
|
|
|
+ all_instances = vyos.instance_getall()
|
|
|
+ hostname_default = vyos.get_hostname_prefered(request)
|
|
|
+
|
|
|
if 'name' in request.POST:
|
|
|
cmd = {"op": "set", "path": ["firewall", "name", request.POST['name']]}
|
|
|
result1 = vyos.set_config(hostname_default, cmd)
|
|
@@ -37,19 +53,16 @@ def index(request):
|
|
|
print(result3)
|
|
|
|
|
|
return redirect('firewall:firewall-list')
|
|
|
-
|
|
|
|
|
|
- template = loader.get_template('firewall/list.html')
|
|
|
+ template = loader.get_template('firewall/create.html')
|
|
|
context = {
|
|
|
#'interfaces': interfaces,
|
|
|
'instances': all_instances,
|
|
|
'hostname_default': hostname_default,
|
|
|
- 'firewall_all': firewall_all
|
|
|
}
|
|
|
return HttpResponse(template.render(context, request))
|
|
|
|
|
|
|
|
|
-
|
|
|
def show(request, firewall_name):
|
|
|
#interfaces = vyos.get_interfaces()
|
|
|
all_instances = vyos.instance_getall()
|
|
@@ -81,22 +94,28 @@ def addrule(request, firewall_name):
|
|
|
cmd = {"op": "set", "path": ["firewall", "name", firewall_name, "rule", request.POST['rulenumber'], "action", request.POST['action']]}
|
|
|
result1 = vyos.set_config(hostname_default, cmd)
|
|
|
print(result1)
|
|
|
+ changed = True
|
|
|
|
|
|
if 'protocol' in request.POST:
|
|
|
cmd = {"op": "set", "path": ["firewall", "name", firewall_name, "rule", request.POST['rulenumber'], "protocol", request.POST['protocol']]}
|
|
|
result2 = vyos.set_config(hostname_default, cmd)
|
|
|
print(result2)
|
|
|
+ changed = True
|
|
|
|
|
|
if 'destinationport' in request.POST:
|
|
|
cmd = {"op": "set", "path": ["firewall", "name", firewall_name, "rule", request.POST['rulenumber'], "destination", "port", request.POST['destinationport']]}
|
|
|
result3 = vyos.set_config(hostname_default, cmd)
|
|
|
print(result3)
|
|
|
+ changed = True
|
|
|
|
|
|
if 'sourceport' in request.POST:
|
|
|
cmd = {"op": "set", "path": ["firewall", "name", firewall_name, "rule", request.POST['rulenumber'], "source", "port", request.POST['sourceport']]}
|
|
|
result3 = vyos.set_config(hostname_default, cmd)
|
|
|
print(result3)
|
|
|
+ changed = True
|
|
|
|
|
|
+ if changed == True:
|
|
|
+ return redirect('firewall:firewall-list')
|
|
|
|
|
|
|
|
|
template = loader.get_template('firewall/show.html')
|