Jerome Alet writes:
> self.manage_permission(permission_to_manage =
> "Access contents information" , roles = [ 'Manager', 'admin' ])
> ..., but the manage_permission
> call gives me the following traceback:
> Error Type: AttributeError
> Error Value: aq_acquire
> Traceback (innermost last):
> File /usr/local/zope/lib/python/OFS/ObjectManager.py, line 173, in
> AttributeError: (see above)
> Surprisingly, if I delete the manage_permission line, restart Zope, re-add
> an instance of MyClass (it works), then try to manually modify the
> permissions using the MyClass instance's security tab, then it works
Inside the constructor code (i.e. inside "__init__"),
objects do not yet have an acquisition context; they
are not yet acquisition wrapped.
This means, they do not yet have any of the acquisition attributes:
aq_acquire, aq_base, aq_self, aq_parent, aq_inner.
When they are later accessed, they are not returned themselves.
Rather, an acquisition wrapped version of the object
is returned. The wrapper provides the attributes above.
"manage_permissions" obviously requires obviously requires its
"self" to be a wrapped object.
If you have access to the correct acquisiton context (i.e.
the folder, where you will instantiate the instance), you
can wrap the object yourself:
Or you must postpone the "manage_permissions", until
you can reaccess the object in the correct context.
Zope maillist - [EMAIL PROTECTED]
** No cross posts or HTML encoding! **
(Related lists -