def test_invoke_edit_form(self):
        mapping = PortletAssignmentMapping()
        request = self.folder.REQUEST

        mapping['foo'] = news.Assignment(count=5)
        editview = getMultiAdapter((mapping['foo'], request), name='edit')
        editview.update()
        editview.applyChanges(data={'count': 6,
                                    EXTENDER_PREFIX+'.css_class': 'my-class'})
        portlet_assignment = mapping.values()[0]
        settings = IPortletAssignmentSettings(portlet_assignment)

        self.assertEqual(portlet_assignment.count, 6)
        # We have not extended our storage adapter, so nothing gets saved:
        self.assertIsNone(settings.get('css_class', None))

        # Register our schemaextender
        gsm = getGlobalSiteManager()
        gsm.registerAdapter(PortletCssClassAdapter,
                            (IPortletAssignment,))
        gsm.registerAdapter(PortletCssClassFormExtender,
                            (Interface,
                             IDefaultBrowserLayer,
                             IPortletEditForm),
                            IFormExtender,
                            'portletcssclass.extender')
        mapping = PortletAssignmentMapping()
        request = self.folder.REQUEST

        mapping['foo'] = news.Assignment(count=5)
        editview = getMultiAdapter((mapping['foo'], request), name='edit')
        editview.update()
        editview.applyChanges(data={'count': 6,
                                    EXTENDER_PREFIX+'.css_class': 'my-class'})
        portlet_assignment = mapping.values()[0]
        settings = IPortletAssignmentSettings(portlet_assignment)

        gsm.unregisterAdapter(PortletCssClassFormExtender,
                              (Interface,
                               IDefaultBrowserLayer,
                               IPortletEditForm),
                              IFormExtender,
                              'portletcssclass.extender')
        gsm.unregisterAdapter(PortletCssClassAdapter,
                              (IPortletAssignment,))

        self.assertEqual(portlet_assignment.count, 6)
        # The prefix is used for the form field, not for the stored data:
        self.assertEqual(settings.get('css_class'), 'my-class')
Ejemplo n.º 2
0
    def test_invoke_edit_form(self):
        mapping = PortletAssignmentMapping()
        request = self.folder.REQUEST

        mapping['foo'] = news.Assignment(count=5)
        editview = getMultiAdapter((mapping['foo'], request), name='edit')
        editview.update()
        editview.applyChanges(data={
            'count': 6,
            EXTENDER_PREFIX + '.css_class': 'my-class'
        })
        portlet_assignment = mapping.values()[0]
        settings = IPortletAssignmentSettings(portlet_assignment)

        self.assertEqual(portlet_assignment.count, 6)
        # We have not extended our storage adapter, so nothing gets saved:
        self.assertIsNone(settings.get('css_class', None))

        # Register our schemaextender
        gsm = getGlobalSiteManager()
        gsm.registerAdapter(PortletCssClassAdapter, (IPortletAssignment, ))
        gsm.registerAdapter(
            PortletCssClassFormExtender,
            (Interface, IDefaultBrowserLayer, IPortletEditForm), IFormExtender,
            'portletcssclass.extender')
        mapping = PortletAssignmentMapping()
        request = self.folder.REQUEST

        mapping['foo'] = news.Assignment(count=5)
        editview = getMultiAdapter((mapping['foo'], request), name='edit')
        editview.update()
        editview.applyChanges(data={
            'count': 6,
            EXTENDER_PREFIX + '.css_class': 'my-class'
        })
        portlet_assignment = mapping.values()[0]
        settings = IPortletAssignmentSettings(portlet_assignment)

        gsm.unregisterAdapter(
            PortletCssClassFormExtender,
            (Interface, IDefaultBrowserLayer, IPortletEditForm), IFormExtender,
            'portletcssclass.extender')
        gsm.unregisterAdapter(PortletCssClassAdapter, (IPortletAssignment, ))

        self.assertEqual(portlet_assignment.count, 6)
        # The prefix is used for the form field, not for the stored data:
        self.assertEqual(settings.get('css_class'), 'my-class')
    def testInvokeEditView(self):
        mapping = PortletAssignmentMapping()
        request = self.folder.REQUEST

        mapping['foo'] = portlet_tasks.Assignment()
        editview = queryMultiAdapter(
            (mapping['foo'], request), name='edit', default=None)
        self.failUnless(isinstance(mapping.values()[0],
                                   portlet_tasks.Assignment))
    def testInvokeEditView(self):
        mapping = PortletAssignmentMapping()
        request = self.folder.REQUEST

        mapping['foo'] = portlet_tasks.Assignment()
        editview = queryMultiAdapter((mapping['foo'], request),
                                     name='edit',
                                     default=None)
        self.failUnless(
            isinstance(list(mapping.values())[0], portlet_tasks.Assignment))
    def testInvokeEditView(self):
        mapping = PortletAssignmentMapping()
        request = self.folder.REQUEST

        mapping['foo'] = portlet_mod.Assignment()
        editview = getMultiAdapter((mapping['foo'], request), name='edit')
        self.failUnless(isinstance(editview, portlet_mod.EditForm))

        editview.setUpWidgets(True)
        editview.handle_edit_action.success(
            dict(title="Test Title",
                 feeds="Test Feeds",
                 items_shown=16,
                 cache_timeout="32"))
        assignment = mapping.values()[0]
        self.failUnless(isinstance(assignment, portlet_mod.Assignment))
        self.assertEqual(assignment.title, "Test Title")
        self.assertEqual(assignment.feeds, "Test Feeds")
        self.assertEqual(assignment.items_shown, 16)
        self.assertEqual(assignment.cache_timeout, "32")
    def testInvokeEditView(self):
        mapping = PortletAssignmentMapping()
        request = self.folder.REQUEST

        mapping['foo'] = portlet_mod.Assignment()
        editview = getMultiAdapter((mapping['foo'], request), name='edit')
        self.failUnless(isinstance(editview, portlet_mod.EditForm))

        editview.setUpWidgets(True)
        editview.handle_edit_action.success(dict(
            title="Test Title",
            feeds="Test Feeds",
            items_shown=16,
            cache_timeout="32"))
        assignment = mapping.values()[0]
        self.failUnless(isinstance(assignment, portlet_mod.Assignment))
        self.assertEqual(assignment.title, "Test Title")
        self.assertEqual(assignment.feeds, "Test Feeds")
        self.assertEqual(assignment.items_shown, 16)
        self.assertEqual(assignment.cache_timeout, "32")