def test_deprecated_slots(self): from kotti.views.slots import register, RenderAboveContent def render_something(context, request): return u"Hello, %s!" % context.title register(RenderAboveContent, None, render_something) api = self.make() self.assertEqual(api.slots.abovecontent, [u'Hello, %s!' % api.context.title]) # Slot renderers may also return lists: def render_a_list(context, request): return [u"a", u"list"] register(RenderAboveContent, None, render_a_list) api = self.make() self.assertEqual( api.slots.abovecontent, [u'Hello, %s!' % api.context.title, u'a', u'list'] ) self.assertRaises( AttributeError, getattr, api.slots, 'foobar' )
def test_slots_only_rendered_when_accessed(self): from kotti.views.slots import register, RenderAboveContent called = [] def render_something(context, request): called.append(True) register(RenderAboveContent, None, render_something) api = self.make() api.slots.belowcontent self.assertFalse(called) api.slots.abovecontent self.assertEquals(len(called), 1) api.slots.abovecontent self.assertEquals(len(called), 1)
def test_slots(self): from kotti.views.slots import register, RenderAboveContent def render_something(context, request): return u"Hello, %s!" % context.title register(RenderAboveContent, None, render_something) api = self._make() self.assertEqual(api.slots['abovecontent'], [u'Hello, My Site!']) # Slot renderers may also return lists: def render_a_list(context, request): return [u"a", u"list"] register(RenderAboveContent, None, render_a_list) api = self._make() self.assertEqual( api.slots['abovecontent'], [u'Hello, My Site!', u'a', u'list'] )
def test_deprecated_slots(self, db_session): from kotti.views.slots import register, RenderAboveContent def render_something(context, request): return u"Hello, %s!" % context.title register(RenderAboveContent, None, render_something) api = self.make() assert (api.slots.abovecontent == [u'Hello, %s!' % api.context.title]) # Slot renderers may also return lists: def render_a_list(context, request): return [u"a", u"list"] register(RenderAboveContent, None, render_a_list) api = self.make() assert ( api.slots.abovecontent == [u'Hello, %s!' % api.context.title, u'a', u'list'] ) with raises(AttributeError): api.slots.foobar
def test_deprecated_slots(self): from kotti.views.slots import register, RenderAboveContent def render_something(context, request): return u"Hello, %s!" % context.title register(RenderAboveContent, None, render_something) api = self.make() self.assertEqual(api.slots.abovecontent, [u'Hello, %s!' % api.context.title]) # Slot renderers may also return lists: def render_a_list(context, request): return [u"a", u"list"] register(RenderAboveContent, None, render_a_list) api = self.make() self.assertEqual(api.slots.abovecontent, [u'Hello, %s!' % api.context.title, u'a', u'list']) self.assertRaises(AttributeError, getattr, api.slots, 'foobar')
def include_profile_widget(config, where=RenderRightSlot): # pragma: no cover config.add_static_view(name='static', path='kotti_jtweetanywhere:static') register(RenderInHead, None, render_widget_assets) register(where, None, render_profile_widget) register(RenderBeforeBodyEnd, None, render_widget_javascript)
def include_search_widget(config, where=RenderRightSlot): # pragma: no cover register(where, None, render_search_widget)
def include_widget(config, where=RenderBelowContent): register(where, None, render_analytics_widget)
def include_widget(config, where=RenderBeforeBodyEnd): register(where, None, render_analytics_widget)
def includeme(config): config.add_view( settings, name='tinymce-settings', permission='edit', ) config.add_route( "source_editor.htm", '/static-kotti-tinymce-skins/themes/advanced/source_editor.htm', ) config.add_view( renderer=TINYMCE_SRC + 'themes/advanced/source_editor.htm.pt', route_name="source_editor.htm", permission="edit", ) config.add_view( jsonimagefolderlisting, name="tinymce-jsonlinkablefolderlisting", renderer="json", permission="edit", ) config.add_view( jsonimagefolderlisting, name="tinymce-jsonimagefolderlisting", renderer="json", permission="edit", ) config.add_view( jsondetails, name="tinymce-jsondetails", renderer="json", permission="edit", ) config.add_view( setDescription, name="tinymce-setDescription", renderer="json", permission="edit", ) config.add_view( upload, name="tinymce-upload", renderer="json", permission="edit", ) config.add_route( "plonebrowser.htm", "/static-kotti-tinymce-skins/plugins/plonebrowser/plonebrowser.htm", ) config.add_view( plonebrowser, renderer="templates/plonebrowser.htm.pt", route_name="plonebrowser.htm", permission="edit", ) config.add_static_view( name='static-kotti-tinymce', path="kotti_tinymce:static/", ) config.add_static_view( name='static-kotti-tinymce-skins', path=TINYMCE_SRC, ) config.override_asset( to_override=TINYMCE_SRC + 'themes/advanced/skins/plone/dialog.css', override_with='kotti_tinymce:static/dialog.css', ) config.override_asset( to_override=TINYMCE_SRC + 'themes/advanced/skins/plone/ui.css', override_with='kotti_tinymce:static/ui.css', ) config.override_asset( to_override=TINYMCE_SRC + 'themes/advanced/skins/plone/content.css', override_with='kotti_tinymce:static/content.css', ) config.override_asset( to_override=TINYMCE_SRC + 'plugins/inlinepopups/skins/plonepopup/window.css', override_with='kotti_tinymce:static/window.css', ) config.add_view( image_view, name="images", context="kotti.resources.Image", permission="view", ) register(RenderEditInHead, None, render_resource_links)
def include_sharethis_widget(config, where=RenderBelowContent): # pragma: no cover config.add_static_view(name="static", path="kotti_jtweetanywhere:static") register(RenderInHead, None, render_widget_assets) register(where, None, render_sharethis_widget)