[FIX] stock_invoice_directly: if picking is not done while doing partial picking...
authorMartin Trigaux <mat@openerp.com>
Wed, 23 Oct 2013 15:13:42 +0000 (17:13 +0200)
committerMartin Trigaux <mat@openerp.com>
Wed, 23 Oct 2013 15:13:42 +0000 (17:13 +0200)
lp bug: https://launchpad.net/bugs/1060259 fixed

bzr revid: mat@openerp.com-20131023151342-328egar30upq5d5u

1  2 
addons/stock_invoice_directly/wizard/stock_invoice.py

@@@ -31,9 -31,9 +31,14 @@@ class invoice_directly(osv.osv_memory)
          if context is None: context = {}
          result = super(invoice_directly, self).do_partial(cr, uid, ids, context)
          partial = self.browse(cr, uid, ids[0], context)
++        if partial.picking_id.state != 'done' and partial.picking_id.backorder_id:
++            # delivery is not finished, opening invoice on backorder
++            picking = partial.picking_id.backorder_id
++        else:
++            picking = partial.picking_id
          context.update(active_model='stock.picking',
-                        active_ids=[partial.picking_id.id])
-         if partial.picking_id.invoice_state == '2binvoiced':
 -                       active_ids=[partial.picking_id.backorder_id.id])
 -        if partial.picking_id.backorder_id.invoice_state == '2binvoiced':
++                       active_ids=[picking.id])
++        if picking.invoice_state == '2binvoiced':
              return {
                  'name': 'Create Invoice',
                  'view_type': 'form',