[ADD] release and update methods

This commit is contained in:
Guewen Baconnier
2013-09-06 17:03:39 +02:00
parent 9442412b8e
commit b2adb9f39d
2 changed files with 26 additions and 2 deletions

View File

@@ -55,6 +55,13 @@ class sale_order(orm.Model):
string='Can Have Stock Reservations'),
}
def release_all_stock_reservation(self, cr, uid, ids, context=None):
sales = self.browse(cr, uid, ids, context=context)
line_ids = [line.id for sale in sales for line in sale.order_line]
line_obj = self.pool.get('sale.order.line')
line_obj.release_stock_reservation(cr, uid, line_ids, context=context)
return True
class sale_order_line(orm.Model):
_inherit = 'sale.order.line'
@@ -89,3 +96,20 @@ class sale_order_line(orm.Model):
default['reservation_id'] = False
return super(sale_order_line, self).copy_data(
cr, uid, id, default=default, context=context)
def release_stock_reservation(self, cr, uid, ids, context=None):
lines = self.browse(cr, uid, ids, context=context)
reserv_ids = [line.reservation_id.id for line in lines
if line.reservation_id]
reserv_obj = self.pool.get('stock.reservation')
reserv_obj.release(cr, uid, reserv_ids, context=context)
self.write(cr, uid, ids, {'reservation_id': False}, context=context)
return True
def update_stock_reservation(self, cr, uid, ids, context=None):
for line in self.browse(cr, uid, ids, context=context):
if not line.reservation_id:
continue
line.reservation_id.write({'product_qty': line.product_uom_qty,
'product_uom': line.product_uom.id})
return True

View File

@@ -54,12 +54,12 @@
<div attrs="{'invisible': [('reservation_id', '=', False)]}">
<field name="reservation_id" readonly="1"
class="oe_inline"/>
<button name="button_stock_reserve_update"
<button name="update_stock_reservation"
string="update"
type="object"
class="oe_link" />
-
<button name="button_stock_reserve_cancel"
<button name="release_stock_reservation"
string="cancel"
type="object"
class="oe_link" />