← Back to team overview

openerp-dev-web team mailing list archive

[Merge] lp:~openerp-dev/openobject-addons/trunk-bug-733143-ksa into lp:openobject-addons

 

Kirti Savalia(OpenERP) has proposed merging lp:~openerp-dev/openobject-addons/trunk-bug-733143-ksa into lp:openobject-addons.

Requested reviews:
  OpenERP Core Team (openerp)
Related bugs:
  Bug #733143 in OpenERP Addons: "product_visible_discount exception in orders after choosing a product"
  https://bugs.launchpad.net/openobject-addons/+bug/733143

For more details, see:
https://code.launchpad.net/~openerp-dev/openobject-addons/trunk-bug-733143-ksa/+merge/53193

https://bugs.launchpad.net/openobject-addons/+bug/733143
-- 
https://code.launchpad.net/~openerp-dev/openobject-addons/trunk-bug-733143-ksa/+merge/53193
Your team OpenERP R&D Team is subscribed to branch lp:~openerp-dev/openobject-addons/trunk-bug-733143-ksa.
=== modified file 'product_visible_discount/product_visible_discount.py'
--- product_visible_discount/product_visible_discount.py	2011-02-01 14:25:28 +0000
+++ product_visible_discount/product_visible_discount.py	2011-03-14 04:57:02 +0000
@@ -44,22 +44,27 @@
 
         def get_real_price(res_dict, product_id, qty, uom, pricelist):
             item_obj = self.pool.get('product.pricelist.item')
+            pricelist_obj = self.pool.get('product.pricelist')
             price_type_obj = self.pool.get('product.price.type')
             product_obj = self.pool.get('product.product')
             template_obj = self.pool.get('product.template')
             field_name = 'list_price'
 
-            if res_dict.get('item_id',False) and res_dict['item_id'].get(pricelist,False):
-                item = res_dict['item_id'].get(pricelist,False)
-                item_base = item_obj.read(cr, uid, [item], ['base'])[0]['base']
-                if item_base > 0:
-                    field_name = price_type_obj.browse(cr, uid, item_base).field
+            pricelist_id = res_dict['item_id'].get(pricelist,False)
+
+            version = pricelist_obj.browse(cr, uid, pricelist_id)
+            for item_id in version.version_id:
+                for p in item_id.items_id:
+                    if res_dict.get('item_id',False) and res_dict['item_id'].get(pricelist,False):
+                        item_base = item_obj.read(cr, uid, [p.id], ['base'])[0]['base']
+                    if item_base > 0:
+                        field_name = price_type_obj.browse(cr, uid, item_base).field
 
             product = product_obj.browse(cr, uid, product_id, context)
             product_tmpl_id = product.product_tmpl_id.id
 
             product_read = template_obj.read(cr, uid, product_tmpl_id, [field_name], context)
-            
+
             factor = 1.0
             if uom and uom != product.uom_id.id:
                 product_uom_obj = self.pool.get('product.uom')


Follow ups