[Checkins] SVN: grokcore.layout/trunk/s Be sure the layout is set when the view is updated.
Sylvain Viollon
sylvain at infrae.com
Wed Jul 13 13:03:17 EDT 2011
Log message for revision 122181:
Be sure the layout is set when the view is updated.
Remove the message utility (will be added by Grok)
Changed:
U grokcore.layout/trunk/setup.py
U grokcore.layout/trunk/src/grokcore/layout/components.py
U grokcore.layout/trunk/src/grokcore/layout/configure.zcml
D grokcore.layout/trunk/src/grokcore/layout/tests/models/message.py
-=-
Modified: grokcore.layout/trunk/setup.py
===================================================================
--- grokcore.layout/trunk/setup.py 2011-07-13 16:51:02 UTC (rev 122180)
+++ grokcore.layout/trunk/setup.py 2011-07-13 17:03:17 UTC (rev 122181)
@@ -42,7 +42,6 @@
install_requires=[
'grokcore.component',
'grokcore.formlib',
- 'grokcore.message',
'grokcore.security',
'grokcore.view >= 2.3',
'martian',
Modified: grokcore.layout/trunk/src/grokcore/layout/components.py
===================================================================
--- grokcore.layout/trunk/src/grokcore/layout/components.py 2011-07-13 16:51:02 UTC (rev 122180)
+++ grokcore.layout/trunk/src/grokcore/layout/components.py 2011-07-13 17:03:17 UTC (rev 122181)
@@ -2,7 +2,6 @@
import grokcore.component as grok
import grokcore.formlib
-import grokcore.message
import grokcore.view
import zope.component
@@ -28,12 +27,7 @@
raise zope.component.ComponentLookupError("No site found.")
return self.url(site, name)
- def flash(self, message, type='message'):
- """Sends a message to the session messager.
- """
- return grokcore.message.send(message, type)
-
class Layout(grokcore.view.ViewSupport, UtilityView):
"""A layout object.
"""
@@ -89,13 +83,13 @@
layout = None
def __call__(self):
+ self.layout = zope.component.getMultiAdapter(
+ (self.request, self.context), ILayout)
mapply(self.update, (), self.request)
if self.request.response.getStatus() in (302, 303):
# A redirect was triggered somewhere in update(). Don't
# continue rendering the template or doing anything else.
return
- self.layout = zope.component.getMultiAdapter(
- (self.request, self.context), ILayout)
return self.layout(self)
def default_namespace(self):
Modified: grokcore.layout/trunk/src/grokcore/layout/configure.zcml
===================================================================
--- grokcore.layout/trunk/src/grokcore/layout/configure.zcml 2011-07-13 16:51:02 UTC (rev 122180)
+++ grokcore.layout/trunk/src/grokcore/layout/configure.zcml 2011-07-13 17:03:17 UTC (rev 122181)
@@ -5,6 +5,5 @@
<include package="grokcore.layout" file="meta.zcml" />
<include package="grokcore.view" />
<include package="grokcore.formlib" />
- <include package="grokcore.message" />
</configure>
Deleted: grokcore.layout/trunk/src/grokcore/layout/tests/models/message.py
===================================================================
--- grokcore.layout/trunk/src/grokcore/layout/tests/models/message.py 2011-07-13 16:51:02 UTC (rev 122180)
+++ grokcore.layout/trunk/src/grokcore/layout/tests/models/message.py 2011-07-13 17:03:17 UTC (rev 122181)
@@ -1,63 +0,0 @@
-"""
- >>> from grokcore.layout import ILayout
- >>> from zope.component import getMultiAdapter
- >>> from zope.publisher.browser import TestRequest
-
- >>> kitty = Cat()
- >>> request = TestRequest()
- >>> mylayout = getMultiAdapter((request, kitty), ILayout)
- >>> myview = getMultiAdapter((kitty, request), name='utils')
- >>> myform = getMultiAdapter((kitty, request), name='formutils')
-
- >>> print myview.flash(u'test')
- Traceback (most recent call last):
- ...
- NoInteraction
-
- >>> from zope.security.management import newInteraction
- >>> newInteraction(request)
-
- >>> print myview.flash(u'test')
- True
-
- >>> print myform.flash(u'some form message')
- True
-
- >>> from grokcore.message import receive
- >>> messages = [i for i in receive()]
- >>> len(messages)
- 2
-
- >>> print ", ".join([msg.message for msg in messages])
- test, some form message
-
- >>> from zope.security.management import endInteraction
- >>> endInteraction()
-
-"""
-import grokcore.component as grok
-from grokcore.view import templatedir
-from zope.interface import Interface
-from grokcore.layout import Layout, Page, Form
-
-templatedir('templates')
-
-
-class Cat(grok.Context):
- pass
-
-
-class Master(Layout):
- grok.name('master')
- grok.context(Cat)
-
-
-class Utils(Page):
- grok.context(Interface)
-
- def render(self):
- return "<p>A purring cat</p>"
-
-
-class FormUtils(Form):
- grok.context(Interface)
More information about the checkins
mailing list