From 7516c4355534309f8b7032579f921d24ff25bab9 Mon Sep 17 00:00:00 2001 From: "Mayur Maheshwari (OpenERP)" Date: Mon, 6 Feb 2012 18:02:30 +0530 Subject: [PATCH 1/2] [FIX]delivery: remove a unlink code for fix lp 927415 lp bug: https://launchpad.net/bugs/927415 fixed bzr revid: mma@tinyerp.com-20120206123230-sbjr80akukq2co0g --- addons/delivery/delivery.py | 3 --- 1 file changed, 3 deletions(-) diff --git a/addons/delivery/delivery.py b/addons/delivery/delivery.py index 10db8e85a73..e8a4b62e536 100644 --- a/addons/delivery/delivery.py +++ b/addons/delivery/delivery.py @@ -105,9 +105,6 @@ class delivery_carrier(osv.osv): for record in self.browse(cr, uid, ids, context=context): grid_id = grid_pool.search(cr, uid, [('carrier_id', '=', record.id)], context=context) - if grid_id and not (record.normal_price or record.free_if_more_than): - grid_pool.unlink(cr, uid, grid_id, context=context) - if not (record.normal_price or record.free_if_more_than): continue From 6ec72e3ad4204ded0a6535dacde7c0ede5ea38a6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thibault=20Delavall=C3=A9e?= Date: Tue, 14 Feb 2012 15:08:25 +0100 Subject: [PATCH 2/2] [IMP] Readded the unlink. Instead of removing unlinking, the method now differentiates if it uses advanced pricing per destination or not. It using it, the user is responsible of the delivery grid and lines. None will be overrided. If not using it, the default behavior is used, unlinking previous lines to set normal_price and free_if_more_than. bzr revid: tde@openerp.com-20120214140825-7hdggsctk8s3twat --- addons/delivery/delivery.py | 10 +++++++++- addons/delivery/delivery_view.xml | 4 ++-- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/addons/delivery/delivery.py b/addons/delivery/delivery.py index 339b4a753e2..9f95a430f4e 100644 --- a/addons/delivery/delivery.py +++ b/addons/delivery/delivery.py @@ -98,13 +98,21 @@ class delivery_carrier(osv.osv): return False def create_grid_lines(self, cr, uid, ids, vals, context=None): - if context == None: + if context is None: context = {} grid_line_pool = self.pool.get('delivery.grid.line') grid_pool = self.pool.get('delivery.grid') for record in self.browse(cr, uid, ids, context=context): + # if using advanced pricing per destination: do not change + if record.use_detailed_pricelist: + continue + + # not using advanced pricing per destination: override grid grid_id = grid_pool.search(cr, uid, [('carrier_id', '=', record.id)], context=context) + if grid_id and not (record.normal_price or record.free_if_more_than): + grid_pool.unlink(cr, uid, grid_id, context=context) + if not (record.normal_price or record.free_if_more_than): continue diff --git a/addons/delivery/delivery_view.xml b/addons/delivery/delivery_view.xml index c46253777d2..1e47d815084 100644 --- a/addons/delivery/delivery_view.xml +++ b/addons/delivery/delivery_view.xml @@ -28,9 +28,9 @@ - + - +