8
0
Fork 0
mirror of https://gitlab2.federez.net/re2o/re2o synced 2025-02-16 20:47:56 +00:00

Mot de passe à l'inscription

This commit is contained in:
Yoann Pétri 2018-07-15 17:53:14 +02:00 committed by root
parent 01475bd786
commit 85d5c4f980
3 changed files with 31 additions and 9 deletions

View file

@ -295,6 +295,14 @@ class AdherentForm(FormRevMixin, FieldPermissionFormMixin, ModelForm):
"""Formulaire de base d'edition d'un user. Formulaire de base, utilisé
pour l'edition de self par self ou un cableur. On formate les champs
avec des label plus jolis"""
password1 = forms.CharField(widget=forms.PasswordInput, required=False)
password2 = forms.CharField(widget=forms.PasswordInput, required=False)
force = forms.BooleanField(
label="Forcer le déménagement ?",
initial=False,
required=False
)
def __init__(self, *args, **kwargs):
prefix = kwargs.pop('prefix', self.Meta.model.__name__)
super(AdherentForm, self).__init__(*args, prefix=prefix, **kwargs)
@ -305,6 +313,9 @@ class AdherentForm(FormRevMixin, FieldPermissionFormMixin, ModelForm):
self.fields['room'].label = 'Chambre'
self.fields['room'].empty_label = "Pas de chambre"
self.fields['school'].empty_label = "Séléctionner un établissement"
self.fields['password1'].label = 'Mot de passe'
self.fields['password2'].label = 'Mot de passe (répétez)'
self.fields['password2'].help_text = 'Laisser les champs mot de passe vide pour envoyer un mail d\'initialisation'
class Meta:
model = Adherent
@ -330,11 +341,16 @@ class AdherentForm(FormRevMixin, FieldPermissionFormMixin, ModelForm):
)
return telephone
force = forms.BooleanField(
label="Forcer le déménagement ?",
initial=False,
required=False
)
def clean_password2(self):
"""Vérifie si les mots de passe sont identiques"""
password1 = self.cleaned_data['password1']
password2 = self.cleaned_data['password2']
if(password1 != password2):
raise forms.ValidationError(
"Les mots de passe sont différents"
)
return password2
def clean_force(self):
"""On supprime l'ancien user de la chambre si et seulement si la

View file

@ -414,7 +414,7 @@ class User(RevMixin, FieldPermissionModelMixin, AbstractBaseUser,
def has_access(self):
""" Renvoie si un utilisateur a accès à internet """
if(OptionalUser.get_cached_value('mail_verification') and not self.verified and self.verification_deadline is not None and datetime.now() > self.verification_deadline):
if(OptionalUser.get_cached_value('mail_verification') and not self.verified and self.verification_deadline is not None and datetime.datetime.now() > self.verification_deadline):
verified = False
else:
verified = True

View file

@ -111,11 +111,17 @@ def new_user(request):
GTU_sum_up = GeneralOption.get_cached_value('GTU_sum_up')
GTU = GeneralOption.get_cached_value('GTU')
if user.is_valid():
password = user.cleaned_data['password2']
user = user.save(commit=False)
user.save()
user.reset_passwd_mail(request)
messages.success(request, "L'utilisateur %s a été crée, un mail\
pour l'initialisation du mot de passe a été envoyé" % user.pseudo)
if(password != ""):
user.set_password(password)
user.save()
messages.success(request, "L'utilisateur %s a été créé" % user.pseudo)
else:
user.reset_passwd_mail(request)
messages.success(request, "L'utilisateur %s a été crée, un mail\
pour l'initialisation du mot de passe a été envoyé" % user.pseudo)
return redirect(reverse(
'users:profil',
kwargs={'userid': str(user.id)}