[Erp5-report] r33785 yo - /erp5/trunk/products/ERP5/Document/BusinessTemplate.py
nobody at svn.erp5.org
nobody at svn.erp5.org
Wed Mar 17 09:09:39 CET 2010
Author: yo
Date: Wed Mar 17 09:09:38 2010
New Revision: 33785
URL: http://svn.erp5.org?rev=33785&view=rev
Log:
RoleTemplateItem.build should generate data consistent with imported data.
Modified:
erp5/trunk/products/ERP5/Document/BusinessTemplate.py
Modified: erp5/trunk/products/ERP5/Document/BusinessTemplate.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5/Document/BusinessTemplate.py?rev=33785&r1=33784&r2=33785&view=diff
==============================================================================
--- erp5/trunk/products/ERP5/Document/BusinessTemplate.py [utf8] (original)
+++ erp5/trunk/products/ERP5/Document/BusinessTemplate.py [utf8] Wed Mar 17 09:09:38 2010
@@ -3266,25 +3266,19 @@
class RoleTemplateItem(BaseTemplateItem):
def build(self, context, **kw):
- role_list = []
- for key in self._archive.keys():
- role_list.append(key)
- if len(role_list) > 0:
- self._objects[self.__class__.__name__+'/'+'role_list'] = role_list
+ for key in self._archive.iterkeys():
+ self._objects[key] = 1
def preinstall(self, context, installed_item, **kw):
modified_object_list = {}
if context.getTemplateFormatVersion() == 1:
new_roles = self._objects.keys()
- if installed_item.id == INSTALLED_BT_FOR_DIFF:
- #must rename keys in dict if reinstall
- new_dict = PersistentMapping()
- old_keys = ()
- if len(installed_item._objects.values()) > 0:
- old_keys = installed_item._objects.values()[0]
- for key in old_keys:
- new_dict[key] = ''
- installed_item._objects = new_dict
+ # BBB it might be necessary to change the data structure.
+ obsolete_key = self.__class__.__name__ + '/role_list'
+ if obsolete_key in installed_item._objects:
+ for role in installed_item._objects[obsolete_key]:
+ installed_item._objects[role] = 1
+ del installed_item._objects[obsolete_key]
for role in new_roles:
if installed_item._objects.has_key(role):
continue
@@ -3347,23 +3341,28 @@
p.__ac_roles__ = tuple(roles.keys())
# Function to generate XML Code Manually
- def generateXml(self, path):
- obj = self._objects[path]
+ def generateXml(self):
+ role_list = self._objects.keys()
xml_data = '<role_list>'
- obj.sort()
- for role in obj:
- xml_data += '\n <role>%s</role>' %(role)
+ for role in sorted(role_list):
+ xml_data += '\n <role>%s</role>' % (role,)
xml_data += '\n</role_list>'
return xml_data
def export(self, context, bta, **kw):
- if len(self._objects.keys()) == 0:
+ if len(self._objects) == 0:
return
path = os.path.join(bta.path, self.__class__.__name__)
bta.addFolder(name=path)
- for path in self._objects.keys():
- xml_data = self.generateXml(path=path)
- bta.addObject(obj=xml_data, name=path, path=None,)
+ # BBB it might be necessary to change the data structure.
+ obsolete_key = self.__class__.__name__ + '/role_list'
+ if obsolete_key in self._objects:
+ for role in self._objects[obsolete_key]:
+ self._objects[role] = 1
+ del self._objects[obsolete_key]
+ xml_data = self.generateXml()
+ path = obsolete_key
+ bta.addObject(obj=xml_data, name=path)
class CatalogResultKeyTemplateItem(BaseTemplateItem):
More information about the Erp5-report
mailing list