From 5bf678f72261a906aa83dd80ea6bd5551a281abf Mon Sep 17 00:00:00 2001
From: Romain Courteaud <romain@nexedi.com>
Date: Wed, 23 Sep 2009 08:33:46 +0000
Subject: [PATCH] Use _updateProperty method to modify existing property

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@29145 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 product/ERP5/Document/BusinessTemplate.py | 17 +++++++++++++----
 1 file changed, 13 insertions(+), 4 deletions(-)

diff --git a/product/ERP5/Document/BusinessTemplate.py b/product/ERP5/Document/BusinessTemplate.py
index 39c8112bc0..0dc5e20021 100644
--- a/product/ERP5/Document/BusinessTemplate.py
+++ b/product/ERP5/Document/BusinessTemplate.py
@@ -1388,17 +1388,26 @@ class RegisteredSkinSelectionTemplateItem(BaseTemplateItem):
           'business_template_registered_skin_selections', None)
 
         if selection_string is None:
+          create_property = True
           selection_string = self._objects[skin_folder_id].replace(',', ' ')
         else:
+          create_property = False
+          if not isinstance(selection_string, basestring):
+            selection_string = ' '.join(selection_string)
           selection_string += ' %s' % \
             self._objects[skin_folder_id].replace(',', ' ')
 
         # Remove duplicate
         selection_string = \
             ' '.join(dict([(x, 0) for x in selection_string.split(' ')]).keys())
-        skin_folder._setProperty(
-            'business_template_registered_skin_selections',
-            selection_string.split(' '), type='tokens')
+        if create_property:
+          skin_folder._setProperty(
+              'business_template_registered_skin_selections',
+              selection_string.split(' '), type='tokens')
+        else:
+          skin_folder._updateProperty(
+              'business_template_registered_skin_selections',
+              selection_string.split(' '))
 
         selection_list = selection_string.split(' ')
         unregisterSkinFolder(skin_tool, skin_folder,
@@ -1428,7 +1437,7 @@ class RegisteredSkinSelectionTemplateItem(BaseTemplateItem):
 
       current_selection_list = list(current_selection_set)
       if current_selection_list:
-        skin_folder.setProperty(
+        skin_folder._updateProperty(
             'business_template_registered_skin_selections',
             current_selection_list)
 
-- 
2.30.9