[Checkins] SVN: megrok.z3cform/branches/megrok.z3cfrom-layout/s - Added the default_form_layer.zcml

Christian Klinger cklinger at novareto.de
Mon Sep 7 09:48:48 EDT 2009


Log message for revision 103610:
  - Added the default_form_layer.zcml
  - Getting rid of the dependency of z3c.formui
  

Changed:
  U   megrok.z3cform/branches/megrok.z3cfrom-layout/setup.py
  U   megrok.z3cform/branches/megrok.z3cfrom-layout/src/megrok/z3cform/__init__.py
  A   megrok.z3cform/branches/megrok.z3cfrom-layout/src/megrok/z3cform/default_form_layer.zcml
  U   megrok.z3cform/branches/megrok.z3cfrom-layout/src/megrok/z3cform/ftesting.zcml
  A   megrok.z3cform/branches/megrok.z3cfrom-layout/src/megrok/z3cform/layout/
  A   megrok.z3cform/branches/megrok.z3cfrom-layout/src/megrok/z3cform/layout/__init__.py
  A   megrok.z3cform/branches/megrok.z3cfrom-layout/src/megrok/z3cform/layout/basic.py
  A   megrok.z3cform/branches/megrok.z3cfrom-layout/src/megrok/z3cform/layout/basic_templates/
  A   megrok.z3cform/branches/megrok.z3cfrom-layout/src/megrok/z3cform/layout/basic_templates/basicdisplay.pt
  A   megrok.z3cform/branches/megrok.z3cfrom-layout/src/megrok/z3cform/layout/basic_templates/basicform.pt
  U   megrok.z3cform/branches/megrok.z3cfrom-layout/src/megrok/z3cform/meta.zcml
  D   megrok.z3cform/branches/megrok.z3cfrom-layout/src/megrok/z3cform/skin.py
  U   megrok.z3cform/branches/megrok.z3cfrom-layout/src/megrok/z3cform/tests/test_field.py
  U   megrok.z3cform/branches/megrok.z3cfrom-layout/src/megrok/z3cform/tests/test_layout.py
  U   megrok.z3cform/branches/megrok.z3cfrom-layout/src/megrok/z3cform/tests/test_render.py
  U   megrok.z3cform/branches/megrok.z3cfrom-layout/src/megrok/z3cform/tests/test_widgettemplate.py

-=-
Modified: megrok.z3cform/branches/megrok.z3cfrom-layout/setup.py
===================================================================
--- megrok.z3cform/branches/megrok.z3cfrom-layout/setup.py	2009-09-07 09:08:51 UTC (rev 103609)
+++ megrok.z3cform/branches/megrok.z3cfrom-layout/setup.py	2009-09-07 13:48:47 UTC (rev 103610)
@@ -9,8 +9,8 @@
     'grokcore.view >= 1.1',
     'grokcore.formlib',
     'z3c.form',
-    'z3c.formui',
     'megrok.layout',
+    'megrok.pagetemplate',
     ]
 
 # The grok dependency is not added explicitly, so we can factor out a

Modified: megrok.z3cform/branches/megrok.z3cfrom-layout/src/megrok/z3cform/__init__.py
===================================================================
--- megrok.z3cform/branches/megrok.z3cfrom-layout/src/megrok/z3cform/__init__.py	2009-09-07 09:08:51 UTC (rev 103609)
+++ megrok.z3cform/branches/megrok.z3cfrom-layout/src/megrok/z3cform/__init__.py	2009-09-07 13:48:47 UTC (rev 103610)
@@ -3,7 +3,12 @@
 from components import PageForm, PageAddForm, PageEditForm, PageDisplayForm
 from components import WidgetTemplate
 from directives import field
-from skin import FormLayer, TableLayer
 from utils import apply_data_event
 from z3c.form import widget, field, button, action
 from z3c.form.form import extends
+from z3c.form.interfaces import IFormLayer
+from zope.publisher.interfaces.browser import IDefaultBrowserLayer
+
+class FormLayer(IFormLayer):
+    """ A div -based layer for a z3c.forms"""
+

Added: megrok.z3cform/branches/megrok.z3cfrom-layout/src/megrok/z3cform/default_form_layer.zcml
===================================================================
--- megrok.z3cform/branches/megrok.z3cfrom-layout/src/megrok/z3cform/default_form_layer.zcml	                        (rev 0)
+++ megrok.z3cform/branches/megrok.z3cfrom-layout/src/megrok/z3cform/default_form_layer.zcml	2009-09-07 13:48:47 UTC (rev 103610)
@@ -0,0 +1,12 @@
+<configure
+    xmlns="http://namespaces.zope.org/zope"
+    xmlns:grok="http://namespaces.zope.org/grok">
+
+  <class class="zope.publisher.http.HTTPRequest">
+    <implements interface="z3c.form.interfaces.IFormLayer" />
+  </class>
+
+  <grok:grok package=".layout" />
+
+</configure>
+

Modified: megrok.z3cform/branches/megrok.z3cfrom-layout/src/megrok/z3cform/ftesting.zcml
===================================================================
--- megrok.z3cform/branches/megrok.z3cfrom-layout/src/megrok/z3cform/ftesting.zcml	2009-09-07 09:08:51 UTC (rev 103609)
+++ megrok.z3cform/branches/megrok.z3cfrom-layout/src/megrok/z3cform/ftesting.zcml	2009-09-07 13:48:47 UTC (rev 103610)
@@ -1,12 +1,16 @@
 <configure
    xmlns="http://namespaces.zope.org/zope"
-   xmlns:grok="http://namespaces.zope.org/grok">
+   xmlns:grok="http://namespaces.zope.org/grok"
+   >
 
   <include package="grok" />
   <include package="grok" file="meta.zcml" />
+  <include package="megrok.pagetemplate" file="meta.zcml" />
+   
 
   <include package="megrok.z3cform" file="meta.zcml" />
   <include package="megrok.z3cform" />
+  <include package="megrok.z3cform" file="default_form_layer.zcml" />
 
   <grok:grok package="megrok.z3cform.tests" />
 
@@ -16,7 +20,7 @@
 
   <unauthenticatedPrincipal
       id="zope.anybody"
-      title="Unauthenticated User"
+      title="Unauthenticated Principal"
       />
   <grant
       permission="zope.View"

Added: megrok.z3cform/branches/megrok.z3cfrom-layout/src/megrok/z3cform/layout/__init__.py
===================================================================
--- megrok.z3cform/branches/megrok.z3cfrom-layout/src/megrok/z3cform/layout/__init__.py	                        (rev 0)
+++ megrok.z3cform/branches/megrok.z3cfrom-layout/src/megrok/z3cform/layout/__init__.py	2009-09-07 13:48:47 UTC (rev 103610)
@@ -0,0 +1 @@
+#make me a package

Added: megrok.z3cform/branches/megrok.z3cfrom-layout/src/megrok/z3cform/layout/basic.py
===================================================================
--- megrok.z3cform/branches/megrok.z3cfrom-layout/src/megrok/z3cform/layout/basic.py	                        (rev 0)
+++ megrok.z3cform/branches/megrok.z3cfrom-layout/src/megrok/z3cform/layout/basic.py	2009-09-07 13:48:47 UTC (rev 103610)
@@ -0,0 +1,9 @@
+from grokcore.viewlet import view
+from z3c.form.interfaces import IForm, IDisplayForm
+from megrok.pagetemplate import PageTemplate
+
+class BasicForm(PageTemplate):
+    view(IForm)
+
+class BasicDisplay(PageTemplate):
+    view(IDisplayForm)

Added: megrok.z3cform/branches/megrok.z3cfrom-layout/src/megrok/z3cform/layout/basic_templates/basicdisplay.pt
===================================================================
--- megrok.z3cform/branches/megrok.z3cfrom-layout/src/megrok/z3cform/layout/basic_templates/basicdisplay.pt	                        (rev 0)
+++ megrok.z3cform/branches/megrok.z3cfrom-layout/src/megrok/z3cform/layout/basic_templates/basicdisplay.pt	2009-09-07 13:48:47 UTC (rev 103610)
@@ -0,0 +1,25 @@
+<html>
+ <body>
+   <div class="main">
+    <tal:block repeat="widget view/widgets/values">
+      <div id="" class="row"
+           tal:attributes="id string:${widget/id}-row"
+           tal:condition="python:widget.mode != 'hidden'">
+          <div class="label">
+            <label tal:attributes="for widget/id">
+              <span i18n:translate=""
+                  tal:content="widget/label">label</span>
+            </label>
+          </div>
+          <div class="widget" tal:content="structure widget/render">
+            <input type="text" size="24" value="" />
+          </div>
+      </div>
+      <input type="hidden" value=""
+             tal:condition="python:widget.mode == 'hidden'"
+             tal:replace="structure widget/render" />
+    </tal:block>
+    </div>
+ </body>
+</html>
+

Added: megrok.z3cform/branches/megrok.z3cfrom-layout/src/megrok/z3cform/layout/basic_templates/basicform.pt
===================================================================
--- megrok.z3cform/branches/megrok.z3cfrom-layout/src/megrok/z3cform/layout/basic_templates/basicform.pt	                        (rev 0)
+++ megrok.z3cform/branches/megrok.z3cfrom-layout/src/megrok/z3cform/layout/basic_templates/basicform.pt	2009-09-07 13:48:47 UTC (rev 103610)
@@ -0,0 +1,85 @@
+<form action="."
+      i18n:domain="dolmen"
+      tal:attributes="action request/URL;
+              class string:form-${view/__name__}"
+      method="post"
+      enctype="multipart/form-data">
+  
+  <div class="form-status"
+       tal:define="status view/status"
+       tal:condition="status">
+    
+    <dl class="info-message"
+    tal:condition="view/status">
+      <dt i18n:translate="">Status</dt>
+      <dd tal:content="view/status" />
+    </dl>
+  </div>
+  
+  <div class="errors">
+    <ul class="errors"
+    tal:condition="view/widgets/errors">
+      <li tal:repeat="error view/widgets/errors">
+    <strong tal:condition="error/widget"
+        tal:replace="error/widget/label" />
+    <span tal:replace="structure error/render">Error Type</span>
+      </li>
+    </ul>
+  </div>
+  
+  <h1 tal:condition="view/label" tal:content="view/label" />
+  
+  <p class="documentDescription"
+     tal:content="view/description|nothing" />
+  
+  <input type="hidden" name="camefrom"
+     tal:attributes="value request/camefrom | nothing" />
+  
+  <fieldset tal:define="form_name view/form_name|nothing"
+        tal:omit-tag="not:form_name">
+    <legend tal:condition="form_name"
+        tal:content="form_name">Form name</legend>
+    
+    <div id="edition-fields">
+      <tal:block tal:repeat="widget view/widgets/values">
+    <div tal:define="description widget/description|nothing;
+             error widget/error;
+             error_class python:error and 'errored-field' or ''"
+         tal:attributes="class string:field ${error_class}">
+      <label tal:attributes="for widget/id">
+        <span i18n:translate=""
+          tal:content="widget/label">label</span>
+        <span class="fieldRequired" title="Required"
+          tal:condition="widget/required"
+          i18n:translate="label_required"
+          i18n:attributes="title title_required;">
+          <span class="textual-info">(Required)</span>
+        </span>
+      </label>
+      <div class="formHelp"
+           i18n:translate=""
+           tal:content="description"
+           tal:condition="description"
+           >field description</div>
+      <div class="field-error"
+           tal:condition="widget/error">
+        <span tal:replace="structure widget/error/render">error</span>
+      </div>
+      <div class="widget"
+           tal:content="structure widget/render">
+        <input type="text" />
+      </div>
+    </div>
+      </tal:block>
+    </div>
+    
+    <div id="actionsView"  tal:condition="view/actions">
+      <span class="actionButtons">
+    <input tal:repeat="action view/actions/values"
+           tal:replace="structure action/render"
+           />
+      </span>
+    </div>
+    </fieldset>
+</form>
+

Modified: megrok.z3cform/branches/megrok.z3cfrom-layout/src/megrok/z3cform/meta.zcml
===================================================================
--- megrok.z3cform/branches/megrok.z3cfrom-layout/src/megrok/z3cform/meta.zcml	2009-09-07 09:08:51 UTC (rev 103609)
+++ megrok.z3cform/branches/megrok.z3cfrom-layout/src/megrok/z3cform/meta.zcml	2009-09-07 13:48:47 UTC (rev 103610)
@@ -4,12 +4,6 @@
 
   <include package="z3c.form" file="meta.zcml" />
   <include package="grokcore.view" file="meta-minimal.zcml" />
-  <include package="grokcore.viewlet" file="meta.zcml" />
-  <include package="zope.viewlet" file="meta.zcml" />
-  <include package="z3c.template" file="meta.zcml" />
-  <include package="z3c.macro"/>
-  <include package="z3c.macro" file="meta.zcml" />
-  <include package="z3c.formui"/>
   <include package="megrok.layout" file="meta.zcml" />
 
   <grok:grok package=".meta" />

Deleted: megrok.z3cform/branches/megrok.z3cfrom-layout/src/megrok/z3cform/skin.py
===================================================================
--- megrok.z3cform/branches/megrok.z3cfrom-layout/src/megrok/z3cform/skin.py	2009-09-07 09:08:51 UTC (rev 103609)
+++ megrok.z3cform/branches/megrok.z3cfrom-layout/src/megrok/z3cform/skin.py	2009-09-07 13:48:47 UTC (rev 103610)
@@ -1,17 +0,0 @@
-import grok
-import z3c.formui.interfaces
-
-
-from z3c.form.interfaces import IFormLayer
-
-
-class FormLayer(grok.IDefaultBrowserLayer, 
-                IFormLayer, 
-                z3c.formui.interfaces.IDivFormLayer):
-    """ A div -based layer for a z3c.forms"""
-
-
-class TableLayer(grok.IDefaultBrowserLayer, 
-                 IFormLayer, 
-                 z3c.formui.interfaces.ITableFormLayer):
-    """ A table -based layer for a z3c.forms"""

Modified: megrok.z3cform/branches/megrok.z3cfrom-layout/src/megrok/z3cform/tests/test_field.py
===================================================================
--- megrok.z3cform/branches/megrok.z3cfrom-layout/src/megrok/z3cform/tests/test_field.py	2009-09-07 09:08:51 UTC (rev 103609)
+++ megrok.z3cform/branches/megrok.z3cfrom-layout/src/megrok/z3cform/tests/test_field.py	2009-09-07 13:48:47 UTC (rev 103610)
@@ -5,7 +5,6 @@
   >>> from zope.interface import alsoProvides
   >>> from zope.publisher.browser import TestRequest
   >>> request = TestRequest()
-  >>> alsoProvides(request, FormFieldSkin)
 
 Check that fields have been created on the edition page:
 
@@ -33,31 +32,27 @@
 from megrok import z3cform
 from z3c.form import field
 
-class FormFieldSkin(z3cform.FormLayer):
-    grok.skin('formfieldskin')
 
-grok.layer(FormFieldSkin)
-
-
-
 class IMammoth(interface.Interface):
-
     name = schema.TextLine(title=u"Name")
     age = schema.Int(title=u"Age")
 
+
 class Mammoth(grok.Model):
-    
     interface.implements(IMammoth)
 
     name = FieldProperty(IMammoth['name'])
     age = FieldProperty(IMammoth['age'])
 
+
 class Edit(z3cform.EditForm):
     pass
 
+
 class Index(z3cform.DisplayForm):
     fields = field.Fields(IMammoth).omit('age') 
 
+
 def test_suite():
     from zope.testing import doctest
     from megrok.z3cform.tests import FunctionalLayer

Modified: megrok.z3cform/branches/megrok.z3cfrom-layout/src/megrok/z3cform/tests/test_layout.py
===================================================================
--- megrok.z3cform/branches/megrok.z3cfrom-layout/src/megrok/z3cform/tests/test_layout.py	2009-09-07 09:08:51 UTC (rev 103609)
+++ megrok.z3cform/branches/megrok.z3cfrom-layout/src/megrok/z3cform/tests/test_layout.py	2009-09-07 13:48:47 UTC (rev 103610)
@@ -7,7 +7,6 @@
   >>> from zope.interface import alsoProvides
   >>> from zope.publisher.browser import TestRequest
   >>> request = TestRequest()
-  >>> alsoProvides(request, FormSkin)
 
 Add Form
 
@@ -16,49 +15,46 @@
   <html>                                                                           
    <body>
      <div class="layout"><form action="http://127.0.0.1" method="post"
-        enctype="multipart/form-data" class="edit-form"
-        name="form" id="form">
-    <div class="viewspace">
-        <div class="required-info">
-           <span class="required">*</span>
-           &ndash; required
-        </div>
-      <div>
-            <div id="form-widgets-name-row" class="row">
-                <div class="label">
-                  <label for="form-widgets-name">
-                    <span>Name</span>
-                    <span class="required">*</span>
-                  </label>
-                </div>
-                <div class="widget"> 
+        enctype="multipart/form-data" class="form-add">
+    <div class="errors">
+    </div>
+    <p class="documentDescription"></p>
+    <input type="hidden" name="camefrom" />
+      <div id="edition-fields">
+      <div class="field ">
+        <label for="form-widgets-name">
+          <span>Name</span>
+          <span class="fieldRequired" title="Required">
+            <span class="textual-info">(Required)</span>
+          </span>
+        </label>
+        <div class="widget"> 
       <input id="form-widgets-name" name="form.widgets.name"
              class="text-widget required textline-field"
              value="" type="text" />
   </div>
-            </div>
-            <div id="form-widgets-age-row" class="row">
-                <div class="label">
-                  <label for="form-widgets-age">
-                    <span>Age</span>
-                    <span class="required">*</span>
-                  </label>
-                </div>
-                <div class="widget"> 
+      </div>
+      <div class="field ">
+        <label for="form-widgets-age">
+          <span>Age</span>
+          <span class="fieldRequired" title="Required">
+            <span class="textual-info">(Required)</span>
+          </span>
+        </label>
+        <div class="widget"> 
       <input id="form-widgets-age" name="form.widgets.age"
              class="text-widget required int-field" value=""
              type="text" />
   </div>
-            </div>
       </div>
-    </div>
-    <div>
-      <div class="buttons">
+      </div>
+      <div id="actionsView">
+        <span class="actionButtons">
   <input id="form-buttons-add" name="form.buttons.add"
          class="submit-widget button-field" value="Add"
          type="submit" />
+        </span>
       </div>
-    </div>
   </form>
   </div>
    </body>
@@ -96,54 +92,51 @@
 
   >>> print view()
   <html>                                                                           
-  <body>
-    <div class="layout"><form action="http://127.0.0.1" method="post"
-      enctype="multipart/form-data" class="edit-form"
-       name="form" id="form">
-   <div class="viewspace">
-       <div class="required-info">
-          <span class="required">*</span>
-          &ndash; required
-       </div>
-     <div>
-           <div id="form-widgets-name-row" class="row">
-               <div class="label">
-                 <label for="form-widgets-name">
-                   <span>Name</span>
-                   <span class="required">*</span>
-                 </label>
-               </div>
-               <div class="widget">
-     <input id="form-widgets-name" name="form.widgets.name"
-            class="text-widget required textline-field"
-            value="" type="text" />
+   <body>
+     <div class="layout"><form action="http://127.0.0.1" method="post"
+        enctype="multipart/form-data" class="form-edit">
+    <div class="errors">
+    </div>
+    <p class="documentDescription"></p>
+    <input type="hidden" name="camefrom" />
+      <div id="edition-fields">
+      <div class="field ">
+        <label for="form-widgets-name">
+          <span>Name</span>
+          <span class="fieldRequired" title="Required">
+            <span class="textual-info">(Required)</span>
+          </span>
+        </label>
+        <div class="widget"> 
+      <input id="form-widgets-name" name="form.widgets.name"
+             class="text-widget required textline-field"
+             value="" type="text" />
   </div>
-           </div>
-           <div id="form-widgets-age-row" class="row">
-               <div class="label">
-                 <label for="form-widgets-age">
-                   <span>Age</span>
-                   <span class="required">*</span>
-                 </label>
-               </div>
-               <div class="widget">
-     <input id="form-widgets-age" name="form.widgets.age"
-            class="text-widget required int-field" value=""
-            type="text" />
+      </div>
+      <div class="field ">
+        <label for="form-widgets-age">
+          <span>Age</span>
+          <span class="fieldRequired" title="Required">
+            <span class="textual-info">(Required)</span>
+          </span>
+        </label>
+        <div class="widget"> 
+      <input id="form-widgets-age" name="form.widgets.age"
+             class="text-widget required int-field" value=""
+             type="text" />
   </div>
-           </div>
-     </div>
-   </div>
-   <div>
-     <div class="buttons">
+      </div>
+      </div>
+      <div id="actionsView">
+        <span class="actionButtons">
   <input id="form-buttons-apply" name="form.buttons.apply"
-        class="submit-widget button-field" value="Apply"
-        type="submit" />
-        </div>
+         class="submit-widget button-field" value="Apply"
+         type="submit" />
+        </span>
       </div>
   </form>
   </div>
-  </body>
+   </body>
   </html>
 
 
@@ -159,12 +152,6 @@
 from z3c.form import button, field
 
 
-class FormSkin(z3cform.FormLayer):
-    grok.skin('formskin')
-
-grok.layer(FormSkin)
-
-
 class IMammoth(interface.Interface):
     name = schema.TextLine(title=u"Name")
     age = schema.Int(title=u"Age")

Modified: megrok.z3cform/branches/megrok.z3cfrom-layout/src/megrok/z3cform/tests/test_render.py
===================================================================
--- megrok.z3cform/branches/megrok.z3cfrom-layout/src/megrok/z3cform/tests/test_render.py	2009-09-07 09:08:51 UTC (rev 103609)
+++ megrok.z3cform/branches/megrok.z3cfrom-layout/src/megrok/z3cform/tests/test_render.py	2009-09-07 13:48:47 UTC (rev 103610)
@@ -10,7 +10,6 @@
   >>> from zope.interface import alsoProvides
   >>> from zope.publisher.browser import TestRequest
   >>> request = TestRequest()
-  >>> alsoProvides(request, RenderSkin)
 
 add forms
 ---------
@@ -18,50 +17,47 @@
   >>> add = component.getMultiAdapter((manfred, request), name='add')
   >>> print add()
   <form action="http://127.0.0.1" method="post"
-          enctype="multipart/form-data" class="edit-form"
-          name="form" id="form">
-      <div class="viewspace">
-          <div class="required-info">
-             <span class="required">*</span>
-             &ndash; required
-          </div>
-        <div>
-              <div id="form-widgets-name-row" class="row">
-                  <div class="label">
-                    <label for="form-widgets-name">
-                      <span>Name</span>
-                      <span class="required">*</span>
-                    </label>
-                  </div>
-                  <div class="widget">
-        <input id="form-widgets-name" name="form.widgets.name"
-               class="text-widget required textline-field"
-               value="" type="text" />
+        enctype="multipart/form-data" class="form-add">
+    <div class="errors">
     </div>
-              </div>
-              <div id="form-widgets-age-row" class="row">
-                  <div class="label">
-                    <label for="form-widgets-age">
-                      <span>Age</span>
-                      <span class="required">*</span>
-                    </label>
-                  </div>
-                  <div class="widget">
-        <input id="form-widgets-age" name="form.widgets.age"
-               class="text-widget required int-field" value=""
-               type="text" />
-    </div>
-              </div>
-        </div>
+    <p class="documentDescription"></p>
+    <input type="hidden" name="camefrom" />
+      <div id="edition-fields">
+      <div class="field ">
+        <label for="form-widgets-name">
+          <span>Name</span>
+          <span class="fieldRequired" title="Required">
+            <span class="textual-info">(Required)</span>
+          </span>
+        </label>
+        <div class="widget"> 
+      <input id="form-widgets-name" name="form.widgets.name"
+             class="text-widget required textline-field"
+             value="" type="text" />
+  </div>
       </div>
-      <div>
-        <div class="buttons">
-    <input id="form-buttons-add" name="form.buttons.add"
-           class="submit-widget button-field" value="Add"
-           type="submit" />
-        </div>
+      <div class="field ">
+        <label for="form-widgets-age">
+          <span>Age</span>
+          <span class="fieldRequired" title="Required">
+            <span class="textual-info">(Required)</span>
+          </span>
+        </label>
+        <div class="widget"> 
+      <input id="form-widgets-age" name="form.widgets.age"
+             class="text-widget required int-field" value=""
+             type="text" />
+  </div>
       </div>
-    </form>
+      </div>
+      <div id="actionsView">
+        <span class="actionButtons">
+  <input id="form-buttons-add" name="form.buttons.add"
+         class="submit-widget button-field" value="Add"
+         type="submit" />
+        </span>
+      </div>
+  </form>
 
 
 edit-forms
@@ -70,50 +66,47 @@
   >>> edit = component.getMultiAdapter((manfred, request), name='edit')
   >>> print edit() 
   <form action="http://127.0.0.1" method="post"
-          enctype="multipart/form-data" class="edit-form"
-          name="form" id="form">
-      <div class="viewspace">
-          <div class="required-info">
-             <span class="required">*</span>
-             &ndash; required
-          </div>
-        <div>
-              <div id="form-widgets-name-row" class="row">
-                  <div class="label">
-                    <label for="form-widgets-name">
-                      <span>Name</span>
-                      <span class="required">*</span>
-                    </label>
-                  </div>
-                  <div class="widget">
-        <input id="form-widgets-name" name="form.widgets.name"
-               class="text-widget required textline-field"
-               value="" type="text" />
+        enctype="multipart/form-data" class="form-edit">
+    <div class="errors">
     </div>
-              </div>
-              <div id="form-widgets-age-row" class="row">
-                  <div class="label">
-                    <label for="form-widgets-age">
-                      <span>Age</span>
-                      <span class="required">*</span>
-                    </label>
-                  </div>
-                  <div class="widget">
-        <input id="form-widgets-age" name="form.widgets.age"
-               class="text-widget required int-field" value=""
-               type="text" />
-    </div>
-              </div>
-        </div>
+    <p class="documentDescription"></p>
+    <input type="hidden" name="camefrom" />
+      <div id="edition-fields">
+      <div class="field ">
+        <label for="form-widgets-name">
+          <span>Name</span>
+          <span class="fieldRequired" title="Required">
+            <span class="textual-info">(Required)</span>
+          </span>
+        </label>
+        <div class="widget"> 
+      <input id="form-widgets-name" name="form.widgets.name"
+             class="text-widget required textline-field"
+             value="" type="text" />
+  </div>
       </div>
-      <div>
-        <div class="buttons">
-    <input id="form-buttons-apply" name="form.buttons.apply"
-           class="submit-widget button-field" value="Apply"
-           type="submit" />
-        </div>
+      <div class="field ">
+        <label for="form-widgets-age">
+          <span>Age</span>
+          <span class="fieldRequired" title="Required">
+            <span class="textual-info">(Required)</span>
+          </span>
+        </label>
+        <div class="widget"> 
+      <input id="form-widgets-age" name="form.widgets.age"
+             class="text-widget required int-field" value=""
+             type="text" />
+  </div>
       </div>
-    </form>
+      </div>
+      <div id="actionsView">
+        <span class="actionButtons">
+  <input id="form-buttons-apply" name="form.buttons.apply"
+         class="submit-widget button-field" value="Apply"
+         type="submit" />
+        </span>
+      </div>
+  </form>
 
 
 display-forms
@@ -121,32 +114,34 @@
 
   >>> index = component.getMultiAdapter((manfred, request), name='index')
   >>> print index()
-  <div class="viewspace">
-        <div>
-              <div id="form-widgets-name-row" class="row">
-                  <div class="label">
-                    <label for="form-widgets-name">
-                      <span>Name</span>
-                    </label>
-                  </div>
-                  <div class="widget">
-        <span id="form-widgets-name"
-              class="text-widget required textline-field"></span>
-    </div>
-              </div>
-              <div id="form-widgets-age-row" class="row">
-                  <div class="label">
-                    <label for="form-widgets-age">
-                      <span>Age</span>
-                    </label>
-                  </div>
-                  <div class="widget">
-        <span id="form-widgets-age"
-              class="text-widget required int-field"></span>
-    </div>
-              </div>
+  <html>
+   <body>
+     <div class="main">
+        <div id="form-widgets-name-row" class="row">
+            <div class="label">
+              <label for="form-widgets-name">
+                <span>Name</span>
+              </label>
+            </div>
+            <div class="widget">
+      <span id="form-widgets-name"
+            class="text-widget required textline-field"></span>
+  </div>
         </div>
+        <div id="form-widgets-age-row" class="row">
+            <div class="label">
+              <label for="form-widgets-age">
+                <span>Age</span>
+              </label>
+            </div>
+            <div class="widget">
+      <span id="form-widgets-age"
+            class="text-widget required int-field"></span>
+  </div>
+        </div>
       </div>
+   </body>
+  </html>
 
 """
 import grok
@@ -156,13 +151,6 @@
 from megrok import z3cform
 from z3c.form import field
 
-class RenderSkin(z3cform.FormLayer):
-    grok.skin('renderskin')
-
-grok.layer(RenderSkin)
-
-
-
 class IMammoth(interface.Interface):
 
     name = schema.TextLine(title=u"Name")

Modified: megrok.z3cform/branches/megrok.z3cfrom-layout/src/megrok/z3cform/tests/test_widgettemplate.py
===================================================================
--- megrok.z3cform/branches/megrok.z3cfrom-layout/src/megrok/z3cform/tests/test_widgettemplate.py	2009-09-07 09:08:51 UTC (rev 103609)
+++ megrok.z3cform/branches/megrok.z3cfrom-layout/src/megrok/z3cform/tests/test_widgettemplate.py	2009-09-07 13:48:47 UTC (rev 103610)
@@ -5,7 +5,6 @@
   >>> from zope.interface import alsoProvides
   >>> from zope.publisher.browser import TestRequest
   >>> request = TestRequest()
-  >>> alsoProvides(request, Skin)
 
   Check that fields have been created on the edition page:
 
@@ -16,7 +15,7 @@
   >>> [field.__name__ for field in view.fields.values()]
   ['name', 'age']
 
-The widget for *name* should show it´s normal widget.
+The widget for *name* should show it's normal widget.
 Because no CustomWidget is provided for this field.
 
   >>> view.updateWidgets() 
@@ -31,7 +30,7 @@
   >>> print view.widgets['age'].render()
   <span> This is custom integer widget for zope.schema.Int Fields </span>
 
-Now let´s look on a other view. Here we get a CustomWidget as a result
+Now let's look on a other view. Here we get a CustomWidget as a result
 of the CustomStringTemplate
 
   >>> view = component.getMultiAdapter((manfred, request), name='view')
@@ -40,7 +39,7 @@
   <span> Extra Widget </span>
 
 Our CustomTemplate class is configured for the IAdded interface.
-Let´s check if we get the right template for it.
+Let's check if we get the right template for it.
 
   >>> view = component.getMultiAdapter((manfred, request), name='add')
   >>> view.updateWidgets() 
@@ -74,12 +73,7 @@
 
 from z3c.form import field, interfaces
 
-class Skin(z3cform.FormLayer):
-    grok.skin('skin')
 
-grok.layer(Skin)
-
-
 class IPerson(interface.Interface):
     name = schema.TextLine(title=u"Name")
     age = schema.Int(title=u"Age")



More information about the checkins mailing list