diff --git a/bt5/erp5_administration/SkinTemplateItem/portal_skins/erp5_administration/ERP5Site_dumpPortalTypeList.py b/bt5/erp5_administration/SkinTemplateItem/portal_skins/erp5_administration/ERP5Site_dumpPortalTypeList.py index 1afd8f72b585479d7e07b7ede81ac8a46dc54261..8695adaf81fcd44981f95545ff498ad2eed9d812 100644 --- a/bt5/erp5_administration/SkinTemplateItem/portal_skins/erp5_administration/ERP5Site_dumpPortalTypeList.py +++ b/bt5/erp5_administration/SkinTemplateItem/portal_skins/erp5_administration/ERP5Site_dumpPortalTypeList.py @@ -3,7 +3,6 @@ for ti in sorted(context.getPortalObject().portal_types.contentValues(), key=lam print " ", "\n ".join([x for x in ( "Short Title: %s" % ti.getShortTitle(), "Class: %s" % ti.getTypeClass(), - "Init Script: %s" % ti.getTypeInitScriptId(), "Add Permission: %s" % ti.getTypeAddPermission(), "Acquire Local Roles: %s" % ti.getTypeAcquireLocalRole(), "Property Sheets: %r" % sorted(ti.getTypePropertySheetList()), diff --git a/product/ERP5Type/ERP5Type.py b/product/ERP5Type/ERP5Type.py index 4f86cfda3de4d3718b570f9b289a8c16e4435669..5180f342ca41c1788f4f6aa607bc596fe5aca4bb 100644 --- a/product/ERP5Type/ERP5Type.py +++ b/product/ERP5Type/ERP5Type.py @@ -438,8 +438,13 @@ class ERP5TypeInformation(XMLObject, init_script = self.getTypeInitScriptId() if init_script: # Acquire the init script in the context of this object + deprecated("'type_init_script_id' deprecated in favor of getTypeBasedMethod()") getattr(ob, init_script)(created_by_builder=created_by_builder, edit_kw=kw) + else: + init_script = self._getTypeBasedMethod('init') + if init_script is not None and callable(init_script): + init_script(created_by_builder=created_by_builder, edit_kw=kw) if kw: ob._edit(force_update=1, **kw) @@ -654,8 +659,7 @@ class ERP5TypeInformation(XMLObject, """Return keywords for "Find" tab in ZMI""" search_source_list = [self.getId(), self.getTypeFactoryMethodId(), - self.getTypeAddPermission(), - self.getTypeInitScriptId()] + self.getTypeAddPermission()] search_source_list += self.getTypePropertySheetList() search_source_list += self.getTypeBaseCategoryList() return ' '.join(filter(None, search_source_list)) diff --git a/product/ERP5Type/tests/testERP5Type.py b/product/ERP5Type/tests/testERP5Type.py index d478ec9f3e6fbedd9e0052bb5f20659164a241de..c1ee17f8ca921691d67c2c63711016dd921d0c26 100644 --- a/product/ERP5Type/tests/testERP5Type.py +++ b/product/ERP5Type/tests/testERP5Type.py @@ -501,6 +501,10 @@ class TestERP5Type(PropertySheetTestCase, LogInterceptor): self.portal.portal_caches.clearCache() self.assertEqual(cache(), cached_var) + def test_07_initScript(self): + """TODO: Similar to test_07_afterCloneScript""" + pass + def test_07_afterCloneScript(self): """manage_afterClone can call a type based script.""" # setup the script for Person portal type