[IMP] Pass product template to template method
authorJosse Colpaert <jco@odoo.com>
Tue, 26 Aug 2014 13:15:23 +0000 (15:15 +0200)
committerJosse Colpaert <jco@odoo.com>
Wed, 3 Sep 2014 17:19:18 +0000 (19:19 +0200)
addons/stock_account/stock_account.py
addons/stock_account/wizard/stock_change_standard_price.py
addons/stock_landed_costs/stock_landed_costs.py

index 7e14ea8..6dffebd 100644 (file)
@@ -164,8 +164,8 @@ class stock_quant(osv.osv):
         :returns: journal_id, source account, destination account, valuation account
         :raise: osv.except_osv() is any mandatory account or journal is not defined.
         """
-        product_obj = self.pool.get('product.product')
-        accounts = product_obj.get_product_accounts(cr, uid, move.product_id.id, context)
+        product_obj = self.pool.get('product.template')
+        accounts = product_obj.get_product_accounts(cr, uid, move.product_id.product_tmpl_id.id, context)
         if move.location_id.valuation_out_account_id:
             acc_src = move.location_id.valuation_out_account_id.id
         else:
index 0995935..68e39ad 100644 (file)
@@ -72,12 +72,12 @@ class change_standard_price(osv.osv_memory):
         """
         if context is None:
             context = {}
-        rec_id = context and context.get('active_id', False)
+        rec_id = context.get('active_id', False)
         assert rec_id, _('Active ID is not set in Context.')
         if context.get("active_model") == 'product.product':
             prod_obj = self.pool.get('product.product')
-        else:
-            prod_obj = self.pool.get('product.template')
+            rec_id = prod_obj.browse(cr, uid, rec_id, context=context).product_tmpl_id.id
+        prod_obj = self.pool.get('product.template')
         
         res = self.browse(cr, uid, ids, context=context)
         
index 5298924..b4c350a 100644 (file)
@@ -99,11 +99,11 @@ class stock_landed_cost(osv.osv):
     }
 
     def _create_accounting_entries(self, cr, uid, line, move_id, context=None):
-        product_obj = self.pool.get('product.product')
+        product_obj = self.pool.get('product.template')
         cost_product = line.cost_line_id and line.cost_line_id.product_id
         if not cost_product:
             return False
-        accounts = product_obj.get_product_accounts(cr, uid, line.product_id.id, context=context)
+        accounts = product_obj.get_product_accounts(cr, uid, line.product_id.product_tmpl_id.id, context=context)
         debit_account_id = accounts['property_stock_valuation_account_id']
         credit_account_id = cost_product.property_account_expense and cost_product.property_account_expense.id or cost_product.categ_id.property_account_expense_categ.id
         if not credit_account_id: