views.py 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. from django.shortcuts import render
  2. from django.http import HttpResponse
  3. from django.template import loader
  4. import vyos
  5. from .models import Instance
  6. def index(request):
  7. #interfaces = vyos.get_interfaces()
  8. all_instances = vyos.instance_getall()
  9. template = loader.get_template('config/instance.html')
  10. context = {
  11. #'interfaces': interfaces,
  12. 'instances': all_instances,
  13. }
  14. return HttpResponse(template.render(context, request))
  15. def instances(request):
  16. all_instances = vyos.instance_getall()
  17. template = loader.get_template('config/instances.html')
  18. context = {
  19. 'instances': all_instances,
  20. }
  21. return HttpResponse(template.render(context, request))
  22. def instance_add(request):
  23. #interfaces = vyos.get_interfaces()
  24. all_instances = vyos.instance_getall()
  25. if len(request.POST) > 0:
  26. instance = Instance()
  27. instance.alias = request.POST['alias']
  28. instance.hostname = request.POST['hostname']
  29. instance.port = request.POST['port']
  30. instance.key = request.POST['key']
  31. if 'https' in request.POST:
  32. instance.https = request.POST['https']
  33. else:
  34. instance.https = False
  35. instance_id = instance.save()
  36. else:
  37. instance_id = 0
  38. template = loader.get_template('config/instance_add.html')
  39. context = {
  40. 'instance_id': instance_id,
  41. 'instances': all_instances,
  42. }
  43. return HttpResponse(template.render(context, request))
  44. def instance_conntry(request, hostname):
  45. all_instances = vyos.instance_getall()
  46. # permcheck
  47. instance = Instance.objects.get(hostname=hostname)
  48. connected = vyos.conntry(hostname)
  49. template = loader.get_template('config/instance_conntry.html')
  50. context = {
  51. 'instance': instance,
  52. "connected": connected,
  53. 'instances': all_instances,
  54. }
  55. return HttpResponse(template.render(context, request))