diff --git a/product/ERP5/Document/BusinessTemplate.py b/product/ERP5/Document/BusinessTemplate.py index 4cd0b95b64d08cda1b3958adc2d889cf9431cb4c..85d01f8b4d2411df73ec9904c22a14d4be5f345d 100644 --- a/product/ERP5/Document/BusinessTemplate.py +++ b/product/ERP5/Document/BusinessTemplate.py @@ -1879,10 +1879,15 @@ class RegisteredVersionPrioritySelectionTemplateItem(BaseTemplateItem): def build(self, context, **kw): self._fillObjectDictFromArchive() + def beforeInstall(self): + self.__is_new_version_priority_installed = False + def install(self, context, trashbin, **kw): if not self._objects: return + self.beforeInstall() + portal = context.getPortalObject() registered_tuple_list = [] for value in portal.getVersionPriorityList(): @@ -1928,9 +1933,18 @@ class RegisteredVersionPrioritySelectionTemplateItem(BaseTemplateItem): if not inserted: registered_tuple_list.append((new_version, new_priority)) + self.__is_new_version_priority_installed = True + portal.setVersionPriorityList(('%s | %s' % (version, priority) for version, priority in registered_tuple_list)) + self.afterInstall() + + def afterInstall(self): + if self.__is_new_version_priority_installed: + self.portal_components.reset(force=True, + reset_portal_type_at_transaction_boundary=True) + def preinstall(self, context, installed_item, **kw): modified_object_list = {} class_name_prefix = self.__class__.__name__[:-12]