[Zope] 'manage_pasteObjects()' problem

Lennart Regebro lennart@regebro.nu
Wed, 12 Dec 2001 23:28:56 +0100


> No, I get the same error.

OK, good.

> class SaleOrder(
>     Products.ZCatalog.CatalogAwareness.CatalogAware,
>     Persistent,
>     Acquisition.Implicit,
>     AccessControl.Role.RoleManager,
>     OFS.ObjectManager.ObjectManager,
>     OFS.SimpleItem.Item,
>     ):

SimpleItem already inherits from Persistent, Acquisition.Implicit, and
AccessControl.Role.RoleManager, so you should be able to scratch them, and
lessen the definition to

> class SaleOrder(
>     Products.ZCatalog.CatalogAwareness.CatalogAware,
>     OFS.ObjectManager.ObjectManager,
>     OFS.SimpleItem.Item,
>     ):

>     # MY NOTE: changed meta_type to 'Folder' so as to enable 'paste'
>     meta_type = 'Folder'
> #   meta_type = 'SaleOrder'

Ah. Most likely a rights problem, then.

> My understanding of OFS.CopySupport.manage_pasteObjects()
>  is that it chokes on the call to 'self._verifyObjectPaste(ob)' (line 216
on my source): the user I run manage_pasteObjects()
> as does not have permission to paste. Well, I must say that Zope totally
lost me with its permissions and roles: a big big bug
> in my code is that part of my code should be available to public (user
anonymous), but I just can't get rid of the
> authentication dialog (for reasons I totally don't understand, calls to
"security.declarePublic('my_public_stuff')" seem utterly
> ineffective). I am guessing similar black magic happening here.

Nah, it's better to set up it as protected to a certain right.

security.declarePublic('View', 'my_public_stuff') will set your function so
that everybody that has "View" rights can call the function. Then you need
to set up anonymous so it has "View" rights, but thats default.