def _handle_menu(self): if self.menu: menuItemDirective(self._context, self.menu, self.for_ or self.schema, '@@' + self.name, self.title, permission=self.permission, layer=self.layer)
def _handle_menu(self): if self.menu or self.title: if (not self.menu) or (not self.title): raise ValueError("If either menu or title are specified, " "they must both be specified") # Add forms are really for IAdding components, so do not use # for=self.schema. menuItemDirective( self._context, self.menu, self.for_, '@@' + self.name, self.title, permission=self.permission, layer=self.layer, description=self.description)
def _handle_menu(_context, menu, title, for_, name, permission, layer=IDefaultBrowserLayer): if menu or title: if not (menu and title): raise ConfigurationError( "If either menu or title are specified, they must " "both be specified.") if len(for_) != 1: raise ConfigurationError( "Menus can be specified only for single-view, not for " "multi-views.") return menuItemDirective(_context, menu, for_[0], '@@' + name, title, permission=permission, layer=layer) return []
def containerViews(_context, for_, contents=None, add=None, index=None, layer=IDefaultBrowserLayer): """Set up container views for a given content type.""" if for_ is None: raise ValueError("A for interface must be specified.") if contents is not None: from zope.app.menus import zmi_views page( _context, name="contents.html", permission=contents, for_=for_, layer=layer, class_=Contents, attribute="contents", menu=zmi_views, title=_("Contents"), ) if index is not None: page(_context, name="index.html", permission=index, for_=for_, layer=layer, class_=Contents, attribute="index") if add is not None: from zope.app.menus import zmi_actions viewObj = view(_context, name="+", layer=layer, for_=for_, permission=add, class_=Adding) menuItemDirective( _context, zmi_actions, for_, "+", _("Add"), permission=add, layer=layer, filter='python:modules["zope.app.container.browser.metaconfigure"].menuFilter(context, request)', ) viewObj.page(_context, name="index.html", attribute="index") viewObj.page(_context, name="action.html", attribute="action") viewObj()
def _handle_menu(_context, menu, title, for_, name, permission, layer=IDefaultBrowserLayer): if menu or title: if not (menu and title): raise ConfigurationError( "If either menu or title are specified, they must " "both be specified.") if len(for_) != 1: raise ConfigurationError( "Menus can be specified only for single-view, not for " "multi-views.") registeredTitles = _registeredMenus.setdefault(menu, {}) registered = registeredTitles.setdefault(title, []) if for_[0] not in registered: registered.append(for_[0]) return menuItemDirective( _context, menu, for_[0], '@@' + name, title, permission=permission, layer=layer) return []
def _handle_menu(self): if self.menu: menuItemDirective( self._context, self.menu, self.for_ or self.schema, '@@' + self.name, self.title, permission=self.permission, layer=self.layer)