views.py 2.2 KB

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