Ejemplo n.º 1
0
    def get(self, request, provider_id, identity_id):
        """
        """
        data = request.DATA

        user = get_first(User.objects.filter(username=request.user))
        if not user:
            errorObj = failureJSON([{
                'code': 401,
                'message': 'User not found'}])
            return Response(errorObj, status=status.HTTP_401_UNAUTHORIZED)

        query = request.QUERY_PARAMS.get('query')
        if not query:
            errorObj = failureJSON([{
                'code': 400,
                'message': 'Query not provided'}])
            return Response(errorObj, status=status.HTTP_400_BAD_REQUEST)

        identity = get_first(Identity.objects.filter(id=identity_id))
        if not identity:
            errorObj = failureJSON([{
                'code': 400,
                'message': 'Identity not provided'}])
            return Response(errorObj, status=status.HTTP_400_BAD_REQUEST)
        
        search_result = search([CoreSearchProvider], identity, query)

        page = request.QUERY_PARAMS.get('page')
        if page:
            paginator = Paginator(search_result, 20)
            try:
                search_page = paginator.page(page)
            except PageNotAnInteger:
                # If page is not an integer, deliver first page.
                search_page = paginator.page(1)
            except EmptyPage:
                # Page is out of range.
                # deliver last page of results.
                search_page = paginator.page(paginator.num_pages)
            serialized_data = \
                PaginatedProviderMachineSerializer(
                    search_page).data
        else:
            serialized_data = ProviderMachineSerializer(
                search_result).data

        response = Response(serialized_data)
        response['Cache-Control'] = 'no-cache'
        return response
Ejemplo n.º 2
0
    def get(self, request):
        """"""
        data = request.DATA
        query = request.QUERY_PARAMS.get('query')
        if not query:
            return failure_response(
                status.HTTP_400_BAD_REQUEST,
                "Query not provided.")

        identity_id = request.QUERY_PARAMS.get('identity')
        identity = Identity.objects.filter(id=identity_id)
        #Empty List or identity found..
        if identity:
            identity = identity[0]
        #Okay to search w/ identity=None
        search_result = search([CoreApplicationSearch], query, identity)
        page = request.QUERY_PARAMS.get('page')
        if page:
            paginator = Paginator(search_result, 20)
            try:
                search_page = paginator.page(page)
            except PageNotAnInteger:
                # If page is not an integer, deliver first page.
                search_page = paginator.page(1)
            except EmptyPage:
                # Page is out of range.
                # deliver last page of results.
                search_page = paginator.page(paginator.num_pages)
            serialized_data = \
                PaginatedApplicationSerializer(
                    search_page,
                    context={'user':request.user}).data
        else:
            serialized_data = ApplicationSerializer(
                search_result,
                context={'user':request.user}).data
        response = Response(serialized_data)
        response['Cache-Control'] = 'no-cache'
        return response
Ejemplo n.º 3
0
    def get(self, request):
        """"""
        data = request.DATA
        query = request.QUERY_PARAMS.get('query')
        if not query:
            return failure_response(status.HTTP_400_BAD_REQUEST,
                                    "Query not provided.")

        identity_id = request.QUERY_PARAMS.get('identity')
        identity = Identity.objects.filter(id=identity_id)
        #Empty List or identity found..
        if identity:
            identity = identity[0]
        #Okay to search w/ identity=None
        search_result = search([CoreApplicationSearch], query, identity)
        page = request.QUERY_PARAMS.get('page')
        if page:
            paginator = Paginator(search_result, 20)
            try:
                search_page = paginator.page(page)
            except PageNotAnInteger:
                # If page is not an integer, deliver first page.
                search_page = paginator.page(1)
            except EmptyPage:
                # Page is out of range.
                # deliver last page of results.
                search_page = paginator.page(paginator.num_pages)
            serialized_data = \
                PaginatedApplicationSerializer(
                    search_page,
                    context={'user':request.user}).data
        else:
            serialized_data = ApplicationSerializer(search_result,
                                                    context={
                                                        'user': request.user
                                                    }).data
        response = Response(serialized_data)
        response['Cache-Control'] = 'no-cache'
        return response
Ejemplo n.º 4
0
 def get(self, request, provider_id, identity_id):
     """
     """
     data = request.DATA
     user = get_first(User.objects.filter(username=request.user))
     if not user:
         return failure_response(status.HTTP_401_UNAUTHORIZED,
                                 "User not found.")
     query = request.QUERY_PARAMS.get('query')
     if not query:
         return failure_response(status.HTTP_400_BAD_REQUEST,
                                 "Query not provided.")
     identity = get_first(Identity.objects.filter(id=identity_id))
     if not identity:
         return failure_response(status.HTTP_400_BAD_REQUEST,
                                 'Identity not provided,')
     search_result = search([CoreSearchProvider], identity, query)
     page = request.QUERY_PARAMS.get('page')
     if page:
         paginator = Paginator(search_result, 20)
         try:
             search_page = paginator.page(page)
         except PageNotAnInteger:
             # If page is not an integer, deliver first page.
             search_page = paginator.page(1)
         except EmptyPage:
             # Page is out of range.
             # deliver last page of results.
             search_page = paginator.page(paginator.num_pages)
         serialized_data = \
             PaginatedProviderMachineSerializer(
                 search_page).data
     else:
         serialized_data = ProviderMachineSerializer(
             search_result, request_user=request.user).data
     response = Response(serialized_data)
     response['Cache-Control'] = 'no-cache'
     return response