示例#1
0
文件: actions.py 项目: goschtl/zope
    def _extractOldstyleActions(self, provider_id):
        # BBB: for CMF 1.6 profiles
        fragment = self._doc.createDocumentFragment()
        provider_iface = getToolInterface(provider_id)
        provider = getUtility(provider_iface)

        if not (IActionProvider.providedBy(provider) or
                z2IActionProvider.isImplementedBy(provider)):
            return fragment

        if provider_id == 'portal_actions':
            actions = provider._actions
        else:
            actions = provider.listActions()

        if actions and isinstance(actions[0], dict):
            return fragment

        for ai in actions:
            mapping = ai.getMapping()
            child = self._doc.createElement('action')
            child.setAttribute('action_id', mapping['id'])
            child.setAttribute('category', mapping['category'])
            child.setAttribute('condition_expr', mapping['condition'])
            child.setAttribute('title', mapping['title'])
            child.setAttribute('url_expr', mapping['action'])
            child.setAttribute('visible', str(mapping['visible']))
            for permission in mapping['permissions']:
                sub = self._doc.createElement('permission')
                sub.appendChild(self._doc.createTextNode(permission))
                child.appendChild(sub)
            fragment.appendChild(child)
        return fragment
示例#2
0
    def _extractOldstyleActions(self, provider_id):
        # BBB: for CMF 1.6 profiles
        fragment = self._doc.createDocumentFragment()
        provider_iface = getToolInterface(provider_id)
        provider = getUtility(provider_iface)

        if not (IActionProvider.providedBy(provider)
                or z2IActionProvider.isImplementedBy(provider)):
            return fragment

        if provider_id == 'portal_actions':
            actions = provider._actions
        else:
            actions = provider.listActions()

        if actions and isinstance(actions[0], dict):
            return fragment

        for ai in actions:
            mapping = ai.getMapping()
            child = self._doc.createElement('action')
            child.setAttribute('action_id', mapping['id'])
            child.setAttribute('category', mapping['category'])
            child.setAttribute('condition_expr', mapping['condition'])
            child.setAttribute('title', mapping['title'])
            child.setAttribute('url_expr', mapping['action'])
            child.setAttribute('visible', str(mapping['visible']))
            for permission in mapping['permissions']:
                sub = self._doc.createElement('permission')
                sub.appendChild(self._doc.createTextNode(permission))
                child.appendChild(sub)
            fragment.appendChild(child)
        return fragment
示例#3
0
文件: tests.py 项目: Vinsurya/Plone
 def testToolRegistration(self):
     for (tool_id, interface) in registration:
         self.assertEqual(getToolInterface(tool_id), interface)
示例#4
0
 def testRegisterInterface(self):
     iface = getToolInterface('portal_languages')
     self.assertEqual(iface, ILanguageUtility)
示例#5
0
 def testRegisterInterface(self):
     iface = getToolInterface('portal_languages')
     self.assertEqual(iface, ILanguageTool)
示例#6
0
    def testToolRegistration(self):
        from Products.CMFPlone.migrations.v3_0.alphas import registration

        for (tool_id, interface) in registration:
            self.assertEqual(getToolInterface(tool_id), interface)
示例#7
0
 def testRegisterInterface(self):
     iface = getToolInterface("portal_languages")
     self.assertEqual(iface, ILanguageUtility)