Ejemplo n.º 1
0
    def listProviderInfo( self ):

        """ Return a sequence of mappings for each action provider.
        """
        actions_tool = getToolByName( self._site, 'portal_actions' )
        faux = _FauxContent( content=None, isAnonymous=1 )
        info = getOAI( self._site, faux )
        result = []

        for provider_id in actions_tool.listActionProviders():

            provider_info = { 'id' : provider_id, 'actions' : [] }
            result.append( provider_info )
            append = provider_info[ 'actions' ].append

            provider = getToolByName( self._site, provider_id )

            if not IActionProvider.isImplementedBy( provider ):
                continue

            if IOldstyleActionProvider.isImplementedBy( provider ):
                continue

            actions = provider.listActions( info=info ) or []
            
            for action in actions:

                ainfo = {}
                ainfo[ 'id'] = action.getId()
                ainfo[ 'name'] = action.Title()

                p = action.getPermissions()

                if p:
                    ainfo[ 'permission'] = p[ 0 ]
                else:
                    ainfo[ 'permission'] = ''

                ainfo[ 'category'] = action.getCategory() or 'object'
                ainfo[ 'visible'] = action.getVisibility()
                ainfo[ 'action'] = action.getActionExpression()
                ainfo[ 'condition'] = action.getCondition()

                append( ainfo )

        return result
Ejemplo n.º 2
0
    def listProviderInfo(self):
        """ Return a sequence of mappings for each action provider.
        """
        actions_tool = getToolByName(self._site, 'portal_actions')
        faux = _FauxContent(content=None, isAnonymous=1)
        info = getOAI(self._site, faux)
        result = []

        for provider_id in actions_tool.listActionProviders():

            provider_info = {'id': provider_id, 'actions': []}
            result.append(provider_info)
            append = provider_info['actions'].append

            provider = getToolByName(self._site, provider_id)

            if not IActionProvider.isImplementedBy(provider):
                continue

            if IOldstyleActionProvider.isImplementedBy(provider):
                continue

            actions = provider.listActions(info=info) or []

            for action in actions:

                ainfo = {}
                ainfo['id'] = action.getId()
                ainfo['name'] = action.Title()

                p = action.getPermissions()

                if p:
                    ainfo['permission'] = p[0]
                else:
                    ainfo['permission'] = ''

                ainfo['category'] = action.getCategory() or 'object'
                ainfo['visible'] = action.getVisibility()
                ainfo['action'] = action.getActionExpression()
                ainfo['condition'] = action.getCondition()

                append(ainfo)

        return result
Ejemplo n.º 3
0
 def _getOAI(self, object):
     return getOAI(self, object)
Ejemplo n.º 4
0
 def _getOAI(self, object):
     return getOAI(self, object)