from django.views.decorators.csrf import csrf_exempt from django.shortcuts import render from django.http import HttpResponseRedirect,JsonResponse from django.urls import reverse # Create your views here. from .models import * from sicurezza.views import * from datetime import datetime from .library import deletemail def setCoda(acronimo=None,parametri=None): ''' inserimento valori coda parms: comando=Int,comando prelevato (sigla alfanumerica prelevabile dal db coda-comandi) parametri=array di parametri da eleborare. return value = l'id con cui e' stato registrato il comando. ''' #identifichiamo l'acronimo try: codacomandi = CodaComandi.objects.get(acronimo = acronimo) except CodaComandi.DoesNotExists as dne: print('il record indicato non esiste') coda = Coda() coda.codacomandi = codacomandi coda.parametri = parametri coda.esecuzione = codacomandi.comando.format(parametri) coda.dataEsecuzione = 0 coda.dataInserimento = int(datetime.timestamp(datetime.now())) coda.sid = codacomandi.sid coda.stato=0 coda.save() print("record:",coda.id) return coda.id def getCodaHtml(request,comando=0): ''' ottiene la prima voce non eseguita della coda, a meno che non si inserisce un id specifico parms: comando=eventuale comando richiesto, se None, il primo disponibile. ''' coda = Coda.objects.all().filter(enabled=1) print("coda:",coda) codaOrdered=coda.order_by('id') if len(codaOrdered) > 0: codaFirst = codaOrdered[0] else: codaFirst = "" value={} value['comando'] = codaFirst print("value,",value) return render(request,"comando.html",value) def getCodaJson(request,comando=0): ''' ottiene la prima voce non eseguita della coda, a meno che non si inserisce un id specifico parms: comando=eventuale comando richiesto, se None, il primo disponibile. ''' coda = Coda.objects.all().filter(enabled=1).filter(stato=0) codaOrdered=coda.order_by('id') if len(codaOrdered) > 0: codaFirst = codaOrdered[0] else: codaFirst = 0 print("codafirst: ",codaFirst) value={} value['id'] = codaFirst.id value['exc'] = codaFirst.esecuzione value['sid'] = codaFirst.sid print("value,",value) return JsonResponse(value) @csrf_exempt def CodaUpdate(request): # arriva la risposta e vengono aggiornati i campi print('request',request.POST) if request.method == 'POST': id = request.POST.get('id') errs = request.POST.get('errs') outs = request.POST.get('outs') stat = request.POST.get('stat') print(":",id,errs,outs,stat) try: coda = Coda.objects.get(pk=id) except Coda.DoesNotExist as dne: print("cazzo, id sbagliato!") coda = None if coda: coda.dataEsecuzione = int(datetime.now().timestamp()) coda.stato = stat coda.risultato = "{}\n{}".format(outs,errs) coda.save() value={} return render(request,'risposta.html',value) def CodaList(request): ''' mostra la coda comandi, lo stato e la situazione ''' session = getSessionParms(request) userauth = session['_userauth_'] utenteautorizzato = User.objects.get(pk=userauth) coda = Coda.objects.all() value={} value['utenteautorizzato'] = utenteautorizzato value['navbar'] = True value['coda'] = coda return render(request,'gestioneCodaLista.html',value)