Hi all (and Shane in particular :)

I'm triggering this error:

Unauthorized: The owner of the executing script is defined
outside the context of the object being accessed. Access to
'basic' of (License_PropertySheetsClass instance at e204528)
denied. Access requires Access_contents_information_Permission,
granted to the following roles: ['Administrator', 'Manager',
'Owner', 'Supporter']. The executing script is (PythonScript
instance at e208eb8), owned by jean.

I can't understand why .. there is exactly one acl_users in this
Zope instance, in the root, where user 'jean' is defined. The
whole application normally works fine. Currently, the error is
being triggered by a ZUnit unit test. All the other unit tests
(adding, editing and deleting instances of various kinds) works
fine. The code where the error is occuring is this:

# Create a new License instance and grab its propertysheet
license_id = context.ObjectCounters.newID('License')
new_license = container.newItem(license_id)
new_license_propertysheet = new_license.propertysheets.basic

All I can think is that that object 'basic' lacks context for
some reason (i.e. lacks an acquisition wrapper?). I can't think
why it lacks context .. we use that idiom all over the app, and
don't normally get any problems.

I'm trying to see if reading VerboseSecurity's source will
help, but all I've found so far is a suspect double negation:

def userHasRolesButNotInContext(user, object, object_roles):
'''Returns 1 if the user has any of the listed roles but
is not defined in a context which is not an ancestor of object.

Surely either one of those 'not's should go?

Jean Jordaan

Zope-Dev maillist - [EMAIL PROTECTED]
** No cross posts or HTML encoding! **
(Related lists - http://mail.zope.org/mailman/listinfo/zope-announce
http://mail.zope.org/mailman/listinfo/zope )

Reply via email to