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] [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 @@ - + - +