views.py 3.6 KB

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