diff --git a/addons/mrp/mrp_view.xml b/addons/mrp/mrp_view.xml index 27f39a7bdc9..5a1c3bd6f7a 100644 --- a/addons/mrp/mrp_view.xml +++ b/addons/mrp/mrp_view.xml @@ -1039,13 +1039,31 @@ product.template.procurement product.template - + + + + + + + + + + product.product.mrp.button + product.product + + + + + + diff --git a/addons/mrp/product.py b/addons/mrp/product.py index 47ccb758ccc..96f78c0f9e8 100644 --- a/addons/mrp/product.py +++ b/addons/mrp/product.py @@ -51,7 +51,16 @@ class product_template(osv.osv): _defaults = { 'produce_delay': 1, } + + + def action_view_mos(self, cr, uid, ids, context=None): + products = self._get_products(cr, uid, ids, context=context) + result = self._get_act_window_dict(cr, uid, 'mrp','act_product_mrp_production', context=context) + result['domain'] = "[('product_id','in',[" + ','.join(map(str, products)) + "])]" + result['context'] = "{}" + return result + class product_product(osv.osv): _inherit = "product.product" @@ -65,6 +74,15 @@ class product_product(osv.osv): _columns = { 'mo_count': fields.function(_bom_orders_count, string='# Manufacturing Orders', type='integer'), } - + + def action_view_bom(self, cr, uid, ids, context=None): + tmpl_obj = self.pool.get("product.template") + products = set() + for product in self.browse(cr, uid, ids, context=context): + products.add(product.product_tmpl_id.id) + result = tmpl_obj._get_act_window_dict(cr, uid, 'mrp','product_open_bom', context=context) + result['context'] = "{}" + result['domain'] = "[('product_tmpl_id','in',[" + ','.join(map(str, list(products))) + "])]" + return result # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/purchase/stock.py b/addons/purchase/stock.py index adb6e83d92a..80c5f54fcd5 100644 --- a/addons/purchase/stock.py +++ b/addons/purchase/stock.py @@ -46,8 +46,8 @@ class stock_move(osv.osv): return res def copy(self, cr, uid, id, default=None, context=None): - if not default: - default = {} + default = default or {} + context = context or {} if not default.get('split_from') and not context.get('split'): #we don't want to propagate the link to the purchase order line except in case of move split default['purchase_line_id'] = False diff --git a/addons/stock/product.py b/addons/stock/product.py index 832f147028b..b4afce43420 100644 --- a/addons/stock/product.py +++ b/addons/stock/product.py @@ -417,13 +417,14 @@ class product_template(osv.osv): products = self._get_products(cr, uid, ids, context=context) result = self._get_act_window_dict(cr, uid, 'stock','product_open_quants', context=context) result['domain'] = "[('product_id','in',[" + ','.join(map(str, products)) + "])]" - print "Result open quants:", result + result['context'] = "{'search_default_locationgroup': 1, 'search_default_internal_loc': 1}" return result def action_view_orderpoints(self, cr, uid, ids, context=None): products = self._get_products(cr, uid, ids, context=context) result = self._get_act_window_dict(cr, uid, 'stock','product_open_orderpoint', context=context) result['domain'] = "[('product_id','in',[" + ','.join(map(str, products)) + "])]" + result['context'] = "{}" return result @@ -431,6 +432,7 @@ class product_template(osv.osv): products = self._get_products(cr, uid, ids, context=context) result = self._get_act_window_dict(cr, uid, 'stock','act_product_stock_move_open', context=context) result['domain'] = "[('product_id','in',[" + ','.join(map(str, products)) + "])]" + result['context'] = "{}" return result