bzr revid: fp@tinyerp.com-20110917123505-y1vkq04bad7ja10s
This commit is contained in:
Fabien Pinckaers
2011-09-17 14:35:05 +02:00
2 changed files with 24 additions and 5 deletions
+20 -1
View File
@@ -20,6 +20,7 @@
##############################################################################
from osv import fields, osv
from tools.translate import _
import decimal_precision as dp
@@ -280,7 +281,6 @@ class split_in_production_lot(osv.osv_memory):
'name': line.name,
'product_id': move.product_id.id},
context=context)
move_obj.write(cr, uid, [current_move], {'prodlot_id': prodlot_id, 'state':move.state})
update_val = {}
@@ -306,6 +306,25 @@ class stock_move_split_lines_exist(osv.osv_memory):
_defaults = {
'quantity': 1.0,
}
def onchange_lot_id(self, cr, uid, ids, prodlot_id=False, product_id=False,
product_qty=False, uom_id=False, context=None):
if not prodlot_id or not product_id:
return {}
prodlot_obj = self.pool.get('stock.production.lot')
product_obj = self.pool.get('product.product')
uom_obj = self.pool.get('product.uom')
uom = uom_obj.browse(cr, uid, uom_id, context=context)
product_uom = product_obj.browse(cr, uid, product_id, context=context).uom_id
warning = {}
lot_avail_qty = prodlot_obj.browse(cr, uid, prodlot_id, context=context)
quantity = uom_obj._compute_qty_obj(cr, uid, product_uom, lot_avail_qty.stock_available, uom, context=context)
if product_qty > quantity:
warning = {
'title': _('Wrong lot number !'),
'message': _('You are moving %.2f %s products but only %.2f %s are available in this lot.') % (product_qty, uom.name, quantity, uom.name)
}
return {'warning': warning}
stock_move_split_lines_exist()
+4 -4
View File
@@ -134,12 +134,12 @@
<group colspan="4" attrs="{'invisible':[('use_exist','!=',True)]}">
<field name="line_exist_ids" colspan="4" nolabel="1">
<tree string="Production Lot Numbers" editable="bottom">
<field name="prodlot_id" string="Lot number" domain="[('product_id','=',parent.product_id)]"/>
<field name="quantity" />
<field name="prodlot_id" string="Lot number" on_change="onchange_lot_id(prodlot_id, parent.product_id, quantity, parent.product_uom)" domain="[('product_id','=',parent.product_id)]"/>
<field name="quantity" on_change="onchange_lot_id(prodlot_id, parent.product_id, quantity, parent.product_uom)"/>
</tree>
<form string="Production Lot Number">
<field name="prodlot_id" string="Lot number" domain="[('product_id','=',parent.product_id)]"/>
<field name="quantity" />
<field name="prodlot_id" string="Lot number" on_change="onchange_lot_id(prodlot_id, product_id, quantity, parent.product_uom)" domain="[('product_id','=',parent.product_id)]"/>
<field name="quantity" on_change="onchange_lot_id(prodlot_id, parent.product_id, quantity, parent.product_uom)"/>
</form>
</field>
</group>