On Fri, 14 Oct 2005 15:36:09 +0200, gnotari wrote
> I'm at loss:
> I'm replicating the example at cap. 14.3 of Philipp's (Worldcookery)
> book. It's all about auto-assigning names to object being added to containers.
> After much tinkering, it does seem to me that this directive
> is not working at all.
> I throughly checked my NameChooser derived class, and verified it
> works if I make it return some static "name".
> But if I set my NameChooser to use the new object's id attribute (as
> per example) and try to Add the object, I'm not asked for the "id"
> and immediately get the error "An empty name was provided. Names
> cannot be empty."
> Any clue about what's happening?
> Zope3-users mailing list
I just tried to have Zope auto assign the name of an object taking the
TextLine field 'title' as name. It worked just fine. Remember NameChooser
has to be implemented on the container, not the object. The set_before_add
should be added to the addform of the object itself.
I wrote a small howto on NameChooser at http://counterfate.servebeer.com
Replace the part in the chooseName function with:
if not name:
name = object.id
Zope3-users mailing list