[Erp5-report] r15534 - in /erp5/trunk/products/ERP5SyncML: Subscription.py XMLSyncUtils.py
nobody at svn.erp5.org
nobody at svn.erp5.org
Tue Aug 7 17:07:57 CEST 2007
Author: nicolas
Date: Tue Aug 7 17:07:57 2007
New Revision: 15534
URL: http://svn.erp5.org?rev=15534&view=rev
Log:
Add temporary management of deleted objects
Modified:
erp5/trunk/products/ERP5SyncML/Subscription.py
erp5/trunk/products/ERP5SyncML/XMLSyncUtils.py
Modified: erp5/trunk/products/ERP5SyncML/Subscription.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5SyncML/Subscription.py?rev=15534&r1=15533&r2=15534&view=diff
==============================================================================
--- erp5/trunk/products/ERP5SyncML/Subscription.py (original)
+++ erp5/trunk/products/ERP5SyncML/Subscription.py Tue Aug 7 17:07:57 2007
@@ -932,11 +932,11 @@
xml_mapping = getattr(self, 'xml_mapping', None)
return xml_mapping
- def getXMLFromObject(self, object):
+ def getXMLFromObject(self, object, force=0):
"""
return the xml mapping
"""
- xml_mapping = self.getXMLMapping()
+ xml_mapping = self.getXMLMapping(force=force)
xml = ''
if xml_mapping is not None:
func = getattr(object, xml_mapping, None)
Modified: erp5/trunk/products/ERP5SyncML/XMLSyncUtils.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5SyncML/XMLSyncUtils.py?rev=15534&r1=15533&r2=15534&view=diff
==============================================================================
--- erp5/trunk/products/ERP5SyncML/XMLSyncUtils.py (original)
+++ erp5/trunk/products/ERP5SyncML/XMLSyncUtils.py Tue Aug 7 17:07:57 2007
@@ -1090,8 +1090,8 @@
data_subnode = self.getDataSubNode(action)
if action.nodeName == 'Add':
# Then store the xml of this new subobject
+ reset = 0
if object is None:
- #if object_id is not None:
add_data = conduit.addNode(xml=data_subnode,
object=destination, object_id=object_id)
if add_data['conflict_list'] not in ('', None, []):
@@ -1103,6 +1103,7 @@
signature.setPath(object.getPhysicalPath())
signature.setObjectId(object.getId())
else:
+ reset = 1
#Object was retrieve but need to be updated without recreated
#usefull when an object is only deleted by workflow.
add_data = conduit.addNode(xml=data_subnode,
@@ -1113,17 +1114,21 @@
conflict_list += add_data['conflict_list']
if object is not None:
#LOG('SyncModif',0,'addNode, found the object')
- #mapping = getattr(object,domain.getXMLMapping(),None)
- xml_object = domain.getXMLFromObject(object)
- #if mapping is not None:
- # xml_object = mapping()
+ if reset:
+ #After a reset we want copy the LAST XML view on Signature.
+ #this implementation is not sufficient, need to be improved.
+ string_io = StringIO()
+ PrettyPrint(data_subnode, stream=string_io)
+ xml_object = string_io.getvalue()
+ else:
+ xml_object = domain.getXMLFromObject(object)
signature.setStatus(self.SYNCHRONIZED)
#signature.setId(object.getId())
signature.setPath(object.getPhysicalPath())
signature.setXML(xml_object)
xml_confirmation += self.SyncMLConfirmation(
- cmd_id=cmd_id,
- cmd='Add',
+ cmd_id=cmd_id,
+ cmd='Add',
sync_code=self.ITEM_ADDED,
remote_xml=action)
cmd_id +=1
More information about the Erp5-report
mailing list