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'