Skip to main content

Automatically collect fields for a Zeam Form.

Project description

zeam.form.autofields is able to collect fields definition for your form. This enable you to create forms with a plugable list of fields.

Example

You need first to define a group of fields. This will be just an interface:

>>> from zope.interface import Interface

>>> class IReplyFields(Interface):
...    pass

Now you can define groups of fields:

>>> from zeam.form import base, autofields

>>> class ReplyInformation(autofields.AutoFields):
...     autofields.group(IReplyFields)
...     autofields.order(0)
...     fields = base.Fields(base.Field('Comment'))

>>> class ReplyBlogInformation(autofields.AutoFields):
...     autofields.group(IReplyFields)
...     autofields.order(10)
...     fields = base.Fields(base.Field('Blog URL'))

And you will be able to use those fields on your form somewhere else:

>>> class ReplyForm(base.Form):
...     fields = autofields.FieldsCollector(IReplyFields)

API

In addition to its API, zeam.form.autofields export the one of zeam.form.base.

Classes

AutoFields
Base classes used to define a group of Fields to be included in a form.

Directives

group
Directive used on AutoFields which select for which group you whish to provide the fields for. A group is just a plain zope interface, that will be given as parameter to the FieldsCollector.
view
Directive used on AutoFields that will let you specify for which Form (or view) you whish to provide the fields for. This directive is not required, and default to IBrowserView.
order
Optional directive which let decide in wich order the fields will included at the end.

Properties

FieldsCollector
Property used to collect form Fields for you.

Changelog

1.0.1 (2012/05/02)

  • Update to use the latest version of grokcore.component.

1.0 (2011/11/08)

  • Initial release

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Filename, size & hash SHA256 hash help File type Python version Upload date
zeam.form.autofields-1.0.1.tar.gz (5.6 kB) Copy SHA256 hash SHA256 Source None

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page