Esempio n. 1
0
def settings_change_password(request):
    if request.method == "POST":
        change_password_form = PasswordChangeForm(request.user, request.POST)
        if change_password_form.is_valid():
            change_password_form.save()
            update_session_auth_hash(
                request, request.user)  # Updates the current session
            messages.success(request, "Password succesfully changed!")
        else:
            errors = ",".join(
                map(lambda err: str(err[0]),
                    change_password_form.errors.values()))
            messages.add_message(
                request,
                messages.ERROR,
                change_password_form.non_field_errors().as_text() + errors,
            )
        return redirect("user_settings")
    else:
        raise Http404