From 7f3408f1958f1fcd28966889668cb5a13f06e4d0 Mon Sep 17 00:00:00 2001 From: Christophe Dumez <christophe@nexedi.com> Date: Tue, 16 May 2006 14:20:43 +0000 Subject: [PATCH] Added a script that return the id of the original business template where the given object is coming from. git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@7295 20353a03-c40f-0410-a6d1-a30d3c3de9de --- .../Base_getOriginalBusinessTemplateId.xml | 2 +- product/ERP5/Document/BusinessTemplate.py | 12 ++++++++++++ product/ERP5/Tool/TemplateTool.py | 9 +++++++++ 3 files changed, 22 insertions(+), 1 deletion(-) diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Base_getOriginalBusinessTemplateId.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Base_getOriginalBusinessTemplateId.xml index 9851f91e1a..daf3421059 100644 --- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Base_getOriginalBusinessTemplateId.xml +++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Base_getOriginalBusinessTemplateId.xml @@ -69,7 +69,7 @@ <value> <string>installed_bts = context.getPortalObject()[\'portal_templates\'].getInstalledBusinessTemplatesList()\n for bt in installed_bts:\n if file in bt.getItemsList():\n - return [bt.getTitle(), bt.getId()]\n + return bt.getId()\n return None\n </string> </value> </item> diff --git a/product/ERP5/Document/BusinessTemplate.py b/product/ERP5/Document/BusinessTemplate.py index 43419c49b0..bfbe006d37 100644 --- a/product/ERP5/Document/BusinessTemplate.py +++ b/product/ERP5/Document/BusinessTemplate.py @@ -356,6 +356,9 @@ class BaseTemplateItem(Implicit, Persistent): def export(self, context, bta, **kw): pass + def getKeys(self): + return self._objects.keys() + def importFile(self, bta, **kw): bta.importFiles(klass=self) @@ -4278,6 +4281,15 @@ Business Template is a set of definitions, such as skins, portal types and categ for item_name in self._item_name_list: getattr(self, item_name).importFile(bta) + #By christophe Dumez <christophe@nexedi.com> + def getItemsList(self): + """Return list of items in business template + """ + items_list = [] + for item_name in self._item_name_list: + item = getattr(self, item_name) + items_list.extend(item.getKeys()) + return items_list def diffObject(self, REQUEST, **kw): """ diff --git a/product/ERP5/Tool/TemplateTool.py b/product/ERP5/Tool/TemplateTool.py index d0f80c1521..9bd78d9d6d 100644 --- a/product/ERP5/Tool/TemplateTool.py +++ b/product/ERP5/Tool/TemplateTool.py @@ -102,6 +102,15 @@ class TemplateTool (BaseTool): if bt.getInstallationState() == 'installed' and bt.getTitle() == title: return bt return None + + def getInstalledBusinessTemplatesList(self): + """Get list of installed business templates + """ + installed_bts = [] + for bt in self.contentValues(filter={'portal_type':'Business Template'}): + if bt.getInstallationState() == 'installed': + installed_bts.append(bt) + return installed_bts def updateLocalConfiguration(self, template, **kw): """ -- 2.30.9