Hi,
I have created a new class in my
product, but I can’t access the PropertyManager pages for it:
import Persistence
from OFS.PropertyManager import PropertyManager
# Zope security infrastructure
from Globals import InitializeClass
from AccessControl import ClassSecurityInfo
class MyClass(Persistence.Persistent,PropertyManager):
"""
L'objet d'interfacage
"""
# Properties are default are
persistent typed attributes with builtin form
# management in the ZMI
_properties = (
{'id':'remote_email',
'type':'string', 'mode': 'w'},
{'id':'local_email',
'type':'string', 'mode': 'w'},
)
# default values
remote_email = ''
local_email = ''
# Tabs that are displayed in the ZMI
(inherited from the base classes)
manage_options = (PropertyManager.manage_options)
# Let me see those pages
__ac_permissions__=(('Manage
properties', ('manage_addProperty',
'manage_editProperties',
'manage_delProperties',
'manage_changeProperties',
'manage_propertiesForm',
'manage_propertyTypeForm',
'manage_changePropertyTypes',
)
))
def __init__(self):
pass
security = ClassSecurityInfo()
security.declarePublic('show')
def show(self):
return
str(self)
InitializeClass(MyClass)
An instance of this class is held as
an attribute of a tool in the product.
class DBRTool(UniqueObject, SimpleItem,
ActionProviderBase, PropertyManager):
"""Tool for some
logic of the DBR site"""
def __init__(self):
# interfacage
self.myInstance
= MyClass()
Accessing http://.../portal_dbrtool/myInstance
shows str(myInstance), but http://.../portal_dbrtool/myInstance/manage_propertiesForm shows
“You are not authorized to access this
resource.” After a login that
cannot be satisfied.
The manage_options and __ac_permissions__ are set according to the
instructions in PropertyManager.
Where am I going wrong? How can I
access these pages?
TIA,
Jonathan