[Checkins] SVN: megrok.layout/trunk/src/megrok/layout/ Forms now inherit from UtilityView
Souheil CHELFOUH
souheil at chelfouh.com
Mon Oct 18 06:00:26 EDT 2010
Log message for revision 117673:
Forms now inherit from UtilityView
Changed:
U megrok.layout/trunk/src/megrok/layout/components.py
U megrok.layout/trunk/src/megrok/layout/tests/models/message.py
U megrok.layout/trunk/src/megrok/layout/tests/models/url.py
-=-
Modified: megrok.layout/trunk/src/megrok/layout/components.py
===================================================================
--- megrok.layout/trunk/src/megrok/layout/components.py 2010-10-18 10:00:20 UTC (rev 117672)
+++ megrok.layout/trunk/src/megrok/layout/components.py 2010-10-18 10:00:26 UTC (rev 117673)
@@ -114,7 +114,7 @@
return mapply(self.render, (), self.request)
-class LayoutAwareForm(object):
+class LayoutAwareForm(UtilityView):
"""A mixin to make form aware of layouts.
"""
Modified: megrok.layout/trunk/src/megrok/layout/tests/models/message.py
===================================================================
--- megrok.layout/trunk/src/megrok/layout/tests/models/message.py 2010-10-18 10:00:20 UTC (rev 117672)
+++ megrok.layout/trunk/src/megrok/layout/tests/models/message.py 2010-10-18 10:00:26 UTC (rev 117673)
@@ -7,10 +7,14 @@
>>> request = TestRequest()
>>> mylayout = getMultiAdapter((request, kitty), ILayout)
>>> myview = getMultiAdapter((kitty, request), name='utils')
+ >>> myform = getMultiAdapter((kitty, request), name='formutils')
>>> print myview.flash(u'test')
None
+ >>> print myform.flash(u'some form message')
+ None
+
>>> from zope.security.management import newInteraction
>>> newInteraction(request)
@@ -18,15 +22,19 @@
>>> print myview.flash(u'test')
True
+ >>> print myform.flash(u'some form message')
+ True
+
>>> from zope.component import getUtility
>>> from z3c.flashmessage.interfaces import IMessageReceiver
>>> receiver = getUtility(IMessageReceiver)
>>> messages = [i for i in receiver.receive()]
>>> messages
- [<z3c.flashmessage.message.Message object at ...>]
+ [<z3c.flashmessage.message.Message object at ...>,
+ <z3c.flashmessage.message.Message object at ...>]
>>> print ", ".join([msg.message for msg in messages])
- test
+ test, some form message
>>> from zope.security.management import endInteraction
>>> endInteraction()
@@ -35,7 +43,7 @@
import grokcore.component as grok
from grokcore.view import templatedir
from zope.interface import Interface
-from megrok.layout import Layout, Page
+from megrok.layout import Layout, Page, Form
templatedir('templates')
@@ -54,3 +62,7 @@
def render(self):
return "<p>A purring cat</p>"
+
+
+class FormUtils(Form):
+ grok.context(Interface)
Modified: megrok.layout/trunk/src/megrok/layout/tests/models/url.py
===================================================================
--- megrok.layout/trunk/src/megrok/layout/tests/models/url.py 2010-10-18 10:00:20 UTC (rev 117672)
+++ megrok.layout/trunk/src/megrok/layout/tests/models/url.py 2010-10-18 10:00:26 UTC (rev 117673)
@@ -1,5 +1,5 @@
"""
- >>> from zope.site.hooks import getSite
+ >>> from zope.component.hooks import getSite
>>> site = getSite()
>>> site
@@ -17,10 +17,17 @@
>>> print view.application_url()
http://127.0.0.1
+ >>> form = getMultiAdapter((helmut, request), name='form')
+ >>> form
+ <megrok.layout.tests.models.url.BearForm object at ...>
+
+ >>> print form.application_url()
+ http://127.0.0.1
+
"""
import grokcore.view as grok
-from megrok.layout import Page, Layout
+from megrok.layout import Page, Layout, Form
from zope.interface import Interface, implements
grok.templatedir("templates")
@@ -38,6 +45,11 @@
grok.context(IBear)
+class BearForm(Form):
+ grok.name('form')
+ grok.context(IBear)
+
+
class Index(Page):
grok.context(IBear)
More information about the checkins
mailing list