[Zope-dev] Re: [ZPT] accessing object attributes from python expression raises error

Wolfram Kerber wk@gallileus.de
Wed, 9 Jan 2002 10:40:33 +0100


From: "Chris McDonough":


> > meta_type is an attribute, so you can't just do
> >
> > security.declareProtected(ACCESS_CONTENTS_PERM, 'meta_type')
>
> That's right.
>
> > The id attribute has the getId method, perhaps what's required is a
> > getMetaType method that can be suitably protected?
> >
> > This would still be a pretty easy fix:
> >
> >     security.declareProtected(ACCESS_CONTENTS_PERM, 'getMetaType')
> >     def getMetaType(self):
> >         """ """
> >         return self.meta_type
> >
> > Am I missing something?
>
> Nope, that would work.  But I think also:
>
> meta_type__roles__ = None
>
> .. as a class attr would work as well.
>
> I'll try it and let you know if it works.

security.setDefaultAccess({'meta_type': 1}) should do

the parameter is what has been __allow_access_to_unprotected_subobjects__,
that can be a boolean, dictionary or callable