本文整理汇总了Python中MaKaC.conference.CategoryManager.canAccess方法的典型用法代码示例。如果您正苦于以下问题:Python CategoryManager.canAccess方法的具体用法?Python CategoryManager.canAccess怎么用?Python CategoryManager.canAccess使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类MaKaC.conference.CategoryManager
的用法示例。
在下文中一共展示了CategoryManager.canAccess方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: get_suggested_categories
# 需要导入模块: from MaKaC.conference import CategoryManager [as 别名]
# 或者: from MaKaC.conference.CategoryManager import canAccess [as 别名]
def get_suggested_categories(user):
"""Gets the suggested categories of a user for the dashboard"""
from MaKaC.conference import CategoryManager
if not redis_write_client:
return []
related = user.favorite_categories | user.get_linked_objects('category', 'manager')
res = []
for id_, score in suggestions.get_suggestions(user, 'category').iteritems():
try:
categ = CategoryManager().getById(id_)
except KeyError:
suggestions.unsuggest(user, 'category', id_)
continue
if not categ or categ.isSuggestionsDisabled() or categ in related:
continue
if any(p.isSuggestionsDisabled() for p in categ.iterParents()):
continue
if not categ.canAccess(AccessWrapper(user.as_avatar)):
continue
res.append({
'score': score,
'categ': categ,
'path': truncate_path(categ.getCategoryPathTitles()[:-1], chars=50)
})
return res
示例2: _process_PUT
# 需要导入模块: from MaKaC.conference import CategoryManager [as 别名]
# 或者: from MaKaC.conference.CategoryManager import canAccess [as 别名]
def _process_PUT(self):
category = CategoryManager().getById(request.view_args['category_id'])
if category not in self.user.favorite_categories:
if not category.canAccess(AccessWrapper(self.user.as_avatar)):
raise Forbidden()
self.user.favorite_categories.add(category)
if redis_write_client:
suggestions.unignore(self.user, 'category', category.getId())
suggestions.unsuggest(self.user, 'category', category.getId())
return jsonify(success=True)