@ -299,6 +299,11 @@ class ResetPasswordForm(forms.Form):
email = forms . EmailField ( max_length = 255 )
email = forms . EmailField ( max_length = 255 )
class ResendConfirmationEmailForm ( forms . Form ) :
""" Formulaire de renvoie du mail de confirmation """
pass
class MassArchiveForm ( forms . Form ) :
class MassArchiveForm ( forms . Form ) :
""" Formulaire d ' archivage des users inactif. Prend en argument
""" Formulaire d ' archivage des users inactif. Prend en argument
du formulaire la date de depart avant laquelle archiver les
du formulaire la date de depart avant laquelle archiver les
@ -344,6 +349,7 @@ class AdherentForm(FormRevMixin, FieldPermissionFormMixin, ModelForm):
self . fields [ " room " ] . label = _ ( " Room " )
self . fields [ " room " ] . label = _ ( " Room " )
self . fields [ " room " ] . empty_label = _ ( " No room " )
self . fields [ " room " ] . empty_label = _ ( " No room " )
self . fields [ " school " ] . empty_label = _ ( " Select a school " )
self . fields [ " school " ] . empty_label = _ ( " Select a school " )
self . initial [ " email " ] = kwargs [ " instance " ] . email
class Meta :
class Meta :
model = Adherent
model = Adherent
@ -390,6 +396,22 @@ class AdherentForm(FormRevMixin, FieldPermissionFormMixin, ModelForm):
remove_user_room ( room )
remove_user_room ( room )
return
return
def save ( self , commit = True ) :
""" On met à jour l ' état de l ' utilisateur en fonction de son mail """
user = super ( AdherentForm , self ) . save ( commit = False )
if user . email != self . initial [ " email " ] :
# Send a confirmation email
if user . state in [ User . STATE_ACTIVE , User . STATE_DISABLED , User . STATE_NOT_YET_ACTIVE , User . STATE_EMAIL_NOT_YET_CONFIRMED ] :
user . state = User . STATE_EMAIL_NOT_YET_CONFIRMED
user . confirm_email_address_mail ( )
# Always keep the oldest change date
if user . email_change_date is None :
user . email_change_date = timezone . now ( )
return user
class AdherentCreationForm ( AdherentForm ) :
class AdherentCreationForm ( AdherentForm ) :
""" Formulaire de création d ' un user.
""" Formulaire de création d ' un user.