views.py 3.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  1. from django.shortcuts import render
  2. from django.http import HttpResponse
  3. from django.template import loader
  4. import vyos
  5. from config.models import Instance
  6. import pprint
  7. def index(request):
  8. hostname_default = vyos.get_hostname_prefered(request)
  9. all_instances = vyos.instance_getall()
  10. firewall_all = vyos.get_firewall_all(hostname_default)
  11. interfaces = vyos.get_interfaces(hostname_default)
  12. for el in request.POST:
  13. if el.startswith('firewall-ipv4-in') and request.POST[el]:
  14. pos = el.split(".")
  15. interface_type = pos[1]
  16. interface_name = pos[2]
  17. firewall_name = request.POST[el]
  18. pprint.pprint(request.POST)
  19. result1 = vyos.set_interface_firewall_ipv4(hostname_default, interface_type, interface_name, "in", firewall_name)
  20. print(result1)
  21. """
  22. if 'name' in request.POST:
  23. result1 = vyos.set_config(hostname_default, cmd)
  24. print(result1)
  25. if 'description' in request.POST:
  26. cmd = {"op": "set", "path": ["firewall", "name", request.POST['name'], "description", request.POST['description']]}
  27. result2 = vyos.set_config(hostname_default, cmd)
  28. print(result2)
  29. if 'action' in request.POST:
  30. cmd = {"op": "set", "path": ["firewall", "name", request.POST['name'], "default-action", request.POST['action']]}
  31. result3 = vyos.set_config(hostname_default, cmd)
  32. print(result3)
  33. return redirect('firewall:firewall-list')
  34. """
  35. template = loader.get_template('interface/index.html')
  36. context = {
  37. 'interfaces': interfaces,
  38. 'instances': all_instances,
  39. 'hostname_default': hostname_default,
  40. 'firewall_all' : firewall_all,
  41. }
  42. return HttpResponse(template.render(context, request))
  43. def interfaceshow(request, interface_type, interface_name):
  44. all_instances = vyos.instance_getall()
  45. hostname_default = vyos.get_hostname_prefered(request)
  46. interface = vyos.get_interface(interface_type, interface_name, hostname=hostname_default)
  47. template = loader.get_template('interface/show.html')
  48. context = {
  49. 'interface': interface,
  50. 'instances': all_instances,
  51. 'interface_type' : interface_type,
  52. 'interface_name' : interface_name,
  53. 'hostname_default': hostname_default,
  54. }
  55. return HttpResponse(template.render(context, request))
  56. def interfacefirewall(request, interface_type, interface_name):
  57. all_instances = vyos.instance_getall()
  58. hostname_default = vyos.get_hostname_prefered(request)
  59. interface = vyos.get_interface(interface_type, interface_name, hostname=hostname_default)
  60. template = loader.get_template('interface/show.html')
  61. context = {
  62. 'interface': interface,
  63. 'instances': all_instances,
  64. 'hostname_default': hostname_default,
  65. 'interface_type' : interface_type,
  66. 'interface_name' : interface_name,
  67. }
  68. return HttpResponse(template.render(context, request))