[Erp5-report] r33309 kazuhiko - in /erp5/trunk/products/ERP5: ./ Document/
nobody at svn.erp5.org
nobody at svn.erp5.org
Wed Mar 3 10:08:13 CET 2010
Author: kazuhiko
Date: Wed Mar 3 10:08:09 2010
New Revision: 33309
URL: http://svn.erp5.org?rev=33309&view=rev
Log:
support mapped value in simulation movements by builders. same for divergence testers will be implemented soon.
Modified:
erp5/trunk/products/ERP5/Document/CategoryMovementGroup.py
erp5/trunk/products/ERP5/Document/DeliveryBuilder.py
erp5/trunk/products/ERP5/Document/OrderBuilder.py
erp5/trunk/products/ERP5/Document/PropertyMovementGroup.py
erp5/trunk/products/ERP5/Document/SimulationMovement.py
erp5/trunk/products/ERP5/MovementGroup.py
Modified: erp5/trunk/products/ERP5/Document/CategoryMovementGroup.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5/Document/CategoryMovementGroup.py?rev=33309&r1=33308&r2=33309&view=diff
==============================================================================
--- erp5/trunk/products/ERP5/Document/CategoryMovementGroup.py [utf8] (original)
+++ erp5/trunk/products/ERP5/Document/CategoryMovementGroup.py [utf8] Wed Mar 3 10:08:09 2010
@@ -40,9 +40,10 @@
def _getPropertyDict(self, movement, **kw):
property_dict = {}
+ getProperty = movement.getMappedProperty
for prop in self.getTestedPropertyList():
- property_dict['%s_list' % prop] = sorted(
- movement.getPropertyList(prop))
+ list_prop = '%s_list' % prop
+ property_dict[list_prop] = sorted(getProperty(list_prop))
return property_dict
def test(self, document, property_dict, property_list=None, **kw):
Modified: erp5/trunk/products/ERP5/Document/DeliveryBuilder.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5/Document/DeliveryBuilder.py?rev=33309&r1=33308&r2=33309&view=diff
==============================================================================
--- erp5/trunk/products/ERP5/Document/DeliveryBuilder.py [utf8] (original)
+++ erp5/trunk/products/ERP5/Document/DeliveryBuilder.py [utf8] Wed Mar 3 10:08:09 2010
@@ -312,11 +312,13 @@
[s_m]
for s_m_list_per_movement in delivery_dict.values():
- total_quantity = sum([quantity_dict.get(s_m, s_m.getQuantity()) \
+ total_quantity = sum([quantity_dict.get(s_m,
+ s_m.getMappedProperty('quantity')) \
for s_m in s_m_list_per_movement])
if total_quantity != 0.0:
for s_m in s_m_list_per_movement:
- delivery_ratio = quantity_dict.get(s_m, s_m.getQuantity()) \
+ delivery_ratio = quantity_dict.get(s_m,
+ s_m.getMappedProperty('quantity')) \
/ total_quantity
s_m.edit(delivery_ratio=delivery_ratio)
else:
Modified: erp5/trunk/products/ERP5/Document/OrderBuilder.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5/Document/OrderBuilder.py?rev=33309&r1=33308&r2=33309&view=diff
==============================================================================
--- erp5/trunk/products/ERP5/Document/OrderBuilder.py [utf8] (original)
+++ erp5/trunk/products/ERP5/Document/OrderBuilder.py [utf8] Wed Mar 3 10:08:09 2010
@@ -666,7 +666,7 @@
if not update_existing_movement or force_update:
# Now, only 1 movement is possible, so copy from this movement
# XXX hardcoded value
- property_dict['quantity'] = simulation_movement.getQuantity()
+ property_dict['quantity'] = simulation_movement.getMappedProperty('quantity')
property_dict['price'] = simulation_movement.getPrice()
# Update properties on object (quantity, price...)
delivery_movement._edit(force_update=1, **property_dict)
Modified: erp5/trunk/products/ERP5/Document/PropertyMovementGroup.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5/Document/PropertyMovementGroup.py?rev=33309&r1=33308&r2=33309&view=diff
==============================================================================
--- erp5/trunk/products/ERP5/Document/PropertyMovementGroup.py [utf8] (original)
+++ erp5/trunk/products/ERP5/Document/PropertyMovementGroup.py [utf8] Wed Mar 3 10:08:09 2010
@@ -40,8 +40,9 @@
def _getPropertyDict(self, movement, **kw):
property_dict = {}
+ getProperty = movement.getMappedProperty
for prop in self.getTestedPropertyList():
- property_dict[prop] = movement.getProperty(prop, None)
+ property_dict[prop] = getProperty(prop)
return property_dict
def test(self, document, property_dict, property_list=None, **kw):
Modified: erp5/trunk/products/ERP5/Document/SimulationMovement.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5/Document/SimulationMovement.py?rev=33309&r1=33308&r2=33309&view=diff
==============================================================================
--- erp5/trunk/products/ERP5/Document/SimulationMovement.py [utf8] (original)
+++ erp5/trunk/products/ERP5/Document/SimulationMovement.py [utf8] Wed Mar 3 10:08:09 2010
@@ -609,3 +609,12 @@
movement -- not applicable
"""
raise NotImplementedError
+
+ security.declareProtected(Permissions.AccessContentsInformation,
+ 'getMappedProperty')
+ def getMappedProperty(self, property):
+ mapping = self.getMappingValue()
+ if mapping is not None:
+ return mapping.getMappedProperty(self, property)
+ else:
+ return self.getProperty(property)
Modified: erp5/trunk/products/ERP5/MovementGroup.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5/MovementGroup.py?rev=33309&r1=33308&r2=33309&view=diff
==============================================================================
--- erp5/trunk/products/ERP5/MovementGroup.py [utf8] (original)
+++ erp5/trunk/products/ERP5/MovementGroup.py [utf8] Wed Mar 3 10:08:09 2010
@@ -354,11 +354,11 @@
"""
total_quantity = 0
for movement in self.__movement_list:
- total_quantity += movement.getQuantity()
+ total_quantity += movement.getMappedProperty('quantity')
if total_quantity != 0:
for movement in self.__movement_list:
- quantity = movement.getQuantity()
+ quantity = movement.getMappedProperty('quantity')
movement.edit(delivery_ratio=quantity*delivery_ratio/total_quantity)
else:
# Distribute equally ratio to all movement
@@ -407,7 +407,7 @@
"""
total_quantity = 0
for movement in self.getMovementList():
- quantity = movement.getQuantity()
+ quantity = movement.getMappedProperty('quantity')
if quantity != None:
total_quantity += quantity
return total_quantity
@@ -418,7 +418,7 @@
"""
total_price = 0
for movement in self.getMovementList():
- quantity = movement.getQuantity()
+ quantity = movement.getMappedProperty('quantity')
price = movement.getPrice()
if (quantity is not None) and (price is not None):
total_price += (quantity * price)
More information about the Erp5-report
mailing list