summaryrefslogtreecommitdiff
path: root/addons/purchase/purchase.py
diff options
context:
space:
mode:
Diffstat (limited to 'addons/purchase/purchase.py')
-rw-r--r--addons/purchase/purchase.py17
1 files changed, 8 insertions, 9 deletions
diff --git a/addons/purchase/purchase.py b/addons/purchase/purchase.py
index 33badfa98b4..088688fbb97 100644
--- a/addons/purchase/purchase.py
+++ b/addons/purchase/purchase.py
@@ -61,15 +61,14 @@ class purchase_order(osv.osv):
if not value: return False
if type(ids)!=type([]):
ids=[ids]
+ pol_obj = self.pool.get('purchase.order.line')
for po in self.browse(cr, uid, ids, context=context):
if po.order_line:
- cr.execute("""update purchase_order_line set
- date_planned=%s
- where
- order_id=%s and
- (date_planned=%s or date_planned<%s)""", (value,po.id,po.minimum_planned_date,value))
- cr.execute("""update purchase_order set
- minimum_planned_date=%s where id=%s""", (value, po.id))
+ pol_ids = pol_obj.search(cr, uid, [
+ ('order_id', '=', po.id), '|', ('date_planned', '=', po.minimum_planned_date), ('date_planned', '<', value)
+ ], context=context)
+ pol_obj.write(cr, uid, pol_ids, {'date_planned': value}, context=context)
+ self.pool.get('purchase.order').write(cr, uid, po.id, {'minimum_planned_date': value}, context=context)
self.invalidate_cache(cr, uid, context=context)
return True
@@ -715,7 +714,7 @@ class purchase_order(osv.osv):
'location_id': order.partner_id.property_stock_supplier.id,
'location_dest_id': order.location_id.id,
'picking_id': picking_id,
- 'partner_id': order.dest_address_id.id or order.partner_id.id,
+ 'partner_id': order.dest_address_id.id,
'move_dest_id': False,
'state': 'draft',
'purchase_line_id': order_line.id,
@@ -823,7 +822,7 @@ class purchase_order(osv.osv):
for order in self.browse(cr, uid, ids):
picking_vals = {
'picking_type_id': order.picking_type_id.id,
- 'partner_id': order.dest_address_id.id or order.partner_id.id,
+ 'partner_id': order.partner_id.id,
'date': max([l.date_planned for l in order.order_line]),
'origin': order.name
}