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 @@
- + + diff --git a/addons/mrp/schedulers.py b/addons/mrp/schedulers.py index a02d8ae901c..263d8c915a4 100644 --- a/addons/mrp/schedulers.py +++ b/addons/mrp/schedulers.py @@ -198,7 +198,7 @@ class mrp_procurement(osv.osv): for op in orderpoint_obj.browse(cr, uid, ids): try: prods = location_obj._product_virtual_get(cr, uid, - op.warehouse_id.lot_stock_id.id, [op.product_id.id], + op.location_id.id, [op.product_id.id], {'uom': op.product_uom.id})[op.product_id.id] if prods < op.product_min_qty: qty = max(op.product_min_qty, op.product_max_qty)-prods diff --git a/addons/project_gtd/project_gtd_view.xml b/addons/project_gtd/project_gtd_view.xml index 5dc47b2b6e1..48be75ef4c5 100644 --- a/addons/project_gtd/project_gtd_view.xml +++ b/addons/project_gtd/project_gtd_view.xml @@ -107,7 +107,7 @@ - + @@ -160,7 +160,7 @@ - + diff --git a/addons/scrum/scrum.py b/addons/scrum/scrum.py index bbc788f4531..1efbaad0988 100644 --- a/addons/scrum/scrum.py +++ b/addons/scrum/scrum.py @@ -94,7 +94,7 @@ class scrum_sprint(osv.osv): res[sprint.id] += bl.planned_hours return res _columns = { - 'name' : fields.char('Sprint Name', size=64), + 'name' : fields.char('Sprint Name', required=True, size=64), 'date_start': fields.date('Starting Date', required=True), 'date_stop': fields.date('Ending Date', required=True), 'project_id': fields.many2one('scrum.project', 'Project', required=True, domain=[('scrum','=',1)]), @@ -166,7 +166,7 @@ class scrum_product_backlog(osv.osv): res[bl.id] += task.planned_hours return res _columns = { - 'name' : fields.char('Feature', size=64), + 'name' : fields.char('Feature', size=64, required=True), 'note' : fields.text('Note'), 'active' : fields.boolean('Active'), 'project_id': fields.many2one('scrum.project', 'Scrum Project', required=True, domain=[('scrum','=',1)]), diff --git a/addons/scrum/scrum_view.xml b/addons/scrum/scrum_view.xml index 6d008707018..a8752e4d32e 100644 --- a/addons/scrum/scrum_view.xml +++ b/addons/scrum/scrum_view.xml @@ -4,8 +4,8 @@ + Usual views + --> @@ -16,10 +16,11 @@ form - + - + + @@ -59,8 +60,8 @@ + Product backlog + --> scrum.product.backlog.tree @@ -86,13 +87,15 @@ form - + + + + + + - - - @@ -136,8 +139,8 @@ + Scrum Sprint + --> scrum.sprint.tree @@ -162,12 +165,10 @@ form - + + + - - - - @@ -255,8 +256,8 @@ + Daily Meeting + --> @@ -277,10 +278,10 @@ form - + + + - - @@ -299,7 +300,7 @@ - scrum.meeting.form + Scrum Meeting scrum.meeting form @@ -307,11 +308,11 @@ + Clicks on a sprint: what a hack + --> - scrum.task + project.task View sprint Tasks form tree,form @@ -341,8 +342,8 @@ + Clicks on a project + --> scrum.product.backlog @@ -359,7 +360,7 @@ - scrum.task + project.task View project's tasks form tree,form @@ -376,44 +377,26 @@ - - scrum.task.tree - scrum.task - tree - - - - - - - - - - - - - - - + Tasks + --> + - scrum.task.form - scrum.task + project.task.form + project.task form - + All Tasks - scrum.task + project.task form [('scrum','=',1)] @@ -421,7 +404,7 @@ My tasks - scrum.task + project.task form tree,form [('user_id', '=', uid),('scrum','=',1)] @@ -430,7 +413,7 @@ My opened tasks - scrum.task + project.task form tree,form [('user_id','=',uid),('state','=','open'),('scrum','=',1)] @@ -446,4 +429,4 @@ - \ No newline at end of file +