[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