RE: [Zope] Creating PythonMethod from ZClass constructor/method.
Using Zope 2.2b3, I am trying to create a PythonMethod from the constructor of my ZClass and keep getting an authorization dialog. In my MyZClass_add method, I have:
<dtml-with "MyZClass.createInObjectManager(...)"> <dtml-call "manage_addFolder(id='testFolder')"> <!-- works! --> <dtml-with "manage_addProduct['PythonMethod']"> <dtml-call "manage_addPythonMethod( this(), 'testMethod', 'Test Method', 'self', 'pass' )"> </dtml-with> </dtml-with>
Every pemutation I have tried gives the same result: an Unauthorized exception.
Hi Jeff - Thanks for reporting this. It turns out that there was a missing security assertion in the product dispatcher (manage_addProduct) that was causing this. The fix will be in b4. If you want to patch your install in the meantime, edit lib/python/App/FactoryDispatcher.py and change: class ProductDispatcher(Acquisition.Implicit): " " def __getitem__(self, name): ... to: class ProductDispatcher(Acquisition.Implicit): " " # Allow access to factory dispatchers __allow_access_to_unprotected_subobjects__=1 def __getitem__(self, name): ... Brian Lloyd brian@digicool.com Software Engineer 540.371.6909 Digital Creations http://www.digicool.com
participants (1)
-
Brian Lloyd