[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