Example #1
0
    def patch(self, request):

        serializer = ChangePasswordSerializer(data=request.data)

        if serializer.is_valid():

            user = User.objects.get(username=request.user)
            random_number = request.data.get('random_number')
            change_password_token = request.data.get('change_password_token')
            password = serializer.validated_data['password']
            print(change_password_token)

            if passwod_change_token.check_token(user, change_password_token,
                                                random_number):
                user.set_password(password)
                user.save()
                data = {'detail': '비밀번호가 변경되었습니다.'}
                return Response(data, status.HTTP_200_OK)
            else:
                data = {'detail': '인증번호가 일치하지 않습니다.'}
                return Response(data, status=status.HTTP_400_BAD_REQUEST)

        else:
            return Response(serializer.errors,
                            status=status.HTTP_400_BAD_REQUEST)
Example #2
0
def user_phone_number_change(request, uidb64, token, phone_number):

    random_number = request.POST.get('send_number')

    try:
        uid = force_text(urlsafe_base64_decode(uidb64.encode('utf-8')))
        phone_number = force_text(
            urlsafe_base64_decode(phone_number.encode('utf-8')))
        user = User.objects.get(pk=uid)

    except (TypeError.ValueError, OverflowError, User.DoesNotExist):
        user = None

    try:
        if user is not None and passwod_change_token.check_token(
                user, token, random_number):
            user.phone_number = phone_number
            user.save()
            return render(request,
                          'members/user_info_change_succeed_page.html')
        else:
            return render(request, 'members/user_info_change_fail_page.html')

    except Exception as e:
        print(traceback.format_exc())
Example #3
0
    def patch(self, request):

        serializer = ChangeEmailSerializer(data=request.data)

        if serializer.is_valid():

            user = User.objects.get(username=request.user)
            random_number = request.data.get('random_number')
            change_email_token = request.data.get('change_email_token')
            email = serializer.validated_data['email']

            if passwod_change_token.check_token(user, change_email_token,
                                                random_number):
                user.email = email
                user.save()
                data = {'detail': '이메일이 변경되었습니다.'}
                return Response(data, status.HTTP_200_OK)
            else:
                data = {'detail': '인증번호가 일치하지 않습니다.'}
                return Response(data, status=status.HTTP_400_BAD_REQUEST)

        else:
            return Response(serializer.errors,
                            status=status.HTTP_400_BAD_REQUEST)