[Erp5-report] r25012 - /erp5/trunk/products/ERP5Type/Base.py

nobody at svn.erp5.org nobody at svn.erp5.org
Mon Jan 5 17:38:55 CET 2009


Author: nicolas
Date: Mon Jan  5 17:38:54 2009
New Revision: 25012

URL: http://svn.erp5.org?rev=25012&view=rev
Log:
Look up in all ancestors class tree until Base

Modified:
    erp5/trunk/products/ERP5Type/Base.py

Modified: erp5/trunk/products/ERP5Type/Base.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5Type/Base.py?rev=25012&r1=25011&r2=25012&view=diff
==============================================================================
--- erp5/trunk/products/ERP5Type/Base.py [utf8] (original)
+++ erp5/trunk/products/ERP5Type/Base.py [utf8] Mon Jan  5 17:38:54 2009
@@ -2915,9 +2915,10 @@
       fallback_script_id : the script to use if nothing is found
     """
     def getScriptName(portal_type, method_id):
+      from Products.ERP5Type.Base import Base
+      class_name_list = [base_class.__name__ for base_class in self.__class__.mro() if issubclass(base_class, Base)]
       script_name_end = '_%s' % method_id
-      for script_name_begin in [portal_type, self.getMetaType(),
-          self.__class__.__name__]:
+      for script_name_begin in [portal_type, self.getMetaType()] + class_name_list:
         name = ''.join([script_name_begin.replace(' ',''), script_name_end])
         script = getattr(self, name, None)
         if script is not None:




More information about the Erp5-report mailing list