From cab72a2d5451e5c48f91b91e0c7dfc652351d6b2 Mon Sep 17 00:00:00 2001 From: "ksa (Open ERP)" Date: Wed, 20 Jul 2011 14:25:05 +0530 Subject: [PATCH 1/4] [FIX]:when merging PO put minimum order date of all merged PO lp bug: https://launchpad.net/bugs/812871 fixed bzr revid: ksa@tinyerp.co.in-20110720085505-q17ufdhft9znoefi --- addons/purchase/purchase.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/addons/purchase/purchase.py b/addons/purchase/purchase.py index 6ec558acc97..ccd9817f2c8 100644 --- a/addons/purchase/purchase.py +++ b/addons/purchase/purchase.py @@ -532,6 +532,7 @@ class purchase_order(osv.osv): new_orders = {} for porder in [order for order in self.browse(cr, uid, ids, context=context) if order.state == 'draft']: + date_orders = sorted([obj.date_order for obj in self.browse(cr, uid, ids, context=context)]) order_key = make_key(porder, ('partner_id', 'location_id', 'pricelist_id')) new_order = new_orders.setdefault(order_key, ({}, [])) new_order[1].append(porder.id) @@ -539,7 +540,7 @@ class purchase_order(osv.osv): if not order_infos: order_infos.update({ 'origin': porder.origin, - 'date_order': time.strftime('%Y-%m-%d'), + 'date_order': date_orders[0], 'partner_id': porder.partner_id.id, 'partner_address_id': porder.partner_address_id.id, 'dest_address_id': porder.dest_address_id.id, From bf8d91d99cd67ab118b4d1a3512299de7c857d75 Mon Sep 17 00:00:00 2001 From: "ksa (Open ERP)" Date: Thu, 21 Jul 2011 10:10:50 +0530 Subject: [PATCH 2/4] [IMP]:use min instead of sort bzr revid: ksa@tinyerp.co.in-20110721044050-9lmfuxyvw0nv7z5c --- addons/purchase/purchase.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/addons/purchase/purchase.py b/addons/purchase/purchase.py index ccd9817f2c8..e029aac1c0d 100644 --- a/addons/purchase/purchase.py +++ b/addons/purchase/purchase.py @@ -532,7 +532,7 @@ class purchase_order(osv.osv): new_orders = {} for porder in [order for order in self.browse(cr, uid, ids, context=context) if order.state == 'draft']: - date_orders = sorted([obj.date_order for obj in self.browse(cr, uid, ids, context=context)]) + date_orders = min([obj.date_order for obj in self.browse(cr, uid, ids, context=context)]) order_key = make_key(porder, ('partner_id', 'location_id', 'pricelist_id')) new_order = new_orders.setdefault(order_key, ({}, [])) new_order[1].append(porder.id) @@ -540,7 +540,7 @@ class purchase_order(osv.osv): if not order_infos: order_infos.update({ 'origin': porder.origin, - 'date_order': date_orders[0], + 'date_order': date_orders, 'partner_id': porder.partner_id.id, 'partner_address_id': porder.partner_address_id.id, 'dest_address_id': porder.dest_address_id.id, From fcbab41369587f7069f8e275fe00b1ff1c3b51a0 Mon Sep 17 00:00:00 2001 From: "ksa (Open ERP)" Date: Thu, 21 Jul 2011 16:51:40 +0530 Subject: [PATCH 3/4] [IMP]:get order date accoring to partner bzr revid: ksa@tinyerp.co.in-20110721112140-rzfouzx1x5zsrk71 --- addons/purchase/purchase.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/addons/purchase/purchase.py b/addons/purchase/purchase.py index e029aac1c0d..012c9a8bbfb 100644 --- a/addons/purchase/purchase.py +++ b/addons/purchase/purchase.py @@ -532,7 +532,8 @@ class purchase_order(osv.osv): new_orders = {} for porder in [order for order in self.browse(cr, uid, ids, context=context) if order.state == 'draft']: - date_orders = min([obj.date_order for obj in self.browse(cr, uid, ids, context=context)]) + partner_ids = self.search(cr,uid,[('partner_id','=',porder.partner_id.id)]) + date_orders = min([obj.date_order for obj in self.browse(cr, uid, partner_ids, context=context)]) order_key = make_key(porder, ('partner_id', 'location_id', 'pricelist_id')) new_order = new_orders.setdefault(order_key, ({}, [])) new_order[1].append(porder.id) From 6fa4a0491c5573be62d642bc7d394d2c4b323f35 Mon Sep 17 00:00:00 2001 From: "ksa (Open ERP)" Date: Fri, 22 Jul 2011 11:59:13 +0530 Subject: [PATCH 4/4] [IMP]:improved bzr revid: ksa@tinyerp.co.in-20110722062913-9roigkh4i6etvpj6 --- addons/purchase/purchase.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/addons/purchase/purchase.py b/addons/purchase/purchase.py index 012c9a8bbfb..723f5e426c8 100644 --- a/addons/purchase/purchase.py +++ b/addons/purchase/purchase.py @@ -532,8 +532,6 @@ class purchase_order(osv.osv): new_orders = {} for porder in [order for order in self.browse(cr, uid, ids, context=context) if order.state == 'draft']: - partner_ids = self.search(cr,uid,[('partner_id','=',porder.partner_id.id)]) - date_orders = min([obj.date_order for obj in self.browse(cr, uid, partner_ids, context=context)]) order_key = make_key(porder, ('partner_id', 'location_id', 'pricelist_id')) new_order = new_orders.setdefault(order_key, ({}, [])) new_order[1].append(porder.id) @@ -541,7 +539,7 @@ class purchase_order(osv.osv): if not order_infos: order_infos.update({ 'origin': porder.origin, - 'date_order': date_orders, + 'date_order': porder.date_order, 'partner_id': porder.partner_id.id, 'partner_address_id': porder.partner_address_id.id, 'dest_address_id': porder.dest_address_id.id, @@ -554,6 +552,8 @@ class purchase_order(osv.osv): 'fiscal_position': porder.fiscal_position and porder.fiscal_position.id or False, }) else: + if porder.date_order < order_infos['date_order']: + order_infos['date_order'] = porder.date_order if porder.notes: order_infos['notes'] = (order_infos['notes'] or '') + ('\n%s' % (porder.notes,)) if porder.origin: