示例#1
0
 def post(self, request):
     serializer = self.serializer_class(data=request.data)
     if not serializer.is_valid():
         return simple_response(code=error_code.ERR_SERIALIZER_ERROR[0],
                                message=serializer.errors)
     return simple_response(code=error_code.SUCCESS,
                            message="successfully reset password")
示例#2
0
    def post(self, request):
        serializer = self.serializer_class(data=request.data)
        if not serializer.is_valid():
            return simple_response(code=error_code.ERR_SERIALIZER_ERROR[0],
                                   message=serializer.errors)
        try:
            user = User.objects.get(
                username=serializer.validated_data['username'])
        except User.DoesNotExist:
            try:
                user = User.objects.get(
                    cellphone=serializer.validated_data['username'])
            except User.DoesNotExist:
                try:
                    user = User.objects.get(
                        email=serializer.validated_data['username'])
                except User.DoesNotExist:
                    return simple_response(
                        code=error_code.ERR_PARAM_ERROR[0],
                        message=
                        'please enter right username or cellphone or email')

        if not user.check_password(serializer.validated_data['password']):
            return simple_response(code=error_code.ERR_PASSWORD_ERROR[0],
                                   message='password error')

        token = _general_token(user_id=user.id)
        return simple_response(code=error_code.SUCCESS,
                               message='ok',
                               data=token)
示例#3
0
    def post(self, request):
        serializer = self.serializer_class(data=request.data)
        if not serializer.is_valid():
            return simple_response(code=error_code.ERR_SERIALIZER_ERROR[0],
                                   message=serializer.errors)
        c_type = serializer.validated_data['c_type']
        app_id = serializer.validated_data.get('app_id', None)
        account = serializer.validated_data['account']
        code = None  # 标志验证码是否发送成功
        message = None  #标志额外消息
        # generate captcha
        captcha = captcha_generator()
        if account.isdigit():
            # send message
            code = 0
            message = 'ok'

        elif account.count('@') == 1:
            # send email
            pass
        else:
            return simple_response(code=error_code.ERR_SERIALIZER_ERROR,
                                   message="Account info error")
        if code == 0:
            Captcha.objects.create(account=account,
                                   app_id=app_id,
                                   captcha=captcha,
                                   c_type=c_type,
                                   expire_at=datetime.now() +
                                   timedelta(seconds=120))
        return simple_response(code=code, message=message)
示例#4
0
 def post(self, request):
     serializer = self.serializer_class(data=request.data)
     if serializer.is_valid():
         serializer.save()
         return simple_response(code=error_code.SUCCESS,
                                message='create success')
     return simple_response(code=error_code.ERR_SERIALIZER_ERROR[0],
                            message=serializer.errors)
示例#5
0
 def post(self, request):
     serializer = self.serializer_class(data=request.data)
     if not serializer.is_valid():
         return simple_response(code=error_code.ERR_SERIALIZER_ERROR[0],
                                message=serializer.errors)
     token = _refresh_token(serializer.validated_data['refresh_token'])
     return simple_response(code=error_code.SUCCESS,
                            message='refresh token ok',
                            data=token)
示例#6
0
 def post(self, request):
     serializer = self.serializer_class(data=request.data)
     if not serializer.is_valid():
         return simple_response(code=error_code.ERR_SERIALIZER_ERROR[0],
                                message=serializer.errors)
     user = request.user
     if not user.check_password(serializer.validated_data['password']):
         return simple_response(*error_code.ERR_PASSWORD_ERROR)
     else:
         user.set_password(serializer.validated_data['new_password'])
         user.save()
         return simple_response(code=error_code.SUCCESS,
                                message="successfully updated password")
示例#7
0
    def update(self, request, *args, **kwargs):
        partial = kwargs.pop('partial', False)
        instance = self.get_object()
        serializer = self.get_serializer(instance, data=request.data, partial=partial)
        serializer.is_valid(raise_exception=True)
        self.perform_update(serializer)

        if getattr(instance, '_prefetched_objects_cache', None):
            # If 'prefetch_related' has been applied to a queryset, we need to
            # forcibly invalidate the prefetch cache on the instance.
            instance._prefetched_objects_cache = {}

        return simple_response(code=error_code.SUCCESS,
                               message="update support_id=%s ok" %(instance.id), data=serializer.data)
示例#8
0
    def create(self, request, *args, **kwargs):
        image_url = None
        image = self.request.data.get('file')
        # 将文件存储并记录访问地址
        #
        # if image:
        #     file_suffix = image.name.split(".")[1]
        #     cellphone=request.user.cellphone
        #     timestamp = datetime.now().strftime("%Y%m%d%M%H%S")
        #     image_name = "anxin_feeback_collections/{0}-{1}.{2}".format(cellphone, timestamp,file_suffix)
        #     image = bucket.put_object(image_name, image.chunks())
        #     if image.status == 200:
        #         image_url =settings.OSS_DOWNLOAD_URL + image_name

        context = {
            "user": self.request.user,
            "image": image_url
        }
        serializer = self.get_serializer(data=request.data, context=context)
        serializer.is_valid(raise_exception=True)
        self.perform_create(serializer)
        return simple_response(code=error_code.SUCCESS,
                               message='successfully created support')
示例#9
0
 def get(self, request):
     serializer = self.serializer_class(request.user)
     return simple_response(code=error_code.SUCCESS,
                            message='ok',
                            data=serializer.data)
示例#10
0
 def delete(request):
     delete_token(request.user.id)
     logout(request)
     return simple_response(error_code.SUCCESS, "successfully logout")
示例#11
0
 def retrieve(self, request, *args, **kwargs):
     instance = self.get_object()
     serializer = self.get_serializer(instance)
     return simple_response(code=error_code.SUCCESS,
                            message="get support_id=%s ok" % (instance.id), data=serializer.data)
示例#12
0
 def destroy(self, request, *args, **kwargs):
     instance = self.get_object()
     self.perform_destroy(instance)
     return simple_response(code=error_code.SUCCESS,
                            message="delete support_id=%s ok" % (instance.id))
示例#13
0
 def create(self, request, *args, **kwargs):
     serializer = self.get_serializer(data=request.data)
     serializer.is_valid(raise_exception=True)
     self.perform_create(serializer)
     return simple_response(code=error_code.SUCCESS,
                            message='successfully created support')