[Checkins] SVN: z3ext.layoutform/tags/1.3.1/ release tag
Nikolay Kim
fafhrd at datacom.kz
Thu Dec 25 07:11:14 EST 2008
Log message for revision 94326:
release tag
Changed:
A z3ext.layoutform/tags/1.3.1/
D z3ext.layoutform/tags/1.3.1/CHANGES.txt
A z3ext.layoutform/tags/1.3.1/CHANGES.txt
U z3ext.layoutform/tags/1.3.1/setup.py
D z3ext.layoutform/tags/1.3.1/src/z3ext/layoutform/browser/configure.zcml
A z3ext.layoutform/tags/1.3.1/src/z3ext/layoutform/browser/configure.zcml
D z3ext.layoutform/tags/1.3.1/src/z3ext/layoutform/browser/interfaces.py
A z3ext.layoutform/tags/1.3.1/src/z3ext/layoutform/browser/interfaces.py
D z3ext.layoutform/tags/1.3.1/src/z3ext/layoutform/form.py
A z3ext.layoutform/tags/1.3.1/src/z3ext/layoutform/form.py
-=-
Deleted: z3ext.layoutform/tags/1.3.1/CHANGES.txt
===================================================================
--- z3ext.layoutform/trunk/CHANGES.txt 2008-12-24 21:29:33 UTC (rev 94312)
+++ z3ext.layoutform/tags/1.3.1/CHANGES.txt 2008-12-25 12:11:14 UTC (rev 94326)
@@ -1,126 +0,0 @@
-=======
-CHANGES
-=======
-
-1.3.0 (2008-12-22)
-------------------
-
-- Added subforms based on new z3ext.layout pagelet api
-
-- Fixed 'formError' status message
-
-- Use button.handler instead of buttonAndHandler
-
-- Use new pagelet api for rendering widgets
-
-
-1.2.8 (2008-11-21)
-------------------
-
-- Fixed 'formError' status message
-
-
-1.2.7 (2008-11-20)
-------------------
-
-- Use new z3ext.statusmessage api
-
-
-1.2.6 (2008-11-06)
-------------------
-
-- Use updated pagelet api for nameless pagelets
-
-
-1.2.5 (2008-10-22)
-------------------
-
-- Update translations
-
-
-1.2.4 (2008-10-20)
-------------------
-
-- Added support of display form
-
-- Added tranlsations: nl, ru
-
-
-1.2.3 (2008-10-14)
-------------------
-
-- Groups support restored
-
-- Use IPageletType for views
-
-
-1.2.2 (2008-10-08)
-------------------
-
-- Added extra views for form
-
-
-1.2.1 (2008-10-08)
-------------------
-
-- Show all form errors
-
-
-1.2.0 (2008-10-06)
-------------------
-
-- Added default css styles
-
-- Removed z3c packages dependencies
-
-- Use pagelets instead of macros
-
-
-1.1.2 (2008-09-26)
-------------------
-
-- Added group support
-
-- Return added object in createAndAdd method
-
-
-1.1.1 (2008-08-05)
-------------------
-
-- Fixed wrong `for` in label tag
-
-
-1.1.0 (2008-07-22)
-------------------
-
-- Remove cancel button from edit form
-
-
-1.0.1 (2008-06-02)
-------------------
-
-- Redirect to nextURL after success 'apply'
-
-
-1.0.0 (2008-05-13)
-------------------
-
-- Use `includeDependencies` instead `autoinclude`
-
-
-0.2.0 (2008-??-??)
-------------------
-
-- Use z3c.autoinclude
-
-
-0.1.1 (2008-01-22)
-------------------
-
-- Fixed missing import in add.py
-
-
-0.1 (2008-01-19)
-----------------
-
-- Initial release
Copied: z3ext.layoutform/tags/1.3.1/CHANGES.txt (from rev 94325, z3ext.layoutform/trunk/CHANGES.txt)
===================================================================
--- z3ext.layoutform/tags/1.3.1/CHANGES.txt (rev 0)
+++ z3ext.layoutform/tags/1.3.1/CHANGES.txt 2008-12-25 12:11:14 UTC (rev 94326)
@@ -0,0 +1,134 @@
+=======
+CHANGES
+=======
+
+1.3.1 (2008-12-25)
+------------------
+
+- Fixed subform initialization
+
+- Fixed IPagelet contract implementation
+
+
+1.3.0 (2008-12-22)
+------------------
+
+- Added subforms based on new z3ext.layout pagelet api
+
+- Fixed 'formError' status message
+
+- Use button.handler instead of buttonAndHandler
+
+- Use new pagelet api for rendering widgets
+
+
+1.2.8 (2008-11-21)
+------------------
+
+- Fixed 'formError' status message
+
+
+1.2.7 (2008-11-20)
+------------------
+
+- Use new z3ext.statusmessage api
+
+
+1.2.6 (2008-11-06)
+------------------
+
+- Use updated pagelet api for nameless pagelets
+
+
+1.2.5 (2008-10-22)
+------------------
+
+- Update translations
+
+
+1.2.4 (2008-10-20)
+------------------
+
+- Added support of display form
+
+- Added tranlsations: nl, ru
+
+
+1.2.3 (2008-10-14)
+------------------
+
+- Groups support restored
+
+- Use IPageletType for views
+
+
+1.2.2 (2008-10-08)
+------------------
+
+- Added extra views for form
+
+
+1.2.1 (2008-10-08)
+------------------
+
+- Show all form errors
+
+
+1.2.0 (2008-10-06)
+------------------
+
+- Added default css styles
+
+- Removed z3c packages dependencies
+
+- Use pagelets instead of macros
+
+
+1.1.2 (2008-09-26)
+------------------
+
+- Added group support
+
+- Return added object in createAndAdd method
+
+
+1.1.1 (2008-08-05)
+------------------
+
+- Fixed wrong `for` in label tag
+
+
+1.1.0 (2008-07-22)
+------------------
+
+- Remove cancel button from edit form
+
+
+1.0.1 (2008-06-02)
+------------------
+
+- Redirect to nextURL after success 'apply'
+
+
+1.0.0 (2008-05-13)
+------------------
+
+- Use `includeDependencies` instead `autoinclude`
+
+
+0.2.0 (2008-??-??)
+------------------
+
+- Use z3c.autoinclude
+
+
+0.1.1 (2008-01-22)
+------------------
+
+- Fixed missing import in add.py
+
+
+0.1 (2008-01-19)
+----------------
+
+- Initial release
Modified: z3ext.layoutform/tags/1.3.1/setup.py
===================================================================
--- z3ext.layoutform/trunk/setup.py 2008-12-24 21:29:33 UTC (rev 94312)
+++ z3ext.layoutform/tags/1.3.1/setup.py 2008-12-25 12:11:14 UTC (rev 94326)
@@ -21,7 +21,7 @@
def read(*rnames):
return open(os.path.join(os.path.dirname(__file__), *rnames)).read()
-version='1.3.1dev'
+version='1.3.1'
setup(name='z3ext.layoutform',
Deleted: z3ext.layoutform/tags/1.3.1/src/z3ext/layoutform/browser/configure.zcml
===================================================================
--- z3ext.layoutform/trunk/src/z3ext/layoutform/browser/configure.zcml 2008-12-24 21:29:33 UTC (rev 94312)
+++ z3ext.layoutform/tags/1.3.1/src/z3ext/layoutform/browser/configure.zcml 2008-12-25 12:11:14 UTC (rev 94326)
@@ -1,168 +0,0 @@
-<configure
- xmlns="http://namespaces.zope.org/zope"
- xmlns:z3ext="http://namespaces.zope.org/z3ext">
-
- <!-- buttons -->
- <adapter
- provides="z3c.form.interfaces.IButtonAction"
- factory=".buttons.ButtonAction" />
-
- <adapter
- provides="z3c.form.interfaces.IButtonAction"
- factory=".buttons.AddButtonAction" />
-
- <adapter
- provides="z3c.form.interfaces.IButtonAction"
- factory=".buttons.SaveButtonAction" />
-
- <adapter
- provides="z3c.form.interfaces.IButtonAction"
- factory=".buttons.CancelButtonAction" />
-
- <!-- TextArea widget -->
- <class class=".textarea.TextAreaWidget">
- <require
- permission="zope.Public"
- interface="z3c.form.interfaces.ITextAreaWidget" />
- </class>
-
- <adapter
- for="zope.schema.interfaces.IText
- ..interfaces.ILayoutFormLayer"
- factory=".textarea.TextAreaFieldWidget" />
-
- <!-- templates -->
- <z3ext:pagelet
- type="form"
- template="form.pt"
- for="..interfaces.IPageletForm"
- layer="..interfaces.ILayoutFormLayer" />
-
- <z3ext:pagelet
- type="form"
- template="formadd.pt"
- for="..interfaces.IPageletAddForm"
- layer="..interfaces.ILayoutFormLayer" />
-
- <z3ext:pagelet
- type="form"
- template="formedit.pt"
- for="..interfaces.IPageletEditForm"
- layer="..interfaces.ILayoutFormLayer" />
-
- <z3ext:pagelet
- type="form"
- template="formdisp.pt"
- for="..interfaces.IPageletDisplayForm"
- layer="..interfaces.ILayoutFormLayer" />
-
- <z3ext:pagelet
- type="form"
- template="subform.pt"
- for="z3c.form.interfaces.ISubForm"
- layer="..interfaces.ILayoutFormLayer" />
-
- <z3ext:pagelet
- type="form"
- template="formgroup.pt"
- for="z3c.form.interfaces.IGroup"
- layer="..interfaces.ILayoutFormLayer" />
-
- <!-- Error View -->
- <z3ext:pageletType
- name="form.errorView"
- interface=".interfaces.IErrorView" />
-
- <z3ext:pagelet
- for="z3c.form.interfaces.IErrorViewSnippet"
- template="error.pt"
- layer="..interfaces.ILayoutFormLayer"
- type="form.errorView" />
-
- <!-- form view -->
- <z3ext:pageletType
- name="form.view"
- interface="z3ext.layoutform.browser.interfaces.IForm" />
-
- <z3ext:pagelet
- for="..interfaces.IPageletForm"
- template="formview.pt"
- layer="..interfaces.ILayoutFormLayer"
- type="form.view" />
-
- <!-- viewspace view -->
- <z3ext:pageletType
- name="form.viewspace"
- interface="z3ext.layoutform.browser.interfaces.IViewspace" />
-
- <z3ext:pageletType
- name="form.viewspaceInfo"
- interface="z3ext.layoutform.browser.interfaces.IExtraViewspaceInfo" />
-
- <z3ext:pagelet
- for="..interfaces.IPageletForm"
- template="formviewspace.pt"
- layer="..interfaces.ILayoutFormLayer"
- type="form.viewspace" />
-
- <!-- form buttons -->
- <z3ext:pageletType
- name="form.buttons"
- interface="z3ext.layoutform.browser.interfaces.IFormButtons" />
-
- <z3ext:pagelet
- for="..interfaces.IPageletForm"
- template="formbuttons.pt"
- layer="..interfaces.ILayoutFormLayer"
- type="form.buttons" />
-
- <!-- widget view -->
- <z3ext:pageletType
- name="form.widget"
- interface="z3ext.layoutform.browser.interfaces.IWidget" />
-
- <z3ext:pagelet
- for="z3c.form.interfaces.IWidget
- zope.schema.interfaces.IField
- z3c.form.interfaces.IForm"
- template="widget.pt"
- type="form.widget" />
-
- <adapter
- name="form.widget"
- factory=".widget.getWidgetManager" />
-
- <!-- display widget view -->
- <z3ext:pagelet
- for="z3c.form.interfaces.IWidget
- zope.schema.interfaces.IField
- z3c.form.interfaces.IDisplayForm"
- template="widgetDisplay.pt"
- type="form.widget" />
-
- <!-- add form buttons -->
- <z3ext:pagelet
- for="..interfaces.IPageletAddForm"
- template="formaddbuttons.pt"
- layer="..interfaces.ILayoutFormLayer"
- type="form.buttons" />
-
- <!-- styles -->
- <z3ext:resourceinclude
- name="z3ext-layoutform.css"
- library="z3ext" type="stylesheet"
- file="styles.css" filetype="zrt" />
-
- <z3ext:resource
- file="required.gif"
- name="z3ext-layoutform-required.gif" />
-
- <z3ext:resource
- file="linkOpaque.gif"
- name="z3ext-layoutform-linkOpaque.gif" />
-
- <z3ext:resource
- file="linkTransparent.gif"
- name="z3ext-layoutform-linkTransparent.gif" />
-
-</configure>
Copied: z3ext.layoutform/tags/1.3.1/src/z3ext/layoutform/browser/configure.zcml (from rev 94313, z3ext.layoutform/trunk/src/z3ext/layoutform/browser/configure.zcml)
===================================================================
--- z3ext.layoutform/tags/1.3.1/src/z3ext/layoutform/browser/configure.zcml (rev 0)
+++ z3ext.layoutform/tags/1.3.1/src/z3ext/layoutform/browser/configure.zcml 2008-12-25 12:11:14 UTC (rev 94326)
@@ -0,0 +1,168 @@
+<configure
+ xmlns="http://namespaces.zope.org/zope"
+ xmlns:z3ext="http://namespaces.zope.org/z3ext">
+
+ <!-- buttons -->
+ <adapter
+ provides="z3c.form.interfaces.IButtonAction"
+ factory=".buttons.ButtonAction" />
+
+ <adapter
+ provides="z3c.form.interfaces.IButtonAction"
+ factory=".buttons.AddButtonAction" />
+
+ <adapter
+ provides="z3c.form.interfaces.IButtonAction"
+ factory=".buttons.SaveButtonAction" />
+
+ <adapter
+ provides="z3c.form.interfaces.IButtonAction"
+ factory=".buttons.CancelButtonAction" />
+
+ <!-- TextArea widget -->
+ <class class=".textarea.TextAreaWidget">
+ <require
+ permission="zope.Public"
+ interface="z3c.form.interfaces.ITextAreaWidget" />
+ </class>
+
+ <adapter
+ for="zope.schema.interfaces.IText
+ ..interfaces.ILayoutFormLayer"
+ factory=".textarea.TextAreaFieldWidget" />
+
+ <!-- templates -->
+ <z3ext:pagelet
+ type="form"
+ template="form.pt"
+ for="..interfaces.IPageletForm"
+ layer="..interfaces.ILayoutFormLayer" />
+
+ <z3ext:pagelet
+ type="form"
+ template="formadd.pt"
+ for="..interfaces.IPageletAddForm"
+ layer="..interfaces.ILayoutFormLayer" />
+
+ <z3ext:pagelet
+ type="form"
+ template="formedit.pt"
+ for="..interfaces.IPageletEditForm"
+ layer="..interfaces.ILayoutFormLayer" />
+
+ <z3ext:pagelet
+ type="form"
+ template="formdisp.pt"
+ for="..interfaces.IPageletDisplayForm"
+ layer="..interfaces.ILayoutFormLayer" />
+
+ <z3ext:pagelet
+ type="form"
+ template="subform.pt"
+ for="z3c.form.interfaces.ISubForm"
+ layer="..interfaces.ILayoutFormLayer" />
+
+ <z3ext:pagelet
+ type="form"
+ template="formgroup.pt"
+ for="z3c.form.interfaces.IGroup"
+ layer="..interfaces.ILayoutFormLayer" />
+
+ <!-- Error View -->
+ <z3ext:pageletType
+ name="form.errorView"
+ interface=".interfaces.IErrorView" />
+
+ <z3ext:pagelet
+ type="form.errorView"
+ for="z3c.form.interfaces.IErrorViewSnippet"
+ template="error.pt"
+ layer="..interfaces.ILayoutFormLayer" />
+
+ <!-- form view -->
+ <z3ext:pageletType
+ name="form.view"
+ interface="z3ext.layoutform.browser.interfaces.IForm" />
+
+ <z3ext:pagelet
+ for="..interfaces.IPageletForm"
+ template="formview.pt"
+ layer="..interfaces.ILayoutFormLayer"
+ type="form.view" />
+
+ <!-- viewspace view -->
+ <z3ext:pageletType
+ name="form.viewspace"
+ interface="z3ext.layoutform.browser.interfaces.IViewspace" />
+
+ <z3ext:pageletType
+ name="form.viewspaceInfo"
+ interface="z3ext.layoutform.browser.interfaces.IExtraViewspaceInfo" />
+
+ <z3ext:pagelet
+ for="..interfaces.IPageletForm"
+ template="formviewspace.pt"
+ layer="..interfaces.ILayoutFormLayer"
+ type="form.viewspace" />
+
+ <!-- form buttons -->
+ <z3ext:pageletType
+ name="form.buttons"
+ interface="z3ext.layoutform.browser.interfaces.IFormButtons" />
+
+ <z3ext:pagelet
+ for="..interfaces.IPageletForm"
+ template="formbuttons.pt"
+ layer="..interfaces.ILayoutFormLayer"
+ type="form.buttons" />
+
+ <!-- widget view -->
+ <z3ext:pageletType
+ name="form.widget"
+ interface="z3ext.layoutform.browser.interfaces.IWidget" />
+
+ <z3ext:pagelet
+ for="z3c.form.interfaces.IWidget
+ zope.schema.interfaces.IField
+ z3c.form.interfaces.IForm"
+ template="widget.pt"
+ type="form.widget" />
+
+ <adapter
+ name="form.widget"
+ factory=".widget.getWidgetManager" />
+
+ <!-- display widget view -->
+ <z3ext:pagelet
+ for="z3c.form.interfaces.IWidget
+ zope.schema.interfaces.IField
+ z3c.form.interfaces.IDisplayForm"
+ template="widgetDisplay.pt"
+ type="form.widget" />
+
+ <!-- add form buttons -->
+ <z3ext:pagelet
+ for="..interfaces.IPageletAddForm"
+ template="formaddbuttons.pt"
+ layer="..interfaces.ILayoutFormLayer"
+ type="form.buttons" />
+
+ <!-- styles -->
+ <z3ext:resourceinclude
+ name="z3ext-layoutform.css"
+ library="z3ext" type="stylesheet"
+ file="styles.css" filetype="zrt" />
+
+ <z3ext:resource
+ file="required.gif"
+ name="z3ext-layoutform-required.gif" />
+
+ <z3ext:resource
+ file="linkOpaque.gif"
+ name="z3ext-layoutform-linkOpaque.gif" />
+
+ <z3ext:resource
+ file="linkTransparent.gif"
+ name="z3ext-layoutform-linkTransparent.gif" />
+
+</configure>
Deleted: z3ext.layoutform/tags/1.3.1/src/z3ext/layoutform/browser/interfaces.py
===================================================================
--- z3ext.layoutform/trunk/src/z3ext/layoutform/browser/interfaces.py 2008-12-24 21:29:33 UTC (rev 94312)
+++ z3ext.layoutform/tags/1.3.1/src/z3ext/layoutform/browser/interfaces.py 2008-12-25 12:11:14 UTC (rev 94326)
@@ -1,43 +0,0 @@
-##############################################################################
-#
-# Copyright (c) 2008 Zope Corporation and Contributors.
-# All Rights Reserved.
-#
-# This software is subject to the provisions of the Zope Public License,
-# Version 2.1 (ZPL). A copy of the ZPL should accompany this distribution.
-# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED
-# WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-# WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS
-# FOR A PARTICULAR PURPOSE.
-#
-##############################################################################
-"""
-
-$Id: 2007-12-12 12:27:02Z fafhrd $
-"""
-from zope import interface
-from zope.pagetemplate.interfaces import IPageTemplate
-
-
-class IForm(interface.Interface):
- """ form view """
-
-
-class IViewspace(interface.Interface):
- """ form viewspace """
-
-
-class IExtraViewspaceInfo(interface.Interface):
- """ extra widget information """
-
-
-class IWidget(interface.Interface):
- """ widget view """
-
-
-class IFormButtons(interface.Interface):
- """ form buttons """
-
-
-class IErrorView(IPageTemplate):
- """ Error view snippet view """
Copied: z3ext.layoutform/tags/1.3.1/src/z3ext/layoutform/browser/interfaces.py (from rev 94314, z3ext.layoutform/trunk/src/z3ext/layoutform/browser/interfaces.py)
===================================================================
--- z3ext.layoutform/tags/1.3.1/src/z3ext/layoutform/browser/interfaces.py (rev 0)
+++ z3ext.layoutform/tags/1.3.1/src/z3ext/layoutform/browser/interfaces.py 2008-12-25 12:11:14 UTC (rev 94326)
@@ -0,0 +1,42 @@
+##############################################################################
+#
+# Copyright (c) 2008 Zope Corporation and Contributors.
+# All Rights Reserved.
+#
+# This software is subject to the provisions of the Zope Public License,
+# Version 2.1 (ZPL). A copy of the ZPL should accompany this distribution.
+# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED
+# WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+# WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS
+# FOR A PARTICULAR PURPOSE.
+#
+##############################################################################
+"""
+
+$Id: 2007-12-12 12:27:02Z fafhrd $
+"""
+from zope import interface
+
+
+class IForm(interface.Interface):
+ """ form view """
+
+
+class IViewspace(interface.Interface):
+ """ form viewspace """
+
+
+class IExtraViewspaceInfo(interface.Interface):
+ """ extra widget information """
+
+
+class IWidget(interface.Interface):
+ """ widget view """
+
+
+class IFormButtons(interface.Interface):
+ """ form buttons """
+
+
+class IErrorView(interface.Interface):
+ """ Error view snippet view """
Deleted: z3ext.layoutform/tags/1.3.1/src/z3ext/layoutform/form.py
===================================================================
--- z3ext.layoutform/trunk/src/z3ext/layoutform/form.py 2008-12-24 21:29:33 UTC (rev 94312)
+++ z3ext.layoutform/tags/1.3.1/src/z3ext/layoutform/form.py 2008-12-25 12:11:14 UTC (rev 94326)
@@ -1,142 +0,0 @@
-##############################################################################
-#
-# Copyright (c) 2007 Zope Foundation and Contributors.
-# All Rights Reserved.
-#
-# This software is subject to the provisions of the Zope Public License,
-# Version 2.1 (ZPL). A copy of the ZPL should accompany this distribution.
-# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED
-# WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-# WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS
-# FOR A PARTICULAR PURPOSE.
-#
-##############################################################################
-"""Support for Layout Templates
-
-$Id$
-"""
-from zope import interface
-from zope.component import getAdapters
-from zope.component import getMultiAdapter, queryMultiAdapter
-from zope.pagetemplate.interfaces import IPageTemplate
-
-from z3c.form import form
-from z3c.form.interfaces import IForm, IGroup, ISubForm
-
-from z3ext.layout.interfaces import IPagelet
-from z3ext.layout.pagelet import BrowserPagelet
-
-from interfaces import IPageletForm, IPageletSubform
-from interfaces import IPageletDisplayForm, IPageletFormView
-
-
-class PageletBaseForm(form.BaseForm, BrowserPagelet):
-
- __call__ = BrowserPagelet.__call__
-
- def render(self):
- if self.template is not None:
- return self.template()
- else:
- view = queryMultiAdapter((self, self.request), IPageletFormView)
- if view is not None:
- view.update()
- return view.render()
-
- raise LookupError("Can't find IPageletFormView view for this form.")
-
-
-class PageletForm(form.Form, PageletBaseForm):
- interface.implements(IPageletForm)
-
- label = u''
- description = u''
-
- forms = ()
- groups = ()
- subforms = ()
- views = ()
-
- render = PageletBaseForm.render
- __call__ = PageletBaseForm.__call__
-
- def extractData(self):
- data, errors = super(PageletForm, self).extractData()
- for form in self.groups:
- formData, formErrors = form.extractData()
- data.update(formData)
- if formErrors:
- errors += formErrors
-
- for form in self.subforms:
- formData, formErrors = form.extractData()
- if formErrors:
- errors += formErrors
-
- return data, errors
-
- def _loadSubforms(self):
- return [form for name, form in
- getAdapters((self.context, self, self.request), IPageletSubform)]
-
- def updateForms(self):
- forms = []
- groups = []
- subforms = []
- views = []
- for form in self._loadSubforms():
- form.update()
- if not form.isAvailable():
- continue
-
- if IGroup.providedBy(form):
- groups.append((form.weight, form.__name__, form))
- elif ISubForm.providedBy(form):
- subforms.append((form.weight, form.__name__, form))
- elif IPageletForm.providedBy(form):
- forms.append((form.weight, form.__name__, form))
- else:
- views.append((form.weight, form.__name__, form))
-
- groups.sort()
- self.groups = [form for weight, name, form in groups]
-
- subforms.sort()
- self.subforms = [form for weight, name, form in subforms]
-
- forms.sort()
- self.forms = [form for weight, name, form in forms]
-
- views.sort()
- self.views = [view for weight, name, view in views]
-
- def update(self):
- self.updateWidgets()
- self.updateActions()
- self.updateForms()
-
- if not IPageletSubform.providedBy(self):
- self.actions.execute()
-
- for form in self.groups:
- form.postUpdate()
- for form in self.subforms:
- form.postUpdate()
-
- def isAvailable(self):
- return True
-
- def postUpdate(self):
- for form in self.groups:
- form.postUpdate()
- for form in self.subforms:
- form.postUpdate()
-
- self.actions.execute()
-
-
-class PageletDisplayForm(PageletForm, form.DisplayForm):
- interface.implements(IPageletDisplayForm)
-
- render = PageletForm.render
- __call__ = PageletForm.__call__
Copied: z3ext.layoutform/tags/1.3.1/src/z3ext/layoutform/form.py (from rev 94313, z3ext.layoutform/trunk/src/z3ext/layoutform/form.py)
===================================================================
--- z3ext.layoutform/tags/1.3.1/src/z3ext/layoutform/form.py (rev 0)
+++ z3ext.layoutform/tags/1.3.1/src/z3ext/layoutform/form.py 2008-12-25 12:11:14 UTC (rev 94326)
@@ -0,0 +1,146 @@
+##############################################################################
+#
+# Copyright (c) 2007 Zope Foundation and Contributors.
+# All Rights Reserved.
+#
+# This software is subject to the provisions of the Zope Public License,
+# Version 2.1 (ZPL). A copy of the ZPL should accompany this distribution.
+# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED
+# WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+# WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS
+# FOR A PARTICULAR PURPOSE.
+#
+##############################################################################
+"""Support for Layout Templates
+
+$Id$
+"""
+from zope import interface
+from zope.component import getAdapters
+from zope.component import getMultiAdapter, queryMultiAdapter
+from zope.pagetemplate.interfaces import IPageTemplate
+
+from z3c.form import form
+from z3c.form.interfaces import IForm, IGroup, ISubForm
+
+from z3ext.layout.interfaces import IPagelet
+from z3ext.layout.pagelet import BrowserPagelet
+
+from interfaces import IPageletForm, IPageletSubform
+from interfaces import IPageletDisplayForm, IPageletFormView
+
+
+class PageletBaseForm(form.BaseForm, BrowserPagelet):
+
+ __call__ = BrowserPagelet.__call__
+
+ def render(self):
+ if self.template is not None:
+ return self.template()
+ else:
+ view = queryMultiAdapter((self, self.request), IPageletFormView)
+ if view is not None:
+ view.update()
+ return view.render()
+
+ raise LookupError("Can't find IPageletFormView view for this form.")
+
+
+class PageletForm(form.Form, PageletBaseForm):
+ interface.implements(IPageletForm)
+
+ label = u''
+ description = u''
+
+ forms = ()
+ groups = ()
+ subforms = ()
+ views = ()
+
+ render = PageletBaseForm.render
+ __call__ = PageletBaseForm.__call__
+
+ def extractData(self):
+ data, errors = super(PageletForm, self).extractData()
+ for form in self.groups:
+ formData, formErrors = form.extractData()
+ data.update(formData)
+ if formErrors:
+ errors += formErrors
+
+ for form in self.subforms:
+ formData, formErrors = form.extractData()
+ if formErrors:
+ errors += formErrors
+
+ return data, errors
+
+ def _loadSubforms(self):
+ return [form for name, form in
+ getAdapters((self.context, self, self.request), IPageletSubform)]
+
+ def updateForms(self):
+ forms = []
+ groups = []
+ subforms = []
+ views = []
+ for form in self._loadSubforms():
+ form.update()
+ if not form.isAvailable():
+ continue
+
+ if IGroup.providedBy(form):
+ groups.append((form.weight, form.__name__, form))
+ elif ISubForm.providedBy(form):
+ subforms.append((form.weight, form.__name__, form))
+ elif IPageletForm.providedBy(form):
+ forms.append((form.weight, form.__name__, form))
+ else:
+ views.append((form.weight, form.__name__, form))
+
+ groups.sort()
+ self.groups = [form for weight, name, form in groups]
+
+ subforms.sort()
+ self.subforms = [form for weight, name, form in subforms]
+
+ forms.sort()
+ self.forms = [form for weight, name, form in forms]
+
+ views.sort()
+ self.views = [view for weight, name, view in views]
+
+ def update(self):
+ self.updateWidgets()
+ self.updateActions()
+ self.updateForms()
+
+ if not IPageletSubform.providedBy(self):
+ self.actions.execute()
+
+ for form in self.groups:
+ form.postUpdate()
+ for form in self.subforms:
+ form.postUpdate()
+ for form in self.forms:
+ form.postUpdate()
+
+ def isAvailable(self):
+ return True
+
+ def postUpdate(self):
+ for form in self.groups:
+ form.postUpdate()
+ for form in self.subforms:
+ form.postUpdate()
+ for form in self.forms:
+ form.postUpdate()
+
+ self.actions.execute()
+
+
+class PageletDisplayForm(PageletForm, form.DisplayForm):
+ interface.implements(IPageletDisplayForm)
+
+ render = PageletForm.render
+ __call__ = PageletForm.__call__
More information about the Checkins
mailing list