[FIX] account: @api.v8 account.tax.compute_all expects a currency browse record

The method `compute_all` of `account.tax` in api.v8
expects a currency browse record, not a currency id.

It's the `compute_all` of api.v7
that expects a currency id.

opw-653106
This commit is contained in:
Denis Ledoux
2015-10-27 13:29:03 +01:00
parent e75314511d
commit 2ec9a9c992
+2 -1
View File
@@ -948,8 +948,9 @@ class AccountMoveLine(models.Model):
tax_ids = [tax['id'] for tax in self.resolve_2many_commands('tax_ids', vals['tax_ids']) if tax.get('id')]
# Since create() receives ids instead of recordset, let's just use the old-api bridge
taxes = self.env['account.tax'].browse(tax_ids)
currency = self.env['res.currency'].browse(vals.get('currency_id'))
res = taxes.compute_all(amount,
vals.get('currency_id'), 1, vals.get('product_id'), vals.get('partner_id'))
currency, 1, vals.get('product_id'), vals.get('partner_id'))
# Adjust line amount if any tax is price_include
if abs(res['total_excluded']) < abs(amount):
if vals['debit'] != 0.0: vals['debit'] = res['total_excluded']