Ajay Chauhan(OpenERP) has proposed merging 
lp:~openerp-dev/openobject-addons/trunk-addons14_mrp-cha into 
lp:openobject-addons.

Requested reviews:
  Purnendu Singh (OpenERP) (psi-tinyerp)

For more details, see:
https://code.launchpad.net/~openerp-dev/openobject-addons/trunk-addons14_mrp-cha/+merge/127724

Hello,

   I have made changes to fulfill the requirement of addons14.

Thanks,
Ajay Chauhan
-- 
https://code.launchpad.net/~openerp-dev/openobject-addons/trunk-addons14_mrp-cha/+merge/127724
Your team OpenERP R&D Team is subscribed to branch 
lp:~openerp-dev/openobject-addons/trunk-addons14_mrp-cha.
=== modified file 'mrp/mrp.py'
--- mrp/mrp.py	2012-10-04 08:49:06 +0000
+++ mrp/mrp.py	2012-10-10 06:39:21 +0000
@@ -274,6 +274,17 @@
             return {'value': {'name': prod.name, 'product_uom': prod.uom_id.id}}
         return {}
 
+    def onchange_uom(self, cr, uid, ids, product_id, product_uom, context=None):
+        res = {'value':{}}
+        if not product_uom or not product_id:
+            return res
+        product = self.pool.get('product.product').browse(cr, uid, product_id, context=context)
+        uom = self.pool.get('product.uom').browse(cr, uid, product_uom, context=context)
+        if uom.category_id.id != product.uom_id.category_id.id:
+            res['warning'] = {'title': _('Warning'), 'message': _('Selected Unit of Measure does not belong to the same category as the product Unit of Measure.')}
+            res['value'].update({'product_uom': product.uom_id.id})
+        return res
+
     def _bom_find(self, cr, uid, product_id, product_uom, properties=None):
         """ Finds BoM for particular product and product uom.
         @param product_id: Selected product.

=== modified file 'mrp/mrp_view.xml'
--- mrp/mrp_view.xml	2012-09-30 14:16:53 +0000
+++ mrp/mrp_view.xml	2012-10-10 06:39:21 +0000
@@ -351,7 +351,7 @@
                             <label for="product_qty" string="Quantity"/>
                             <div>
                                 <field name="product_qty" class="oe_inline"/>
-                                <field name="product_uom" class="oe_inline" groups="product.group_uom"/>
+                                <field name="product_uom" class="oe_inline" on_change="onchange_uom(product_id, product_uom)" groups="product.group_uom"/>
                             </div>
                             <label for="product_uos_qty" groups="product.group_uos"/>
                             <div groups="product.group_uos" >
@@ -382,7 +382,7 @@
                                 <tree string="Components" editable="bottom">
                                     <field name="product_id" on_change="onchange_product_id(product_id, name)"/>
                                     <field name="product_qty"/>
-                                    <field name="product_uom" groups="product.group_uom"/>
+                                    <field name="product_uom" on_change="onchange_uom(product_id, product_uom)" groups="product.group_uom"/>
                                     <field name="name" invisible="1"/>
                                     <field name="date_start"/>
                                     <field name="date_stop"/>

=== modified file 'mrp_subproduct/mrp_subproduct.py'
--- mrp_subproduct/mrp_subproduct.py	2012-05-22 16:10:55 +0000
+++ mrp_subproduct/mrp_subproduct.py	2012-10-10 06:39:21 +0000
@@ -22,6 +22,7 @@
 from osv import fields
 from osv import osv
 import decimal_precision as dp
+from tools.translate import _
 
 class mrp_subproduct(osv.osv):
     _name = 'mrp.subproduct'
@@ -51,6 +52,17 @@
             return {'value': v}
         return {}
 
+    def onchange_uom(self, cr, uid, ids, product_id, product_uom, context=None):
+        res = {'value':{}}
+        if not product_uom or not product_id:
+            return res
+        product = self.pool.get('product.product').browse(cr, uid, product_id, context=context)
+        uom = self.pool.get('product.uom').browse(cr, uid, product_uom, context=context)
+        if uom.category_id.id != product.uom_id.category_id.id:
+            res['warning'] = {'title': _('Warning'), 'message': _('Selected Unit of Measure does not belong to the same category as the product Unit of Measure.')}
+            res['value'].update({'product_uom': product.uom_id.id})
+        return res
+
 mrp_subproduct()
 
 class mrp_bom(osv.osv):

=== modified file 'mrp_subproduct/mrp_subproduct_view.xml'
--- mrp_subproduct/mrp_subproduct_view.xml	2012-08-09 06:05:16 +0000
+++ mrp_subproduct/mrp_subproduct_view.xml	2012-10-10 06:39:21 +0000
@@ -11,13 +11,13 @@
                      <field name="sub_products">
                          <tree string="sub products"  editable="top">
                              <field name="product_id" on_change="onchange_product_id(product_id)"/>
-                             <field name="product_uom" groups="product.group_uom"/>
+                             <field name="product_uom" on_change="onchange_uom(product_id, product_uom)" groups="product.group_uom"/>
                              <field name="product_qty"/>
                              <field name="subproduct_type"/>
                          </tree>
                          <form string="Sub Products">
                              <field name="product_id" on_change="onchange_product_id(product_id)"/>
-                             <field name="product_uom" groups="product.group_uom"/>
+                             <field name="product_uom" on_change="onchange_uom(product_id, product_uom)" groups="product.group_uom"/>
                              <field name="product_qty"/>
                              <field name="subproduct_type"/>
                          </form>

_______________________________________________
Mailing list: https://launchpad.net/~openerp-dev-gtk
Post to     : [email protected]
Unsubscribe : https://launchpad.net/~openerp-dev-gtk
More help   : https://help.launchpad.net/ListHelp

Reply via email to