From f22a45af946f7daca9e5b4a54bfe15a3ed6913be Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=8E=E5=BC=BA?= <1206709430@qq.com> Date: Sun, 21 Aug 2022 10:10:41 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8DBUG:=20=E5=AF=86=E7=A0=81?= =?UTF-8?q?=E4=BF=AE=E6=94=B9=E8=B6=8A=E6=9D=83bug=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- backend/dvadmin/system/views/user.py | 18 +++++++----------- 1 file changed, 7 insertions(+), 11 deletions(-) diff --git a/backend/dvadmin/system/views/user.py b/backend/dvadmin/system/views/user.py index 5ee5fcc..3fb99cb 100644 --- a/backend/dvadmin/system/views/user.py +++ b/backend/dvadmin/system/views/user.py @@ -272,22 +272,18 @@ class UserViewSet(CustomModelViewSet): @action(methods=["PUT"], detail=True, permission_classes=[IsAuthenticated]) def change_password(self, request, *args, **kwargs): """密码修改""" - instance = Users.objects.filter(id=kwargs.get("pk")).first() data = request.data old_pwd = data.get("oldPassword") new_pwd = data.get("newPassword") new_pwd2 = data.get("newPassword2") - if instance: - if new_pwd != new_pwd2: - return ErrorResponse(msg="两次密码不匹配") - elif instance.check_password(old_pwd): - instance.password = make_password(new_pwd) - instance.save() - return DetailResponse(data=None, msg="修改成功") - else: - return ErrorResponse(msg="旧密码不正确") + if new_pwd != new_pwd2: + return ErrorResponse(msg="两次密码不匹配") + elif request.user.check_password(old_pwd): + request.user.password = make_password(new_pwd) + request.user.save() + return DetailResponse(data=None, msg="修改成功") else: - return ErrorResponse(msg="未获取到用户") + return ErrorResponse(msg="旧密码不正确") @action(methods=["PUT"], detail=True, permission_classes=[IsAuthenticated]) def reset_to_default_password(self, request, *args, **kwargs):