Пример #1
0
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}))
Пример #2
0
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))