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)
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)
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)
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)
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)
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)
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
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
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)
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)