From f9fe63780347c73d70f8d6a0b36a02cdb3704941 Mon Sep 17 00:00:00 2001 From: Alexis de Lattre Date: Fri, 27 Jul 2012 03:52:02 +0200 Subject: [PATCH] Remplace all occurences of my_browse_rec.product_id.product_tmpl_id.field to my_browse_rec.product_id.field bzr revid: alexis@via.ecp.fr-20120727015202-7fylff5jr26sgxez --- addons/account/account_analytic_line.py | 4 ++-- addons/account/account_invoice.py | 4 ++-- addons/account_anglo_saxon/sale.py | 2 +- addons/account_anglo_saxon/stock.py | 4 ++-- addons/analytic_user_function/analytic_user_function.py | 6 +++--- addons/hr_expense/hr_expense.py | 2 +- addons/hr_timesheet/hr_timesheet.py | 2 +- .../wizard/hr_timesheet_invoice_create.py | 2 +- addons/mrp/mrp.py | 4 ++-- addons/mrp/procurement.py | 2 +- addons/mrp/test/order_process.yml | 2 +- addons/mrp_subproduct/mrp_subproduct.py | 2 +- addons/procurement/procurement.py | 4 ++-- addons/project_timesheet/project_timesheet.py | 2 +- addons/purchase/purchase.py | 6 +++--- addons/purchase/wizard/purchase_line_invoice.py | 2 +- addons/sale/sale.py | 6 +++--- addons/sale/stock.py | 4 ++-- addons/sale/test/picking_order_policy.yml | 2 +- addons/stock/product.py | 4 ++-- addons/stock/stock.py | 8 +++----- addons/stock/test/opening_stock.yml | 2 +- addons/stock_planning/stock_planning.py | 2 +- 23 files changed, 38 insertions(+), 40 deletions(-) diff --git a/addons/account/account_analytic_line.py b/addons/account/account_analytic_line.py index 06de5a3e43e..893acde9a58 100644 --- a/addons/account/account_analytic_line.py +++ b/addons/account/account_analytic_line.py @@ -83,7 +83,7 @@ class account_analytic_line(osv.osv): if j_id.type == 'purchase': unit = prod.uom_po_id.id if j_id.type <> 'sale': - a = prod.product_tmpl_id.property_account_expense.id + a = prod.property_account_expense.id if not a: a = prod.categ_id.property_account_expense_categ.id if not a: @@ -92,7 +92,7 @@ class account_analytic_line(osv.osv): 'for this product: "%s" (id:%d)') % \ (prod.name, prod.id,)) else: - a = prod.product_tmpl_id.property_account_income.id + a = prod.property_account_income.id if not a: a = prod.categ_id.property_account_income_categ.id if not a: diff --git a/addons/account/account_invoice.py b/addons/account/account_invoice.py index 6a0a29cb2fe..33ef8ad1387 100644 --- a/addons/account/account_invoice.py +++ b/addons/account/account_invoice.py @@ -1404,11 +1404,11 @@ class account_invoice_line(osv.osv): res = self.pool.get('product.product').browse(cr, uid, product, context=context) if type in ('out_invoice','out_refund'): - a = res.product_tmpl_id.property_account_income.id + a = res.property_account_income.id if not a: a = res.categ_id.property_account_income_categ.id else: - a = res.product_tmpl_id.property_account_expense.id + a = res.property_account_expense.id if not a: a = res.categ_id.property_account_expense_categ.id a = fpos_obj.map_account(cr, uid, fpos, a) diff --git a/addons/account_anglo_saxon/sale.py b/addons/account_anglo_saxon/sale.py index e2cfa7bbb3b..0faf30cf137 100644 --- a/addons/account_anglo_saxon/sale.py +++ b/addons/account_anglo_saxon/sale.py @@ -31,7 +31,7 @@ from osv import fields, osv # invoice_line_obj = self.pool.get('account.invoice.line') # for line in invoice_line_obj.browse(cr, uid, line_ids): # if line.product_id: -# a = line.product_id.product_tmpl_id.property_stock_account_output and line.product_id.product_tmpl_id.property_stock_account_output.id +# a = line.product_id.property_stock_account_output and line.product_id.property_stock_account_output.id # if not a: # a = line.product_id.categ_id.property_stock_account_output_categ and line.product_id.categ_id.property_stock_account_output_categ.id # if a: diff --git a/addons/account_anglo_saxon/stock.py b/addons/account_anglo_saxon/stock.py index 9ddfab86a94..e87749905a7 100644 --- a/addons/account_anglo_saxon/stock.py +++ b/addons/account_anglo_saxon/stock.py @@ -36,7 +36,7 @@ class stock_picking(osv.osv): for inv in self.pool.get('account.invoice').browse(cr, uid, res.values(), context=context): for ol in inv.invoice_line: if ol.product_id: - oa = ol.product_id.product_tmpl_id.property_stock_account_output and ol.product_id.product_tmpl_id.property_stock_account_output.id + oa = ol.product_id.property_stock_account_output and ol.product_id.property_stock_account_output.id if not oa: oa = ol.product_id.categ_id.property_stock_account_output_categ and ol.product_id.categ_id.property_stock_account_output_categ.id if oa: @@ -48,7 +48,7 @@ class stock_picking(osv.osv): for inv in self.pool.get('account.invoice').browse(cr, uid, res.values(), context=context): for ol in inv.invoice_line: if ol.product_id: - oa = ol.product_id.product_tmpl_id.property_stock_account_input and ol.product_id.product_tmpl_id.property_stock_account_input.id + oa = ol.product_id.property_stock_account_input and ol.product_id.property_stock_account_input.id if not oa: oa = ol.product_id.categ_id.property_stock_account_input_categ and ol.product_id.categ_id.property_stock_account_input_categ.id if oa: diff --git a/addons/analytic_user_function/analytic_user_function.py b/addons/analytic_user_function/analytic_user_function.py index cfb1aba10d1..e446afc393d 100644 --- a/addons/analytic_user_function/analytic_user_function.py +++ b/addons/analytic_user_function/analytic_user_function.py @@ -85,10 +85,10 @@ class hr_analytic_timesheet(osv.osv): res.setdefault('value',{}) res['value']= super(hr_analytic_timesheet, self).on_change_account_id(cr, uid, ids, account_id)['value'] res['value']['product_id'] = r.product_id.id - res['value']['product_uom_id'] = r.product_id.product_tmpl_id.uom_id.id + res['value']['product_uom_id'] = r.product_id.uom_id.id #the change of product has to impact the amount, uom and general_account_id - a = r.product_id.product_tmpl_id.property_account_expense.id + a = r.product_id.property_account_expense.id if not a: a = r.product_id.categ_id.property_account_expense_categ.id if not a: @@ -123,7 +123,7 @@ class hr_analytic_timesheet(osv.osv): res['value']['product_id'] = r.product_id.id #the change of product has to impact the amount, uom and general_account_id - a = r.product_id.product_tmpl_id.property_account_expense.id + a = r.product_id.property_account_expense.id if not a: a = r.product_id.categ_id.property_account_expense_categ.id if not a: diff --git a/addons/hr_expense/hr_expense.py b/addons/hr_expense/hr_expense.py index b1192701dfb..fd5db8dbecd 100644 --- a/addons/hr_expense/hr_expense.py +++ b/addons/hr_expense/hr_expense.py @@ -164,7 +164,7 @@ class hr_expense_expense(osv.osv): for l in exp.line_ids: tax_id = [] if l.product_id: - acc = l.product_id.product_tmpl_id.property_account_expense + acc = l.product_id.property_account_expense if not acc: acc = l.product_id.categ_id.property_account_expense_categ tax_id = [x.id for x in l.product_id.supplier_taxes_id] diff --git a/addons/hr_timesheet/hr_timesheet.py b/addons/hr_timesheet/hr_timesheet.py index 53119853c31..f959b85bbf8 100644 --- a/addons/hr_timesheet/hr_timesheet.py +++ b/addons/hr_timesheet/hr_timesheet.py @@ -125,7 +125,7 @@ class hr_analytic_timesheet(osv.osv): if emp_id: emp = emp_obj.browse(cr, uid, emp_id[0], context=context) if bool(emp.product_id): - a = emp.product_id.product_tmpl_id.property_account_expense.id + a = emp.product_id.property_account_expense.id if not a: a = emp.product_id.categ_id.property_account_expense_categ.id if a: diff --git a/addons/hr_timesheet_invoice/wizard/hr_timesheet_invoice_create.py b/addons/hr_timesheet_invoice/wizard/hr_timesheet_invoice_create.py index c9b2439596d..bf5fc1b8e59 100644 --- a/addons/hr_timesheet_invoice/wizard/hr_timesheet_invoice_create.py +++ b/addons/hr_timesheet_invoice/wizard/hr_timesheet_invoice_create.py @@ -117,7 +117,7 @@ class account_analytic_line(osv.osv): taxes = product.taxes_id tax = fiscal_pos_obj.map_tax(cr, uid, account.partner_id.property_account_position, taxes) - account_id = product.product_tmpl_id.property_account_income.id or product.categ_id.property_account_income_categ.id + account_id = product.property_account_income.id or product.categ_id.property_account_income_categ.id if not account_id: raise osv.except_osv(_("Configuration Error"), _("No income account defined for product '%s'") % product.name) curr_line = { diff --git a/addons/mrp/mrp.py b/addons/mrp/mrp.py index ea219621ea6..061dfe52859 100644 --- a/addons/mrp/mrp.py +++ b/addons/mrp/mrp.py @@ -957,7 +957,7 @@ class mrp_production(osv.osv): def _make_production_produce_line(self, cr, uid, production, context=None): stock_move = self.pool.get('stock.move') - source_location_id = production.product_id.product_tmpl_id.property_stock_production.id + source_location_id = production.product_id.property_stock_production.id destination_location_id = production.location_dest_id.id move_name = _('PROD: %s') + production.name data = { @@ -985,7 +985,7 @@ class mrp_production(osv.osv): if production_line.product_id.type not in ('product', 'consu'): return False move_name = _('PROD: %s') % production.name - destination_location_id = production.product_id.product_tmpl_id.property_stock_production.id + destination_location_id = production.product_id.property_stock_production.id if not source_location_id: source_location_id = production.location_src_id.id move_id = stock_move.create(cr, uid, { diff --git a/addons/mrp/procurement.py b/addons/mrp/procurement.py index 363f98e35d1..2b37f2a8ba2 100644 --- a/addons/mrp/procurement.py +++ b/addons/mrp/procurement.py @@ -79,7 +79,7 @@ class procurement_order(osv.osv): procurement_obj = self.pool.get('procurement.order') for procurement in procurement_obj.browse(cr, uid, ids, context=context): res_id = procurement.move_id.id - newdate = datetime.strptime(procurement.date_planned, '%Y-%m-%d %H:%M:%S') - relativedelta(days=procurement.product_id.product_tmpl_id.produce_delay or 0.0) + newdate = datetime.strptime(procurement.date_planned, '%Y-%m-%d %H:%M:%S') - relativedelta(days=procurement.product_id.produce_delay or 0.0) newdate = newdate - relativedelta(days=company.manufacturing_lead) produce_id = production_obj.create(cr, uid, { 'origin': procurement.origin, diff --git a/addons/mrp/test/order_process.yml b/addons/mrp/test/order_process.yml index ee78e036d44..102f6a0363e 100644 --- a/addons/mrp/test/order_process.yml +++ b/addons/mrp/test/order_process.yml @@ -94,7 +94,7 @@ assert order.state == 'confirmed', "Production order should be confirmed." assert order.move_created_ids, "Trace Record is not created for Final Product." move = order.move_created_ids[0] - source_location_id = order.product_id.product_tmpl_id.property_stock_production.id + source_location_id = order.product_id.property_stock_production.id assert move.date == order.date_planned, "Planned date is not correspond." assert move.product_id.id == order.product_id.id, "Product is not correspond." assert move.product_uom.id == order.product_uom.id, "UOM is not correspond." diff --git a/addons/mrp_subproduct/mrp_subproduct.py b/addons/mrp_subproduct/mrp_subproduct.py index bacdeb2c675..2a99577b901 100644 --- a/addons/mrp_subproduct/mrp_subproduct.py +++ b/addons/mrp_subproduct/mrp_subproduct.py @@ -75,7 +75,7 @@ class mrp_production(osv.osv): """ picking_id = super(mrp_production,self).action_confirm(cr, uid, ids) for production in self.browse(cr, uid, ids): - source = production.product_id.product_tmpl_id.property_stock_production.id + source = production.product_id.property_stock_production.id if not production.bom_id: continue for sub_product in production.bom_id.sub_products: diff --git a/addons/procurement/procurement.py b/addons/procurement/procurement.py index 1c83711abf7..0d2388e58b9 100644 --- a/addons/procurement/procurement.py +++ b/addons/procurement/procurement.py @@ -285,7 +285,7 @@ class procurement_order(osv.osv): user = self.pool.get('res.users').browse(cr, uid, uid) partner_obj = self.pool.get('res.partner') for procurement in self.browse(cr, uid, ids): - if procurement.product_id.product_tmpl_id.supply_method <> 'buy': + if procurement.product_id.supply_method <> 'buy': return False if not procurement.product_id.seller_ids: message = _('No supplier defined for this product !') @@ -333,7 +333,7 @@ class procurement_order(osv.osv): if not procurement.move_id: source = procurement.location_id.id if procurement.procure_method == 'make_to_order': - source = procurement.product_id.product_tmpl_id.property_stock_procurement.id + source = procurement.product_id.property_stock_procurement.id id = move_obj.create(cr, uid, { 'name': procurement.name, 'location_id': source, diff --git a/addons/project_timesheet/project_timesheet.py b/addons/project_timesheet/project_timesheet.py index 565710f5664..56f6e55ae62 100644 --- a/addons/project_timesheet/project_timesheet.py +++ b/addons/project_timesheet/project_timesheet.py @@ -88,7 +88,7 @@ class project_work(osv.osv): raise osv.except_osv(_('Bad Configuration !'), _('No journal defined on the related employee.\nFill in the timesheet tab of the employee form.')) - a = emp.product_id.product_tmpl_id.property_account_expense.id + a = emp.product_id.property_account_expense.id if not a: a = emp.product_id.categ_id.property_account_expense_categ.id if not a: diff --git a/addons/purchase/purchase.py b/addons/purchase/purchase.py index afdca95f544..32eedc4e370 100644 --- a/addons/purchase/purchase.py +++ b/addons/purchase/purchase.py @@ -434,7 +434,7 @@ class purchase_order(osv.osv): inv_lines = [] for po_line in order.order_line: if po_line.product_id: - acc_id = po_line.product_id.product_tmpl_id.property_account_expense.id + acc_id = po_line.product_id.property_account_expense.id if not acc_id: acc_id = po_line.product_id.categ_id.property_account_expense_categ.id if not acc_id: @@ -485,7 +485,7 @@ class purchase_order(osv.osv): def has_stockable_product(self,cr, uid, ids, *args): for order in self.browse(cr, uid, ids): for order_line in order.order_line: - if order_line.product_id and order_line.product_id.product_tmpl_id.type in ('product', 'consu'): + if order_line.product_id and order_line.product_id.type in ('product', 'consu'): return True return False @@ -1048,7 +1048,7 @@ class procurement_order(osv.osv): context.update({'lang': partner.lang, 'partner_id': partner_id}) product = prod_obj.browse(cr, uid, procurement.product_id.id, context=context) - taxes_ids = procurement.product_id.product_tmpl_id.supplier_taxes_id + taxes_ids = procurement.product_id.supplier_taxes_id taxes = acc_pos_obj.map_tax(cr, uid, partner.property_account_position, taxes_ids) name = product.partner_ref diff --git a/addons/purchase/wizard/purchase_line_invoice.py b/addons/purchase/wizard/purchase_line_invoice.py index d43f617265f..f12477a8170 100644 --- a/addons/purchase/wizard/purchase_line_invoice.py +++ b/addons/purchase/wizard/purchase_line_invoice.py @@ -102,7 +102,7 @@ class purchase_line_invoice(osv.osv_memory): if not line.partner_id.id in invoices: invoices[line.partner_id.id] = [] if line.product_id: - a = line.product_id.product_tmpl_id.property_account_expense.id + a = line.product_id.property_account_expense.id if not a: a = line.product_id.categ_id.property_account_expense_categ.id if not a: diff --git a/addons/sale/sale.py b/addons/sale/sale.py index f920b34ca42..34697a0f2ea 100644 --- a/addons/sale/sale.py +++ b/addons/sale/sale.py @@ -950,7 +950,7 @@ class sale_order(osv.osv): date_planned = self._get_date_planned(cr, uid, order, line, order.date_order, context=context) if line.product_id: - if line.product_id.product_tmpl_id.type in ('product', 'consu'): + if line.product_id.type in ('product', 'consu'): if not picking_id: picking_id = picking_obj.create(cr, uid, self._prepare_order_picking(cr, uid, order, context=context)) move_id = move_obj.create(cr, uid, self._prepare_order_line_move(cr, uid, order, line, picking_id, date_planned, context=context)) @@ -1014,7 +1014,7 @@ class sale_order(osv.osv): def has_stockable_products(self, cr, uid, ids, *args): for order in self.browse(cr, uid, ids): for order_line in order.order_line: - if order_line.product_id and order_line.product_id.product_tmpl_id.type in ('product', 'consu'): + if order_line.product_id and order_line.product_id.type in ('product', 'consu'): return True return False @@ -1188,7 +1188,7 @@ class sale_order_line(osv.osv): if not line.invoiced: if not account_id: if line.product_id: - account_id = line.product_id.product_tmpl_id.property_account_income.id + account_id = line.product_id.property_account_income.id if not account_id: account_id = line.product_id.categ_id.property_account_income_categ.id if not account_id: diff --git a/addons/sale/stock.py b/addons/sale/stock.py index c4e505a80e8..22873851380 100644 --- a/addons/sale/stock.py +++ b/addons/sale/stock.py @@ -161,13 +161,13 @@ class stock_picking(osv.osv): else: name = sale_line.name if type in ('out_invoice', 'out_refund'): - account_id = sale_line.product_id.product_tmpl_id.\ + account_id = sale_line.product_id.\ property_account_income.id if not account_id: account_id = sale_line.product_id.categ_id.\ property_account_income_categ.id else: - account_id = sale_line.product_id.product_tmpl_id.\ + account_id = sale_line.product_id.\ property_account_expense.id if not account_id: account_id = sale_line.product_id.categ_id.\ diff --git a/addons/sale/test/picking_order_policy.yml b/addons/sale/test/picking_order_policy.yml index 16caefddf1b..8d5cdcbf4be 100644 --- a/addons/sale/test/picking_order_policy.yml +++ b/addons/sale/test/picking_order_policy.yml @@ -121,7 +121,7 @@ assert invoice.payment_term.id == order.payment_term.id, "Payment term is not correspond." for so_line in order.order_line: inv_line = so_line.invoice_lines[0] - ac = so_line.product_id.product_tmpl_id.property_account_income.id or so_line.product_id.categ_id.property_account_income_categ.id + ac = so_line.product_id.property_account_income.id or so_line.product_id.categ_id.property_account_income_categ.id assert inv_line.product_id.id == so_line.product_id.id or False,"Product is not correspond" assert inv_line.account_id.id == ac,"Account of Invoice line is not corresponding." assert inv_line.uos_id.id == (so_line.product_uos and so_line.product_uos.id) or so_line.product_uom.id, "Product UOS is not correspond." diff --git a/addons/stock/product.py b/addons/stock/product.py index e4164ef9e1f..0279807503e 100644 --- a/addons/stock/product.py +++ b/addons/stock/product.py @@ -132,7 +132,7 @@ class product_product(osv.osv): if diff > 0: if not stock_input_acc: - stock_input_acc = product.product_tmpl_id.\ + stock_input_acc = product.\ property_stock_account_input.id if not stock_input_acc: stock_input_acc = product.categ_id.\ @@ -158,7 +158,7 @@ class product_product(osv.osv): }) elif diff < 0: if not stock_output_acc: - stock_output_acc = product.product_tmpl_id.\ + stock_output_acc = product.\ property_stock_account_output.id if not stock_output_acc: stock_output_acc = product.categ_id.\ diff --git a/addons/stock/stock.py b/addons/stock/stock.py index 6d8f6bb6fec..c43fb07c663 100644 --- a/addons/stock/stock.py +++ b/addons/stock/stock.py @@ -1029,14 +1029,12 @@ class stock_picking(osv.osv): origin += ':' + move_line.picking_id.origin if invoice_vals['type'] in ('out_invoice', 'out_refund'): - account_id = move_line.product_id.product_tmpl_id.\ - property_account_income.id + account_id = move_line.product_id.property_account_income.id if not account_id: account_id = move_line.product_id.categ_id.\ property_account_income_categ.id else: - account_id = move_line.product_id.product_tmpl_id.\ - property_account_expense.id + account_id = move_line.product_id.property_account_expense.id if not account_id: account_id = move_line.product_id.categ_id.\ property_account_expense_categ.id @@ -2729,7 +2727,7 @@ class stock_inventory(osv.osv): change = line.product_qty - amount lot_id = line.prod_lot_id.id if change: - location_id = line.product_id.product_tmpl_id.property_stock_inventory.id + location_id = line.product_id.property_stock_inventory.id value = { 'name': 'INV:' + str(line.inventory_id.id) + ':' + line.inventory_id.name, 'product_id': line.product_id.id, diff --git a/addons/stock/test/opening_stock.yml b/addons/stock/test/opening_stock.yml index 0cb6c0b78ad..2e3eaeadc74 100644 --- a/addons/stock/test/opening_stock.yml +++ b/addons/stock/test/opening_stock.yml @@ -66,7 +66,7 @@ for move_line in inventory.move_ids: for line in inventory.inventory_line_id: if move_line.product_id.id == line.product_id.id and move_line.prodlot_id.id == line.prod_lot_id.id: - location_id = line.product_id.product_tmpl_id.property_stock_inventory.id + location_id = line.product_id.property_stock_inventory.id assert move_line.product_qty == line.product_qty, "Qty is not correspond." assert move_line.product_uom.id == line.product_uom.id, "UOM is not correspond." assert move_line.date == inventory.date, "Date is not correspond." diff --git a/addons/stock_planning/stock_planning.py b/addons/stock_planning/stock_planning.py index e6f3b8d4218..bd973c6a22f 100644 --- a/addons/stock_planning/stock_planning.py +++ b/addons/stock_planning/stock_planning.py @@ -191,7 +191,7 @@ class stock_sale_forecast(osv.osv): coeff_def2uom = 1 if (product_uom != product.uom_id.id): coeff_def2uom, round_value = self._from_default_uom_factor(cr, uid, product_id, product_uom, {}) - qty = rounding(coeff_def2uom * product_amt/(product.product_tmpl_id.list_price), round_value) + qty = rounding(coeff_def2uom * product_amt/(product.list_price), round_value) res = {'value': {'product_qty': qty}} return res