[FIX] website_sale: remove invalid (and stupid) function field
authorChristophe Simonis <chs@odoo.com>
Sat, 31 May 2014 12:05:48 +0000 (14:05 +0200)
committerChristophe Simonis <chs@odoo.com>
Sat, 31 May 2014 12:05:48 +0000 (14:05 +0200)
addons/website_sale/controllers/main.py
addons/website_sale/models/product.py
addons/website_sale/views/templates.xml

index 41d1ebd..a2a766b 100644 (file)
@@ -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)
 
index 93c9ae8..17a0943 100644 (file)
@@ -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."),
     }
 
index 256eab5..8811f6c 100644 (file)
 
 <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">