~technofluid-team/openobject-addons/technofluid_multiple_installations

« back to all changes in this revision

Viewing changes to delivery/sale.py

  • Committer: pinky
  • Date: 2006-12-07 13:41:40 UTC
  • Revision ID: pinky-dedd7f8a42bd4557112a0513082691b8590ad6cc
New trunk

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
import netsvc
 
2
from osv import fields,osv
 
3
 
 
4
 
 
5
# Overloaded sale_order to manage carriers :
 
6
class sale_order(osv.osv):
 
7
        _name = "sale.order"
 
8
        _inherit = 'sale.order' 
 
9
        _description = "Sale Order"
 
10
 
 
11
        _columns = {
 
12
                'carrier_id':fields.many2one("delivery.carrier","Carrier"),
 
13
        }
 
14
 
 
15
        def onchange_partner_id(self, cr, uid, ids, part):
 
16
                result = super(sale_order, self).onchange_partner_id(cr, uid, ids, part)
 
17
                if part:
 
18
                        dtype = self.pool.get('res.partner').browse(cr, uid, part).property_delivery_carrier
 
19
                        result['value']['carrier_id'] = dtype and dtype[0]
 
20
                return result
 
21
 
 
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,
 
28
                        })
 
29
                return result
 
30
sale_order()
 
31
 
 
32
 
 
33
 
 
34