views.py 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133
  1. from django.views.decorators.csrf import csrf_exempt
  2. from django.shortcuts import render
  3. from django.http import HttpResponseRedirect,JsonResponse
  4. from django.urls import reverse
  5. # Create your views here.
  6. from .models import *
  7. from sicurezza.views import *
  8. from datetime import datetime
  9. from .library import deletemail
  10. def setCoda(acronimo=None,parametri=None):
  11. '''
  12. inserimento valori coda
  13. parms:
  14. comando=Int,comando prelevato (sigla alfanumerica prelevabile dal db coda-comandi)
  15. parametri=array di parametri da eleborare.
  16. return value = l'id con cui e' stato registrato il comando.
  17. '''
  18. #identifichiamo l'acronimo
  19. try:
  20. codacomandi = CodaComandi.objects.get(acronimo = acronimo)
  21. except CodaComandi.DoesNotExists as dne:
  22. print('il record indicato non esiste')
  23. coda = Coda()
  24. coda.codacomandi = codacomandi
  25. coda.parametri = parametri
  26. coda.esecuzione = codacomandi.comando.format(parametri)
  27. coda.dataEsecuzione = 0
  28. coda.dataInserimento = int(datetime.timestamp(datetime.now()))
  29. coda.sid = codacomandi.sid
  30. coda.stato=0
  31. coda.save()
  32. print("record:",coda.id)
  33. return coda.id
  34. def getCodaHtml(request,comando=0):
  35. '''
  36. ottiene la prima voce non eseguita della coda, a meno che non si inserisce un id specifico
  37. parms:
  38. comando=eventuale comando richiesto, se None, il primo disponibile.
  39. '''
  40. coda = Coda.objects.all().filter(enabled=1)
  41. print("coda:",coda)
  42. codaOrdered=coda.order_by('id')
  43. if len(codaOrdered) > 0:
  44. codaFirst = codaOrdered[0]
  45. else:
  46. codaFirst = ""
  47. value={}
  48. value['comando'] = codaFirst
  49. print("value,",value)
  50. return render(request,"comando.html",value)
  51. def getCodaJson(request,comando=0):
  52. '''
  53. ottiene la prima voce non eseguita della coda, a meno che non si inserisce un id specifico
  54. parms:
  55. comando=eventuale comando richiesto, se None, il primo disponibile.
  56. '''
  57. coda = Coda.objects.all().filter(enabled=1).filter(stato=0)
  58. codaOrdered=coda.order_by('id')
  59. if len(codaOrdered) > 0:
  60. codaFirst = codaOrdered[0]
  61. else:
  62. codaFirst = 0
  63. print("codafirst: ",codaFirst)
  64. value={}
  65. value['id'] = codaFirst.id
  66. value['exc'] = codaFirst.esecuzione
  67. value['sid'] = codaFirst.sid
  68. print("value,",value)
  69. return JsonResponse(value)
  70. @csrf_exempt
  71. def CodaUpdate(request):
  72. # arriva la risposta e vengono aggiornati i campi
  73. print('request',request.POST)
  74. if request.method == 'POST':
  75. id = request.POST.get('id')
  76. errs = request.POST.get('errs')
  77. outs = request.POST.get('outs')
  78. stat = request.POST.get('stat')
  79. print(":",id,errs,outs,stat)
  80. try:
  81. coda = Coda.objects.get(pk=id)
  82. except Coda.DoesNotExist as dne:
  83. print("cazzo, id sbagliato!")
  84. coda = None
  85. if coda:
  86. coda.dataEsecuzione = int(datetime.now().timestamp())
  87. coda.stato = stat
  88. coda.risultato = "{}\n{}".format(outs,errs)
  89. coda.save()
  90. value={}
  91. return render(request,'risposta.html',value)
  92. def CodaList(request):
  93. '''
  94. mostra la coda comandi, lo stato e la situazione
  95. '''
  96. session = getSessionParms(request)
  97. userauth = session['_userauth_']
  98. utenteautorizzato = User.objects.get(pk=userauth)
  99. coda = Coda.objects.all()
  100. value={}
  101. value['utenteautorizzato'] = utenteautorizzato
  102. value['navbar'] = True
  103. value['coda'] = coda
  104. return render(request,'gestioneCodaLista.html',value)