From 960b86611eb8c7d2f5b9872a923ede30465d5197 Mon Sep 17 00:00:00 2001 From: Christophe Simonis <chs@odoo.com> Date: Sat, 31 May 2014 14:05:48 +0200 Subject: [PATCH] [FIX] website_sale: remove invalid (and stupid) function field --- addons/website_sale/controllers/main.py | 3 +++ addons/website_sale/models/product.py | 8 -------- addons/website_sale/views/templates.xml | 2 +- 3 files changed, 4 insertions(+), 9 deletions(-) diff --git a/addons/website_sale/controllers/main.py b/addons/website_sale/controllers/main.py index 41d1ebdb6acc..a2a766b5136b 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 93c9ae8036a2..17a0943fa384 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 256eab53d66d..8811f6c90f9c 100644 --- a/addons/website_sale/views/templates.xml +++ b/addons/website_sale/views/templates.xml @@ -432,7 +432,7 @@ <template id="product_variants" inherit_id="website_sale.product" optional="enabled" name="Product Variants"> <xpath expr="//form[@action='/shop/cart/update']" position="replace"> - <form action="/shop/cart/update" class="js_add_cart_variants" method="POST" t-att-data-attribute_value_ids="product.available_variant_ids"> + <form action="/shop/cart/update" class="js_add_cart_variants" method="POST" t-att-data-attribute_value_ids="variants"> <input type="hidden" name="product_id" t-att-value="int(product.product_variant_ids[0]) if len(product.product_variant_ids) == 1 else '0'"/> <ul class="nav nav-pills nav-stacked"> <t t-foreach="product.attribute_line_ids" t-as="variant_id"> -- GitLab