[Checkins] SVN: five.megrok.layout/trunk/src/five/megrok/layout/ Add Form support.
Sylvain Viollon
sylvain at infrae.com
Thu Sep 17 12:13:55 EDT 2009
Log message for revision 104239:
Add Form support.
Changed:
U five.megrok.layout/trunk/src/five/megrok/layout/__init__.py
U five.megrok.layout/trunk/src/five/megrok/layout/components.py
-=-
Modified: five.megrok.layout/trunk/src/five/megrok/layout/__init__.py
===================================================================
--- five.megrok.layout/trunk/src/five/megrok/layout/__init__.py 2009-09-17 16:01:11 UTC (rev 104238)
+++ five.megrok.layout/trunk/src/five/megrok/layout/__init__.py 2009-09-17 16:13:55 UTC (rev 104239)
@@ -14,4 +14,4 @@
from megrok.layout import *
-from five.megrok.layout.components import Layout, Page
+from five.megrok.layout.components import Layout, Page, Form
Modified: five.megrok.layout/trunk/src/five/megrok/layout/components.py
===================================================================
--- five.megrok.layout/trunk/src/five/megrok/layout/components.py 2009-09-17 16:01:11 UTC (rev 104238)
+++ five.megrok.layout/trunk/src/five/megrok/layout/components.py 2009-09-17 16:13:55 UTC (rev 104239)
@@ -13,12 +13,19 @@
##############################################################################
import megrok.layout
+from grokcore.formlib.components import default_form_template
+from five import grok
+from zope import component, interface
+from Products.Five.browser.decode import processInputs, setPageEncoding
+
import Acquisition
class Layout(megrok.layout.Layout, Acquisition.Explicit):
+ grok.baseclass()
+
def __init__(self, *args):
super(Layout, self).__init__(*args)
if not (self.static is None):
@@ -34,6 +41,8 @@
class Page(megrok.layout.Page, Acquisition.Explicit):
+ grok.baseclass()
+
def __init__(self, *args):
super(Page, self).__init__(*args)
if not (self.static is None):
@@ -47,5 +56,21 @@
getPhysicalPath = Acquisition.Acquired
+class Form(megrok.layout.Form, Acquisition.Explicit):
+ grok.baseclass()
+ def __init__(self, *args):
+ super(Form, self).__init__(*args)
+ self.__name__ = self.__view_name__
+ # super seems not to work correctly since this is needed again.
+ self.static = component.queryAdapter(
+ self.request, interface.Interface,
+ name = self.module_info.package_dotted_name)
+ if not (self.static is None):
+ self.static = self.static.__of__(self)
+
+ def update_form(self):
+ processInputs(self.request)
+ setPageEncoding(self.request)
+ super(Form, self).update_form()
More information about the checkins
mailing list