diff --git a/users/forms.py b/users/forms.py index 0a17df8b..383ef9e8 100644 --- a/users/forms.py +++ b/users/forms.py @@ -422,12 +422,19 @@ class ServiceUserForm(FormRevMixin, ModelForm): class Meta: model = ServiceUser - fields = ('pseudo', 'access_group') + fields = ('pseudo', 'access_group','comment') def __init__(self, *args, **kwargs): prefix = kwargs.pop('prefix', self.Meta.model.__name__) super(ServiceUserForm, self).__init__(*args, prefix=prefix, **kwargs) + def save(self, commit=True): + """Changement du mot de passe""" + user = super(ServiceUserForm, self).save(commit=False) + if self.cleaned_data['password']: + user.set_password(self.cleaned_data.get("password")) + user.save() + class EditServiceUserForm(ServiceUserForm): """Formulaire d'edition de base d'un service user. Ne permet diff --git a/users/views.py b/users/views.py index 2614cb9c..dd898946 100644 --- a/users/views.py +++ b/users/views.py @@ -300,12 +300,10 @@ def new_serviceuser(request): """ Vue de création d'un nouvel utilisateur service""" user = ServiceUserForm(request.POST or None) if user.is_valid(): - user_object = user.save(commit=False) - user_object.set_password(user.cleaned_data['password']) - user_object.save() + user.save() messages.success( request, - "L'utilisateur %s a été crée" % user_object.pseudo + "L'utilisateur a été crée" ) return redirect(reverse('users:index-serviceusers')) return form( @@ -324,11 +322,8 @@ def edit_serviceuser(request, serviceuser, **_kwargs): instance=serviceuser ) if serviceuser.is_valid(): - user_object = serviceuser.save(commit=False) - if serviceuser.cleaned_data['password']: - user_object.set_password(serviceuser.cleaned_data['password']) if serviceuser.changed_data: - user_object.save() + serviceuser.save() messages.success(request, "L'user a bien été modifié") return redirect(reverse('users:index-serviceusers')) return form( @@ -344,7 +339,7 @@ def del_serviceuser(request, serviceuser, **_kwargs): """Suppression d'un ou plusieurs serviceusers""" if request.method == "POST": serviceuser.delete() - messages.success(request, "L'user a été détruite") + messages.success(request, "L'user a été détruit") return redirect(reverse('users:index-serviceusers')) return form( {'objet': serviceuser, 'objet_name': 'serviceuser'},