[MERGE] [FIX] procurement: default_get in orderpoint make a search instead of hardcod...
authorMartin Trigaux <mat@openerp.com>
Wed, 23 Apr 2014 10:03:24 +0000 (12:03 +0200)
committerMartin Trigaux <mat@openerp.com>
Wed, 23 Apr 2014 10:03:24 +0000 (12:03 +0200)
bzr revid: mat@openerp.com-20140423100324-6stypg5uapnl1s5f

1  2 
addons/procurement/procurement.py

@@@ -565,14 -561,15 +565,14 @@@ class stock_warehouse_orderpoint(osv.os
      ]
  
      def default_get(self, cr, uid, fields, context=None):
+         warehouse_obj = self.pool.get('stock.warehouse')
          res = super(stock_warehouse_orderpoint, self).default_get(cr, uid, fields, context)
 -        res['company_id'] = self.pool.get('res.company')._company_default_get(cr, uid, 'stock.warehouse.orderpoint', context=context)
          # default 'warehouse_id' and 'location_id'
          if 'warehouse_id' not in res:
-             warehouse = self.pool.get('ir.model.data').get_object(cr, uid, 'stock', 'warehouse0', context)
-             res['warehouse_id'] = warehouse.id
 -            warehouse_ids = warehouse_obj.search(cr, uid, [('company_id', '=', res['company_id'])], context=context)
++            warehouse_ids = res.get('company_id') and warehouse_obj.search(cr, uid, [('company_id', '=', res['company_id'])], limit=1, context=context) or []
+             res['warehouse_id'] = warehouse_ids and warehouse_ids[0] or False
          if 'location_id' not in res:
-             warehouse = self.pool.get('stock.warehouse').browse(cr, uid, res['warehouse_id'], context)
-             res['location_id'] = warehouse.lot_stock_id.id
 -            res['location_id'] = False if not res.get('warehouse_id') else warehouse_obj.browse(cr, uid, res['warehouse_id'], context).lot_stock_id.id
++            res['location_id'] = res.get('warehouse_id') and warehouse_obj.browse(cr, uid, res['warehouse_id'], context).lot_stock_id.id or False
          return res
  
      def onchange_warehouse_id(self, cr, uid, ids, warehouse_id, context=None):