コード例 #1
0
ファイル: portlet.py プロジェクト: a25kk/stv2

    security.declareProtected(permissions.View, 'getMacro')
    def getMacro(self):
        """return macro path to display portlet"""
        return self.portlet_macro

    security.declareProtected(permissions.View, 'hasBody')
    def hasBody(self):
        """ return true if there are some characters in body text """
        value = self.getBody(mimetype='text/plain').strip()
        return not not value

    security.declareProtected(permissions.View, 'getPortletStyles')
    def getPortletStyles(self):
        """return available styles (CSS class names) for portlets,
           taken from a property in SimplePortletTool"""

        ptool = getToolByName(self, 'portlet_manager')
        styledefs = ptool.getProperty('conf_portlet_styles', ())
        vocab = []
        for style in styledefs:
            s = style.split(':', 1)
            if len(s) < 2:
                s = (s[0], s[0])
            vocab.append(s)
        return DisplayList(vocab)

registerType(Portlet)
registerPortlet(Portlet)
コード例 #2
0
ファイル: topicportlet.py プロジェクト: a25kk/stv2
                                      label_msgid='label_show_link_to_more_results',
                                      description='Include link to page showing more topic results.',
                                      description_msgid='help_show_link_to_more_results',
                                      i18n_domain='SimplePortlet'
                 ),
                 default=1
        ),
    BooleanField('show_date',
                 widget=BooleanWidget(label='Show item date',
                                      label_msgid='label_show_date',
                                      description='Include item date in portlet view.',
                                      description_msgid='help_show_date',
                                      i18n_domain='SimplePortlet'
                 ),
                 default=1
        ),

    ))


class TopicPortlet(Portlet):
    """Portlet to show the results of a predefined smart folder"""
    schema = schema
    portlet_macro = 'here/portlet_topicportlet_macros/macros/portlet'
    security = ClassSecurityInfo()
    archetype_name = 'Smart Folder Portlet'
    portal_type = meta_type = "TopicPortlet"

registerType(TopicPortlet)
registerPortlet(TopicPortlet)
コード例 #3
0
ファイル: cmfsinportlet.py プロジェクト: a25kk/stv2
                    label='Maximum result',
                    label_msgid='label_max_results',
                    description='Enter the maximum results displayed in portlet.',
                    description_msgid='help_max_results',
                    i18n_domain='SimplePortlet'),
        ),
    ))


class CMFSinPortlet(Portlet):
    """
    A Portlet displaying rss based on CMFSin
    """

    schema = schema
    portlet_macro = 'here/portlet_cmfsin_macros/macros/portlet'
    security = ClassSecurityInfo()
    archetype_name = 'RSS Portlet'
    portal_type = meta_type = "RSSPortlet"

    security.declarePublic('getCMFSinChannels')
    def getCMFSinChannels(self):
        sin_tool = getToolByName(self, 'sin_tool')
        return DisplayList([(x.id, x.id) for x in list(sin_tool.Maps())])


    schema['channel'].vocabulary = ComputedAttribute(getCMFSinChannels, 1)

registerType(CMFSinPortlet)
registerPortlet(CMFSinPortlet)