[MERGE] lp:~openerp-dev/openobject-addons/trunk-addons_issue_stock-mdi/

bzr revid: stw@openerp.com-20120724134313-p8yimd1j5tinuzbo
This commit is contained in:
Stephane Wirtel
2012-07-24 15:43:13 +02:00
2 changed files with 8 additions and 2 deletions
+4 -1
View File
@@ -10,6 +10,9 @@
<field name="move_type" position="before">
<field name="sale_id"/>
</field>
<label for="partner_id" position="replace">
<label for="partner_id" class="oe_edit_only" string="Contact"/>
</label>
</field>
</record>
@@ -71,7 +74,7 @@
<field name="view_type">form</field>
<field name="view_mode">tree,form,calendar</field>
<field name="domain">[('type','=','out')]</field>
<field name="context">{'default_type': 'out', 'contact_display': 'partner_address', 'search_default_to_invoice': 1, 'search_default_done': 1}</field>
<field name="context">{'default_type': 'out', 'contact_display': 'partner_address', 'search_default_to_invoice': 1, 'search_default_done': 1, 'default_invoice_state': '2binvoiced'}</field>
<field name="search_view_id" ref="stock.view_picking_out_search"/>
</record>
<menuitem action="outgoing_picking_list_to_invoice" id="menu_action_picking_list_to_invoice" parent="base.menu_invoiced" groups="sale.group_invoice_deli_orders" sequence="20"/>
+4 -1
View File
@@ -98,6 +98,9 @@ class stock_partial_picking(osv.osv_memory):
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.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
@@ -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)