[Checkins] SVN: megrok.z3cform.layout/trunk/ Updated for 0.1 release. Removed outdated imports and documentation. Added tests.

Souheil CHELFOUH souheil at chelfouh.com
Mon Nov 2 08:29:11 EST 2009


Log message for revision 105448:
  Updated for 0.1 release. Removed outdated imports and documentation. Added tests.

Changed:
  D   megrok.z3cform.layout/trunk/README.txt
  U   megrok.z3cform.layout/trunk/buildout.cfg
  U   megrok.z3cform.layout/trunk/docs/HISTORY.txt
  U   megrok.z3cform.layout/trunk/setup.py
  U   megrok.z3cform.layout/trunk/src/megrok/z3cform/layout/README.txt
  U   megrok.z3cform.layout/trunk/src/megrok/z3cform/layout/ftests/ftesting.zcml
  D   megrok.z3cform.layout/trunk/versions.cfg

-=-
Deleted: megrok.z3cform.layout/trunk/README.txt
===================================================================
--- megrok.z3cform.layout/trunk/README.txt	2009-11-02 13:02:07 UTC (rev 105447)
+++ megrok.z3cform.layout/trunk/README.txt	2009-11-02 13:29:11 UTC (rev 105448)
@@ -1,4 +0,0 @@
-Introduction
-============
-
-

Modified: megrok.z3cform.layout/trunk/buildout.cfg
===================================================================
--- megrok.z3cform.layout/trunk/buildout.cfg	2009-11-02 13:02:07 UTC (rev 105447)
+++ megrok.z3cform.layout/trunk/buildout.cfg	2009-11-02 13:29:11 UTC (rev 105448)
@@ -1,15 +1,10 @@
 [buildout]
 develop = .
-parts = sources test
-extends = versions.cfg
+parts = test
+extends = http://grok.zope.org/releaseinfo/grok-1.0.cfg
 versions = versions
 newest = false
 
-[sources]
-recipe=infrae.subversion
-urls = 
-    svn://svn.zope.org/repos/main/megrok.z3cform.base/trunk megrok.z3cform.base
-as_eggs=True
 
 [test]
 recipe = zc.recipe.testrunner

Modified: megrok.z3cform.layout/trunk/docs/HISTORY.txt
===================================================================
--- megrok.z3cform.layout/trunk/docs/HISTORY.txt	2009-11-02 13:02:07 UTC (rev 105447)
+++ megrok.z3cform.layout/trunk/docs/HISTORY.txt	2009-11-02 13:29:11 UTC (rev 105448)
@@ -1,8 +1,7 @@
 Changelog
 =========
 
-1.0 - Unreleased
+0.1 (2009-11-02)
 ----------------
 
 * Initial release
-

Modified: megrok.z3cform.layout/trunk/setup.py
===================================================================
--- megrok.z3cform.layout/trunk/setup.py	2009-11-02 13:02:07 UTC (rev 105447)
+++ megrok.z3cform.layout/trunk/setup.py	2009-11-02 13:29:11 UTC (rev 105448)
@@ -1,13 +1,17 @@
+# -*- coding: utf-8 -*-
+
+from os.path import join
 from setuptools import setup, find_packages
-import os
 
+name='megrok.z3cform.layout'
 version = '0.1'
+readme = open(join('src', 'megrok', 'z3cform', 'layout', 'README.txt')).read()
+history = open(join('docs', 'HISTORY.txt')).read()
 
-setup(name='megrok.z3cform.layout',
-      version=version,
-      description="",
-      long_description=open("README.txt").read() + "\n" +
-                       open(os.path.join("docs", "HISTORY.txt")).read(),
+setup(name = name,
+      version = version,
+      description = "Generic templates for megrok.z3cform.base",
+      long_description = readme + '\n\n' + history,
       classifiers=[
         "Programming Language :: Python",
         "Topic :: Software Development :: Libraries :: Python Modules",

Modified: megrok.z3cform.layout/trunk/src/megrok/z3cform/layout/README.txt
===================================================================
--- megrok.z3cform.layout/trunk/src/megrok/z3cform/layout/README.txt	2009-11-02 13:02:07 UTC (rev 105447)
+++ megrok.z3cform.layout/trunk/src/megrok/z3cform/layout/README.txt	2009-11-02 13:29:11 UTC (rev 105448)
@@ -2,17 +2,19 @@
 megrok.z3cform.layout
 =====================
 
-`megrok.z3cform.layout` provides several useful templates that can be
-used out-of-the-box with `megrok.z3cform.base`. These templates are
-totally independent from the megrok.z3cform.base library, meaning you
-can simply swap or override them.
+`megrok.z3cform.layout` provides generic templates that can be used
+out-of-the-box with `megrok.z3cform.base`. These templates are totally
+independent from the megrok.z3cform.base library, meaning you can
+simply swap or override them.
 
-`megrok.z3cform.layout` also provides some common handlers to enhance
-a basic form such as a Cancel Button.
+Getting started
+===============
 
+We import the base components to test our form layout::
 
-Setup
------
+   >>> from megrok.z3cform.base import DisplayForm, EditForm, Fields
+   >>> from grokcore.component import context, implements
+   >>> from grokcore.component.testing import grok, grok_component
 
 Let's start with a simple example. We create a person object:
 
@@ -22,15 +24,15 @@
 The Interface of our Object:
 
    >>> class IPerson(Interface):
-   ...     name = TextLine(title = u'Name')
-   ...     age = TextLine(title = u'Age')
+   ...   name = TextLine(title = u'Name')
+   ...   age = TextLine(title = u'Age')
 
 The class of our Object:
 
    >>> class Person(object):
-   ...     implements(IPerson)
-   ...     name = u""
-   ...     age = u""
+   ...   implements(IPerson)
+   ...   name = u""
+   ...   age = u""
 
 And our instance:
 
@@ -42,34 +44,27 @@
    True
 
 
-Creating some Forms for it
---------------------------
+Rendering forms
+===============
 
-   >>> from megrok.z3cform.base import EditForm, Fields
-   >>> from grokcore.component import context, implements
-   >>> from grokcore.component.testing import grok, grok_component
+For now, megrok.z3cform.layout provides only one template that works
+for all the different kinds of forms::
 
-To include a cancel Button in your Form, it simply needs to declare it
-using the directive
+   >>> class Edit(EditForm):
+   ...   context(Interface)
+   ...   fields = Fields(IPerson)
 
-   >>> from megrok.z3cform.layout import cancellable
-
-   >>> class Add(EditForm):
-   ...     cancellable(True)
-   ...     context(Interface)
-   ...     fields = Fields(IPerson)
-
-   >>> grok_component('add', Add)
+   >>> grok_component('edit', Edit)
    True
 
    >>> from zope.component import getMultiAdapter
    >>> from zope.publisher.browser import TestRequest
    >>> request = TestRequest()
 
-   >>> add = getMultiAdapter((peter, request), name="add")
-   >>> print add()
+   >>> edit = getMultiAdapter((peter, request), name="edit")
+   >>> print edit()
    <form action="http://127.0.0.1" method="post"
-         enctype="multipart/form-data" class="form-add">
+         enctype="multipart/form-data" class="form-edit">
      <div class="errors">
      </div>
      <p class="documentDescription"></p>
@@ -107,9 +102,51 @@
    <input id="form-buttons-apply" name="form.buttons.apply"
           class="submit-widget button-field" value="Apply"
           type="submit" />
-   <input id="form-buttons-cancel" name="form.buttons.cancel"
-          class="submit-widget cancelbutton-field"
-          value="Cancel" accesskey="c" type="submit" />
          </span>
        </div>
    </form>
+
+It works the same for a form with no actions::
+
+   >>> class Display(DisplayForm):
+   ...   context(Interface)
+   ...   fields = Fields(IPerson)
+
+   >>> grok_component('display', Display)
+   True
+
+   >>> view = getMultiAdapter((peter, request), name="display")
+   >>> print view()
+   <form action="http://127.0.0.1" method="post"
+         enctype="multipart/form-data" class="form-display">
+      <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">
+              <span id="form-widgets-name"
+                    class="text-widget required textline-field"></span>
+            </div>
+    	 </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">
+             <span id="form-widgets-age"
+                   class="text-widget required textline-field"></span>
+           </div>
+    	 </div>
+       </div>
+    </form>

Modified: megrok.z3cform.layout/trunk/src/megrok/z3cform/layout/ftests/ftesting.zcml
===================================================================
--- megrok.z3cform.layout/trunk/src/megrok/z3cform/layout/ftests/ftesting.zcml	2009-11-02 13:02:07 UTC (rev 105447)
+++ megrok.z3cform.layout/trunk/src/megrok/z3cform/layout/ftests/ftesting.zcml	2009-11-02 13:29:11 UTC (rev 105448)
@@ -2,24 +2,13 @@
    xmlns="http://namespaces.zope.org/zope"
    xmlns:grok="http://namespaces.zope.org/grok">
 
-  <include package="zope.component" file="meta.zcml"/>
-  <include package="zope.i18n" file="meta.zcml"/>
   <include package="zope.app.zcmlfiles" file="meta.zcml" />
-  <include package="zope.app.publisher" file="meta.zcml" />
-  <include package="zope.app.component" file="meta.zcml" />
-  <include package="grokcore.component" file="meta.zcml"/>
   <include package="grokcore.view" file="meta-minimal.zcml" />
-  <include package="megrok.pagetemplate" file="meta.zcml"/>
-  <include package="zope.traversing" />
-  <include package="zope.publisher"/>
-  <include package="zope.app.zcmlfiles" />
-  <include package="zope.app.publisher"/>
-  <include package="zope.app.i18n" />
-
   <include package="megrok.z3cform.base" file="meta.zcml"/>
-  <include package="megrok.z3cform.base"/>
-  <include package="megrok.z3cform.base" file="default_form_layer.zcml"/>
-  <include package="megrok.z3cform.layout" />
 
+  <include package="zope.app.zcmlfiles" />
+  <include package="megrok.z3cform.layout" />
+  
+  <include package="megrok.z3cform.base" file="default_form_layer.zcml"/>
+  
 </configure>
-

Deleted: megrok.z3cform.layout/trunk/versions.cfg
===================================================================
--- megrok.z3cform.layout/trunk/versions.cfg	2009-11-02 13:02:07 UTC (rev 105447)
+++ megrok.z3cform.layout/trunk/versions.cfg	2009-11-02 13:29:11 UTC (rev 105448)
@@ -1,115 +0,0 @@
-[versions]
-zope.container = 3.8.1
-grok = 1.0a4
-ClientForm = 0.2.9
-docutils = 0.4
-grokcore.component = 1.6
-grokcore.formlib = 1.1
-grokcore.security = 1.0
-grokcore.view = 1.7
-grokcore.viewlet = 1.0
-grokui.admin = 0.3.2
-martian = 0.11
-mechanize = 0.1.7b
-Pygments = 0.8.1
-pytz = 2007k
-RestrictedPython = 3.4.2
-simplejson = 1.7.1
-z3c.autoinclude = 0.2.2
-z3c.flashmessage = 1.0
-z3c.testsetup = 0.2.1
-zc.catalog = 1.2.0
-ZConfig = 2.5.1
-zc.recipe.testrunner = 1.0.0
-zdaemon = 2.0.2
-ZODB3 = 3.8.1
-zodbcode = 3.4.0
-zope.annotation = 3.4.1
-zope.app.apidoc = 3.4.3
-zope.app.applicationcontrol = 3.4.3
-zope.app.appsetup = 3.4.1
-zope.app.authentication = 3.4.4
-zope.app.basicskin = 3.4.0
-zope.app.broken = 3.4.0
-zope.app.catalog = 3.5.1
-zope.app.component = 3.4.1
-zope.app.container = 3.5.6
-zope.app.content = 3.4.0
-zope.app.debug = 3.4.1
-zope.app.dependable = 3.4.0
-zope.app.error = 3.5.1
-zope.app.exception = 3.4.1
-zope.app.file = 3.4.4
-zope.app.folder = 3.4.0
-zope.app.form = 3.4.1
-zope.app.generations = 3.4.1
-zope.app.http = 3.4.1
-zope.app.i18n = 3.4.4
-zope.app.interface = 3.4.0
-zope.app.intid = 3.4.1
-zope.app.keyreference = 3.4.1
-zope.app.locales = 3.4.5
-zope.app.onlinehelp = 3.4.1
-zope.app.pagetemplate = 3.4.1
-zope.app.preference = 3.4.1
-zope.app.principalannotation = 3.4.0
-zope.app.publication = 3.4.3
-zope.app.publisher = 3.5.1
-zope.app.renderer = 3.4.0
-zope.app.rotterdam = 3.4.1
-zope.app.schema = 3.4.0
-zope.app.security = 3.5.2
-zope.app.securitypolicy = 3.4.6
-zope.app.server = 3.4.2
-zope.app.session = 3.5.1
-zope.app.skins = 3.4.0
-zope.app.testing = 3.4.3
-zope.app.tree = 3.4.0
-zope.app.twisted = 3.4.1
-zope.app.wsgi = 3.4.1
-zope.app.zapi = 3.4.0
-zope.app.zcmlfiles = 3.4.3
-zope.app.zopeappgenerations = 3.4.0
-zope.cachedescriptors = 3.4.1
-zope.component = 3.4.0
-zope.configuration = 3.4.0
-zope.contentprovider = 3.4.0
-zope.contenttype = 3.4.0
-zope.copypastemove = 3.4.0
-zope.datetime = 3.4.0
-zope.deferredimport = 3.4.0
-zope.deprecation = 3.4.0
-zope.dottedname = 3.4.2
-zope.dublincore = 3.4.0
-zope.error = 3.5.1
-zope.event = 3.4.0
-zope.exceptions = 3.4.0
-zope.filerepresentation = 3.4.0
-zope.formlib = 3.4.0
-zope.hookable = 3.4.0
-zope.i18n = 3.4.0
-zope.i18nmessageid = 3.4.3
-zope.index = 3.4.1
-zope.interface = 3.4.1
-zope.lifecycleevent = 3.4.0
-zope.location = 3.4.0
-zope.minmax = 1.1.0
-zope.modulealias = 3.4.0
-zope.pagetemplate = 3.4.0
-zope.proxy = 3.4.2
-zope.publisher = 3.4.6
-zope.schema = 3.4.0
-zope.security = 3.4.1
-zope.securitypolicy = 3.4.1
-zope.server = 3.4.3
-zope.session = 3.4.1
-zope.size = 3.4.0
-zope.structuredtext = 3.4.0
-zope.tal = 3.4.1
-zope.tales = 3.4.0
-zope.testbrowser = 3.4.2
-zope.testing = 3.7.6
-zope.thread = 3.4
-zope.traversing = 3.4.1
-zope.viewlet = 3.4.2
-



More information about the checkins mailing list