diff --git a/addons/website_sale/controllers/main.py b/addons/website_sale/controllers/main.py index 41d1ebdb6ac..a2a766b5136 100644 --- a/addons/website_sale/controllers/main.py +++ b/addons/website_sale/controllers/main.py @@ -210,6 +210,8 @@ class website_sale(http.Controller): context['pricelist'] = int(self.get_pricelist()) product = request.registry.get('product.template').browse(request.cr, request.uid, int(product), context=context) + variants = [(p.id, map(int, p.attribute_value_ids), p.price) for p in product.product_variant_ids] + values = { 'search': search, 'category': category, @@ -220,6 +222,7 @@ class website_sale(http.Controller): 'category_list': category_list, 'main_object': product, 'product': product, + 'variants': variants, } return request.website.render("website_sale.product", values) diff --git a/addons/website_sale/models/product.py b/addons/website_sale/models/product.py index 93c9ae8036a..17a0943fa38 100644 --- a/addons/website_sale/models/product.py +++ b/addons/website_sale/models/product.py @@ -112,13 +112,6 @@ class product_template(osv.Model): res[product.id] = "/shop/product/%s" % (product.id,) return res - def _get_available_variant_ids(self, cr, uid, ids, name, arg, context=None): - result = dict.fromkeys(ids, []) - for obj in self.browse(cr, uid, ids, context=context): - for p in obj.product_variant_ids: - result[obj.id].append([p.id, map(int,p.attribute_value_ids), p.price]) - return result - _columns = { # TODO FIXME tde: when website_mail/mail_thread.py inheritance work -> this field won't be necessary 'website_message_ids': fields.one2many( @@ -137,7 +130,6 @@ class product_template(osv.Model): 'website_style_ids': fields.many2many('product.style', string='Styles'), 'website_sequence': fields.integer('Sequence', help="Determine the display order in the Website E-commerce"), 'website_url': fields.function(_website_url, string="Website url", type="char"), - 'available_variant_ids': fields.function(_get_available_variant_ids, string='Available Variants'), 'public_categ_ids': fields.many2many('product.public.category', string='Public Category', help="Those categories are used to group similar products for e-commerce."), } diff --git a/addons/website_sale/views/templates.xml b/addons/website_sale/views/templates.xml index 256eab53d66..8811f6c90f9 100644 --- a/addons/website_sale/views/templates.xml +++ b/addons/website_sale/views/templates.xml @@ -432,7 +432,7 @@