Mayur Maheshwari(OpenERP) has proposed merging
lp:~openerp-dev/openobject-addons/trunk-referance_uom-mma into
lp:openobject-addons.
Requested reviews:
OpenERP Core Team (openerp)
For more details, see:
https://code.launchpad.net/~openerp-dev/openobject-addons/trunk-referance_uom-mma/+merge/126384
Hello,
Issue
=> when creating a new UoM from warehouse config or on the fly at some
m2o field of UoM, we have to select category and select if new UoM is bigger or
smaller than reference UoM, but we cannot remember or see whats the reference
UoM
Solution
=> I have added a new reference uom filed to see the reference uom of
particular uom and updated demo-data with that field
Thanks,
Mayur
--
https://code.launchpad.net/~openerp-dev/openobject-addons/trunk-referance_uom-mma/+merge/126384
Your team OpenERP R&D Team is subscribed to branch
lp:~openerp-dev/openobject-addons/trunk-referance_uom-mma.
=== modified file 'product/product.py'
--- product/product.py 2012-09-24 16:26:45 +0000
+++ product/product.py 2012-09-26 06:35:25 +0000
@@ -127,6 +127,7 @@
'uom_type': fields.selection([('bigger','Bigger than the reference Unit of Measure'),
('reference','Reference Unit of Measure for this category'),
('smaller','Smaller than the reference Unit of Measure')],'Unit of Measure Type', required=1),
+ 'reference_uom_id': fields.many2one('product.uom', 'Reference UoM', readonly=True),
}
_defaults = {
@@ -182,6 +183,14 @@
return {'value': {'factor': 1, 'factor_inv': 1}}
return {}
+ def onchange_category_id(self, cr, uid, ids, category_id):
+ reference_uom = False
+ if category_id:
+ uom_ids = self.search(cr, uid, [('category_id', '=',category_id),('uom_type', '=', 'reference')])
+ if uom_ids:
+ reference_uom = uom_ids[0]
+ return {'value':{'reference_uom_id': reference_uom}}
+
def write(self, cr, uid, ids, vals, context=None):
if 'category_id' in vals:
for uom in self.browse(cr, uid, ids, context=context):
=== modified file 'product/product_data.xml'
--- product/product_data.xml 2012-09-12 17:58:34 +0000
+++ product/product_data.xml 2012-09-26 06:35:25 +0000
@@ -38,6 +38,7 @@
<field name="name">Dozen</field>
<field name="factor" eval="0.083"/>
<field name="uom_type">bigger</field>
+ <field name="reference_uom_id" ref="product_uom_unit"/>
</record>
<record id="product_uom_kgm" model="product.uom">
<field name="category_id" ref="product_uom_categ_kgm"/>
@@ -49,17 +50,19 @@
<field name="name">g</field>
<field name="factor" eval="1000"/>
<field name="uom_type">smaller</field>
+ <field name="reference_uom_id" ref="product_uom_kgm"/>
+ </record>
+ <record id="product_uom_day" model="product.uom">
+ <field name="name">Day</field>
+ <field eval="uom_categ_wtime" name="category_id"/>
+ <field name="factor" eval="1.0"/>
</record>
<record id="product_uom_hour" model="product.uom">
<field name="name">Hour</field>
<field eval="uom_categ_wtime" name="category_id"/>
<field name="factor" eval="8.0"/>
<field name="uom_type">smaller</field>
- </record>
- <record id="product_uom_day" model="product.uom">
- <field name="name">Day</field>
- <field eval="uom_categ_wtime" name="category_id"/>
- <field name="factor" eval="1.0"/>
+ <field name="reference_uom_id" ref="product_uom_day"/>
</record>
<record id="product_uom_ton" model="product.uom">
<field name="category_id" ref="product_uom_categ_kgm"/>
@@ -68,6 +71,7 @@
<field name="name">t</field>
<field name="factor" eval="0.001"/>
<field name="uom_type">bigger</field>
+ <field name="reference_uom_id" ref="product_uom_kgm"/>
</record>
<record id="product_uom_meter" model="product.uom">
<field name="category_id" ref="uom_categ_length"/>
@@ -79,12 +83,14 @@
<field name="name">km</field>
<field name="factor" eval="0.001"/>
<field name="uom_type">bigger</field>
+ <field name="reference_uom_id" ref="product_uom_meter"/>
</record>
<record id="product_uom_cm" model="product.uom">
<field name="category_id" ref="uom_categ_length"/>
<field name="name">cm</field>
<field name="factor" eval="100"/>
<field name="uom_type">smaller</field>
+ <field name="reference_uom_id" ref="product_uom_meter"/>
</record>
<record id="product_uom_litre" model="product.uom">
<field name="name">Litre</field>
=== modified file 'product/product_view.xml'
--- product/product_view.xml 2012-09-21 07:58:41 +0000
+++ product/product_view.xml 2012-09-26 06:35:25 +0000
@@ -462,11 +462,12 @@
<group>
<group>
<field name="name"/>
- <field name="category_id"/>
+ <field name="category_id" on_change="onchange_category_id(category_id)"/>
<field name="active"/>
</group>
<group>
- <field name="uom_type" on_change="onchange_type(uom_type)"/>
+ <field name="reference_uom_id" attrs="{'invisible':[('reference_uom_id','=',False)]}"/>
+ <field name="uom_type" on_change="onchange_type(uom_type)" attrs="{'readonly':[('reference_uom_id','=',False)]}"/>
<field name="rounding"/>
<field name="factor" attrs="{'invisible':[('uom_type','!=','smaller')]}"/>
<label string=" e.g: 1 * (reference unit) = ratio * (this unit)" attrs="{'invisible':[('uom_type','!=','smaller')]}"/>
_______________________________________________
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