Am 12.07.2009 um 01:46 schrieb Roger Ineichen:
> Hi Michael
>> Betreff: [Zope-dev] z3c.form: data manager
>> z3c.form.datamanager.DictionaryField is a data manager which
>> is registered for fields on a dict. In its __init__ it checks
>> whether the data object is an instance of dict. So this data
>> manager does neither work for UserDict nor
>> I'd like to change this but there are two possibilities and
>> I'm not sure which is the best one:
>> 1.) Add a subclasses of DictionaryField which is registered
>> for UserDict and which checks whether the data object is an
>> instance of UserDict.
>> (PersistentDict and PersistentMapping are subclasses of
> I think this is the right solution
I think so, too, but I was not sure.
> because there are many
> places in zope which do not work if a PeristentDict or
> PeristentList is given instead of a simple dict or list
> I'm not sure but I guess not even the zope.schema validation
> implementation does this part correct for list or dict fields.
This is another problem. z3c.form.datamanager.DictionaryField sets the
value directly on the dict, so I'd like to use a PersistentMapping
instead of a dict to get the persistency stuff for free. I use the
PersistentMapping to store the schema values, as I need to keep them
in the session.
Michael Howitz · m...@gocept.com · software developer
gocept gmbh & co. kg · forsterstraße 29 · 06112 halle (saale) · germany
http://gocept.com · tel +49 345 1229889 8 · fax +49 345 1229889 1
Zope and Plone consulting and development
Zope-Dev maillist - Zope-Dev@zope.org
** No cross posts or HTML encoding! **
(Related lists -