= 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 the {{{ForeignKey}}} 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.