[Checkins] SVN: grok/trunk/src/grok/ integrated form.DisplayForm to
grok
Wolfgang Schnerring
wosc at wosc.de
Thu Oct 19 08:35:17 EDT 2006
Log message for revision 70809:
integrated form.DisplayForm to grok
Changed:
U grok/trunk/src/grok/__init__.py
U grok/trunk/src/grok/components.py
U grok/trunk/src/grok/ftests/form/form.py
-=-
Modified: grok/trunk/src/grok/__init__.py
===================================================================
--- grok/trunk/src/grok/__init__.py 2006-10-19 12:27:12 UTC (rev 70808)
+++ grok/trunk/src/grok/__init__.py 2006-10-19 12:35:17 UTC (rev 70809)
@@ -30,7 +30,7 @@
from grok.components import Model, Adapter, MultiAdapter, View, XMLRPC
from grok.components import PageTemplate, Utility, Container, Traverser
-from grok.components import EditForm
+from grok.components import EditForm, DisplayForm
from grok.directive import context, name, template, templatedir
from grok._grok import do_grok as grok # Avoid name clash within _grok
from grok._grok import SubscribeDecorator as subscribe
Modified: grok/trunk/src/grok/components.py
===================================================================
--- grok/trunk/src/grok/components.py 2006-10-19 12:27:12 UTC (rev 70808)
+++ grok/trunk/src/grok/components.py 2006-10-19 12:35:17 UTC (rev 70809)
@@ -192,16 +192,27 @@
if traverser:
return traverser(name)
-class EditForm(View, form.EditForm):
- def __init__(self, context, request):
- super(EditForm, self).__init__(context, request)
-
+class Form(View):
+ def _init(self):
fields = schema_fields(self.context)
self.form_fields = form.Fields(*fields)
self.template = component.getAdapter(self, INamedTemplate,
name='default')
+ def __call__(self):
+ self.update()
+ return self.render()
+class EditForm(Form, form.EditForm):
+ def __init__(self, context, request):
+ super(EditForm, self).__init__(context, request)
+ self._init()
+
+class DisplayForm(Form, form.DisplayForm):
+ def __init__(self, context, request):
+ super(DisplayForm, self).__init__(context, request)
+ self._init()
+
def schema_fields(obj):
fields = []
fields_class = getattr(obj, 'fields', None)
Modified: grok/trunk/src/grok/ftests/form/form.py
===================================================================
--- grok/trunk/src/grok/ftests/form/form.py 2006-10-19 12:27:12 UTC (rev 70808)
+++ grok/trunk/src/grok/ftests/form/form.py 2006-10-19 12:35:17 UTC (rev 70809)
@@ -19,6 +19,15 @@
...Really big...
...
+grok.DisplayForm renders a display form:
+
+ >>> browser.open("http://localhost/manfred/@@display")
+ >>> print browser.contents
+ <!DOCTYPE ...
+ ...Manfred the Mammoth...
+ ...Really big...
+ ...
+
"""
import grok
from zope import schema
@@ -30,3 +39,6 @@
class Edit(grok.EditForm):
pass
+
+class Display(grok.DisplayForm):
+ pass
More information about the Checkins
mailing list