views.py 2.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. from django.shortcuts import render
  2. from django.http import HttpResponse
  3. from django.template import loader
  4. from django.shortcuts import redirect
  5. import vyos
  6. def index(request):
  7. #interfaces = vyos.get_interfaces()
  8. all_instances = vyos.instance_getall()
  9. hostname_default = vyos.get_hostname_prefered(request)
  10. firewall_all = vyos.get_firewall_all(hostname_default)
  11. template = loader.get_template('firewall/list.html')
  12. context = {
  13. #'interfaces': interfaces,
  14. 'instances': all_instances,
  15. 'hostname_default': hostname_default,
  16. 'firewall_all': firewall_all
  17. }
  18. return HttpResponse(template.render(context, request))
  19. def show(request, firewall_name):
  20. #interfaces = vyos.get_interfaces()
  21. all_instances = vyos.instance_getall()
  22. hostname_default = vyos.get_hostname_prefered(request)
  23. firewall = vyos.get_firewall(hostname_default, firewall_name)
  24. template = loader.get_template('firewall/show.html')
  25. context = {
  26. #'interfaces': interfaces,
  27. 'instances': all_instances,
  28. 'hostname_default': hostname_default,
  29. 'firewall': firewall,
  30. 'firewall_name': firewall_name,
  31. }
  32. return HttpResponse(template.render(context, request))
  33. def addrule(request, firewall_name):
  34. #interfaces = vyos.get_interfaces()
  35. all_instances = vyos.instance_getall()
  36. hostname_default = vyos.get_hostname_prefered(request)
  37. firewall = vyos.get_firewall(hostname_default, firewall_name)
  38. if 'action' in request.POST:
  39. cmd = {"op": "set", "path": ["firewall", "name", firewall_name, "rule", request.POST['rulenumber'], "action", request.POST['action']]}
  40. result1 = vyos.set_config(hostname_default, cmd)
  41. print(result1)
  42. if 'protocol' in request.POST:
  43. cmd = {"op": "set", "path": ["firewall", "name", firewall_name, "rule", request.POST['rulenumber'], "protocol", request.POST['protocol']]}
  44. result2 = vyos.set_config(hostname_default, cmd)
  45. print(result2)
  46. if 'destinationport' in request.POST:
  47. cmd = {"op": "set", "path": ["firewall", "name", firewall_name, "rule", request.POST['rulenumber'], "destination", "port", request.POST['destinationport']]}
  48. result3 = vyos.set_config(hostname_default, cmd)
  49. print(result3)
  50. if 'sourceport' in request.POST:
  51. cmd = {"op": "set", "path": ["firewall", "name", firewall_name, "rule", request.POST['rulenumber'], "source", "port", request.POST['sourceport']]}
  52. result3 = vyos.set_config(hostname_default, cmd)
  53. print(result3)
  54. template = loader.get_template('firewall/show.html')
  55. context = {
  56. #'interfaces': interfaces,
  57. 'instances': all_instances,
  58. 'hostname_default': hostname_default,
  59. 'firewall': firewall,
  60. 'firewall_name': firewall_name,
  61. }
  62. return HttpResponse(template.render(context, request))