[MERGE] merge lp:~openerp-dev/openobject-addons/trunk-stock_cancel_button_fix-cha

bzr revid: cha@tinyerp.com-20120921063025-q1z0lj1ida0ew975
This commit is contained in:
Ajay Chauhan (OpenERP) 2012-09-21 12:00:25 +05:30
commit 79a982dffe
2 changed files with 12 additions and 3 deletions

View File

@ -761,6 +761,15 @@ class stock_picking(osv.osv):
self.pool.get('stock.move').force_assign(cr, uid, move_ids)
wf_service.trg_write(uid, 'stock.picking', pick.id, cr)
return True
def button_cancel(self, cr, uid, ids, *args):
""" Changes state of picking to cancel.
@return: True
"""
wf_service = netsvc.LocalService("workflow")
for pick in self.browse(cr, uid, ids):
wf_service.trg_validate(uid, 'stock.picking', pick.id, 'button_cancel', cr)
return True
def draft_force_assign(self, cr, uid, ids, *args):
""" Confirms picking directly from draft state.
@ -1141,7 +1150,7 @@ class stock_picking(osv.osv):
for move in pick.move_lines:
if move.state not in ('cancel','done'):
return False
if move.state=='done':
if move.state=='done' and not move.scrapped:
ok = True
return ok
@ -1160,7 +1169,7 @@ class stock_picking(osv.osv):
if not pick.move_lines:
return True
for move in pick.move_lines:
if move.state == 'done':
if move.state == 'done' and not move.scrapped:
raise osv.except_osv(_('Error!'), _('You cannot cancel picking because stock move is in done state!'))
return True
def unlink(self, cr, uid, ids, context=None):

View File

@ -754,7 +754,7 @@
<button name="action_process" states="assigned" string="Confirm &amp; Transfer" groups="stock.group_stock_user" type="object" class="oe_highlight"/>
<button name="%(action_stock_invoice_onshipping)d" string="Create Invoice/Refund" attrs="{'invisible': ['|','|',('state','&lt;&gt;','done'),('invoice_state','=','invoiced'),('invoice_state','=','none')]}" type="action" class="oe_highlight"/>
<button name="%(act_stock_return_picking)d" string="Reverse Transfer" states="done" type="action"/>
<button name="button_cancel" states="assigned,confirmed,draft" string="_Cancel"/>
<button name="button_cancel" type="object" states="assigned,confirmed,draft" string="_Cancel"/>
</span>
<field name="state" widget="statusbar" statusbar_visible="draft,assigned,done" statusbar_colors='{"shipping_except":"red","invoice_except":"red","waiting_date":"blue"}'/>
</header>