forms.py 5.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126
  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['forzanuovapassword'] = forms.BooleanField(required=False)
  16. self.fields['cambiopassword'] = forms.BooleanField(required=False)
  17. self.fields['forzanuovapassword'] = forms.BooleanField(required=False)
  18. self.fields['otppassword'] = forms.BooleanField(required=False)
  19. self.fields['sede'] = forms.IntegerField(required=False)
  20. self.fields['enabled'] = forms.BooleanField(required=False)
  21. class formPinMail(forms.Form):
  22. def __init__(self,*args,**kwargs):
  23. forms.Form.__init__(self,*args,**kwargs)
  24. self.fields['mail'] = forms.CharField(required=False)
  25. self.fields['pin'] = forms.CharField(required=True)
  26. class formUpdatePasswordPrimoLogin(forms.Form):
  27. def __init__(self,*args,**kwargs):
  28. forms.Form.__init__(self,*args,**kwargs)
  29. self.fields['cfisc'] = forms.CharField(required=True)
  30. self.fields['uuid'] = forms.CharField(required=True)
  31. self.fields['pin0'] = forms.CharField(required=True)
  32. self.fields['pin1'] = forms.CharField(required=True)
  33. self.fields['pin2'] = forms.CharField(required=True)
  34. self.fields['lostpin'] = forms.CharField(required=False)
  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. class formUpdatePasswordLogin(forms.Form):
  49. def __init__(self,*args,**kwargs):
  50. forms.Form.__init__(self,*args,**kwargs)
  51. self.fields['cfisc'] = forms.CharField(required=True)
  52. self.fields['uuid'] = forms.CharField(required=True)
  53. self.fields['pin1'] = forms.CharField(required=True)
  54. self.fields['pin2'] = forms.CharField(required=True)
  55. def clean_pin1(self):
  56. print(dir(self))
  57. # validazione password
  58. if self.data['pin1'] != self.data['pin2']:
  59. # password non corrispondente
  60. raise forms.ValidationError("Le due password devono essere uguali")
  61. if self.data['pin1'] == self.data['cfisc']:
  62. # nome uguale a login
  63. raise forms.ValidationError("La password non puo' essere uguale al login")
  64. if len(self.data['pin1']) < int(getConfig('PasswordMin')):
  65. # lunghezza minima della password
  66. raise forms.ValidationError("Password troppo corta")
  67. return self.data['pin1']
  68. def clean_uuid(self):
  69. a = None
  70. d = None
  71. login = self.data['cfisc']
  72. # 1 tentativo su codice fiscale
  73. try:
  74. a = Utente.objects.get(codicefiscale=login.upper())
  75. d = 'u'
  76. except Utente.DoesNotExist as dne:
  77. print('informazione non trovata tra i codici fiscali utente')
  78. try:
  79. a = Utente.objects.get(mail=login.lower())
  80. d = 'u'
  81. except Utente.DoesNotExist as dne:
  82. print('informazione non trovata tra le email')
  83. try:
  84. a = Amministratore.objects.get(login=login.lower())
  85. d = 'a'
  86. except Amministratore.DoesNotExist as dne:
  87. print('informazione non trovata tra i login amministratotore')
  88. if not a:
  89. raise forms.ValidationError("UUID Non Validato")
  90. else:
  91. if a.uuid == self.data['uuid']:
  92. return self.data['uuid']
  93. raise forms.ValidationError("UUID non valido o scaduto")
  94. class formCancellaUtente(forms.Form):
  95. def __init__(self,*args,**kwargs):
  96. forms.Form.__init__(self,*args,**kwargs)
  97. self.fields['ConfermaCancellazioneUtente'] = forms.BooleanField(required=False,initial=False)
  98. class formIndiceUpload(forms.Form):
  99. def __init__(self,*args,**kwargs):
  100. forms.Form.__init__(self,*args,**kwargs)
  101. self.fields['indice'] = forms.FileField(required=True,initial='')
  102. class formMultipleCheckBox(forms.Form):
  103. choices = [(0,0),]
  104. def __init__(self,*args,**kwargs):
  105. forms.Form.__init__(self,*args,**kwargs)
  106. self.fields['select'] = forms.MultipleChoiceField(required=False,widget=forms.CheckboxSelectMultiple(),choices=self.choices)
  107. def c(self,lista):
  108. for u in lista:
  109. self.choices.append((u.id,u.id),)
  110. print('choices',self.choices)