From fc43a5307990c0e2b18ac0c6cc89b64815f96d87 Mon Sep 17 00:00:00 2001 From: Christophe Matthieu Date: Thu, 17 Oct 2013 15:16:04 +0200 Subject: [PATCH] [FIX] product.attribute: store min and max bzr revid: chm@openerp.com-20131017131604-x2xo963p9pq81hvf --- addons/website_sale/models/product_attributes.py | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/addons/website_sale/models/product_attributes.py b/addons/website_sale/models/product_attributes.py index e89763946f8..ddc5467a19d 100644 --- a/addons/website_sale/models/product_attributes.py +++ b/addons/website_sale/models/product_attributes.py @@ -29,14 +29,25 @@ class attributes(osv.Model): result.update(dict(cr.fetchall())) return result + def _get_min_max(self, cr, uid, ids, context=None): + result = {} + for value in self.pool.get('product.attribute.product').browse(cr, uid, ids, context=context): + if value.type == 'float': + result[value.attribute_id.id] = True + return result.keys() + _columns = { 'name': fields.char('Name', size=64, translate=True, required=True), 'type': fields.selection([('distinct', 'Distinct'), ('float', 'Float')], "Type", required=True), 'value_ids': fields.one2many('product.attribute.value', 'attribute_id', 'Values'), 'product_ids': fields.one2many('product.attribute.product', 'attribute_id', 'Products'), - 'float_max': fields.function(_get_float_max, type='float', string="Max", relation='product.attribute.product',store=True), - 'float_min': fields.function(_get_float_min, type='float', string="Min", relation='product.attribute.product',store=True), + 'float_max': fields.function(_get_float_max, type='float', string="Max", store={ + 'product.attribute.product': (_get_min_max, ['value','attribute_id'], 20), + }), + 'float_min': fields.function(_get_float_min, type='float', string="Min", store={ + 'product.attribute.product': (_get_min_max, ['value','attribute_id'], 20), + }), } _defaults = { 'type': 'distinct'