예제 #1
0
파일: views.py 프로젝트: tmforum/tmffiware
    def read(self, request):
        """
        Retrives the existing digital assets associated with a given seller
        :param request:
        :return: JSON List containing the existing assets
        """

        pagination = {
            'start': request.GET.get('start', None),
            'limit': request.GET.get('limit', None)
        }
        if pagination['start'] is None or pagination['limit'] is None:
            pagination = None

        profile = request.user.userprofile

        if 'provider' not in profile.get_current_roles():
            return build_response(request, 403, 'You are not authorized to retrieve digital asset information')

        try:
            asset_manager = AssetManager()
            response = asset_manager.get_provider_assets_info(request.user, pagination=pagination)
        except Exception as e:
            return build_response(request, 400, unicode(e))

        return HttpResponse(json.dumps(response), status=200, mimetype='application/json; charset=utf-8')
    def read(self, request):
        """
        Retrieves the existing digital assets associated with a given seller
        :param request:
        :return: JSON List containing the existing assets
        """

        user = request.GET.get('user', None)

        pagination = {
            'offset': request.GET.get('offset', None),
            'size': request.GET.get('size', None)
        }
        if pagination['offset'] is None or pagination['size'] is None:
            pagination = None

        if user is None:
            if request.user.is_anonymous():
                return build_response(request, 401, 'Authentication required')
            user = request.user.userprofile
        else:
            try:
                user_search = User.objects.get(username=user)
                user = UserProfile.objects.get(user=user_search)
            except Exception as e:
                return build_response(
                    request, 404, "User {} does not exist, error: {}".format(
                        user, unicode(e)))

        try:
            asset_manager = AssetManager()
            response = asset_manager.get_provider_assets_info(
                user, pagination=pagination)
        except Exception as e:
            return build_response(request, 400, unicode(e))

        return HttpResponse(json.dumps(response),
                            status=200,
                            mimetype='application/json; charset=utf-8')