[Erp5-report] r38269 yo - /erp5/trunk/products/ERP5/Document/
nobody at svn.erp5.org
nobody at svn.erp5.org
Fri Sep 10 14:46:25 CEST 2010
Author: yo
Date: Fri Sep 10 14:46:25 2010
New Revision: 38269
URL: http://svn.erp5.org?rev=38269&view=rev
Log:
Ensure that activate_kw is propagated everywhere.
Modified:
erp5/trunk/products/ERP5/Document/DeliveryBuilder.py
erp5/trunk/products/ERP5/Document/OrderBuilder.py
Modified: erp5/trunk/products/ERP5/Document/DeliveryBuilder.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5/Document/DeliveryBuilder.py?rev=38269&r1=38268&r2=38269&view=diff
==============================================================================
--- erp5/trunk/products/ERP5/Document/DeliveryBuilder.py [utf8] (original)
+++ erp5/trunk/products/ERP5/Document/DeliveryBuilder.py [utf8] Fri Sep 10 14:46:25 2010
@@ -365,6 +365,10 @@ class DeliveryBuilder(OrderBuilder):
delete_id_list = [x.getId() for x in delivery.contentValues() \
if x.getId() not in keep_id_list]
delivery.deleteContent(delete_id_list)
+ if activate_kw:
+ # XXX _duplicate does not accept activate_kw. So reindex the new
+ # delivery again with activate_kw.
+ delivery.reindexObject(activate_kw=activate_kw)
return delivery
@@ -403,6 +407,10 @@ class DeliveryBuilder(OrderBuilder):
delete_id_list = [x.getId() for x in delivery_line.contentValues() \
if x.getId() not in keep_id_list]
delivery_line.deleteContent(delete_id_list)
+ if activate_kw:
+ # XXX _duplicate does not accept activate_kw. So reindex the new
+ # delivery line again with activate_kw.
+ delivery_line.reindexObject(activate_kw=activate_kw)
return delivery_line
@@ -430,5 +438,9 @@ class DeliveryBuilder(OrderBuilder):
parent._duplicate(parent.manage_copyObjects(ids=ids))[0],
(delivery_line, old_cell.getId()), {}, CopyError)
cell = delivery_line[cp['new_id']]
+ if activate_kw:
+ # XXX _duplicate does not accept activate_kw. So reindex the new
+ # cell again with activate_kw.
+ cell.reindexObject(activate_kw=activate_kw)
return cell
Modified: erp5/trunk/products/ERP5/Document/OrderBuilder.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5/Document/OrderBuilder.py?rev=38269&r1=38268&r2=38269&view=diff
==============================================================================
--- erp5/trunk/products/ERP5/Document/OrderBuilder.py [utf8] (original)
+++ erp5/trunk/products/ERP5/Document/OrderBuilder.py [utf8] Fri Sep 10 14:46:25 2010
@@ -407,8 +407,6 @@ class OrderBuilder(XMLObject, Amount, Pr
"""
Build delivery from a list of movement
"""
- # FIXME make sure that activate_kw is used for all active objects
- # generated from this method and methods called from this method.
if movement_group_node_list is None:
movement_group_node_list = []
if divergence_list is None:
@@ -458,7 +456,7 @@ class OrderBuilder(XMLObject, Amount, Pr
# Put properties on delivery
if property_dict:
property_dict.setdefault('edit_order', ('stop_date', 'start_date'))
- delivery.edit(**property_dict)
+ delivery.edit(activate_kw=activate_kw, **property_dict)
# Then, create delivery lines
delivery_line_portal_type = self.getDeliveryLinePortalType()
@@ -539,7 +537,8 @@ class OrderBuilder(XMLObject, Amount, Pr
# Put properties on delivery line
if property_dict:
property_dict.setdefault('edit_order', ('stop_date', 'start_date'))
- delivery_line.edit(force_update=1, **property_dict)
+ delivery_line.edit(force_update=1, activate_kw=activate_kw,
+ **property_dict)
if movement_group_node.getCurrentMovementGroup().isBranch():
delivery_line_portal_type = self.getDeliveryLinePortalType()
@@ -563,7 +562,8 @@ class OrderBuilder(XMLObject, Amount, Pr
for movement in movement_group_node.getMovementList():
variation_category_set.update(movement.getVariationCategoryList())
variation_category_list = sorted(variation_category_set)
- delivery_line.setVariationCategoryList(variation_category_list)
+ delivery_line.edit(variation_category_list=variation_category_list,
+ activate_kw=activate_kw)
# Then, create delivery movement (delivery cell or complete delivery
# line)
grouped_node_list = movement_group_node.getGroupList()
@@ -690,6 +690,8 @@ class OrderBuilder(XMLObject, Amount, Pr
cell = self._createDeliveryCell(delivery_line, movement,
activate_kw, base_id, cell_key)
vcl = movement.getVariationCategoryList()
+ # _createDeliveryCell calls reindexObject, so no need to use
+ # edit here.
cell._edit(category_list=vcl,
# XXX hardcoded value
mapped_value_property_list=('quantity', 'price'),
@@ -722,7 +724,8 @@ class OrderBuilder(XMLObject, Amount, Pr
property_dict['quantity'] = simulation_movement.getQuantity()
property_dict['price'] = simulation_movement.getPrice()
# Update properties on object (quantity, price...)
- delivery_movement._edit(force_update=1, **property_dict)
+ delivery_movement.edit(force_update=1, activate_kw=activate_kw,
+ **property_dict)
@UnrestrictedMethod
def callAfterBuildingScript(self, delivery_list, movement_list=None, **kw):
More information about the Erp5-report
mailing list