views.py 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101
  1. from django.shortcuts import render
  2. from django.http import HttpResponseRedirect
  3. from django.urls import reverse
  4. #from .models import *
  5. #rom .forms import *
  6. #from supporto import managepassword
  7. from sicurezza.views import *
  8. from logger.views import *
  9. from comunicazioni.views import *
  10. from datetime import date,datetime
  11. from configurazione.views import *
  12. from django.db import IntegrityError
  13. from .forms import *
  14. from mqtt.views import mqtt
  15. import re
  16. import json
  17. import email as emailSource
  18. def manageSpam(request):
  19. session = getSessionParms(request)
  20. userauth = session['_userauth_']
  21. spam2edit = session['_spam2edit_']
  22. request.session['_from_']="Spam:manageSpam"
  23. try:
  24. utenteautorizzato = User.objects.get(pk=userauth)
  25. except User.DoesNotExist as dne:
  26. return HttpResponseRedirect(reverse('Login:login',args={}))
  27. mq = mqtt()
  28. mq.build('topic','messaggio/spam')
  29. mq.messaggio("Attivazione funzione registrazione spam/ham")
  30. mq.stampa(True)
  31. #mq.build('stampa',True)
  32. mq.pubblica()
  33. tmp=None
  34. mq=None
  35. value={}
  36. value['utenteautorizzato'] = utenteautorizzato
  37. value['navbar'] = True
  38. print("livello autorizzazione",utenteautorizzato.securitylevel_id)
  39. securitylevel = getSecurityLevel(utenteautorizzato.securitylevel_id)
  40. securityrow = getSecurityRow(utenteautorizzato.securitylevel_id)
  41. value['securityrow'] = securityrow
  42. value['securityrowLen'] = len(securityrow)
  43. if request.method=="POST":
  44. if 'ritorno' in request.POST:
  45. return HttpResponseRedirect(reverse('Login:welcome',args={}))
  46. formspam = formSpam(request.POST)
  47. if formspam.is_valid():
  48. ttt = formspam.cleaned_data.get('tt')
  49. mmm = formspam.cleaned_data.get('mm')
  50. email = formspam.cleaned_data.get('email')
  51. print('tipo',ttt)
  52. print('mail',mmm)
  53. print('notifica',email)
  54. # a questo punto, inviamo il messaggio mqtt
  55. mq = mqtt()
  56. mq.build('topic','spam/{}'.format(ttt))
  57. mq.richiesta('{}'.format(ttt))
  58. tmp = {}
  59. tmp['ttt'] = ttt
  60. completeEmail = emailSource.message_from_string(mmm)
  61. completeEmailSubject = completeEmail['subject']
  62. completeEmailFrom = completeEmail['from']
  63. inter = mmm.split(sep='\n')
  64. tmp['mmm'] = "\n".join(inter)
  65. tmp['from'] = completeEmailFrom
  66. tmp['subject'] = completeEmailSubject
  67. print("tmp",tmp)
  68. mq.build('stampa',True)
  69. mq.build('clear',True)
  70. mq.build('data',tmp)
  71. if email:
  72. print('comunico richiesta notifica')
  73. mq.build('notifica',email)
  74. mq.messaggio('Registrazione messaggio amavis sezione {}'.format(ttt))
  75. mq.pubblica()
  76. tmp=None
  77. mq=None
  78. value['formspam'] = formspam
  79. return render(request,'manageSpam.html',value)