forms.py 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101
  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. self.fields['primologin'] = forms.BooleanField(required=False)
  16. self.fields['sede'] = forms.IntegerField(required=False)
  17. class formPinMail(forms.Form):
  18. def __init__(self,*args,**kwargs):
  19. forms.Form.__init__(self,*args,**kwargs)
  20. self.fields['mail'] = forms.CharField(required=False)
  21. self.fields['pin'] = forms.CharField(required=True)
  22. class formUpdatePasswordPrimoLogin(forms.Form):
  23. def __init__(self,*args,**kwargs):
  24. forms.Form.__init__(self,*args,**kwargs)
  25. self.fields['cfisc'] = forms.CharField(required=True)
  26. self.fields['uuid'] = forms.CharField(required=True)
  27. self.fields['pin0'] = forms.CharField(required=True)
  28. self.fields['pin1'] = forms.CharField(required=True)
  29. self.fields['pin2'] = forms.CharField(required=True)
  30. self.fields['lostpin'] = forms.CharField(required=False)
  31. def clean_pin1(self):
  32. print(dir(self))
  33. # validazione password
  34. if self.data['pin1'] != self.data['pin2']:
  35. # password non corrispondente
  36. raise forms.ValidationError("Le due password devono essere uguali")
  37. if self.data['pin1'] == self.data['cfisc']:
  38. # nome uguale a login
  39. raise forms.ValidationError("La password non puo' essere uguale al login")
  40. if len(self.data['pin1']) < int(getConfig('PasswordMin')):
  41. # lunghezza minima della password
  42. raise forms.ValidationError("Password troppo corta")
  43. return self.data['pin1']
  44. class formUpdatePasswordLogin(forms.Form):
  45. def __init__(self,*args,**kwargs):
  46. forms.Form.__init__(self,*args,**kwargs)
  47. self.fields['cfisc'] = forms.CharField(required=True)
  48. self.fields['uuid'] = forms.CharField(required=True)
  49. self.fields['pin1'] = forms.CharField(required=True)
  50. self.fields['pin2'] = forms.CharField(required=True)
  51. def clean_pin1(self):
  52. print(dir(self))
  53. # validazione password
  54. if self.data['pin1'] != self.data['pin2']:
  55. # password non corrispondente
  56. raise forms.ValidationError("Le due password devono essere uguali")
  57. if self.data['pin1'] == self.data['cfisc']:
  58. # nome uguale a login
  59. raise forms.ValidationError("La password non puo' essere uguale al login")
  60. if len(self.data['pin1']) < int(getConfig('PasswordMin')):
  61. # lunghezza minima della password
  62. raise forms.ValidationError("Password troppo corta")
  63. return self.data['pin1']
  64. def clean_uuid(self):
  65. a = None
  66. d = None
  67. login = self.data['cfisc']
  68. # 1 tentativo su codice fiscale
  69. try:
  70. a = Utente.objects.get(codicefiscale=login.upper())
  71. d = 'u'
  72. except Utente.DoesNotExist as dne:
  73. print('informazione non trovata tra i codici fiscali utente')
  74. try:
  75. a = Utente.objects.get(mail=login.lower())
  76. d = 'u'
  77. except Utente.DoesNotExist as dne:
  78. print('informazione non trovata tra le email')
  79. try:
  80. a = Amministratore.objects.get(login=login.lower())
  81. d = 'a'
  82. except Amministratore.DoesNotExist as dne:
  83. print('informazione non trovata tra i login amministratotore')
  84. if not a:
  85. raise forms.ValidationError("UUID Non Validato")
  86. else:
  87. if a.uuid == self.data['uuid']:
  88. return self.data['uuid']
  89. raise forms.ValidationError("UUID non valido o scaduto")