| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158 |
- from django.shortcuts import render
- from sicurezza.views import *
- from .models import *
- from .forms import *
- import json
- from mqtt import views as m
- # Create your views here.
- def filtroList(request):
- session = getSessionParms(request)
- userauth = session['_userauth_']
- filtro2edit = session['_filtro2edit_']
- request.session['from']='filtro:FiltroList'
- try:
- utenteautorizzato = User.objects.get(pk=userauth)
- except User.DoesNotExist as dne:
- return HttpResponseRedirect(reverse('Login:login',args={}))
- value={}
- value['utenteautorizzato'] = utenteautorizzato
- value['navbar'] = True
- print("livello autorizzazione",utenteautorizzato.securitylevel_id)
- securitylevel = getSecurityLevel(utenteautorizzato.securitylevel_id)
- securityrow = getSecurityRow(utenteautorizzato.securitylevel_id)
- securitylist = getSecurityList(securityrow)
- value['securitylist'] = securitylist
- value['securityrow'] = securityrow
- value['securityrowLen'] = len(securityrow)
- c = m.start()
- m.publish(c,"Messaggio/FiltroEmail","Accesso alla sezione filtri da {}".format(utenteautorizzato.nome))
- if request.method=="POST":
- if "Nuovo Filtro" in request.POST:
- print('nuovo filtro')
- request.session['_filtro2edit_'] = 0
- return HttpResponseRedirect(reverse('Filtro:FiltroEdit',args={}))
- if "edit" in request.POST:
- print('id da editare',request.POST['edit'])
- request.session['_filtro2edit_'] = request.POST['edit']
- return HttpResponseRedirect(reverse('Filtro:FiltroEdit',args={}))
- if "disable" in request.POST :
- print('id da disattivare',request.POST['disable'])
- idpost = request.POST['disable']
- f = Filtro.objects.get(pk=idpost)
- f.enabled=False
- f.save()
- if "enable" in request.POST:
- print('id da attivare',request.POST['enable'])
- idpost = request.POST['enable']
- f = Filtro.objects.get(pk=idpost)
- f.enabled=True
- f.save()
- if "delete" in request.POST:
- print('id da cancellare',request.POST['delete'])
- idpost = request.POST['delete']
- f = Filtro.objects.get(pk=idpost)
- f.delete()
- value['filtro'] = Filtro.objects.all().order_by('id')
- return render(request,"Filtro.List.html",value)
- def filtroEdit(request):
- session = getSessionParms(request)
- userauth = session['_userauth_']
- filtro2edit = session['_filtro2edit_']
- request.session['from']='Filtro:FiltroList'
- utenteautorizzato = User.objects.get(pk=userauth)
- value={}
- value['utenteautorizzato'] = utenteautorizzato
- value['navbar'] = True
- print("livello autorizzazione",utenteautorizzato.securitylevel_id)
- securitylevel = getSecurityLevel(utenteautorizzato.securitylevel_id)
- securityrow = getSecurityRow(utenteautorizzato.securitylevel_id)
- securitylist = getSecurityList(securityrow)
- value['securitylist'] = securitylist
- value['securityrow'] = securityrow
- value['securityrowLen'] = len(securityrow)
- value['Status'] = None
- filtro = Filtro()
- try:
- filtro = Filtro.objects.get(pk=filtro2edit)
- except Filtro.DoesNotExist as dne:
- print('valore filtro2edit non valido',filtro2edit)
- c = m.start()
- #m.publish(c,"Messaggio/FiltroEmail","Accesso all'edit filtro da {}".format(utenteautorizzato.nome))
- if request.method == 'POST':
- print('metodo',request.method)
- # non effettua il salvataggio, ma ritorna alla lista FTP
- if 'Ritorno' in request.POST:
- return HttpResponseRedirect(reverse('Filtro:FiltroList'))
- formfiltro = formFiltro(request.POST)
- if formfiltro.is_valid():
- print('formfiltro.is_valid()',formfiltro.is_valid())
- filtro.filtro=formfiltro.cleaned_data.get('filtro')
- filtro.status=formfiltro.cleaned_data.get('status')
- filtro.destination= formfiltro.cleaned_data.get('destination')
- filtro.redirect = formfiltro.cleaned_data.get('redirect')
- filtro.dinput = formfiltro.cleaned_data.get('dinput')
- filtro.doutput = formfiltro.cleaned_data.get('doutput')
- filtro.header = formfiltro.cleaned_data.get('header')
- filtro.body = formfiltro.cleaned_data.get('body')
- filtro.enabled = formfiltro.cleaned_data.get('enabled')
- filtro.save()
- print('filtro:',filtro.status)
- # if viene selezionato il reject, parte una richiesta di pulizia coda per quel filtro
- if 'reject' in filtro.status and filtro.enabled:
- print('Eseguo mqtt')
- q={}
- q['op']='mqremove'
- q['filter'] = filtro.filtro
- q['header'] = filtro.header
- q['body'] = filtro.body
- m.publish(c,'Richiesta/FiltroEmail',json.dumps(q))
- temp = {}
- temp['filtro'] = filtro.filtro
- temp['status'] = filtro.status
- temp['destination'] = filtro.destination
- temp['redirect'] = filtro.redirect
- temp['dinput'] = filtro.dinput
- temp['doutput'] = filtro.doutput
- temp['header'] = filtro.header
- temp['body'] = filtro.body
- temp['enabled'] = filtro.enabled
- value['filtro'] = formFiltro(temp)
- value['ListStatus'] = value['filtro'].listStatus()
- print(value['ListStatus'])
- return render(request,'Filtro.Edit.html',value)
|