Exemplo n.º 1
0
    def update(self, request, pk=None, profile_pk=None):
        """
        Update an existing listing visit count
        """
        if profile_pk == 'self':
            profile = model_access.get_self(request.user.username)
        else:
            profile = model_access.get_profile_by_id(profile_pk)
        if 'listing' in request.data and 'id' in request.data['listing']:
            listing = listing_model_access.get_listing_by_id(
                request.user.username, request.data['listing']['id'], True)
        else:
            listing = None

        visit_count = model_access.get_visit_count_by_id(pk)

        serializer = listing_serializers.ListingVisitCountSerializer(
            visit_count,
            data=request.data,
            context={
                'request': request,
                'profile': profile,
                'listing': listing
            },
            partial=True)
        if not serializer.is_valid():
            logger.error('{0!s}'.format(serializer.errors),
                         extra={'request': request})
            raise errors.ValidationException('{0}'.format(serializer.errors))

        serializer.save()
        return Response(serializer.data, status=status.HTTP_200_OK)
Exemplo n.º 2
0
 def retrieve(self, request):
     current_request_profile = model_access.get_self(request.user.username)
     serializer = serializers.ProfileSerializer(current_request_profile,
                                                context={
                                                    'request': request,
                                                    'self': True
                                                })
     return Response(serializer.data)
Exemplo n.º 3
0
def CurrentUserView(request):
    """
    ---
    serializer: ozpcenter.api.profile.serializers.ProfileSerializer
    """
    profile = model_access.get_self(request.user.username)
    serializer = serializers.ProfileSerializer(profile, context={"request": request})
    return Response(serializer.data)
Exemplo n.º 4
0
    def update(self, request):
        current_request_profile = model_access.get_self(request.user.username)
        serializer = serializers.ProfileSerializer(current_request_profile,
            data=request.data, context={'request': request}, partial=True)
        if not serializer.is_valid():
            logger.error('{0!s}'.format(serializer.errors))
            raise errors.ValidationException('{0!s}'.format(serializer.errors))

        serializer.save()
        return Response(serializer.data, status=status.HTTP_200_OK)
Exemplo n.º 5
0
    def update(self, request):
        current_request_profile = model_access.get_self(request.user.username)
        serializer = serializers.ProfileSerializer(current_request_profile,
            data=request.data, context={'request': request}, partial=True)
        if not serializer.is_valid():
            logger.error('{0!s}'.format(serializer.errors))
            raise errors.ValidationException('{0!s}'.format(serializer.errors))

        serializer.save()
        return Response(serializer.data, status=status.HTTP_200_OK)
Exemplo n.º 6
0
    def retrieve(self, request):
        current_request_profile = model_access.get_self(request.user.username)

        payload = jwt_payload_handler(current_request_profile.user)
        token = jwt_encode_handler(payload)

        result = {
            "token": token,
            "username": current_request_profile.user.username
        }

        return Response(result)
Exemplo n.º 7
0
    def retrieve(self, request):
        current_request_profile = model_access.get_self(request.user.username)

        payload = jwt_payload_handler(current_request_profile.user)
        token = jwt_encode_handler(payload)

        result = {
            "token": token,
            "username": current_request_profile.user.username
        }

        return Response(result)
Exemplo n.º 8
0
    def update(self, request, pk=None):
        current_request_profile = model_access.get_self(request.user.username)
        if current_request_profile.highest_role() != 'APPS_MALL_STEWARD':
            raise errors.PermissionDenied

        profile_instance = self.get_queryset().get(pk=pk)
        serializer = serializers.ProfileSerializer(profile_instance,
            data=request.data, context={'request': request}, partial=True)
        if not serializer.is_valid():
            logger.error('{0!s}'.format(serializer.errors))
            raise errors.RequestException('{0!s}'.format(serializer.errors))

        serializer.save()

        return Response(serializer.data, status=status.HTTP_200_OK)
Exemplo n.º 9
0
    def update(self, request, pk=None):
        current_request_profile = model_access.get_self(request.user.username)
        if current_request_profile.highest_role() != 'APPS_MALL_STEWARD':
            raise errors.PermissionDenied

        profile_instance = self.get_queryset().get(pk=pk)
        serializer = serializers.ProfileSerializer(profile_instance,
            data=request.data, context={'request': request}, partial=True)
        if not serializer.is_valid():
            logger.error('{0!s}'.format(serializer.errors))
            raise errors.RequestException('{0!s}'.format(serializer.errors))

        serializer.save()

        return Response(serializer.data, status=status.HTTP_200_OK)
Exemplo n.º 10
0
    def update(self, request):
        try:
            current_request_profile = model_access.get_self(request.user.username)
            serializer = serializers.ProfileSerializer(current_request_profile,
                data=request.data, context={'request': request}, partial=True)
            if not serializer.is_valid():
                logger.error('{0!s}'.format(serializer.errors))
                return Response(serializer.errors,
                    status=status.HTTP_400_BAD_REQUEST)

            serializer.save()
            return Response(serializer.data, status=status.HTTP_200_OK)
        except errors.PermissionDenied:
            return Response({'detail': 'Permission Denied'}, status=status.HTTP_403_FORBIDDEN)
        except Exception as e:
            raise e
Exemplo n.º 11
0
    def update(self, request, pk=None):
        try:
            current_request_profile = model_access.get_self(request.user.username)
            if current_request_profile.highest_role() != 'APPS_MALL_STEWARD':
                raise errors.PermissionDenied
            profile_instance = self.get_queryset().get(pk=pk)
            serializer = serializers.ProfileSerializer(profile_instance,
                data=request.data, context={'request': request}, partial=True)
            if not serializer.is_valid():
                logger.error('%s' % serializer.errors)
                return Response(serializer.errors,
                    status=status.HTTP_400_BAD_REQUEST)

            serializer.save()

            return Response(serializer.data, status=status.HTTP_200_OK)
        except errors.PermissionDenied:
            return Response({'detail':'Permission Denied'}, status=status.HTTP_403_FORBIDDEN)
        except Exception as e:
            raise e
Exemplo n.º 12
0
    def create(self, request, profile_pk=None):
        """
        Create a listing visit count
        """
        if profile_pk == 'self':
            profile = model_access.get_self(request.user.username)
        else:
            profile = model_access.get_profile_by_id(profile_pk)
        if 'listing' in request.data and 'id' in request.data['listing']:
            listing = listing_model_access.get_listing_by_id(request.user.username, request.data['listing']['id'], True)
        else:
            listing = None

        serializer = listing_serializers.ListingVisitCountSerializer(data=request.data,
            context={'request': request, 'profile': profile, 'listing': listing}, partial=True)
        if not serializer.is_valid():
            logger.error('{0!s}'.format(serializer.errors), extra={'request': request})
            raise errors.ValidationException('{0}'.format(serializer.errors))

        serializer.save()
        return Response(serializer.data, status=status.HTTP_201_CREATED)
Exemplo n.º 13
0
 def retrieve(self, request):
     current_request_profile = model_access.get_self(request.user.username)
     serializer = serializers.ProfileSerializer(current_request_profile,
         context={'request': request})
     return Response(serializer.data)