New class, no access to manage_propertiesForm etc.
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 <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 This message contains information that may be privileged or confidential and is the property of the Capgemini Group. It is intended only for the person to whom it is addressed. If you are not the intended recipient, you are not authorized to read, print, retain, copy, disseminate, distribute, or use this message or any part thereof. If you receive this message in error, please notify the sender immediately and delete all copies of this message.
(Tue, Jun 26, 2007 at 03:37:28PM +0200) Winterflood, Jonathan wrote/schrieb/egrapse:
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):
Please don't bother mixing together your own object classes from scratch. The smart move is to build up your own objects either from Folder, OrderedFolder, BTreeFolder2, or -- if it really should be something simple that doesn't do much -- SimpleItem. I would recommend having a look at http://wiki.zope.org/zope2/DiskBasedProduct and (if I might say so) at http://papakiteliatziar.gr/BetaBoring Regards, Sascha -- "We were up to our knees in snow, clambering with our hands. Except for a fight with an ex-girlfriend, I have never wanted an ice axe more." - Michael Ybarra
OK thanks for the tips :) I'll look at those pages I think I'll use SimpleItem; All I need is a few methods, a couple of properties, and some management stuff. Regards, Jonathan -----Message d'origine----- De : zope-bounces@zope.org [mailto:zope-bounces@zope.org] De la part de Sascha Welter Envoyé : mercredi 27 juin 2007 09:07 À : zope@zope.org Objet : Re: [Zope] New class, no access to manage_propertiesForm etc. (Tue, Jun 26, 2007 at 03:37:28PM +0200) Winterflood, Jonathan wrote/schrieb/egrapse:
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):
Please don't bother mixing together your own object classes from scratch. The smart move is to build up your own objects either from Folder, OrderedFolder, BTreeFolder2, or -- if it really should be something simple that doesn't do much -- SimpleItem. I would recommend having a look at http://wiki.zope.org/zope2/DiskBasedProduct and (if I might say so) at http://papakiteliatziar.gr/BetaBoring Regards, Sascha This message contains information that may be privileged or confidential and is the property of the Capgemini Group. It is intended only for the person to whom it is addressed. If you are not the intended recipient, you are not authorized to read, print, retain, copy, disseminate, distribute, or use this message or any part thereof. If you receive this message in error, please notify the sender immediately and delete all copies of this message.
participants (2)
-
Sascha Welter -
Winterflood, Jonathan