def password_policy_form(request): if request.POST: form = ActorPasswordForm(request.POST) if form.is_valid(): password_old = form.cleaned_data['password_old'] if request.user.actor.check_password(password_old) is not True: form.errors['password_old'] = _(u'Das eingegebene Passwort ist nicht das aktuelle.') else: request.user.actor.set_password(form.cleaned_data['password_1']) messages.success(request, _(u'Dein Passwort wurde erfolgreich geändert. Bitte melde dich nun neu an.')) return redirect('logout') else: form = ActorPasswordForm() return render(request, 'backstage/password-policy-form.html', get_context_backstage(request, 'password-policy-form', {'form': form}))
def actor_password_form(request): form = ActorPasswordForm() form_recovery = ActorRecoverPasswordForm(initial={'recovery_email': request.user.actor.password_recovery_email}) if request.POST: if 'set_password' == request.POST.get('action'): form = ActorPasswordForm(request.POST) if form.is_valid(): password_old = form.cleaned_data['password_old'] if request.user.actor.check_password(password_old) is not True: form.errors['password_old'] = _(u'Das eingegebene Passwort ist nicht das aktuelle.') else: request.user.actor.set_password(form.cleaned_data['password_1']) messages.success(request, _(u'Dein Passwort wurde erfolgreich geändert. Bitte melde dich nun neu an.')) return redirect('logout') elif 'set_recovery' == request.POST.get('action'): form_recovery = ActorRecoverPasswordForm(request.POST) if form_recovery.is_valid(): password_old = form_recovery.cleaned_data['password_old'] if request.user.actor.check_password(password_old) is not True: form_recovery.errors['password_old'] = _(u'Das eingegebene Passwort ist nicht das aktuelle.') if request.user.email == form_recovery.cleaned_data['recovery_email']: form_recovery.errors['recovery_email'] = _( u'Das darf nicht deine normale E-Mail-Adresse sein. Bitte verwende eine andere.') if not form_recovery.errors: request.user.actor.invoke_recovery_email_confirmation(request, form_recovery.cleaned_data['recovery_email']) messages.success(request, _( u'Dir wurde eine E-Mail an {email} gesendet. Bitte klicke auf den Link in dieser E-Mail um ' u'deine E-Mail-Adresse zu bestätigen. Erst dann kannst du sie zur Passwort-Wiederherstellung ' u'verwendet.'.format(email=request.user.actor.password_recovery_email_new))) c = { 'form': form, 'form_recovery': form_recovery } return render(request, 'backstage/actor-password-form.html', get_context_backstage(request, 'actor-password-form', c))