Commit f17c4949 authored by Ivan Tyagov's avatar Ivan Tyagov

If a business template contains skin folder which registers a new skin make...

If a business template contains skin folder which registers a new skin make sure that when this skin folder is uninstalled
the skin is removed from portal_skins tool. 
This way both install/uninstall process is consistent with respect to skin handling. 


git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@24710 20353a03-c40f-0410-a6d1-a30d3c3de9de
parent 09287505
...@@ -966,6 +966,12 @@ class ObjectTemplateItem(BaseTemplateItem): ...@@ -966,6 +966,12 @@ class ObjectTemplateItem(BaseTemplateItem):
# in case object is already backup and/or removed # in case object is already backup and/or removed
if trash and trashbin is not None: if trash and trashbin is not None:
self.portal_trash.backupObject(trashbin, container_path, object_id, save=1, keep_subobjects=1) self.portal_trash.backupObject(trashbin, container_path, object_id, save=1, keep_subobjects=1)
if container.meta_type == 'CMF Skins Tool':
# we are removing a skin folder, check and remove if registered skin selection
skin_folder = container[object_id]
registered_skin_selections = getattr(skin_folder, 'business_template_registered_skin_selections', None)
if registered_skin_selections is not None:
container.manage_skinLayers(chosen=registered_skin_selections, del_skin=1)
container.manage_delObjects([object_id]) container.manage_delObjects([object_id])
if container.aq_parent.meta_type == 'ERP5 Catalog' and len(container.objectIds()) == 0: if container.aq_parent.meta_type == 'ERP5 Catalog' and len(container.objectIds()) == 0:
# We are removing a ZSQLMethod, remove the SQLCatalog if empty # We are removing a ZSQLMethod, remove the SQLCatalog if empty
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment