[FIX] Stock : Onchange of UOS added on moves
authorJay (OpenERP) <jvo@tinyerp.com>
Wed, 24 Nov 2010 10:16:23 +0000 (15:46 +0530)
committerJay (OpenERP) <jvo@tinyerp.com>
Wed, 24 Nov 2010 10:16:23 +0000 (15:46 +0530)
lp bug: https://launchpad.net/bugs/676491 fixed

bzr revid: jvo@tinyerp.com-20101124101623-4dedfo46goxila24

addons/stock/stock.py
addons/stock/stock_view.xml

index b3e5a0e..64d9467 100644 (file)
@@ -1135,6 +1135,24 @@ class stock_move(osv.osv):
 
         return {'value': result}
 
+    def onchange_uos_quantity(self, cr, uid, ids, product_id, product_uos_qty, product_uos, product_uom):
+        result = {
+                  'product_qty': 0.00
+          }
+
+        if (not product_id) or (product_uos_qty <=0.0):
+            return {'value': result}
+        
+        product_obj = self.pool.get('product.product')
+        uos_coeff = product_obj.read(cr, uid, product_id, ['uos_coeff'])
+    
+        if product_uos and product_uom and (product_uom != product_uos):
+            result['product_qty'] = product_uos_qty / uos_coeff['uos_coeff']
+        else:
+            result['product_qty'] = product_uos_qty
+    
+        return {'value': result}
+
     def onchange_product_id(self, cr, uid, ids, prod_id=False, loc_id=False, loc_dest_id=False, address_id=False):
         if not prod_id:
             return {}
index b6696d4..a5213e2 100644 (file)
                                     <field name="product_qty" select="1" on_change="onchange_quantity(product_id, product_qty, product_uom, product_uos)"/>
                                     <field name="product_uom" select="1"/>
                                     <field groups="product.group_uos" name="product_uos" on_change="onchange_quantity(product_id, product_qty, product_uom, product_uos)"/>
-                                    <field groups="product.group_uos" name="product_uos_qty"/>
+                                    <field groups="product.group_uos" name="product_uos_qty" on_change="onchange_uos_quantity(product_id, product_uos_qty, product_uos, product_uom)"/>
                                     <field colspan="4" invisible="1" name="name" select="1"/>
                                     <field invisible="1" name="date"/>
                                     <field name="date_planned"/>
                                     <field name="product_qty" select="1" on_change="onchange_quantity(product_id, product_qty, product_uom, product_uos)"/>
                                     <field name="product_uom" select="1"/>
                                     <field groups="product.group_uos" name="product_uos" on_change="onchange_quantity(product_id, product_qty, product_uom, product_uos)"/>
-                                    <field groups="product.group_uos" name="product_uos_qty"/>
+                                    <field groups="product.group_uos" name="product_uos_qty" on_change="onchange_uos_quantity(product_id, product_uos_qty, product_uos, product_uom)"/>
                                     <field colspan="4" invisible="1" name="name" select="1"/>
                                     <field invisible="1" name="date"/>
                                     <field name="date_planned"/>
                                     <field name="product_qty" select="1" on_change="onchange_quantity(product_id, product_qty, product_uom, product_uos)" />
                                     <field name="product_uom" select="1"/>
                                     <field groups="product.group_uos" name="product_uos" on_change="onchange_quantity(product_id, product_qty, product_uom, product_uos)"/>
-                                    <field groups="product.group_uos" name="product_uos_qty"/>
+                                    <field groups="product.group_uos" name="product_uos_qty" on_change="onchange_uos_quantity(product_id, product_uos_qty, product_uos, product_uom)"/>
                                     <field colspan="4" invisible="1" name="name" select="1"/>
                                     <field invisible="1" name="date"/>
                                     <field name="date_planned"/>
                                     <field name="product_qty" select="1" on_change="onchange_quantity(product_id, product_qty, product_uom, product_uos)"/>
                                     <field name="product_uom" select="1"/>
                                     <field groups="product.group_uos" name="product_uos" on_change="onchange_quantity(product_id, product_qty, product_uom, product_uos)"/>
-                                    <field groups="product.group_uos" name="product_uos_qty"/>
+                                    <field groups="product.group_uos" name="product_uos_qty" on_change="onchange_uos_quantity(product_id, product_uos_qty, product_uos, product_uom)"/>
                                     <field colspan="4" invisible="1" name="name" select="1"/>
                                     <field groups="base.group_extended" name="date_planned"/>
                                     <newline/>
                     <field colspan="4" name="product_id" select="1"/>
                     <field name="product_qty" select="2" on_change="onchange_quantity(product_id, product_qty, product_uom, product_uos)"/>
                     <field name="product_uom" select="2"/>
+                    <field name="product_uos_qty" select="2" on_change="onchange_uos_quantity(product_id, product_uos_qty, product_uos, product_uom)"/>
                     <field name="product_uos" select="2"/>
                     <field colspan="4" name="name" select="2"/>
                     <field name="date"/>