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