From dd8501d46385db109134a3ac8d3414ba91bea6bb Mon Sep 17 00:00:00 2001 From: mso Date: Fri, 23 Apr 2010 17:20:16 +0530 Subject: [PATCH] [IMP] delivery,sale: Delivery Cost Improvement on sale, Task id-584 bzr revid: mso@mso-20100423115016-feh97hnjecr03m9p --- addons/delivery/delivery.py | 14 ++++++++--- addons/delivery/delivery_view.xml | 11 +++++++++ .../wizard/delivery_sale_order_view.xml | 24 ++++++++++--------- addons/sale/sale_view.xml | 2 +- 4 files changed, 36 insertions(+), 15 deletions(-) diff --git a/addons/delivery/delivery.py b/addons/delivery/delivery.py index 7e7d31975e5..e1696820634 100644 --- a/addons/delivery/delivery.py +++ b/addons/delivery/delivery.py @@ -28,6 +28,17 @@ class delivery_carrier(osv.osv): _name = "delivery.carrier" _description = "Carrier and delivery grids" + def name_get(self, cr, uid, ids, context={}): + if not len(ids): + return [] + order_id = context.get('order_id',False) + if not order_id: + res = super(delivery_carrier, self).name_get(cr, uid, ids, context=context) + else: + order = self.pool.get('sale.order').browse(cr, uid, [order_id])[0] + currency = order.partner_id.property_product_pricelist.currency_id.name or '' + res = [(r['id'], r['name']+' ('+(str(r['price']))+' '+currency+')') for r in self.read(cr, uid, ids, ['name', 'price'], context)] + return res def get_price(self, cr, uid, ids, field_name, arg=None, context={}): res={} sale_obj=self.pool.get('sale.order') @@ -94,9 +105,7 @@ class delivery_grid(osv.osv): } _order = 'sequence' - def get_price(self, cr, uid, id, order, dt, context): - total = 0 weight = 0 volume = 0 @@ -112,7 +121,6 @@ class delivery_grid(osv.osv): def get_price_from_picking(self, cr, uid, id, total, weight, volume, context={}): grid = self.browse(cr, uid, id, context) - price = 0.0 ok = False diff --git a/addons/delivery/delivery_view.xml b/addons/delivery/delivery_view.xml index 16f4a61ed1e..f14d45c79de 100644 --- a/addons/delivery/delivery_view.xml +++ b/addons/delivery/delivery_view.xml @@ -289,5 +289,16 @@ + + sale.order.multicompany + sale.order + + + +