- Added Testcases for i18n.
- Added Testcases Custom renderers.
- Allow to redefine some attribute of the source fields in the fields
references. So the source fields are the default and can be modified by the
- Fixed rule evaluation. Allow " and ' in rules.
- Added basic filtering on selections. Currently only works on SQLAlchemy relations.
- Workaroud for https://github.com/formencode/formencode/pull/58
- Added "rows" attribute for textarea. (Renderer attribute)
- Add option to provide a external service to evaluate rules.
- If external service for rule evaluation is defined use this service for
client side evaluation.
- Add support for nested fieldset elements up to three levels.
- Replaced bootstrap-datepicker. Now using: https://github.com/eternicode/bootstrap-datepicker
- Add HTML-Renderer. Can be used to include custom HTML in the form.
- Add "History" feature. You can now optionally provide a dictionary with old
values and the form will renderer the differences to these values in a nice
visual way in read only mode. This is very similar to the change history
known from other office products.
- Fixed bug in evaluating expressions in JS when rendering read only mode. Add
value attribute for readonly dropdown fields holding the unexpanded value.
- Fixed bug in deserialisation. Do not ignore readonly fields on
- Added support for warning rules.
- Refactored serialisation, deserialisation, validation and rendering of the
form. Splitted up the code to make it more readable.
- Fix error on saving manytomany or onetomany relations. If there was only on
item linked. The saving fails and other items are linked.
- Fix providing external values while rendering the form through the render
function. Changed values merge mechanism.
- Fix serialisation on GET requests.
- Implement serialisation of datetimes.
- Added support for conditionals.
- Conditionals are evaluated with Formed-Rules on Server side
- Rules for fields which are with in a disabled conditional are now
exluded from validation.
- Rules are now checked after the basic type conversation is done. Pre rules
will still validate on the raw submitted (unconverted) data.
- Changed default mode of rules from "pre" to "post"
- Clean submitted data. The submitted data will be cleaned on validation.
Values for fields which are not actually configured in the form are erased
from the submitted data.
- Show number of errors in the form outline for every page.
- Rendering of buttons can now be disabled on rendering the form using
(buttons=false) as paramenter.
- Fixed preloading values on form rendering.
- Refactored code for evaluating expressions.
- Added Renderer for hidden fields.
- Make formbar compatible with Bootstrap 3
- Added datetime conversion. Converts submitted strings in with format
"2013-10-10 22:42:31" into a datetime.
- Change Layout of the buttonpane. Removed margin and padding. No background.
- Added "time" fields. Will take the time in the form "HH:MM:SS" and converts
it into the total amount of seconds.
- Fixed error in rule evaluation with non ascii values. The values are now
converted to ascii (non ascii values are replace with '?') before
- Improved "tabbing" in forms. Markers for required fields aren't links
anymore which are tabable.
- Added support for CSRF protection. The form can now be initialised with a
token for CSRF protection which is rendered as hidden field in the forms.
- Added support for File Fields.
- Added support for table rendering as additional layout element. Follows
basically the html syntax (table, tr, th, td).
- Added support InfoFields. Infofields are not part of the datamodel. The are
used to display dynamic calculated values.
- Added helper script "generate.py" to generate various information about the
form configuration. E.g generate the SQLAlchemy model.
- Added optional request param for form initialisation. The current request
from a wenframeform can no be provided to the form. This might be usefull
while rendering with external renderers.
- Removed FormAlchemy dependency. This includes some internal refactoring as
the rendering and converting of values (especially relations) must now be
done by formbar.
- Fixed readonly view for textarea. Replace \n with <br>
- Added "in" rule operand. ($field in ['1','2','3'])
- Added a configurable JS-Callback function which is called when the user
changes the currently selected page. The function will sent some information
(selected page, item, itemid) to a configurable URL. The server behind the
URL can save these values in a session and reuse it to preselect the page on
the next form rendering.
- Splitted up rendering of forms. The Fieldrenderer now renders label, field,
help and errors seperately for each field.
- Enabled customs Renderers. Among the default FA Renderes wen can now
configure our own renderers more easly. The goal is to get rid of the FA
- Added a new DatefieldRenderer which uses a bootstrap specific datepicker
widget. Needs JS. Currently this widget is used if the datetype "date" is
- Added helper method to get the needed JS code for formbar. Needed in other
- Renderer is not set depending on the datatype anymore. Default renderer is
a TextfieldRenderer or the Renderer set by Formencode.
- Renderer is only set by the renderer attribute for an entity
- Fix in setup.py. Use hgtools to build package.
- Added support for pages in forms.
- Added support for i18n. A translation function like gettext can now be
injected on initialisation of a form.
- Changed initialisation of field.
- Implemented dropdonw field
- Layout Change. Field height is now 30px to match the Ringo form layout.
- First working version.