[Erp5-report] r44990 rafael - /erp5/trunk/products/ERP5Configurator/Document/

nobody at svn.erp5.org nobody at svn.erp5.org
Fri Apr 1 15:23:10 CEST 2011


Author: rafael
Date: Fri Apr  1 15:23:09 2011
New Revision: 44990

URL: http://svn.erp5.org?rev=44990&view=rev
Log:
Preserve specified ids and not overwrite previous created object (This implementation may change in future).

Modified:
    erp5/trunk/products/ERP5Configurator/Document/ServiceConfiguratorItem.py

Modified: erp5/trunk/products/ERP5Configurator/Document/ServiceConfiguratorItem.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5Configurator/Document/ServiceConfiguratorItem.py?rev=44990&r1=44989&r2=44990&view=diff
==============================================================================
--- erp5/trunk/products/ERP5Configurator/Document/ServiceConfiguratorItem.py [utf8] (original)
+++ erp5/trunk/products/ERP5Configurator/Document/ServiceConfiguratorItem.py [utf8] Fri Apr  1 15:23:09 2011
@@ -58,13 +58,15 @@ class ServiceConfiguratorItem(Configurat
   def build(self, business_configuration):
     portal = self.getPortalObject()
     module = portal.service_module
+    # XXX Maybe this approach efficient and scalable.
+    object_id_list = module.objectIds()
     for service_id, service_title in self.getServiceList():
-      # XXX FIXME We cannot define service_id like this, 
-      # because it cause conflict when configurator is
-      # used twice.
-      document = module.newContent(portal_type='Service',
-                                   #id=service_id,
+      if service_id not in object_id_list:
+        document = module.newContent(portal_type='Service',
+                                   id=service_id,
                                    title=service_title,
                                    )
+      else:
+        document = module[service_id]
       ## add to customer template
       self.install(document, business_configuration)



More information about the Erp5-report mailing list