views.py 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. from django.shortcuts import render
  2. from django.http import HttpResponse,HttpResponseRedirect,FileResponse
  3. from django.urls import reverse
  4. from .forms import *
  5. from config.views import getConfig
  6. from utente.models import *
  7. from django.contrib.auth import authenticate
  8. from att.views import *
  9. def start(request):
  10. '''
  11. da qui si comincia
  12. l'utente e' invitato a inserire il suo codice fiscale e la password/pin assegnata in fase di visita medica
  13. se i dati corrispondono, si forniscono i file e alcune info di servizio
  14. '''
  15. request.session.flush()
  16. request.session.set_expiry(3600)
  17. data = dict()
  18. data['HeaderTitle'] = getConfig('HeaderTitle')
  19. if request.method=="POST":
  20. result = LoginUser(request.POST)
  21. if result.is_valid():
  22. username = result.cleaned_data['cfisc']
  23. pin = result.cleaned_data['passs']
  24. #verifica corrispondenza utente
  25. u = None
  26. try:
  27. # verifica che esista un utente ordinario
  28. u = Utente.objects.get(codicefiscale=username.upper())
  29. except Utente.DoesNotExist as dne:
  30. print("non ci provare")
  31. u = None
  32. if u: #utente esiste
  33. if u.pin.strip()== pin:
  34. # password valida
  35. data = dict()
  36. data['u'] = u
  37. #data['settings'] = settings
  38. #data['static'] = static
  39. request.session['UserId'] = u.id
  40. print('utente validato:',u.nome)
  41. setLog(1,utente=u)
  42. #setNewLog(1,{'u':u.nome})
  43. return HttpResponseRedirect(reverse("utente:download"))
  44. else: # l'utente ordinario non esiste
  45. print('verifica amministratore')
  46. user = authenticate(username=username.strip().lower(),password=pin.strip())
  47. if user:
  48. request.session['AdminId'] = user.id
  49. setLog(1,amministratore=user)
  50. #setNewLog(2,{'a':user.username})
  51. return HttpResponseRedirect(reverse("azienda:welcome"))
  52. else:
  53. temp={}
  54. temp['cfisc'] = ''
  55. temp['passs'] = ''
  56. result = LoginUser(temp)
  57. data['login'] = result
  58. return render(request,'login.html',data)