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
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
def _getOAI(self, object): return getOAI(self, object)
def _getOAI(self, object): return getOAI(self, object)