[FIX] some product_qty fields are set with hardcoded decimal precision, and some...
[odoo/odoo.git] / addons / mrp_subproduct / mrp_subproduct.py
index fe348c8..3c4bb93 100644 (file)
 
 from osv import fields
 from osv import osv
+import decimal_precision as dp
 
 class mrp_subproduct(osv.osv):
     _name = 'mrp.subproduct'
     _description = 'Sub Product'
     _columns={
         'product_id': fields.many2one('product.product', 'Product', required=True),
-        'product_qty': fields.float('Product Qty', required=True),
+        'product_qty': fields.float('Product Qty', digits_compute=dp.get_precision('Product UoM'), required=True),
         'product_uom': fields.many2one('product.uom', 'Product UOM', required=True),
         'subproduct_type': fields.selection([('fixed','Fixed'),('variable','Variable')], 'Quantity Type', required=True),
         'bom_id': fields.many2one('mrp.bom', 'BoM'),
@@ -35,11 +36,8 @@ class mrp_subproduct(osv.osv):
     _defaults={
         'subproduct_type': lambda *args: 'fixed'
     }
-    _sql_constraints = [
-        ('_check_product_qty', 'CHECK (product_qty > 0)', 'Enter valid product quantity !'),
-    ]
 
-    def onchange_product_id(self, cr, uid, ids, product_id,context={}):
+    def onchange_product_id(self, cr, uid, ids, product_id, context=None):
         """ Changes UoM if product_id changes.
         @param product_id: Changed product_id
         @return: Dictionary of changed values
@@ -63,7 +61,6 @@ class mrp_bom(osv.osv):
 mrp_bom()
 
 class mrp_production(osv.osv):
-    _name = 'mrp.production'
     _description = 'Production'
     _inherit= 'mrp.production'