Yuppie <schubbe@web.de> wrote:
Hi!
Writing a hotfix for my product, I have same questions about security declarations. The ZDG doesn't cover this.
1.) adding a new Method: Is the following code safe? Or is there a better way to do that?
<code> from Globals import InitializeClass from AccessControl import ClassSecurityInfo from Products.oldProduct import oldClass
def newMethod(self): pass
oldClass.security = ClassSecurityInfo() oldClass.security.declareProtected( 'View', 'newMethod' ) oldClass.newMethod = newMethod
InitializeClass(oldClass) </code>
This should work (maybe modulo tweaks). You should also be able to do: security = ClassSecurityInfo() security.declareProtected('View', 'newMethod') oldClass.newMethod = newMethod security.apply(oldClass) Check it though. Florent -- Florent Guillaume, Nuxeo (Paris, France) +33 1 40 33 79 87 http://nuxeo.com mailto:fg@nuxeo.com