コード例 #1
0
    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}
コード例 #2
0
    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}
コード例 #3
0
 def setDefaultViewletForDefaultSetup(self, viewlet):
     self._viewlet_registry.setDefaultForType(viewlet.getId(), DEFAULT)
コード例 #4
0
 def unregisterViewletForDefaultSetup(self, viewlet, force=False):
     self._viewlet_registry.unregisterForType(viewlet.getId(), DEFAULT, force)
コード例 #5
0
 def registerViewletForDefaultSetup(self, viewlet):
     self._viewlet_registry.registerForType(viewlet.getId(), DEFAULT)
コード例 #6
0
 def setDefaultViewletForType(self, viewlet, type):
     self._viewlet_registry.setDefaultForType(viewlet.getId(), type)
コード例 #7
0
 def unregisterViewletForType(self, viewlet, type, force=False):
     self._viewlet_registry.unregisterForType(viewlet.getId(), type, force)
コード例 #8
0
 def registerViewletForType(self, viewlet, type):
     self._viewlet_registry.registerForType(viewlet.getId(), type)
コード例 #9
0
 def setDefaultViewletForDefaultSetup(self, viewlet):
     self._viewlet_registry.setDefaultForType(viewlet.getId(), DEFAULT)
コード例 #10
0
 def unregisterViewletForDefaultSetup(self, viewlet, force=False):
     self._viewlet_registry.unregisterForType(viewlet.getId(), DEFAULT,
                                              force)
コード例 #11
0
 def registerViewletForDefaultSetup(self, viewlet):
     self._viewlet_registry.registerForType(viewlet.getId(), DEFAULT)
コード例 #12
0
 def setDefaultViewletForType(self, viewlet, type):
     self._viewlet_registry.setDefaultForType(viewlet.getId(), type)
コード例 #13
0
 def unregisterViewletForType(self, viewlet, type, force=False):
     self._viewlet_registry.unregisterForType(viewlet.getId(), type, force)
コード例 #14
0
 def registerViewletForType(self, viewlet, type):
     self._viewlet_registry.registerForType(viewlet.getId(), type)