Grok-эквивалент для директивы ZCML "require" - PullRequest
3 голосов
/ 09 марта 2012

Я пишу адаптер add-view и хочу ограничить его использование определенным разрешением.

В ZCML я могу сделать следующее:

<class class=".add.AddView">
    <require
        permission="cmf.AddPortalContent"
        interface="zope.publisher.interfaces.browser.IBrowserPage"
        />
</class>

Есть ли эквивалентный способ сделать это?

Простое использование grok.require не работает.

Мой адаптер выглядит так:

class AddForm(grok.MultiAdapter, add.AddView):
    grok.adapts(IFolderish, IThemeSpecific, IDynamicViewTypeInformation)
    grok.name('addATDocument')
    grok.provides(IBrowserPage)
    grok.require('cmf.AddPortalContent')

Но без фрагмента ZCML я могу анонимно отобразить представление добавления.

1 Ответ

2 голосов
/ 12 марта 2012

Вы можете попробовать использовать пакет grokcore.security 1.5

http://pypi.python.org/pypi/grokcore.security#defining-permissions

...