[Zope3-Users] Can't rename objects

Marius Gedminas mgedmin at b4net.lt
Tue Jan 16 18:44:16 EST 2007

On Tue, Jan 16, 2007 at 09:05:59PM +0100, Florian Lindner wrote:
> I have a container object to which I can add and remove object but can not 
> rename them. I suspet my I namechooser to be faulty:

That might be true.

> from zope.app.container.interfaces import INameChooser
> from zope.app.container.contained import NameChooser
> class XGMNameChooser(NameChooser):
>     implements(INameChooser)
>     def chooseName(self, name, object):
>         if IAbbreviation.providedBy(object):
>             # my name choosing code
>             return n

I'm not sure I remember things correctly, but shouldn't your name
chooser verify and optionally accept ``name`` here, if you want the
user's desired name to ever be used?

>         else:
>             return super(XGMNameChooser, self).chooseName(name, object)

> registered like that:
>     <adapter
>         for=".interfaces.IXGM"
>         provides="zope.app.container.interfaces.INameChooser"
>         factory=".xgm.XGMNameChooser"
>     />
> furthermore the objects interface implements:
> IContainer, IContained, IPossibleSite, IAttributeAnnotatable, 
> IContainerNamesContainer.

IContainerNamesContainer means "the user will *never* get to specify the
names used for the elements stored in this container, instead the names
will *always* be computed automatically by the name chooser."

Remove this interface and you will get your "Rename" button in the ZMI.

> the class itself:
> BTreeContainer, SiteManagerContainer
> What's wrong?

Marius Gedminas
If you are angry with someone, you should walk a mile in their shoes... then
you'll be a mile away from them, and you'll have their shoes.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: Digital signature
Url : http://mail.zope.org/pipermail/zope3-users/attachments/20070117/b8780732/attachment.bin

More information about the Zope3-users mailing list