Exemple #1
0
def change_password(request):
    """Change password user"""
    profile = request.user.profile
    if request.method == 'POST':
        form = ChangePasswordForm(request.POST)
        if form.is_valid():
            data = form.cleaned_data
            user = request.user
            if data['new_password'] == data['retry_password']:
                is_chequed = user.check_password(data['current_password'])
                if is_chequed:
                    user.set_password(data['new_password'])
                    user.save()
                    return redirect('profile_view')
                else:
                    return render(request, 'users/change_password.html',
                                  {'error': 'Invalid password'})
            else:
                return render(request, 'users/change_password.html',
                              {'error': 'New password does not match'})
    else:
        form = ChangePasswordForm()

    return render(request=request,
                  template_name='users/change_password.html',
                  context={
                      'profile': profile,
                      'user': request.user,
                      'form': form
                  })
Exemple #2
0
def _set_psw(request):
    if request.method == 'POST':
        form = ChangePasswordForm(user=request.user, data=request.POST)
        if form.is_valid():
            form.save()
            return render_to_response('users/change_psw_done.html', {})
        else:
            return TemplateResponse(request, 'users/setting_psw.html',
                                    {'form': form})
    form = ChangePasswordForm(user=request.user)
    return TemplateResponse(request, 'users/setting_psw.html', {'form': form})
Exemple #3
0
def change_password(request, args):
    """
    Change the user's password
    """
    form = ChangePasswordForm(request.POST or None, user=request.user)

    password_changed = False

    if form.is_valid():
        cleaned_data = form.cleaned_data

        request.user.set_password(cleaned_data["new_password"])
        request.user.save()

        # Session auth hash needs to be updated after changing the password
        # or the user will be logged out
        update_session_auth_hash(request, request.user)

        password_changed = True

    args["form"] = form
    args["password_changed"] = password_changed

    return render(request,
                  "users/settings/change_password/change_password.html", args)
Exemple #4
0
def change_password(request):
    form = ChangePasswordForm()
    error = ''
    if request.method == 'POST':
        old_password = request.POST.get('old_password')
        new_password1 = request.POST.get('new_password1')
        new_password2 = request.POST.get('new_password2')
        user = auth.authenticate(username=request.user, password=old_password)
        if user is not None:
            if new_password1 == new_password2:
                if len(new_password1) >= 6:
                    user = auth.get_user(request)
                    user.set_password(new_password2)
                    user.save()
                    return HttpResponseRedirect(reverse('index'))
                else:
                    error = u'新密码长度小于6位'
            else:
                error = u'两次输入不匹配'
        else:
            error = u'原密码错误'
        return render_to_response('users/change_password.html', locals(),
                                  RequestContext(request))
    else:
        return render_to_response('users/change_password.html', locals(),
                                  RequestContext(request))
Exemple #5
0
 def post(self, request):
     form = ChangePasswordForm(request.POST)
     if form.is_valid():
         context = form.change_pass(request)
     else:
         error = form.errors.as_text()
         context = {'status': 2, 'msg': error}
     return HttpResponse(json.dumps(context))
Exemple #6
0
def change_password():
    identity = get_jwt_identity()
    user = User.query.filter_by(Email=identity).first()
    form = ChangePasswordForm()
    if not user.check_password(form.old_password.data):
        return {'error': 'Old password does not match.'}, 403
    if not form.validate_on_submit():
        return {'errors': form.errors}, 400
    user.set_password(form.new_password.data)
    db.session.commit()
    return {}, 204
Exemple #7
0
 def post(self, request, *args, **kwargs):
     error, errors = "", ""
     form = ChangePasswordForm(request.POST)
     if form.is_valid():
         user = request.user
         if not check_password(request.POST.get('CurrentPassword'), user.password):
             error = "Invalid old password"
         else:
             user.set_password(request.POST.get('Newpassword'))
             user.is_active = True
             user.save()
             return HttpResponseRedirect('/')
     else:
         errors = form.errors
     return render(request, "change_password.html", {'error': error, 'errors': errors})
def new_password(request, token):
    try:
        payload = jwt.decode(token, settings.SECRET_KEY, algorithms=['HS256'])
        if request.method == 'POST':
            form = ChangePasswordForm(request.POST)
            if form.is_valid():
                password = form.cleaned_data['password']
                user = User.objects.get(username=payload['username'])
                user.set_password(password)
                user.save()
                messages.success(
                    request, 'Your password has been changed successfully!')
                return redirect('users:login')
        else:
            form = ChangePasswordForm()
        return render(request, 'users/new_password.html', {
            'username': payload['username'],
            'form': form
        })
    except jwt.ExpiredSignatureError:
        messages.error(request, 'Your password reset token has been expired.')
    except jwt.InvalidTokenError:
        messages.error(request, 'Your password reset token is invalid.')
    return redirect('users:password-reset')
Exemple #9
0
    def put(self, request, *args, **kwargs):
        """
        修改密码
        """
        form = ChangePasswordForm(request.data)
        if not form.is_valid():
            return Response(form.errors, status=status.HTTP_400_BAD_REQUEST)

        obj = BusinessUser.get_object(**{'pk': request.user.id})
        serializer = UserSerializer(obj)
        try:
            serializer.update_password(obj, form.cleaned_data)
        except Exception as e:
            return Response({'Error': e.args},
                            status=status.HTTP_400_BAD_REQUEST)

        serializer_response = UserInstanceSerializer(obj)
        return Response(serializer_response.data,
                        status=status.HTTP_206_PARTIAL_CONTENT)
Exemple #10
0
 def post(self, request):
     form = ChangePasswordForm(request.POST)
     if form.is_valid():
         form.save()
         return redirect('/home/')
     return Response({'form': form}, status=status.HTTP_200_OK)
Exemple #11
0
 def get(self, request):
     form = ChangePasswordForm()
     return Response({'form': form})