class CaveManager2(grok.ViewletManager): grok.view(OrderView2) grok.name('cave') def sort(self, viewlets): # Alphabetical-by-name, reversed. return sorted(viewlets, reverse=True)
class LadyViewlet(grok.Viewlet): grok.context(Interface) grok.viewletmanager(Pot) grok.view(FireView) def render(self): return u"Lady Viewlet"
class CaveManager(grok.ViewletManager): grok.view(OrderView) grok.name('cave')
class CavewomenViewletManagerWithTemplate(grok.ViewletManager): grok.name('manage.cavewomenwithtemplate') grok.template('mirandaviewletmanager') grok.view(Necklace)
class MirandaViewlet(grok.Viewlet): grok.template('mirandaviewlet') grok.view(Index) grok.viewletmanager(CavewomenViewletManager)
class CavewomenViewletManager(grok.ViewletManager): grok.name('manage.cavewomen') grok.view(Index)
# -*- coding: utf-8 -*- import grokcore.viewlet as grok from grokui.base import Header, Footer, Messages, IUIPanel, IGrokUIRealm from grokcore.message.utils import receive from zope.browsermenu.interfaces import IBrowserMenu from zope.authentication.interfaces import IUnauthenticatedPrincipal from zope.component import getUtility grok.view(IUIPanel) grok.context(IGrokUIRealm) grok.templatedir("templates") class Banner(grok.Viewlet): grok.order(10) grok.name('grokui.banner') grok.viewletmanager(Header) class LoginInformation(grok.Viewlet): grok.order(20) grok.name('grokui.login') grok.viewletmanager(Header) @property def is_authenticated(self): """Check, wether we are authenticated. """ return not IUnauthenticatedPrincipal.providedBy(self.request.principal)
>>> browser = Browser() >>> browser.handleErrors = False >>> browser.open("http://localhost/fred/@@boneview") Traceback (most recent call last): ... ContentProviderLookupError: cave """ import grokcore.viewlet as grok class Fred(grok.Context): pass class CaveView(grok.View): def render(self): return u"Cave" class BoneView(grok.View): pass grok.view(CaveView) class CaveManager(grok.ViewletManager): grok.name("cave")
>>> browser = Browser() >>> browser.handleErrors = False >>> browser.open("http://localhost/fred/@@boneview") Traceback (most recent call last): ... zope.contentprovider.interfaces.ContentProviderLookupError: cave """ import grokcore.viewlet as grok class Fred(grok.Context): pass class CaveView(grok.View): def render(self): return u"Cave" class BoneView(grok.View): pass grok.view(CaveView) class CaveManager(grok.ViewletManager): grok.name('cave')