def getViewletsForType(self, portal_type=None): """ Get viewlets for a given type Return a dict where: - 'default' value is the default viewlet struct - 'viewlets' value is a list of structs with the other viewlets Each struct is composed of: - Viewlet id - Viewlet title - Viewlet object May return None. """ try: default = self.getDefaultViewletForType(portal_type).getId() except CompositePackError: default = self.getDefaultViewletForDefaultSetup().getId() viewlets = {} registered_viewlets = self.getRegisteredViewletsForType(portal_type) if not registered_viewlets: registered_viewlets = self.getRegisteredViewletsForDefaultSetup() for viewlet in registered_viewlets: id = viewlet.getId() viewlets[id] = { 'id': id, 'title': viewlet.title_or_id(), 'viewlet': viewlet } viewlets_info = viewlets.values() if viewlets.has_key(default): default_viewlet = viewlets[default] del viewlets[default] viewlets_info = viewlets.values() else: default_viewlet = viewlets_info.pop() return {'default': default_viewlet, 'viewlets': viewlets_info}
def getViewletsForType(self, portal_type=None): """ Get viewlets for a given type Return a dict where: - 'default' value is the default viewlet struct - 'viewlets' value is a list of structs with the other viewlets Each struct is composed of: - Viewlet id - Viewlet title - Viewlet object May return None. """ try: default = self.getDefaultViewletForType(portal_type).getId() except CompositePackError: default = self.getDefaultViewletForDefaultSetup().getId() viewlets = {} registered_viewlets = self.getRegisteredViewletsForType(portal_type) if not registered_viewlets: registered_viewlets = self.getRegisteredViewletsForDefaultSetup() for viewlet in registered_viewlets: id = viewlet.getId() viewlets[id] = {"id": id, "title": viewlet.title_or_id(), "viewlet": viewlet} viewlets_info = viewlets.values() if viewlets.has_key(default): default_viewlet = viewlets[default] del viewlets[default] viewlets_info = viewlets.values() else: default_viewlet = viewlets_info.pop() return {"default": default_viewlet, "viewlets": viewlets_info}
def setDefaultViewletForDefaultSetup(self, viewlet): self._viewlet_registry.setDefaultForType(viewlet.getId(), DEFAULT)
def unregisterViewletForDefaultSetup(self, viewlet, force=False): self._viewlet_registry.unregisterForType(viewlet.getId(), DEFAULT, force)
def registerViewletForDefaultSetup(self, viewlet): self._viewlet_registry.registerForType(viewlet.getId(), DEFAULT)
def setDefaultViewletForType(self, viewlet, type): self._viewlet_registry.setDefaultForType(viewlet.getId(), type)
def unregisterViewletForType(self, viewlet, type, force=False): self._viewlet_registry.unregisterForType(viewlet.getId(), type, force)
def registerViewletForType(self, viewlet, type): self._viewlet_registry.registerForType(viewlet.getId(), type)