I attempted to restrict the meta_types in the class that is represented by dbFolder to just prodA. In order to gain access to the prodA add form, I had to import the prodA module into the prodB module and make the assignment in the class that is represented by dbFolder. At this point the single factory method was exposed in the dbFolder as expected. Unfortuantely, the constructor for prodA (action of the prodA add form) could not be found. With numerous tweakings and source searching I settled on duplicating the constructor function for prodA in the class that is represented by dbFolder. Now it works.
You need to import the constructor methods and the assing them to local constructor methods.
I use something similar in my "simpleProduct" where I have a base module called "mxmSimpleItem" which has 2 constructors:
mxmSimpleItem.py ======================== manage_addForm = HTMLFile('manage_addForm', globals())
def manage_addAction(self, id=None, REQUEST=None): "some code" ========================
I then have another module "mxmObjectManager" which is similar to the first. So I also need the constructor in the module. Had they only been in the class, it would not have been a problem. But I just import them and assign them like:
mxmObjectManager.py ======================== import mxmSimpleItem manage_addForm = mxmSimpleItem.manage_addForm manage_addAction = mxmSimpleItem.manage_addAction ========================
Which is the right way to do it.
regards Max M
_______________________________________________
Zope-Dev maillist - [EMAIL PROTECTED]
http://mail.zope.org/mailman/listinfo/zope-dev
** No cross posts or HTML encoding! **
(Related lists - http://mail.zope.org/mailman/listinfo/zope-announce
http://mail.zope.org/mailman/listinfo/zope )