views.py 5.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158
  1. from django.shortcuts import render
  2. from sicurezza.views import *
  3. from .models import *
  4. from .forms import *
  5. import json
  6. from mqtt import views as m
  7. # Create your views here.
  8. def filtroList(request):
  9. session = getSessionParms(request)
  10. userauth = session['_userauth_']
  11. filtro2edit = session['_filtro2edit_']
  12. request.session['from']='filtro:FiltroList'
  13. try:
  14. utenteautorizzato = User.objects.get(pk=userauth)
  15. except User.DoesNotExist as dne:
  16. return HttpResponseRedirect(reverse('Login:login',args={}))
  17. value={}
  18. value['utenteautorizzato'] = utenteautorizzato
  19. value['navbar'] = True
  20. print("livello autorizzazione",utenteautorizzato.securitylevel_id)
  21. securitylevel = getSecurityLevel(utenteautorizzato.securitylevel_id)
  22. securityrow = getSecurityRow(utenteautorizzato.securitylevel_id)
  23. securitylist = getSecurityList(securityrow)
  24. value['securitylist'] = securitylist
  25. value['securityrow'] = securityrow
  26. value['securityrowLen'] = len(securityrow)
  27. c = m.start()
  28. m.publish(c,"Messaggio/FiltroEmail","Accesso alla sezione filtri da {}".format(utenteautorizzato.nome))
  29. if request.method=="POST":
  30. if "Nuovo Filtro" in request.POST:
  31. print('nuovo filtro')
  32. request.session['_filtro2edit_'] = 0
  33. return HttpResponseRedirect(reverse('Filtro:FiltroEdit',args={}))
  34. if "edit" in request.POST:
  35. print('id da editare',request.POST['edit'])
  36. request.session['_filtro2edit_'] = request.POST['edit']
  37. return HttpResponseRedirect(reverse('Filtro:FiltroEdit',args={}))
  38. if "disable" in request.POST :
  39. print('id da disattivare',request.POST['disable'])
  40. idpost = request.POST['disable']
  41. f = Filtro.objects.get(pk=idpost)
  42. f.enabled=False
  43. f.save()
  44. if "enable" in request.POST:
  45. print('id da attivare',request.POST['enable'])
  46. idpost = request.POST['enable']
  47. f = Filtro.objects.get(pk=idpost)
  48. f.enabled=True
  49. f.save()
  50. if "delete" in request.POST:
  51. print('id da cancellare',request.POST['delete'])
  52. idpost = request.POST['delete']
  53. f = Filtro.objects.get(pk=idpost)
  54. f.delete()
  55. value['filtro'] = Filtro.objects.all().order_by('id')
  56. return render(request,"Filtro.List.html",value)
  57. def filtroEdit(request):
  58. session = getSessionParms(request)
  59. userauth = session['_userauth_']
  60. filtro2edit = session['_filtro2edit_']
  61. request.session['from']='Filtro:FiltroList'
  62. utenteautorizzato = User.objects.get(pk=userauth)
  63. value={}
  64. value['utenteautorizzato'] = utenteautorizzato
  65. value['navbar'] = True
  66. print("livello autorizzazione",utenteautorizzato.securitylevel_id)
  67. securitylevel = getSecurityLevel(utenteautorizzato.securitylevel_id)
  68. securityrow = getSecurityRow(utenteautorizzato.securitylevel_id)
  69. securitylist = getSecurityList(securityrow)
  70. value['securitylist'] = securitylist
  71. value['securityrow'] = securityrow
  72. value['securityrowLen'] = len(securityrow)
  73. value['Status'] = None
  74. filtro = Filtro()
  75. try:
  76. filtro = Filtro.objects.get(pk=filtro2edit)
  77. except Filtro.DoesNotExist as dne:
  78. print('valore filtro2edit non valido',filtro2edit)
  79. c = m.start()
  80. #m.publish(c,"Messaggio/FiltroEmail","Accesso all'edit filtro da {}".format(utenteautorizzato.nome))
  81. if request.method == 'POST':
  82. print('metodo',request.method)
  83. # non effettua il salvataggio, ma ritorna alla lista FTP
  84. if 'Ritorno' in request.POST:
  85. return HttpResponseRedirect(reverse('Filtro:FiltroList'))
  86. formfiltro = formFiltro(request.POST)
  87. if formfiltro.is_valid():
  88. print('formfiltro.is_valid()',formfiltro.is_valid())
  89. filtro.filtro=formfiltro.cleaned_data.get('filtro')
  90. filtro.status=formfiltro.cleaned_data.get('status')
  91. filtro.destination= formfiltro.cleaned_data.get('destination')
  92. filtro.redirect = formfiltro.cleaned_data.get('redirect')
  93. filtro.dinput = formfiltro.cleaned_data.get('dinput')
  94. filtro.doutput = formfiltro.cleaned_data.get('doutput')
  95. filtro.header = formfiltro.cleaned_data.get('header')
  96. filtro.body = formfiltro.cleaned_data.get('body')
  97. filtro.enabled = formfiltro.cleaned_data.get('enabled')
  98. filtro.save()
  99. print('filtro:',filtro.status)
  100. # if viene selezionato il reject, parte una richiesta di pulizia coda per quel filtro
  101. if 'reject' in filtro.status and filtro.enabled:
  102. print('Eseguo mqtt')
  103. q={}
  104. q['op']='mqremove'
  105. q['filter'] = filtro.filtro
  106. q['header'] = filtro.header
  107. q['body'] = filtro.body
  108. m.publish(c,'Richiesta/FiltroEmail',json.dumps(q))
  109. temp = {}
  110. temp['filtro'] = filtro.filtro
  111. temp['status'] = filtro.status
  112. temp['destination'] = filtro.destination
  113. temp['redirect'] = filtro.redirect
  114. temp['dinput'] = filtro.dinput
  115. temp['doutput'] = filtro.doutput
  116. temp['header'] = filtro.header
  117. temp['body'] = filtro.body
  118. temp['enabled'] = filtro.enabled
  119. value['filtro'] = formFiltro(temp)
  120. value['ListStatus'] = value['filtro'].listStatus()
  121. print(value['ListStatus'])
  122. return render(request,'Filtro.Edit.html',value)