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)