From 6cefff4bf46e07b1cdf664a9276d8bf7e4273ee6 Mon Sep 17 00:00:00 2001 From: Cedric Snauwaert Date: Tue, 8 Aug 2017 11:19:43 +0200 Subject: [PATCH] [FIX] account: fix use of group of tax in reconciliation widget when having a tax with multiple children (grouped tax) if we use it in the reconciliation widget while creating a new line, not all taxes children were taken into account. --- .../js/reconciliation/reconciliation_model.js | 39 ++++++++++--------- 1 file changed, 20 insertions(+), 19 deletions(-) diff --git a/addons/account/static/src/js/reconciliation/reconciliation_model.js b/addons/account/static/src/js/reconciliation/reconciliation_model.js index 1d86c058e09..48c668f33c8 100644 --- a/addons/account/static/src/js/reconciliation/reconciliation_model.js +++ b/addons/account/static/src/js/reconciliation/reconciliation_model.js @@ -714,26 +714,27 @@ var StatementModel = BasicModel.extend({ args: args, }) .then(function (result) { - var tax = result.taxes[0]; - var tax_prop = self._formatQuickCreate(line, { - 'link': prop.id, - 'tax_id': tax.id, - 'amount': tax.amount, - 'label': tax.name, - 'account_id': tax.account_id ? [tax.account_id, null] : prop.account_id, - 'analytic': tax.analytic, - 'is_tax': true, - '__focus': false + _.each(result.taxes, function(tax){ + var tax_prop = self._formatQuickCreate(line, { + 'link': prop.id, + 'tax_id': tax.id, + 'amount': tax.amount, + 'label': tax.name, + 'account_id': tax.account_id ? [tax.account_id, null] : prop.account_id, + 'analytic': tax.analytic, + 'is_tax': true, + '__focus': false + }); + + prop.amount = tax.base; + prop.amount_str = field_utils.format.monetary(Math.abs(prop.amount), {}, formatOptions); + prop.invalid = !self._isValid(prop); + + tax_prop.amount_str = field_utils.format.monetary(Math.abs(tax_prop.amount), {}, formatOptions); + tax_prop.invalid = prop.invalid; + + reconciliation_proposition.push(tax_prop); }); - - prop.amount = tax.base; - prop.amount_str = field_utils.format.monetary(Math.abs(prop.amount), {}, formatOptions); - prop.invalid = !self._isValid(prop); - - tax_prop.amount_str = field_utils.format.monetary(Math.abs(tax_prop.amount), {}, formatOptions); - tax_prop.invalid = prop.invalid; - - reconciliation_proposition.push(tax_prop); })); } else { var currencyData = {