| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485 |
- 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)
- 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 formUpdatePassword(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)
- 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")
|