[Erp5-report] r33500 kazuhiko - /erp5/trunk/products/ERP5/Document/

nobody at svn.erp5.org nobody at svn.erp5.org
Mon Mar 8 16:07:22 CET 2010


Author: kazuhiko
Date: Mon Mar  8 16:07:21 2010
New Revision: 33500

URL: http://svn.erp5.org?rev=33500&view=rev
Log:
define setMappedProperty that handles the reverse mapping of mapped property.

Modified:
    erp5/trunk/products/ERP5/Document/MappedProperty.py
    erp5/trunk/products/ERP5/Document/SimulationMovement.py

Modified: erp5/trunk/products/ERP5/Document/MappedProperty.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5/Document/MappedProperty.py?rev=33500&r1=33499&r2=33500&view=diff
==============================================================================
--- erp5/trunk/products/ERP5/Document/MappedProperty.py [utf8] (original)
+++ erp5/trunk/products/ERP5/Document/MappedProperty.py [utf8] Mon Mar  8 16:07:21 2010
@@ -64,3 +64,24 @@
       return -1 * getProperty(mapped_property[1:])
     else:
       return getProperty(mapped_property)
+
+  security.declareProtected(Permissions.AccessContentsInformation,
+                            'setMappedProperty')
+  def setMappedProperty(self, document, property, value):
+    if property.endswith('_list'):
+      property = property[:-5]
+      setProperty = document.setPropertyList
+    else:
+      setProperty = document.setProperty
+    mapping_dict = {}
+    for x in self.getMappingPropertyList():
+      from_property, to_property = [x.strip() for x in x.split('|')]
+      if to_property.startswith('-'):
+        mapping_dict[to_property[1:]] = '-%s' % from_property
+      else:
+        mapping_dict[to_property] = from_property
+    mapped_property = mapping_dict.get(property, property)
+    if mapped_property.startswith('-'):
+      return setProperty(-1 * value)
+    else:
+      return setProperty(value)

Modified: erp5/trunk/products/ERP5/Document/SimulationMovement.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5/Document/SimulationMovement.py?rev=33500&r1=33499&r2=33500&view=diff
==============================================================================
--- erp5/trunk/products/ERP5/Document/SimulationMovement.py [utf8] (original)
+++ erp5/trunk/products/ERP5/Document/SimulationMovement.py [utf8] Mon Mar  8 16:07:21 2010
@@ -618,3 +618,12 @@
       return mapping.getMappedProperty(self, property)
     else:
       return self.getProperty(property)
+
+  security.declareProtected(Permissions.ModifyPortalContent,
+                            'setMappedProperty')
+  def setMappedProperty(self, property, value):
+    mapping = self.getPropertyMappingValue()
+    if mapping is not None:
+      return mapping.setMappedProperty(self, property, value)
+    else:
+      return self.setProperty(property, value)




More information about the Erp5-report mailing list