Composed forms for Grok, using z3c.form.
Project description
megrok.z3cform.composed is a package dedicated to define and register composed forms. Composed forms are forms built from a collection of sub forms.
megrok.z3cform.composed is based on z3c.form and megrok.z3cform.base.
Getting started
We import the needed dependencies:
>>> import grokcore.view as grok >>> import megrok.z3cform.composed >>> from megrok.z3cform.composed import ComposedForm, SubForm
We import the components utilities:
>>> from zope.component import getMultiAdapter >>> from zope.publisher.browser import TestRequest
Defining a composed form
Context
A form needs a context. Let’s create a simple model for test purposes:
>>> class MyContent(object): ... pass
Declaration
>>> class Form(ComposedForm): ... grok.context(MyContent)
Registration
>>> grok_component('composed', Form) True
Query
>>> content = MyContent() >>> request = TestRequest()>>> composed = getMultiAdapter((content, request), name="form") >>> composed <megrok.z3cform.composed.tests.Form object at ...>>>> composed.subforms []>>> composed.updateForm() >>> composed.subforms []
Defining sub forms
Declaration
>>> class SubFormOne(SubForm): ... grok.context(MyContent) ... megrok.z3cform.composed.order(2) ... megrok.z3cform.composed.view(Form)>>> class SubFormTwo(SubForm): ... grok.context(MyContent) ... megrok.z3cform.composed.order(1) ... megrok.z3cform.composed.view(Form)
Registration
>>> grok_component('one', SubFormOne) True>>> grok_component('one', SubFormTwo) True
Query
>>> composed.subforms []>>> composed.updateForm() >>> composed.subforms [<megrok.z3cform.composed.tests.SubFormTwo object at ...>, <megrok.z3cform.composed.tests.SubFormOne object at ...>]>>> for sub in composed.subforms: ... print sub.prefix, sub.parentForm subformtwo <megrok.z3cform.composed.tests.Form object at ...> subformone <megrok.z3cform.composed.tests.Form object at ...>
Changelog
0.1 (2009-10-27)
Initial release
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file megrok.z3cform.composed-0.1.tar.gz
.
File metadata
- Download URL: megrok.z3cform.composed-0.1.tar.gz
- Upload date:
- Size: 4.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | d94b87bc81322748eaa3fdb63cded155bfb80f4cea808972258554d7e1a806a2 |
|
MD5 | 270d9cee67b4e09b88375c5d7f778230 |
|
BLAKE2b-256 | fe0be52900cc95d8b9d08141152e023e583d68e96b7e0e399395d180f21b08b2 |