From 5eb681bd037eb059f6d1250cc338183226b4e9bf Mon Sep 17 00:00:00 2001
From: Nicolas Martinelli <nim@odoo.com>
Date: Fri, 25 Sep 2015 10:17:54 +0200
Subject: [PATCH] [FIX] website_sale_digital: properly loop on self

---
 addons/website_sale_digital/product.py | 13 +++++++------
 1 file changed, 7 insertions(+), 6 deletions(-)

diff --git a/addons/website_sale_digital/product.py b/addons/website_sale_digital/product.py
index 84eaf263a451..3b010977cf89 100644
--- a/addons/website_sale_digital/product.py
+++ b/addons/website_sale_digital/product.py
@@ -10,11 +10,11 @@ class product_template(models.Model):
     @api.multi
     def _compute_attachment_count(self):
         IrAttachment = self.env['ir.attachment']
-        prod_tmpl_attach_count = IrAttachment.read_group([('res_model', '=', 'product.template'), ('res_id', 'in', self.ids)], ['res_id'], ['res_id'])
-        prod_attach_count = IrAttachment.read_group([('res_model', '=', 'product.product'), ('res_id', 'in', self.product_variant_ids.ids)], ['res_id'], ['res_id'])
-        prod_tmpl_result = dict((data['res_id'], data['res_id_count']) for data in prod_tmpl_attach_count)
-        prod_attach_result = dict((data['res_id'], data['res_id_count']) for data in prod_attach_count)
         for ptemplate in self:
+            prod_tmpl_attach_count = IrAttachment.read_group([('res_model', '=', 'product.template'), ('res_id', 'in', ptemplate.ids)], ['res_id'], ['res_id'])
+            prod_attach_count = IrAttachment.read_group([('res_model', '=', 'product.product'), ('res_id', 'in', ptemplate.product_variant_ids.ids)], ['res_id'], ['res_id'])
+            prod_tmpl_result = dict((data['res_id'], data['res_id_count']) for data in prod_tmpl_attach_count)
+            prod_attach_result = dict((data['res_id'], data['res_id_count']) for data in prod_attach_count)
             ptemplate.attachment_count = prod_tmpl_result.get(ptemplate.id, 0) + sum(prod_attach_result.get(p.id, 0) for p in ptemplate.product_variant_ids)
 
     @api.model
@@ -47,9 +47,10 @@ class product_product(models.Model):
 
     @api.multi
     def _compute_attachment_count(self):
-        read_count = self.env['ir.attachment'].read_group([('res_model', '=', self._name), ('res_id', 'in', self.ids)], ['res_id'], ['res_id'])
-        result = dict((data['res_id'], data['res_id_count']) for data in read_count)
+        IrAttachment = self.env['ir.attachment']
         for product in self:
+            read_count = IrAttachment.read_group([('res_model', '=', product._name), ('res_id', 'in', product.ids)], ['res_id'], ['res_id'])
+            result = dict((data['res_id'], data['res_id_count']) for data in read_count)
             product.attachment_count = result.get(product.id, 0)
 
     @api.multi
-- 
GitLab