当前位置: 首页>>代码示例>>Python>>正文


Python AvatarHolder.canUserModify方法代码示例

本文整理汇总了Python中MaKaC.user.AvatarHolder.canUserModify方法的典型用法代码示例。如果您正苦于以下问题:Python AvatarHolder.canUserModify方法的具体用法?Python AvatarHolder.canUserModify怎么用?Python AvatarHolder.canUserModify使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在MaKaC.user.AvatarHolder的用法示例。


在下文中一共展示了AvatarHolder.canUserModify方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: export_user

# 需要导入模块: from MaKaC.user import AvatarHolder [as 别名]
# 或者: from MaKaC.user.AvatarHolder import canUserModify [as 别名]
 def export_user(self, aw):
     requested_user = AvatarHolder().getById(self._user_id)
     user = aw.getUser()
     if not requested_user:
         raise HTTPAPIError('Requested user not found', 404)
     if user:
         if requested_user.canUserModify(user):
             return [requested_user.fossilize()]
         raise HTTPAPIError('You do not have access to that info', 403)
     raise HTTPAPIError('You need to be logged in', 403)
开发者ID:jbenito3,项目名称:indico,代码行数:12,代码来源:api.py

示例2: UserEventHook

# 需要导入模块: from MaKaC.user import AvatarHolder [as 别名]
# 或者: from MaKaC.user.AvatarHolder import canUserModify [as 别名]
class UserEventHook(HTTPAPIHook):
    TYPES = ('user',)
    RE = r'(?P<what>linked_events|categ_events)'
    DEFAULT_DETAIL = 'basic_events'
    GUEST_ALLOWED = False
    VALID_FORMATS = ('json', 'jsonp', 'xml')

    def _getParams(self):
        super(UserEventHook, self)._getParams()
        self._avatar = None
        # User-specified avatar
        userId = get_query_parameter(self._queryParams, ['uid', 'userid'])
        if userId is not None:
            self._avatar = AvatarHolder().getById(userId)
            if not self._avatar:
                raise HTTPAPIError('Avatar does not exist')

    def _getMethodName(self):
        return self.PREFIX + '_' + self._pathParams['what']

    def _checkProtection(self, aw):
        if not self._avatar:
            # No avatar specified => use self. No need to check any permissinos.
            self._avatar = aw.getUser()
            return
        elif not self._avatar.canUserModify(aw.getUser()):
            raise HTTPAPIError('Access denied', 403)

    def export_linked_events(self, aw):
        if not redis_client:
            raise HTTPAPIError('This API is only available when using Redis')
        self._checkProtection(aw)
        links = avatar_links.get_links(self._avatar.user, self._fromDT, self._toDT)
        for event_id in get_events_registered(self._avatar.user, self._fromDT, self._toDT):
            links.setdefault(str(event_id), set()).add('registration_registrant')
        for event_id in get_events_with_submitted_surveys(self._avatar.user, self._fromDT, self._toDT):
            links.setdefault(str(event_id), set()).add('survey_submitter')
        for event_id in get_events_managed_by(self._avatar.user, self._fromDT, self._toDT):
            links.setdefault(str(event_id), set()).add('conference_manager')
        for event_id in get_events_created_by(self._avatar.user, self._fromDT, self._toDT):
            links.setdefault(str(event_id), set()).add('conference_creator')
        for event_id, principal_roles in get_events_with_linked_sessions(self._avatar.user, self._fromDT,
                                                                         self._toDT).iteritems():
            links.setdefault(str(event_id), set()).update(principal_roles)
        for event_id, principal_roles in get_events_with_linked_contributions(self._avatar.user, self._fromDT,
                                                                              self._toDT).iteritems():
            links.setdefault(str(event_id), set()).update(principal_roles)
        for event_id in get_events_with_linked_event_persons(self._avatar.user, self._fromDT, self._toDT):
            links.setdefault(str(event_id), set()).add('conference_chair')
        return UserRelatedEventFetcher(aw, self, links).events(links.keys())

    def export_categ_events(self, aw):
        self._checkProtection(aw)
        catIds = [item['categ'].getId() for item in get_related_categories(self._avatar.user).itervalues()]
        return UserCategoryEventFetcher(aw, self).category_events(catIds)
开发者ID:belokop,项目名称:indico_bare,代码行数:57,代码来源:api.py

示例3: CategoryBasketBase

# 需要导入模块: from MaKaC.user import AvatarHolder [as 别名]
# 或者: from MaKaC.user.AvatarHolder import canUserModify [as 别名]
class CategoryBasketBase(LoggedOnlyService, CategoryDisplayBase):

    def _checkParams(self):
        LoggedOnlyService._checkParams(self)
        CategoryDisplayBase._checkParams(self)
        userId = ParameterManager(self._params).extract('userId', pType=str, allowEmpty=True)
        if userId is not None:
            self._avatar = AvatarHolder().getById(userId)
        else:
            self._avatar = self._aw.getUser()

    def _checkProtection(self):
        LoggedOnlyService._checkProtection(self)
        CategoryDisplayBase._checkProtection(self)
        if not self._avatar.canUserModify(self._aw.getUser()):
            raise ServiceAccessError('Access denied')
开发者ID:NIIF,项目名称:indico,代码行数:18,代码来源:category.py

示例4: UserEventHook

# 需要导入模块: from MaKaC.user import AvatarHolder [as 别名]
# 或者: from MaKaC.user.AvatarHolder import canUserModify [as 别名]
class UserEventHook(HTTPAPIHook):
    TYPES = ('user',)
    RE = r'(?P<what>linked_events|categ_events)'
    DEFAULT_DETAIL = 'basic_events'
    GUEST_ALLOWED = False

    def _getParams(self):
        super(UserEventHook, self)._getParams()
        self._what = self._pathParams['what']
        self._avatar = None
        # User-specified avatar
        userId = get_query_parameter(self._queryParams, ['uid', 'userid'])
        if userId is not None:
            self._avatar = AvatarHolder().getById(userId)
            if not self._avatar:
                raise HTTPAPIError('Avatar does not exist')

    def _getMethodName(self):
        return self.PREFIX + '_' + self._what

    def _checkProtection(self, aw):
        if not self._avatar:
            # No avatar specified => use self. No need to check any permissinos.
            self._avatar = aw.getUser()
            return
        elif not self._avatar.canUserModify(aw.getUser()):
            raise HTTPAPIError('Access denied', 403)

    def export_linked_events(self, aw):
        if not redis_client:
            raise HTTPAPIError('This API is only available when using Redis')
        self._checkProtection(aw)
        links = avatar_links.get_links(self._avatar, self._fromDT, self._toDT)
        return UserRelatedEventFetcher(aw, self, links).events(links.keys())

    def export_categ_events(self, aw):
        self._checkProtection(aw)
        catIds = [item['categ'].getId() for item in self._avatar.getRelatedCategories().itervalues()]
        return UserCategoryEventFetcher(aw, self).category_events(catIds)
开发者ID:jbenito3,项目名称:indico,代码行数:41,代码来源:api.py


注:本文中的MaKaC.user.AvatarHolder.canUserModify方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。