From 5420c428e39ef643e6caa6e87d42c2778f819600 Mon Sep 17 00:00:00 2001 From: Christophe Simonis Date: Mon, 27 Jan 2014 20:31:39 +0100 Subject: [PATCH] [FIX] website_quote: inject website description when creating/writing sale order lines bzr revid: chs@openerp.com-20140127193139-8kcmpgazvt6vplyj --- addons/website_quote/models/order.py | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/addons/website_quote/models/order.py b/addons/website_quote/models/order.py index eafc0d83a36..f515ef0fd05 100644 --- a/addons/website_quote/models/order.py +++ b/addons/website_quote/models/order.py @@ -78,9 +78,25 @@ class sale_order_line(osv.osv): _description = "Sales Order Line" _columns = { 'website_description': fields.html('Line Description'), - 'option_line_id':fields.one2many('sale.order.option', 'line_id', 'Optional Products Lines'), + 'option_line_id': fields.one2many('sale.order.option', 'line_id', 'Optional Products Lines'), } + def _inject_website_description(self, cr, uid, values, context=None): + values = dict(values or {}) + if not values.get('website_description') and values.get('product_id'): + product = self.pool['product.product'].browse(cr, uid, values['product_id'], context=context) + values['website_description'] = product.website_description + return values + + def create(self, cr, uid, values, context=None): + values = self._inject_website_description(cr, uid, values, context) + return super(sale_order_line, self).create(cr, uid, values, context=context) + + def write(self, cr, uid, ids, values, context=None): + values = self._inject_website_description(cr, uid, values, context) + return super(sale_order_line, self).write(cr, uid, ids, values, context=context) + + class sale_order(osv.osv): _inherit = 'sale.order'