| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100 |
- from django import forms
- from config.views import getConfig
- from utente.models import Utente
- from amministratore.models import Amministratore
- class formUtente(forms.Form):
- def __init__(self,*args,**kwargs):
- forms.Form.__init__(self,*args,**kwargs)
- self.fields['codicefiscale'] = forms.CharField(required=True)
- self.fields['nome'] = forms.CharField(required=True)
- self.fields['datanascita'] = forms.DateField(required=False) #,input_formats=['%d/%m/%Y',])
- self.fields['luogonascita'] = forms.CharField(required=False)
- self.fields['mail'] = forms.CharField(required=False)
- self.fields['CancellaUtente'] = forms.BooleanField(required=False)
- self.fields['pin'] = forms.CharField(required=True)
- self.fields['primologin'] = forms.BooleanField(required=False)
- class formPinMail(forms.Form):
- def __init__(self,*args,**kwargs):
- forms.Form.__init__(self,*args,**kwargs)
- self.fields['mail'] = forms.CharField(required=False)
- self.fields['pin'] = forms.CharField(required=True)
- class formUpdatePasswordPrimoLogin(forms.Form):
- def __init__(self,*args,**kwargs):
- forms.Form.__init__(self,*args,**kwargs)
- self.fields['cfisc'] = forms.CharField(required=True)
- self.fields['uuid'] = forms.CharField(required=True)
- self.fields['pin0'] = forms.CharField(required=True)
- self.fields['pin1'] = forms.CharField(required=True)
- self.fields['pin2'] = forms.CharField(required=True)
- self.fields['lostpin'] = forms.CharField(required=False)
- def clean_pin1(self):
- print(dir(self))
- # validazione password
- if self.data['pin1'] != self.data['pin2']:
- # password non corrispondente
- raise forms.ValidationError("Le due password devono essere uguali")
- if self.data['pin1'] == self.data['cfisc']:
- # nome uguale a login
- raise forms.ValidationError("La password non puo' essere uguale al login")
- if len(self.data['pin1']) < int(getConfig('PasswordMin')):
- # lunghezza minima della password
- raise forms.ValidationError("Password troppo corta")
- return self.data['pin1']
- class formUpdatePasswordLogin(forms.Form):
- def __init__(self,*args,**kwargs):
- forms.Form.__init__(self,*args,**kwargs)
- self.fields['cfisc'] = forms.CharField(required=True)
- self.fields['uuid'] = forms.CharField(required=True)
- self.fields['pin1'] = forms.CharField(required=True)
- self.fields['pin2'] = forms.CharField(required=True)
- def clean_pin1(self):
- print(dir(self))
- # validazione password
- if self.data['pin1'] != self.data['pin2']:
- # password non corrispondente
- raise forms.ValidationError("Le due password devono essere uguali")
- if self.data['pin1'] == self.data['cfisc']:
- # nome uguale a login
- raise forms.ValidationError("La password non puo' essere uguale al login")
-
- if len(self.data['pin1']) < int(getConfig('PasswordMin')):
- # lunghezza minima della password
- raise forms.ValidationError("Password troppo corta")
- return self.data['pin1']
- def clean_uuid(self):
- a = None
- d = None
- login = self.data['cfisc']
- # 1 tentativo su codice fiscale
- try:
- a = Utente.objects.get(codicefiscale=login.upper())
- d = 'u'
- except Utente.DoesNotExist as dne:
- print('informazione non trovata tra i codici fiscali utente')
- try:
- a = Utente.objects.get(mail=login.lower())
- d = 'u'
- except Utente.DoesNotExist as dne:
- print('informazione non trovata tra le email')
- try:
- a = Amministratore.objects.get(login=login.lower())
- d = 'a'
- except Amministratore.DoesNotExist as dne:
- print('informazione non trovata tra i login amministratotore')
- if not a:
- raise forms.ValidationError("UUID Non Validato")
- else:
- if a.uuid == self.data['uuid']:
- return self.data['uuid']
- raise forms.ValidationError("UUID non valido o scaduto")
|