示例#1
0
文件: mixins.py 项目: quuhua911/cvat
 def _tus_response(self, status, data=None, extra_headers=None):
     response = Response(data, status)
     for key, value in self._base_tus_headers.items():
         response.__setitem__(key, value)
     if extra_headers:
         for key, value in extra_headers.items():
             response.__setitem__(key, value)
     return response
示例#2
0
    def post(self, request, **kwargs):
        #TODO: Logging.
        try:

            serializer = LoginSerializer(data=request.data)
            serializer.is_valid(raise_exception=True)
            user = Account.objects.get(email=serializer.data['email'])
            current_time = datetime.datetime.now().strftime(
                "%m/%d/%Y, %H:%M:%S")
            token = Encrypt.encode(user.id, current_time)
            Cache.getInstance().set("TOKEN_" + str(user.id) + "_AUTH", token)
            result = {
                'status': True,
                'message': 'Token generated.Login successful.'
            }
            response = Response(result,
                                status=status.HTTP_200_OK,
                                content_type="application/json")
            response.__setitem__(header="HTTP_AUTHORIZATION", value=token)
            return response
        except Account.DoesNotExist as e:
            result = {'status': False, 'message': 'Account does not exist'}
            return Response(result,
                            status.HTTP_400_BAD_REQUEST,
                            content_type="application/json")
        except AuthenticationFailed as e:
            result = {'status': False, 'message': 'Invalid credentials'}
            return Response(result,
                            status.HTTP_401_UNAUTHORIZED,
                            content_type="application/json")
        except Exception as e:
            result = {
                'status': False,
                'message': 'Some other issue.Please try again'
            }
            return Response(result,
                            status.HTTP_400_BAD_REQUEST,
                            content_type="application/json")
示例#3
0
    def post(self, request):
        """
        it takes email id as input and sends verification email link
        :rtype: it returns a response message saying verification link is sent to mail
        """
        result = {'message': 'some other issue',
                  'status': False}
        try:
            email = request.data.get('email', '')

            if Account.objects.filter(email=email).exists():
                user = Account.objects.get(email=email)
                uidb64 = urlsafe_base64_encode(smart_bytes(user.id))
                token = PasswordResetTokenGenerator().make_token(user)
                redirect_url = request.build_absolute_uri(reverse('password-reset-complete'))
                email_body = 'Hello, \n Your token number is : ' + token + ' \n your uidb64 code is ' + uidb64 + ' \n Use link below to reset your password  \n' + "?redirect_url=" + redirect_url
                data = {'email_body': email_body, 'to_email': user.email,
                        'email_subject': 'Reset your passsword'}
                send_email.delay(data)
                result['message'] = 'We have sent you a link to reset your password'
                result['status'] = True
                response = Response(data=result, status=status.HTTP_200_OK)

                response.__setitem__(header="HTTP_AUTHORIZATION", value=data)
                logging.debug('{}, status_code = {}, token = {}'.format(result, status.HTTP_200_OK, token))
                return response
                # return utils.manage_response(status=result['status'], message=result['message'],
                #                              status_code=status.HTTP_200_OK)
            else:
                result['message'] = "Email id you have entered doesn't exist"
                logging.debug('{}'.format(result))
                return utils.manage_response(status=result['status'], message=result['message'],
                                             status_code=status.HTTP_400_BAD_REQUEST)
        except Exception as e:
            return utils.manage_response(status=result['status'], message=result['message'],
                                         exception=str(e),
                                         status_code=status.HTTP_400_BAD_REQUEST)