[Checkins] SVN: megrok.z3cform/branches/megrok.z3cform-pagelt/s Basic Implementation
Christian Klinger
cklinger at novareto.de
Tue Feb 3 09:15:59 EST 2009
Log message for revision 96035:
Basic Implementation
Changed:
U megrok.z3cform/branches/megrok.z3cform-pagelt/setup.py
U megrok.z3cform/branches/megrok.z3cform-pagelt/src/megrok/z3cform/components.py
U megrok.z3cform/branches/megrok.z3cform-pagelt/src/megrok/z3cform/meta.zcml
-=-
Modified: megrok.z3cform/branches/megrok.z3cform-pagelt/setup.py
===================================================================
--- megrok.z3cform/branches/megrok.z3cform-pagelt/setup.py 2009-02-03 14:15:33 UTC (rev 96034)
+++ megrok.z3cform/branches/megrok.z3cform-pagelt/setup.py 2009-02-03 14:15:58 UTC (rev 96035)
@@ -9,6 +9,8 @@
'grokcore.view >= 1.1',
'grokcore.formlib',
'z3c.form',
+ 'z3c.formui',
+ 'z3c.layer',
]
# The grok dependency is not added explicitly, so we can factor out a
Modified: megrok.z3cform/branches/megrok.z3cform-pagelt/src/megrok/z3cform/components.py
===================================================================
--- megrok.z3cform/branches/megrok.z3cform-pagelt/src/megrok/z3cform/components.py 2009-02-03 14:15:33 UTC (rev 96034)
+++ megrok.z3cform/branches/megrok.z3cform-pagelt/src/megrok/z3cform/components.py 2009-02-03 14:15:58 UTC (rev 96035)
@@ -13,7 +13,9 @@
from z3c.form import form, field
from z3c.form.interfaces import IFormLayer
+from z3c.template.interfaces import ILayoutTemplate
+import megrok.pagelet
class DefaultFields(field.Fields):
"""Marker for default fields.
@@ -27,6 +29,9 @@
interface.implements(IGrokForm)
martian.baseclass()
+ template = None
+ layout = None
+
fields = DefaultFields()
def __init__(self, *args):
@@ -54,7 +59,7 @@
assert not (self.template is None)
if IGrokTemplate.providedBy(self.template):
return super(GrokForm, self)._render_template()
- return self.template()
+ return self.template(self)
def render(self):
"""People don't have to define a render method here, and we
@@ -72,38 +77,52 @@
# override it.
def __call__(self):
- 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
-
+ #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.update()
self.updateForm()
- return self.render()
+ if self.layout is None:
+ layout = component.getMultiAdapter(
+ (self.context, self.request), ILayoutTemplate)
+ import pdb; pdb.set_trace()
+ return layout(self)
+ return self.layout()
-class Form(GrokForm, form.Form, grokcore.view.View):
+class Form(GrokForm, form.Form, megrok.pagelet.Pagelet):
"""Normal z3c form.
"""
martian.baseclass()
-class AddForm(GrokForm, form.AddForm, grokcore.view.View):
+class AddForm(GrokForm, form.AddForm, megrok.pagelet.Pagelet):
"""z3c add form.
"""
martian.baseclass()
+ def _render_template(self):
+ assert not (self.template is None)
+ if self._finishedAdd:
+ self.request.response.redirect(self.nextURL())
+ return ""
+ if IGrokTemplate.providedBy(self.template):
+ return super(GrokForm, self)._render_template()
+ return self.template(self)
-class EditForm(GrokForm, form.EditForm, grokcore.view.View):
+
+class EditForm(GrokForm, form.EditForm, megrok.pagelet.Pagelet):
"""z3c edit form.
"""
martian.baseclass()
-class DisplayForm(GrokForm, form.DisplayForm, grokcore.view.View):
+class DisplayForm(GrokForm, form.DisplayForm, megrok.pagelet.Pagelet):
"""z3c display form.
"""
Modified: megrok.z3cform/branches/megrok.z3cform-pagelt/src/megrok/z3cform/meta.zcml
===================================================================
--- megrok.z3cform/branches/megrok.z3cform-pagelt/src/megrok/z3cform/meta.zcml 2009-02-03 14:15:33 UTC (rev 96034)
+++ megrok.z3cform/branches/megrok.z3cform-pagelt/src/megrok/z3cform/meta.zcml 2009-02-03 14:15:58 UTC (rev 96035)
@@ -3,6 +3,10 @@
xmlns:grok="http://namespaces.zope.org/grok">
<include package="z3c.form" file="meta.zcml" />
+ <include package="zope.viewlet" file="meta.zcml" />
+ <include package="z3c.template" file="meta.zcml" />
+ <include package="z3c.macro" file="meta.zcml" />
+
<include package="grokcore.view" file="meta-minimal.zcml" />
<grok:grok package=".meta" />
More information about the Checkins
mailing list