[FIX] account: correct API call for product_id_change
uom -> uom_id to be consistent with the args of the one from account_invoice.py bzr revid: mat@openerp.com-20130607095832-2p1z011zbsrgl5og
This commit is contained in:
commit
06b74bc47c
|
@ -73,8 +73,8 @@ class account_invoice_line(osv.osv):
|
||||||
_inherit = "account.invoice.line"
|
_inherit = "account.invoice.line"
|
||||||
_description = "Invoice Line"
|
_description = "Invoice Line"
|
||||||
|
|
||||||
def product_id_change(self, cr, uid, ids, product, uom, qty=0, name='', type='out_invoice', partner_id=False, fposition_id=False, price_unit=False, currency_id=False, context=None, company_id=None):
|
def product_id_change(self, cr, uid, ids, product, uom_id, qty=0, name='', type='out_invoice', partner_id=False, fposition_id=False, price_unit=False, currency_id=False, context=None, company_id=None):
|
||||||
res_prod = super(account_invoice_line, self).product_id_change(cr, uid, ids, product, uom, qty, name, type, partner_id, fposition_id, price_unit, currency_id=currency_id, context=context, company_id=company_id)
|
res_prod = super(account_invoice_line, self).product_id_change(cr, uid, ids, product, uom_id, qty, name, type, partner_id, fposition_id, price_unit, currency_id=currency_id, context=context, company_id=company_id)
|
||||||
rec = self.pool.get('account.analytic.default').account_get(cr, uid, product, partner_id, uid, time.strftime('%Y-%m-%d'), context=context)
|
rec = self.pool.get('account.analytic.default').account_get(cr, uid, product, partner_id, uid, time.strftime('%Y-%m-%d'), context=context)
|
||||||
if rec:
|
if rec:
|
||||||
res_prod['value'].update({'account_analytic_id': rec.analytic_id.id})
|
res_prod['value'].update({'account_analytic_id': rec.analytic_id.id})
|
||||||
|
|
|
@ -136,9 +136,9 @@ class account_invoice_line(osv.osv):
|
||||||
res += diff_res
|
res += diff_res
|
||||||
return res
|
return res
|
||||||
|
|
||||||
def product_id_change(self, cr, uid, ids, product, uom, qty=0, name='', type='out_invoice', partner_id=False, fposition_id=False, price_unit=False, currency_id=False, context=None, company_id=None):
|
def product_id_change(self, cr, uid, ids, product, uom_id, qty=0, name='', type='out_invoice', partner_id=False, fposition_id=False, price_unit=False, currency_id=False, context=None, company_id=None):
|
||||||
fiscal_pool = self.pool.get('account.fiscal.position')
|
fiscal_pool = self.pool.get('account.fiscal.position')
|
||||||
res = super(account_invoice_line, self).product_id_change(cr, uid, ids, product, uom, qty, name, type, partner_id, fposition_id, price_unit, currency_id, context, company_id)
|
res = super(account_invoice_line, self).product_id_change(cr, uid, ids, product, uom_id, qty, name, type, partner_id, fposition_id, price_unit, currency_id, context, company_id)
|
||||||
if not product:
|
if not product:
|
||||||
return res
|
return res
|
||||||
if type in ('in_invoice','in_refund'):
|
if type in ('in_invoice','in_refund'):
|
||||||
|
|
|
@ -100,10 +100,10 @@ sale_order_line()
|
||||||
class account_invoice_line(osv.osv):
|
class account_invoice_line(osv.osv):
|
||||||
_inherit = "account.invoice.line"
|
_inherit = "account.invoice.line"
|
||||||
|
|
||||||
def product_id_change(self, cr, uid, ids, product, uom, qty=0, name='', type='out_invoice', partner_id=False, fposition_id=False, price_unit=False, currency_id=False, context=None, company_id=None):
|
def product_id_change(self, cr, uid, ids, product, uom_id, qty=0, name='', type='out_invoice', partner_id=False, fposition_id=False, price_unit=False, currency_id=False, context=None, company_id=None):
|
||||||
res = super(account_invoice_line, self).product_id_change(cr, uid, ids, product, uom, qty, name, type, partner_id, fposition_id, price_unit,currency_id, context=context, company_id=company_id)
|
res = super(account_invoice_line, self).product_id_change(cr, uid, ids, product, uom_id, qty, name, type, partner_id, fposition_id, price_unit,currency_id, context=context, company_id=company_id)
|
||||||
|
|
||||||
def get_real_price(res_dict, product_id, qty, uom, pricelist):
|
def get_real_price(res_dict, product_id, qty, uom_id, pricelist):
|
||||||
item_obj = self.pool.get('product.pricelist.item')
|
item_obj = self.pool.get('product.pricelist.item')
|
||||||
price_type_obj = self.pool.get('product.price.type')
|
price_type_obj = self.pool.get('product.price.type')
|
||||||
product_obj = self.pool.get('product.product')
|
product_obj = self.pool.get('product.product')
|
||||||
|
@ -121,7 +121,7 @@ class account_invoice_line(osv.osv):
|
||||||
product_read = product_obj.read(cr, uid, product_id, [field_name], context=context)
|
product_read = product_obj.read(cr, uid, product_id, [field_name], context=context)
|
||||||
|
|
||||||
factor = 1.0
|
factor = 1.0
|
||||||
if uom and uom != product.uom_id.id:
|
if uom_id and uom_id != product.uom_id.id:
|
||||||
product_uom_obj = self.pool.get('product.uom')
|
product_uom_obj = self.pool.get('product.uom')
|
||||||
uom_data = product_uom_obj.browse(cr, uid, product.uom_id.id)
|
uom_data = product_uom_obj.browse(cr, uid, product.uom_id.id)
|
||||||
factor = uom_data.factor
|
factor = uom_data.factor
|
||||||
|
@ -139,18 +139,18 @@ class account_invoice_line(osv.osv):
|
||||||
pricelist =partner_obj.browse(cr, uid, partner_id).property_product_pricelist_purchase.id
|
pricelist =partner_obj.browse(cr, uid, partner_id).property_product_pricelist_purchase.id
|
||||||
if not pricelist:
|
if not pricelist:
|
||||||
raise osv.except_osv(_('No Purchase Pricelist Found!'),_("You must first define a pricelist on the supplier form!"))
|
raise osv.except_osv(_('No Purchase Pricelist Found!'),_("You must first define a pricelist on the supplier form!"))
|
||||||
price_unit_res = pricelist_obj.price_get(cr, uid, [pricelist], product.id, qty or 1.0, partner_id, {'uom': uom})
|
price_unit_res = pricelist_obj.price_get(cr, uid, [pricelist], product.id, qty or 1.0, partner_id, {'uom': uom_id})
|
||||||
price_unit = price_unit_res[pricelist]
|
price_unit = price_unit_res[pricelist]
|
||||||
real_price = get_real_price(price_unit_res, product.id, qty, uom, pricelist)
|
real_price = get_real_price(price_unit_res, product.id, qty, uom_id, pricelist)
|
||||||
else:
|
else:
|
||||||
if partner_id:
|
if partner_id:
|
||||||
pricelist = partner_obj.browse(cr, uid, partner_id).property_product_pricelist.id
|
pricelist = partner_obj.browse(cr, uid, partner_id).property_product_pricelist.id
|
||||||
if not pricelist:
|
if not pricelist:
|
||||||
raise osv.except_osv(_('No Sale Pricelist Found!'),_("You must first define a pricelist on the customer form!"))
|
raise osv.except_osv(_('No Sale Pricelist Found!'),_("You must first define a pricelist on the customer form!"))
|
||||||
price_unit_res = pricelist_obj.price_get(cr, uid, [pricelist], product.id, qty or 1.0, partner_id, {'uom': uom})
|
price_unit_res = pricelist_obj.price_get(cr, uid, [pricelist], product.id, qty or 1.0, partner_id, {'uom': uom_id})
|
||||||
price_unit = price_unit_res[pricelist]
|
price_unit = price_unit_res[pricelist]
|
||||||
|
|
||||||
real_price = get_real_price(price_unit_res, product.id, qty, uom, pricelist)
|
real_price = get_real_price(price_unit_res, product.id, qty, uom_id, pricelist)
|
||||||
if pricelist:
|
if pricelist:
|
||||||
pricelists=pricelist_obj.read(cr,uid,[pricelist],['visible_discount'])
|
pricelists=pricelist_obj.read(cr,uid,[pricelist],['visible_discount'])
|
||||||
if(len(pricelists)>0 and pricelists[0]['visible_discount'] and real_price != 0):
|
if(len(pricelists)>0 and pricelists[0]['visible_discount'] and real_price != 0):
|
||||||
|
|
Loading…
Reference in New Issue