예제 #1
0
파일: policies.py 프로젝트: magiceses/st2
    def _get_all(self,
                 exclude_fields=None,
                 sort=None,
                 offset=0,
                 limit=None,
                 query_options=None,
                 from_model_kwargs=None,
                 raw_filters=None,
                 requester_user=None):

        resp = super(PolicyTypeController,
                     self)._get_all(exclude_fields=exclude_fields,
                                    sort=sort,
                                    offset=offset,
                                    limit=limit,
                                    query_options=query_options,
                                    from_model_kwargs=from_model_kwargs,
                                    raw_filters=raw_filters,
                                    requester_user=requester_user)

        if self.include_reference:
            result = resp.json
            for item in result:
                resource_type = item.get('resource_type', None)
                name = item.get('name', None)
                item['ref'] = PolicyTypeReference(resource_type=resource_type,
                                                  name=name).ref
            resp.json = result

        return resp
예제 #2
0
    def _get_one(self, ref_or_id):
        instance = self._get_by_ref_or_id(ref_or_id=ref_or_id)
        result = self.model.from_model(instance)

        if result and self.include_reference:
            resource_type = getattr(result, 'resource_type', None)
            name = getattr(result, 'name', None)
            result.ref = PolicyTypeReference(resource_type=resource_type, name=name).ref

        return result
예제 #3
0
파일: policies.py 프로젝트: yuemanxilou/st2
    def _get_all(self, **kwargs):
        result = super(PolicyTypeController, self)._get_all(**kwargs)

        if self.include_reference:
            for item in result:
                resource_type = getattr(item, 'resource_type', None)
                name = getattr(item, 'name', None)
                item.ref = PolicyTypeReference(resource_type=resource_type,
                                               name=name).ref

        return result
예제 #4
0
파일: policies.py 프로젝트: scutojr/st2
    def _get_all(self, **kwargs):
        resp = super(PolicyTypeController, self)._get_all(**kwargs)

        if self.include_reference:
            result = resp.json
            for item in result:
                resource_type = item.get('resource_type', None)
                name = item.get('name', None)
                item['ref'] = PolicyTypeReference(resource_type=resource_type, name=name).ref
            resp.json = result

        return resp
예제 #5
0
파일: policies.py 프로젝트: yuemanxilou/st2
    def _get_one(self, ref_or_id):
        LOG.info('GET %s with ref_or_id=%s', pecan.request.path, ref_or_id)

        instance = self._get_by_ref_or_id(ref_or_id=ref_or_id)
        result = self.model.from_model(instance)

        if result and self.include_reference:
            resource_type = getattr(result, 'resource_type', None)
            name = getattr(result, 'name', None)
            result.ref = PolicyTypeReference(resource_type=resource_type,
                                             name=name).ref

        LOG.debug('GET %s with ref_or_id=%s, client_result=%s',
                  pecan.request.path, ref_or_id, result)

        return result
예제 #6
0
파일: policies.py 프로젝트: magiceses/st2
    def _get_one(self, ref_or_id, requester_user):
        instance = self._get_by_ref_or_id(ref_or_id=ref_or_id)

        permission_type = PermissionType.POLICY_TYPE_VIEW
        rbac_utils.assert_user_has_resource_db_permission(
            user_db=requester_user,
            resource_db=instance,
            permission_type=permission_type)

        result = self.model.from_model(instance)

        if result and self.include_reference:
            resource_type = getattr(result, 'resource_type', None)
            name = getattr(result, 'name', None)
            result.ref = PolicyTypeReference(resource_type=resource_type,
                                             name=name).ref

        return result
예제 #7
0
    def _get_one(self, ref_or_id):
        LOG.info('GET %s with ref_or_id=%s', pecan.request.path, ref_or_id)

        try:
            instance = self._get_by_ref_or_id(ref_or_id=ref_or_id)
        except Exception as e:
            LOG.exception(e.message)
            abort(http_client.NOT_FOUND, e.message)
            return

        result = self.model.from_model(instance)
        if result and self.include_reference:
            resource_type = getattr(result, 'resource_type', None)
            name = getattr(result, 'name', None)
            result.ref = PolicyTypeReference(resource_type=resource_type,
                                             name=name).ref

        LOG.debug('GET %s with ref_or_id=%s, client_result=%s',
                  pecan.request.path, ref_or_id, result)

        return result