[Erp5-report] r35479 luke - /erp5/trunk/products/ERP5Type/CopySupport.py

nobody at svn.erp5.org nobody at svn.erp5.org
Thu May 20 13:23:49 CEST 2010


Author: luke
Date: Thu May 20 13:23:48 2010
New Revision: 35479

URL: http://svn.erp5.org?rev=35479&view=rev
Log:
 - remove emptied local roles
Related to test_owner_local_role_on_clone

Modified:
    erp5/trunk/products/ERP5Type/CopySupport.py

Modified: erp5/trunk/products/ERP5Type/CopySupport.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5Type/CopySupport.py?rev=35479&r1=35478&r2=35479&view=diff
==============================================================================
--- erp5/trunk/products/ERP5Type/CopySupport.py [utf8] (original)
+++ erp5/trunk/products/ERP5Type/CopySupport.py [utf8] Thu May 20 13:23:48 2010
@@ -255,9 +255,17 @@
         if userid is not None:
           #remove previous owners
           local_role_dict = self.__ac_local_roles__
+          removable_role_key_list = []
           for key, value in local_role_dict.items():
             if 'Owner' in value:
               value.remove('Owner')
+            if len(value) == 0:
+              removable_role_key_list.append(key)
+          # there is no need to keep emptied keys after cloning, it makes
+          # unstable local roles -- if object is cloned it can be different when
+          # after being just added
+          for key in removable_role_key_list:
+            local_role_dict.pop(key)
           #add new owner
           l=local_role_dict.setdefault(userid, [])
           l.append('Owner')




More information about the Erp5-report mailing list