diff --git a/addons/mrp/mrp.py b/addons/mrp/mrp.py index e6365079726..ce971f498f8 100644 --- a/addons/mrp/mrp.py +++ b/addons/mrp/mrp.py @@ -993,6 +993,7 @@ class stock_warehouse_orderpoint(osv.osv): 'active': fields.boolean('Active'), 'logic': fields.selection([('max','Order to Max'),('price','Best price (not yet active!)')], 'Reordering Mode', required=True), 'warehouse_id': fields.many2one('stock.warehouse', 'Warehouse', required=True), + 'location_id': fields.many2one('stock.location', 'Location', required=True), 'product_id': fields.many2one('product.product', 'Product', required=True, domain=[('type','=','product')]), 'product_uom': fields.many2one('product.uom', 'Product UOM', required=True ), 'product_min_qty': fields.float('Min Quantity', required=True), @@ -1007,9 +1008,15 @@ class stock_warehouse_orderpoint(osv.osv): 'name': lambda x,y,z,c: x.pool.get('ir.sequence').get(y,z,'mrp.warehouse.orderpoint') or '', 'product_uom': lambda sel, cr, uid, context: context.get('product_uom', False), } + def onchange_warehouse_id(self, cr, uid, ids, warehouse_id, context={}): + if warehouse_id: + w=self.pool.get('stock.warehouse').browse(cr,uid,warehouse_id, context) + v = {'location_id':w.lot_stock_id.id} + return {'value': v} + return {} def onchange_product_id(self, cr, uid, ids, product_id, context={}): if product_id: - prod=self.pool.get('product.product').browse(cr,uid,[product_id])[0] + prod=self.pool.get('product.product').browse(cr,uid,product_id) v = {'product_uom':prod.uom_id.id} return {'value': v} return {} diff --git a/addons/mrp/mrp_view.xml b/addons/mrp/mrp_view.xml index b7eb2faa4a3..345f5395c5b 100644 --- a/addons/mrp/mrp_view.xml +++ b/addons/mrp/mrp_view.xml @@ -749,7 +749,8 @@