From cd5076d423c96fea47a39cc7e7a590146e7613c4 Mon Sep 17 00:00:00 2001 From: "Divyesh Makwana (Open ERP)" Date: Mon, 23 Jul 2012 14:22:33 +0530 Subject: [PATCH 1/4] [FIX] stock : assert context.get('active_model') in ('stock.picking', 'stock.picking.in', 'stock.picking.out'), 'Bad context propagation'. bzr revid: mdi@tinyerp.com-20120723085233-wp9ag3z7aigk59cn --- addons/stock/wizard/stock_partial_picking.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/addons/stock/wizard/stock_partial_picking.py b/addons/stock/wizard/stock_partial_picking.py index dd91f20e8cf..7edeb694510 100644 --- a/addons/stock/wizard/stock_partial_picking.py +++ b/addons/stock/wizard/stock_partial_picking.py @@ -96,8 +96,11 @@ class stock_partial_picking(osv.osv_memory): def default_get(self, cr, uid, fields, context=None): if context is None: context = {} - res = super(stock_partial_picking, self).default_get(cr, uid, fields, context=context) picking_ids = context.get('active_ids', []) + if context['active_model'] == 'purchase.order': + for purchase_order in self.pool.get('purchase.order').browse(cr, uid, picking_ids, context=context): + picking_ids = [picking.id for picking in purchase_order.picking_ids] + res = super(stock_partial_picking, self).default_get(cr, uid, fields, context=context) if not picking_ids or len(picking_ids) != 1: # Partial Picking Processing may only be done for one picking at a time return res @@ -105,7 +108,7 @@ class stock_partial_picking(osv.osv_memory): # (already seen in previous bug where context passed was containing ir.ui.menu as active_model and the menu # ID as active_id). Though this should be fixed in clients now, this place is sensitive enough to ensure the # consistancy of the context. - assert context.get('active_model') in ('stock.picking', 'stock.picking.in', 'stock.picking.out'), 'Bad context propagation' + assert context.get('active_model') in ('stock.picking', 'stock.picking.in', 'stock.picking.out', 'purchase.order'), 'Bad context propagation' picking_id, = picking_ids if 'picking_id' in fields: res.update(picking_id=picking_id) From 43b8224341f98af5c5fa6b1c166cfd8098a954ba Mon Sep 17 00:00:00 2001 From: "Divyesh Makwana (Open ERP)" Date: Tue, 24 Jul 2012 17:39:05 +0530 Subject: [PATCH 2/4] [IMP] sale : Rename 'Partner' into 'Contact'. bzr revid: mdi@tinyerp.com-20120724120905-t6e8keib9l69kcvx --- addons/sale/stock_view.xml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/addons/sale/stock_view.xml b/addons/sale/stock_view.xml index 928eebafcae..2c705e5bddf 100644 --- a/addons/sale/stock_view.xml +++ b/addons/sale/stock_view.xml @@ -10,6 +10,9 @@ + From 28d9a6e28d061afe8810caf52aaee02c565fb83c Mon Sep 17 00:00:00 2001 From: "Divyesh Makwana (Open ERP)" Date: Tue, 24 Jul 2012 18:00:57 +0530 Subject: [PATCH 3/4] [IMP] sale : If the user create a new recod, the invoice control should be 'To Be Invoiced' by default (only from this view). bzr revid: mdi@tinyerp.com-20120724123057-2dwy52a9xmd55515 --- addons/sale/stock_view.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/sale/stock_view.xml b/addons/sale/stock_view.xml index 2c705e5bddf..40de6872be0 100644 --- a/addons/sale/stock_view.xml +++ b/addons/sale/stock_view.xml @@ -74,7 +74,7 @@ form tree,form,calendar [('type','=','out')] - {'default_type': 'out', 'contact_display': 'partner_address', 'search_default_to_invoice': 1, 'search_default_done': 1} + {'default_type': 'out', 'contact_display': 'partner_address', 'search_default_to_invoice': 1, 'search_default_done': 1, 'default_invoice_state': '2binvoiced'} From bfcbca2915722a264403bb7534068d0353a82035 Mon Sep 17 00:00:00 2001 From: "Divyesh Makwana (Open ERP)" Date: Tue, 24 Jul 2012 18:12:50 +0530 Subject: [PATCH 4/4] [IMP] stock : Improved the code. bzr revid: mdi@tinyerp.com-20120724124250-2n5r46c4e1vh4x50 --- addons/stock/wizard/stock_partial_picking.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/addons/stock/wizard/stock_partial_picking.py b/addons/stock/wizard/stock_partial_picking.py index 7edeb694510..24e6375d02d 100644 --- a/addons/stock/wizard/stock_partial_picking.py +++ b/addons/stock/wizard/stock_partial_picking.py @@ -96,11 +96,11 @@ class stock_partial_picking(osv.osv_memory): def default_get(self, cr, uid, fields, context=None): if context is None: context = {} + res = super(stock_partial_picking, self).default_get(cr, uid, fields, context=context) picking_ids = context.get('active_ids', []) if context['active_model'] == 'purchase.order': for purchase_order in self.pool.get('purchase.order').browse(cr, uid, picking_ids, context=context): - picking_ids = [picking.id for picking in purchase_order.picking_ids] - res = super(stock_partial_picking, self).default_get(cr, uid, fields, context=context) + picking_ids = [picking_id.id for picking_id in purchase_order.picking_ids] if not picking_ids or len(picking_ids) != 1: # Partial Picking Processing may only be done for one picking at a time return res