from django.shortcuts import render from django.http import HttpResponse,HttpResponseRedirect,FileResponse from django.urls import reverse from .forms import * from config.views import getConfig from utente.models import * from django.contrib.auth import authenticate import django from att.views import * def start(request): ''' da qui si comincia l'utente e' invitato a inserire il suo codice fiscale e la password/pin assegnata in fase di visita medica se i dati corrispondono, si forniscono i file e alcune info di servizio ''' request.session.flush() request.session.set_expiry(3600) data = dict() data['HeaderTitle'] = getConfig('HeaderTitle') if request.method=="POST": result = LoginUser(request.POST) if result.is_valid(): username = result.cleaned_data['cfisc'] pin = result.cleaned_data['passs'] #verifica corrispondenza utente u = None try: # verifica che esista un utente ordinario u = Utente.objects.get(codicefiscale=username.upper()) except Utente.DoesNotExist as dne: print("non ci provare") u = None if u: #utente esiste if u.pin.strip()== pin: # password valida data = dict() data['u'] = u #data['settings'] = settings #data['static'] = static request.session['UserId'] = u.id print('utente validato:',u.nome) setLog(1,utente=u) #setNewLog(1,{'u':u.nome}) return HttpResponseRedirect(reverse("utente:download")) else: # l'utente ordinario non esiste print('verifica amministratore') user = authenticate(username=username.strip().lower(),password=pin.strip()) if user: if isinstance(user,django.contrib.auth.models.User): print('tipo amministratore',type(user)) request.session['AdminId'] = user.id setLog(1,amministratore=user) #setNewLog(2,{'a':user.username}) return HttpResponseRedirect(reverse("azienda:welcome")) else: temp={} temp['cfisc'] = '' temp['passs'] = '' result = LoginUser(temp) data['login'] = result return render(request,'login.html',data)