forms.py 3.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  1. from django import forms
  2. from config.views import getConfig
  3. from utente.models import Utente
  4. from amministratore.models import Amministratore
  5. class formUtente(forms.Form):
  6. def __init__(self,*args,**kwargs):
  7. forms.Form.__init__(self,*args,**kwargs)
  8. self.fields['codicefiscale'] = forms.CharField(required=True)
  9. self.fields['nome'] = forms.CharField(required=True)
  10. self.fields['datanascita'] = forms.DateField(required=False) #,input_formats=['%d/%m/%Y',])
  11. self.fields['luogonascita'] = forms.CharField(required=False)
  12. self.fields['mail'] = forms.CharField(required=False)
  13. self.fields['CancellaUtente'] = forms.BooleanField(required=False)
  14. self.fields['pin'] = forms.CharField(required=True)
  15. class formPinMail(forms.Form):
  16. def __init__(self,*args,**kwargs):
  17. forms.Form.__init__(self,*args,**kwargs)
  18. self.fields['mail'] = forms.CharField(required=False)
  19. self.fields['pin'] = forms.CharField(required=True)
  20. class formUpdatePassword(forms.Form):
  21. def __init__(self,*args,**kwargs):
  22. forms.Form.__init__(self,*args,**kwargs)
  23. self.fields['cfisc'] = forms.CharField(required=True)
  24. self.fields['uuid'] = forms.CharField(required=True)
  25. self.fields['pin0'] = forms.CharField(required=True)
  26. self.fields['pin1'] = forms.CharField(required=True)
  27. self.fields['pin2'] = forms.CharField(required=True)
  28. class formUpdatePasswordLogin(forms.Form):
  29. def __init__(self,*args,**kwargs):
  30. forms.Form.__init__(self,*args,**kwargs)
  31. self.fields['cfisc'] = forms.CharField(required=True)
  32. self.fields['uuid'] = forms.CharField(required=True)
  33. self.fields['pin1'] = forms.CharField(required=True)
  34. self.fields['pin2'] = forms.CharField(required=True)
  35. def clean_pin1(self):
  36. print(dir(self))
  37. # validazione password
  38. if self.data['pin1'] != self.data['pin2']:
  39. # password non corrispondente
  40. raise forms.ValidationError("Le due password devono essere uguali")
  41. if self.data['pin1'] == self.data['cfisc']:
  42. # nome uguale a login
  43. raise forms.ValidationError("La password non puo' essere uguale al login")
  44. if len(self.data['pin1']) < int(getConfig('PasswordMin')):
  45. # lunghezza minima della password
  46. raise forms.ValidationError("Password troppo corta")
  47. return self.data['pin1']
  48. def clean_uuid(self):
  49. a = None
  50. d = None
  51. login = self.data['cfisc']
  52. # 1 tentativo su codice fiscale
  53. try:
  54. a = Utente.objects.get(codicefiscale=login.upper())
  55. d = 'u'
  56. except Utente.DoesNotExist as dne:
  57. print('informazione non trovata tra i codici fiscali utente')
  58. try:
  59. a = Utente.objects.get(mail=login.lower())
  60. d = 'u'
  61. except Utente.DoesNotExist as dne:
  62. print('informazione non trovata tra le email')
  63. try:
  64. a = Amministratore.objects.get(login=login.lower())
  65. d = 'a'
  66. except Amministratore.DoesNotExist as dne:
  67. print('informazione non trovata tra i login amministratotore')
  68. if not a:
  69. raise forms.ValidationError("UUID Non Validato")
  70. else:
  71. if a.uuid == self.data['uuid']:
  72. return self.data['uuid']
  73. raise forms.ValidationError("UUID non valido o scaduto")