Version 5 (modified by 19 years ago) ( diff ) | ,
---|
New-admin changes
The new-admin branch contains a number of changes. All of these changes may be reverted (more likely with some than others) or further modified.
Manipulators
Manipulators have a new optional argument to their constructors: follow
. The argument is a dictionary indicating which fields and related objects to extract in flatten_data and examine when saving the object.
The default set to follow is:
- Any fields without
editable=False
. - Any related objects with
edit_inline
set on theForeignKey
relating to the class the manipulator is concerned with.
This is the set of fields shown by the admin.
(insert example)
Manipulators have a new method, flatten_data()
. This takes the data from the existing object (or the defaults in the case of an AddManipulator
) and turns it into a suitable form for an HTTP post. It must be called before creating the formfield wrapper is created.
The data from a post must have manipulator.do_html2python(new_data)
called on it before it is used to repopulate a formfieldwrapper.
insert example
Templates
A new tag, called include
, which is an improvement on ssi parsed. See #598.
Improved error reporting when debug is on. See #603. Also note that loaders must return a tuple of (source, filename) rather than just the source of a loaded template.
Admin converted to separate templates
The admin is now rendered using separate templates. These can be overloaded, meaning the admin is a bit easily customizable. Inline editing can use a custom template, reather than using edit_inline=meta.TABULAR or meta.SOURCE, just use a path to a template, eg edit_inline="edit_inline_horizontal".
This does require knowing the contents of the context for that template which is undocumented. Also this will probably change to a class to allow more flexibility, eg processing for style/grouping logic etc.