Code review comment for lp:~camptocamp/openobject-addons/7.0-fix-do-partial-picking-20130425

Revision history for this message
Yannick Vaucher @ Camptocamp (yvaucher-c2c) wrote :

Of course there is move_id = wizard_line.move_id.id
However, wizard_line.move_id.id can be false, move_id cannot as it is set when a move is created if move_id is false.

In http://bazaar.launchpad.net/~openerp/openobject-addons/7.0/view/head:/stock/wizard/stock_partial_picking.py

Let's say wizard_line.move_id is false

l170 move_id = wizard_line.move_id.id # we set false to move_id
...
l182 if move_id: # we do not enter here
...
l193 else: # but here
# so we create a new move and assign move_id
l195 move_id = stock_move.create(cr,uid,{'name' : self.pool.get('ir.sequence').get(cr, uid, seq_obj_name),

# here we use wizard_line.move_id.id which is false
l211 if (picking_type == 'in') and (wizard_line.product_id.cost_method == 'average'):
l212 partial_data['move%s' % (wizard_line.move_id.id)].update(product_price=wizard_line.cost,
l213 product_currency=wizard_line.currency.id)

--> Error as partial_data['movefalse'] doesn't exists

« Back to merge proposal