2 from osv import fields,osv
5 # Overloaded sale_order to manage carriers :
6 class sale_order(osv.osv):
8 _inherit = 'sale.order'
9 _description = "Sale Order"
12 'carrier_id':fields.many2one("delivery.carrier","Delivery method", help="Complete this field if you plan to invoice the shipping based on packings made."),
15 def onchange_partner_id(self, cr, uid, ids, part):
16 result = super(sale_order, self).onchange_partner_id(cr, uid, ids, part)
18 dtype = self.pool.get('res.partner').browse(cr, uid, part).property_delivery_carrier
19 result['value']['carrier_id'] = dtype and dtype[0]
22 def action_ship_create(self, cr, uid, ids, *args):
23 result = super(sale_order, self).action_ship_create(cr, uid, ids, *args)
24 for order in self.browse(cr, uid, ids, context={}):
25 pids = [ x.id for x in order.picking_ids]
26 self.pool.get('stock.picking').write(cr, uid, pids, {
27 'carrier_id':order.carrier_id.id,