diff --git a/addons/delivery/sale.py b/addons/delivery/sale.py index dbebd01ef1e..c5d032ca8a8 100644 --- a/addons/delivery/sale.py +++ b/addons/delivery/sale.py @@ -58,20 +58,18 @@ class sale_order(osv.Model): result.update(carrier_id=order.carrier_id.id) return result - def _delivery_unset(self, cr, uid, order, context=None): - line_ids = [line.id for line in order.order_line if line.is_delivery] - self.pool['sale.order.line'].unlink(cr, uid, line_ids, context=context) - order.refresh() - return True + def _delivery_unset(self, cr, uid, ids, context=None): + sale_obj = self.pool['sale.order.line'] + line_ids = sale_obj.search(cr, uid, [('order_id', 'in', ids), ('is_delivery', '=', True)],context=context) + sale_obj.unlink(cr, uid, line_ids, context=context) def delivery_set(self, cr, uid, ids, context=None): line_obj = self.pool.get('sale.order.line') grid_obj = self.pool.get('delivery.grid') carrier_obj = self.pool.get('delivery.carrier') acc_fp_obj = self.pool.get('account.fiscal.position') - + self._delivery_unset(cr, uid, ids, context=context) for order in self.browse(cr, uid, ids, context=context): - self._delivery_unset(cr, uid, order, context=context) grid_id = carrier_obj.grid_get(cr, uid, [order.carrier_id.id], order.partner_shipping_id.id) if not grid_id: raise osv.except_osv(_('No Grid Available!'), _('No grid matching for this carrier!')) diff --git a/addons/website_sale/controllers/main.py b/addons/website_sale/controllers/main.py index 99f39a3c921..78ae0beb7a2 100644 --- a/addons/website_sale/controllers/main.py +++ b/addons/website_sale/controllers/main.py @@ -604,9 +604,8 @@ class Ecommerce(http.Controller): else: shipping_partner_id = order.partner_invoice_id.id - values = { - 'order': sale_order_obj.browse(cr, SUPERUSER_ID, order.id, context=context) - } + values = {} + values['website_sale_order'] = values['order'] = sale_order_obj.browse(cr, SUPERUSER_ID, order.id, context=context) values['errors'] = sale_order_obj._get_errors(cr, uid, order, context=context) values.update(sale_order_obj._get_website_data(cr, uid, order, context=context)) diff --git a/addons/website_sale/views/website_sale.xml b/addons/website_sale/views/website_sale.xml index 446dfb4567e..350d9acdac0 100644 --- a/addons/website_sale/views/website_sale.xml +++ b/addons/website_sale/views/website_sale.xml @@ -885,7 +885,7 @@