[IMP] account: reconciliation widget: replace the pager with a load more button
Replace the pager and set default visible items to 15.
This commit is contained in:
committed by
Cedric Snauwaert
parent
c530c2eceb
commit
bbf405eaf8
@@ -116,9 +116,10 @@ class AccountReconciliation(models.AbstractModel):
|
||||
partner_id = st_line.partner_id.id
|
||||
|
||||
domain = self._domain_move_lines_for_reconciliation(st_line, aml_accounts, partner_id, excluded_ids=excluded_ids, search_str=search_str)
|
||||
recs_count = self.env['account.move.line'].search_count(domain)
|
||||
aml_recs = self.env['account.move.line'].search(domain, offset=offset, limit=limit, order="date_maturity desc, id desc")
|
||||
target_currency = st_line.currency_id or st_line.journal_id.currency_id or st_line.journal_id.company_id.currency_id
|
||||
return self._prepare_move_lines(aml_recs, target_currency=target_currency, target_date=st_line.date)
|
||||
return self._prepare_move_lines(aml_recs, target_currency=target_currency, target_date=st_line.date, recs_count=recs_count)
|
||||
|
||||
@api.model
|
||||
def get_bank_statement_line_data(self, st_line_ids, excluded_ids=None):
|
||||
@@ -221,13 +222,14 @@ class AccountReconciliation(models.AbstractModel):
|
||||
Currency = self.env['res.currency']
|
||||
|
||||
domain = self._domain_move_lines_for_manual_reconciliation(account_id, partner_id, excluded_ids, search_str)
|
||||
recs_count = Account_move_line.search_count(domain)
|
||||
lines = Account_move_line.search(domain, offset=offset, limit=limit, order="date_maturity desc, id desc")
|
||||
if target_currency_id:
|
||||
target_currency = Currency.browse(target_currency_id)
|
||||
else:
|
||||
account = Account.browse(account_id)
|
||||
target_currency = account.currency_id or account.company_id.currency_id
|
||||
return self._prepare_move_lines(lines, target_currency=target_currency)
|
||||
return self._prepare_move_lines(lines, target_currency=target_currency,recs_count=recs_count)
|
||||
|
||||
@api.model
|
||||
def get_all_data_for_manual_reconciliation(self, partner_ids, account_ids):
|
||||
@@ -494,7 +496,7 @@ class AccountReconciliation(models.AbstractModel):
|
||||
return domain
|
||||
|
||||
@api.model
|
||||
def _prepare_move_lines(self, move_lines, target_currency=False, target_date=False):
|
||||
def _prepare_move_lines(self, move_lines, target_currency=False, target_date=False, recs_count=0):
|
||||
""" Returns move lines formatted for the manual/bank reconciliation widget
|
||||
|
||||
:param move_line_ids:
|
||||
@@ -583,6 +585,7 @@ class AccountReconciliation(models.AbstractModel):
|
||||
total_amount = company_currency._convert((line.debit - line.credit), target_currency, company, date)
|
||||
total_amount_currency = line.currency_id and line.amount_currency or (line.debit - line.credit)
|
||||
|
||||
ret_line['recs_count'] = recs_count
|
||||
ret_line['debit'] = amount > 0 and amount or 0
|
||||
ret_line['credit'] = amount < 0 and -amount or 0
|
||||
ret_line['amount_currency'] = amount_currency
|
||||
|
||||
@@ -35,16 +35,16 @@ var StatementAction = AbstractAction.extend(ControlPanelMixin, {
|
||||
load_more: '_onLoadMore',
|
||||
},
|
||||
config: {
|
||||
// used to instanciate the model
|
||||
// used to instantiate the model
|
||||
Model: ReconciliationModel.StatementModel,
|
||||
// used to instanciate the action interface
|
||||
// used to instantiate the action interface
|
||||
ActionRenderer: ReconciliationRenderer.StatementRenderer,
|
||||
// used to instanciate each widget line
|
||||
// used to instantiate each widget line
|
||||
LineRenderer: ReconciliationRenderer.LineRenderer,
|
||||
// used context params
|
||||
params: ['statement_ids'],
|
||||
// number of moves lines displayed in 'match' mode
|
||||
limitMoveLines: 5,
|
||||
limitMoveLines: 15,
|
||||
},
|
||||
|
||||
/**
|
||||
@@ -319,7 +319,7 @@ var ManualAction = StatementAction.extend({
|
||||
ActionRenderer: ReconciliationRenderer.ManualRenderer,
|
||||
LineRenderer: ReconciliationRenderer.ManualLineRenderer,
|
||||
params: ['company_ids', 'mode', 'partner_ids', 'account_ids'],
|
||||
limitMoveLines: 10,
|
||||
limitMoveLines: 15,
|
||||
},
|
||||
|
||||
//--------------------------------------------------------------------------
|
||||
|
||||
@@ -110,7 +110,7 @@ var StatementModel = BasicModel.extend({
|
||||
this.valuemax = 0;
|
||||
this.alreadyDisplayed = [];
|
||||
this.defaultDisplayQty = 10;
|
||||
this.limitMoveLines = options && options.limitMoveLines || 5;
|
||||
this.limitMoveLines = options && options.limitMoveLines || 15;
|
||||
},
|
||||
|
||||
//--------------------------------------------------------------------------
|
||||
@@ -130,20 +130,7 @@ var StatementModel = BasicModel.extend({
|
||||
var line = this.getLine(handle);
|
||||
var prop = _.clone(_.find(line.mv_lines, {'id': mv_line_id}));
|
||||
this._addProposition(line, prop);
|
||||
|
||||
// Check whether we have some propositions left
|
||||
// If we don't, it means we are on an empty page
|
||||
// so let's go back to the previous page
|
||||
// Through the offset
|
||||
var propLineIds = _.map(line.reconciliation_proposition, function(prop) {
|
||||
return prop.id;
|
||||
});
|
||||
var leftOversProps = _.filter(line.mv_lines, function(mv_line) {
|
||||
return propLineIds.indexOf(mv_line.id) === -1;
|
||||
});
|
||||
if (line.offset && !leftOversProps.length) {
|
||||
line.offset -= line.limitMoveLines;
|
||||
}
|
||||
line.limit_override = (line.offset + 1) * this.limitMoveLines;
|
||||
return $.when(this._computeLine(line), this._performMoveLine(handle));
|
||||
},
|
||||
/**
|
||||
@@ -509,6 +496,8 @@ var StatementModel = BasicModel.extend({
|
||||
removeProposition: function (handle, id) {
|
||||
var self = this;
|
||||
var line = this.getLine(handle);
|
||||
// new limit = previous limit + 1, the one put back
|
||||
line.limit_override = (line.offset + 1) * this.limitMoveLines;
|
||||
var prop = _.find(line.reconciliation_proposition, {'id' : id});
|
||||
if (prop) {
|
||||
line.reconciliation_proposition = _.filter(line.reconciliation_proposition, function (p) {
|
||||
@@ -1006,9 +995,15 @@ var StatementModel = BasicModel.extend({
|
||||
_formatMoveLine: function (handle, mv_lines) {
|
||||
var self = this;
|
||||
var line = this.getLine(handle);
|
||||
_.extend(line, {'mv_lines': mv_lines});
|
||||
if (line.offset === 0 || line.limit_override) {
|
||||
line.mv_lines = mv_lines;
|
||||
delete line.limit_override;
|
||||
} else {
|
||||
line.mv_lines = line.mv_lines.concat(mv_lines);
|
||||
}
|
||||
this._formatLineProposition(line, mv_lines);
|
||||
if (line.mode !== 'create' && !mv_lines.length && !line.filter.length) {
|
||||
|
||||
if (line.mode !== 'create' && !line.mv_lines.length && !line.filter.length) {
|
||||
line.mode = this.avoidCreate || !line.balance.amount ? 'inactive' : 'create';
|
||||
if (line.mode === 'create') {
|
||||
return this._computeLine(line).then(function () {
|
||||
@@ -1135,8 +1130,16 @@ var StatementModel = BasicModel.extend({
|
||||
});
|
||||
})));
|
||||
var filter = line.filter || "";
|
||||
var limit = this.limitMoveLines;
|
||||
var offset = line.offset;
|
||||
var limit = this.limitMoveLines+1;
|
||||
if (line.limit_override) {
|
||||
// If we have a limit_override, it means we are either adding/removing
|
||||
// a line from the matching table, hence keep same number of displayed
|
||||
// proposition below by setting offset to 0 and limit to the current
|
||||
// number of proposition loaded
|
||||
offset = 0;
|
||||
limit = line.limit_override;
|
||||
}
|
||||
return this._rpc({
|
||||
model: 'account.reconciliation.widget',
|
||||
method: 'get_move_lines_for_bank_statement_line',
|
||||
@@ -1505,8 +1508,12 @@ var ManualModel = StatementModel.extend({
|
||||
});
|
||||
})));
|
||||
var filter = line.filter || "";
|
||||
var limit = this.limitMoveLines;
|
||||
var offset = line.offset;
|
||||
var limit = this.limitMoveLines+1;
|
||||
if (line.limit_override) {
|
||||
limit = line.limit_override;
|
||||
offset = 0;
|
||||
}
|
||||
var args = [line.account_id.id, line.partner_id, excluded_ids, filter, offset, limit];
|
||||
return this._rpc({
|
||||
model: 'account.reconciliation.widget',
|
||||
|
||||
@@ -270,8 +270,7 @@ var LineRenderer = Widget.extend(FieldManagerMixin, {
|
||||
'click .accounting_view tfoot td:not(.cell_left,.cell_right)': '_onShowPanel',
|
||||
'click tfoot .cell_left, tfoot .cell_right': '_onSearchBalanceAmount',
|
||||
'input input.filter': '_onFilterChange',
|
||||
'click .match_controls .fa-chevron-left:not(.disabled)': '_onPrevious',
|
||||
'click .match_controls .fa-chevron-right:not(.disabled)': '_onNext',
|
||||
'click .match .load-more a': '_onLoadMore',
|
||||
'click .match .mv_line td': '_onSelectMoveLine',
|
||||
'click .accounting_view tbody .mv_line td': '_onSelectProposition',
|
||||
'click .o_reconcile_models button': '_onQuickCreateProposition',
|
||||
@@ -427,9 +426,12 @@ var LineRenderer = Widget.extend(FieldManagerMixin, {
|
||||
});
|
||||
|
||||
// mv_lines
|
||||
var $mv_lines = this.$('.match table tbody').empty();
|
||||
var stateMvLines = state.mv_lines || [];
|
||||
_.each(stateMvLines.slice(0, state.limitMoveLines), function (line) {
|
||||
var recs_count = stateMvLines.length > 0 ? stateMvLines[0].recs_count : 0;
|
||||
var remaining = recs_count - stateMvLines.length;
|
||||
var $mv_lines = this.$('.match table tbody').empty();
|
||||
|
||||
_.each(stateMvLines, function (line) {
|
||||
var $line = $(qweb.render("reconciliation.line.mv_line", {'line': line, 'state': state}));
|
||||
if (!isNaN(line.id)) {
|
||||
$('<span class="line_info_button fa fa-info-circle"/>')
|
||||
@@ -438,8 +440,8 @@ var LineRenderer = Widget.extend(FieldManagerMixin, {
|
||||
}
|
||||
$mv_lines.append($line);
|
||||
});
|
||||
this.$('.match .fa-chevron-right').toggleClass('disabled', stateMvLines.length <= state.limitMoveLines);
|
||||
this.$('.match .fa-chevron-left').toggleClass('disabled', !state.offset);
|
||||
this.$('.match div.load-more').toggle(remaining > 0);
|
||||
this.$('.match div.load-more span').text(remaining);
|
||||
this.$('.match').css('max-height', !stateMvLines.length && !state.filter.length ? '0px' : '');
|
||||
|
||||
// balance
|
||||
@@ -733,13 +735,8 @@ var LineRenderer = Widget.extend(FieldManagerMixin, {
|
||||
/**
|
||||
* @private
|
||||
*/
|
||||
_onPrevious: function () {
|
||||
this.trigger_up('change_offset', {'data': -1});
|
||||
},
|
||||
/**
|
||||
* @private
|
||||
*/
|
||||
_onNext: function () {
|
||||
_onLoadMore: function (ev) {
|
||||
ev.preventDefault();
|
||||
this.trigger_up('change_offset', {'data': 1});
|
||||
},
|
||||
/**
|
||||
|
||||
@@ -144,13 +144,14 @@
|
||||
<div t-name="reconciliation.line.match">
|
||||
<div class="match_controls">
|
||||
<input class="filter" placeholder="Filter..." type="text" value=""/>
|
||||
<span class="float-right fa fa-chevron-right disabled" role="img" aria-label="Previous" title="Previous"></span>
|
||||
<span class="float-right fa fa-chevron-left disabled" role="img" aria-label="Next" title="Next"></span>
|
||||
</div>
|
||||
<table>
|
||||
<tbody>
|
||||
</tbody>
|
||||
</table>
|
||||
<div class="load-more text-center">
|
||||
<a href="#">Load more... (<span></span> remaining)</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
@@ -209,9 +209,16 @@ var db = {
|
||||
if (!Datas.used.mv_lines[key]) {
|
||||
throw new Error("Unknown parameters for get_move_lines_for_bank_statement_line: '"+ key + "'");
|
||||
}
|
||||
return $.when(_.filter(Datas.used.mv_lines[key], function (line) {
|
||||
return excluded_ids.indexOf(line.id) === -1 && (!partner_id || partner_id === line.partner_id);
|
||||
}));
|
||||
var lines = Datas.used.mv_lines[key]
|
||||
.filter(function (line) {
|
||||
return excluded_ids.indexOf(line.id) === -1 && (!partner_id || partner_id === line.partner_id);
|
||||
})
|
||||
.map(function (line, i, src) {
|
||||
line.recs_count = src.length;
|
||||
return line;
|
||||
})
|
||||
.slice(0, options.params.limitMoveLines);
|
||||
return $.when(lines);
|
||||
},
|
||||
get_bank_statement_line_data: function (args) {
|
||||
var ids = args[0];
|
||||
@@ -226,9 +233,16 @@ var db = {
|
||||
if (!Datas.used.move_lines_for_manual_reconciliation[key]) {
|
||||
throw new Error("Unknown parameters for get_move_lines_for_manual_reconciliation: '"+ key + "'");
|
||||
}
|
||||
return $.when(_.filter(Datas.used.move_lines_for_manual_reconciliation[key], function (line) {
|
||||
return excluded_ids.indexOf(line.id) === -1;
|
||||
}));
|
||||
var lines = Datas.used.move_lines_for_manual_reconciliation[key]
|
||||
.filter(function (line) {
|
||||
return excluded_ids.indexOf(line.id) === -1;
|
||||
})
|
||||
.map(function (line, i, src) {
|
||||
line.recs_count = src.length;
|
||||
return line;
|
||||
})
|
||||
.slice(0, options.params.limitMoveLines);
|
||||
return $.when(lines);
|
||||
},
|
||||
get_all_data_for_manual_reconciliation: function (args) {
|
||||
var key = JSON.stringify(args);
|
||||
@@ -382,30 +396,42 @@ var data_widget = [
|
||||
|
||||
var mv_lines = {
|
||||
'[]': [],
|
||||
'[5,"",0,6]': [
|
||||
'[5,"",0,5]': [
|
||||
{'account_type': "receivable", 'amount_currency_str': "", 'currency_id': false, 'date_maturity': "2017-02-07", 'date': "2017-01-08", 'total_amount_str': "$ 650.00", 'partner_id': 8, 'account_name': "101200 Account Receivable", 'name': "INV/2017/0002", 'partner_name': "Agrolait", 'total_amount_currency_str': "", 'id': 109, 'credit': 0.0, 'journal_id': [1, "Customer Invoices"], 'amount_str': "$ 650.00", 'debit': 650.0, 'account_code': "101200", 'ref': "", 'already_paid': false},
|
||||
{'account_type': "receivable", 'amount_currency_str': "", 'currency_id': false, 'date_maturity': "2017-02-07", 'date': "2017-01-08", 'total_amount_str': "$ 525.00", 'partner_id': 8, 'account_name': "101200 Account Receivable", 'name': "INV/2017/0003", 'partner_name': "Agrolait", 'total_amount_currency_str': "", 'id': 112, 'credit': 0.0, 'journal_id': [1, "Customer Invoices"], 'amount_str': "$ 525.00", 'debit': 525.0, 'account_code': "101200", 'ref': "", 'already_paid': false},
|
||||
{'account_type': "receivable", 'amount_currency_str': "", 'currency_id': false, 'date_maturity': "2017-02-07", 'date': "2017-01-08", 'total_amount_str': "$ 650.00", 'partner_id': 12, 'account_name': "101200 Account Receivable", 'name': "INV/2017/0012", 'partner_name': "Camptocamp", 'total_amount_currency_str': "", 'id': 134, 'credit': 0.0, 'journal_id': [1, "Customer Invoices"], 'amount_str': "$ 650.00", 'debit': 650.0, 'account_id': [287, "101200 Account Receivable"], 'account_code': "101200", 'ref': "", 'already_paid': false},
|
||||
{'account_type': "receivable", 'amount_currency_str': "", 'currency_id': false, 'date_maturity': "2017-02-28", 'date': "2017-01-01", 'total_amount_str': "$ 4,610.00", 'partner_id': 12, 'account_name': "101200 Account Receivable", 'name': "INV/2017/0001", 'partner_name': "Camptocamp", 'total_amount_currency_str': "", 'id': 106, 'credit': 0.0, 'journal_id': [1, "Customer Invoices"], 'amount_str': "$ 4,610.00", 'debit': 4610.0, 'account_id': [287, "101200 Account Receivable"], 'account_code': "101200", 'ref': "", 'already_paid': false},
|
||||
{'account_type': "payable", 'amount_currency_str': "", 'currency_id': false, 'date_maturity': "2017-02-28", 'date': "2017-01-01", 'total_amount_str': "$ 10,000.00", 'partner_id': 12, 'account_name': "Account Payable", 'name': "BILL/2017/0001", 'partner_name': "Camptocamp", 'total_amount_currency_str': "", 'id': 114, 'credit': 10000.0, 'journal_id': [2, "Vendor Bills"], 'amount_str': "$ 10,000.00", 'debit': 0.0, 'account_id': [284, "101110 Stock Valuation Account"], 'account_code': "111100", 'ref': "", 'already_paid': false}
|
||||
],
|
||||
'[5,"b",0,6]': [
|
||||
'[5,"b",0,5]': [
|
||||
{'account_type': "liquidity", 'amount_currency_str': "", 'currency_id': false, 'date_maturity': "2017-01-23", 'date': "2017-01-23", 'total_amount_str': "$ 100.00", 'partner_id': 8, 'account_name': "Bank", 'name': "BNK1/2017/0003: CUST.IN/2017/0001", 'partner_name': "Agrolait", 'total_amount_currency_str': "", 'id': 394, 'credit': 0.0, 'journal_id': "Bank", 'amount_str': "$ 100.00", 'debit': 100.0, 'account_code': "101401", 'ref': "", 'already_paid': true},
|
||||
{'account_type': "liquidity", 'amount_currency_str': "", 'currency_id': false, 'date_maturity': "2017-01-23", 'date': "2017-01-23", 'total_amount_str': "$ 525.50", 'partner_id': 8, 'account_name': "Bank", 'name': "BNK1/2017/0004: CUST.IN/2017/0002", 'partner_name': "Agrolait", 'total_amount_currency_str': "", 'id': 396, 'credit': 0.0, 'journal_id': "Bank", 'amount_str': "$ 525.50", 'debit': 525.5, 'account_code': "101401", 'ref': "INV/2017/0003", 'already_paid': true},
|
||||
],
|
||||
'[6,"",0,6]': [
|
||||
'[6,"",0,5]': [
|
||||
{'account_type': "liquidity", 'amount_currency_str': "", 'currency_id': false, 'date_maturity': "2017-01-23", 'date': "2017-01-23", 'total_amount_str': "$ 376.00", 'partner_id': 7, 'account_name': "Bank", 'name': "BNK1/2017/0002: SUPP.OUT/2017/0002", 'partner_name': "ASUSTeK", 'total_amount_currency_str': "", 'id': 392, 'credit': 376.0, 'journal_id': "Bank", 'amount_str': "$ 376.00", 'debit': 0.0, 'account_code': "101401", 'ref': "BILL/2017/0003", 'already_paid': true},
|
||||
{'account_type': "liquidity", 'amount_currency_str': "", 'currency_id': false, 'date_maturity': "2017-01-23", 'date': "2017-01-23", 'total_amount_str': "$ 100.00", 'partner_id': 8, 'account_name': "Bank", 'name': "BNK1/2017/0003: CUST.IN/2017/0001", 'partner_name': "Agrolait", 'total_amount_currency_str': "", 'id': 394, 'credit': 0.0, 'journal_id': "Bank", 'amount_str': "$ 100.00", 'debit': 100.0, 'account_code': "101401", 'ref': "", 'already_paid': true},
|
||||
{'account_type': "liquidity", 'amount_currency_str': "", 'currency_id': false, 'date_maturity': "2017-01-23", 'date': "2017-01-23", 'total_amount_str': "$ 525.50", 'partner_id': 8, 'account_name': "Bank", 'name': "BNK1/2017/0004: CUST.IN/2017/0002", 'partner_name': "Agrolait", 'total_amount_currency_str': "", 'id': 396, 'credit': 0.0, 'journal_id': "Bank", 'amount_str': "$ 525.50", 'debit': 525.5, 'account_code': "101401", 'ref': "INV/2017/0003", 'already_paid': true},
|
||||
{'account_type': "receivable", 'amount_currency_str': "", 'currency_id': false, 'date_maturity': "2017-02-07", 'date': "2017-01-08", 'total_amount_str': "$ 650.00", 'partner_id': 8, 'account_name': "101200 Account Receivable", 'name': "INV/2017/0002", 'partner_name': "Agrolait", 'total_amount_currency_str': "", 'id': 109, 'credit': 0.0, 'journal_id': [1, "Customer Invoices"], 'amount_str': "$ 650.00", 'debit': 650.0, 'account_code': "101200", 'ref': "", 'already_paid': false},
|
||||
{'account_type': "receivable", 'amount_currency_str': "", 'currency_id': false, 'date_maturity': "2017-02-22", 'date': "2017-01-23", 'total_amount_str': "$ 525.00", 'partner_id': 8, 'account_name': "101200 Account Receivable", 'name': "INV/2017/0004", 'partner_name': "Agrolait", 'total_amount_currency_str': "", 'id': 399, 'credit': 0.0, 'journal_id': [1, "Customer Invoices"], 'amount_str': "$ 525.00", 'debit': 525.0, 'account_code': "101200", 'ref': "", 'already_paid': false},
|
||||
{'account_type': "receivable", 'amount_currency_str': "", 'currency_id': false, 'date_maturity': "2017-02-28", 'date': "2017-01-01", 'total_amount_str': "$ 4,610.00", 'partner_id': 12, 'account_name': "101200 Account Receivable", 'name': "INV/2017/0001", 'partner_name': "Camptocamp", 'total_amount_currency_str': "", 'id': 106, 'credit': 0.0, 'journal_id': [1, "Customer Invoices"], 'amount_str': "$ 4,610.00", 'debit': 4610.0, 'account_code': "101200", 'ref': "", 'already_paid': false}
|
||||
{'account_type': "receivable", 'amount_currency_str': "", 'currency_id': false, 'date_maturity': "2017-02-28", 'date': "2017-01-01", 'total_amount_str': "$ 4,610.00", 'partner_id': 12, 'account_name': "101200 Account Receivable", 'name': "INV/2017/0001", 'partner_name': "Camptocamp", 'total_amount_currency_str': "", 'id': 106, 'credit': 0.0, 'journal_id': [1, "Customer Invoices"], 'amount_str': "$ 4,610.00", 'debit': 4610.0, 'account_code': "101200", 'ref': "", 'already_paid': false},
|
||||
{'account_type': "payable", 'amount_currency_str': "", 'currency_id': false, 'date_maturity': "2017-02-28", 'date': "2017-01-01", 'total_amount_str': "$ 10,000.00", 'partner_id': 12, 'account_name': "Account Payable", 'name': "BILL/2017/0001", 'partner_name': "Camptocamp", 'total_amount_currency_str': "", 'id': 114, 'credit': 10000.0, 'journal_id': [2, "Vendor Bills"], 'amount_str': "$ 10,000.00", 'debit': 0.0, 'account_code': "111100", 'ref': "", 'already_paid': false},
|
||||
{'account_type': "payable", 'amount_currency_str': "", 'currency_id': false, 'date_maturity': "2017-02-28", 'date': "2017-01-15", 'total_amount_str': "$ 5,749.99", 'partner_id': 7, 'account_name': "Account Payable", 'name': "BILL/2017/0002", 'partner_name': "ASUSTeK", 'total_amount_currency_str': "", 'id': 117, 'credit': 5749.99, 'journal_id': [2, "Vendor Bills"], 'amount_str': "$ 5,749.99", 'debit': 0.0, 'account_code': "111100", 'ref': "", 'already_paid': false}
|
||||
],
|
||||
'[6,"",5,6]': [
|
||||
'[6,"",5,5]': [
|
||||
{'account_type': "receivable", 'amount_currency_str': "", 'currency_id': false, 'date_maturity': "2017-02-28", 'date': "2017-01-01", 'total_amount_str': "$ 4,610.00", 'partner_id': 12, 'account_name': "101200 Account Receivable", 'name': "INV/2017/0001", 'partner_name': "Camptocamp", 'total_amount_currency_str': "", 'id': 106, 'credit': 0.0, 'journal_id': [1, "Customer Invoices"], 'amount_str': "$ 4,610.00", 'debit': 4610.0, 'account_code': "101200", 'ref': "", 'already_paid': false},
|
||||
{'account_type': "payable", 'amount_currency_str': "", 'currency_id': false, 'date_maturity': "2017-02-28", 'date': "2017-01-01", 'total_amount_str': "$ 10,000.00", 'partner_id': 12, 'account_name': "Account Payable", 'name': "BILL/2017/0001", 'partner_name': "Camptocamp", 'total_amount_currency_str': "", 'id': 114, 'credit': 10000.0, 'journal_id': [2, "Vendor Bills"], 'amount_str': "$ 10,000.00", 'debit': 0.0, 'account_code': "111100", 'ref': "", 'already_paid': false},
|
||||
{'account_type': "payable", 'amount_currency_str': "", 'currency_id': false, 'date_maturity': "2017-02-28", 'date': "2017-01-15", 'total_amount_str': "$ 5,749.99", 'partner_id': 7, 'account_name': "Account Payable", 'name': "BILL/2017/0002", 'partner_name': "ASUSTeK", 'total_amount_currency_str': "", 'id': 117, 'credit': 5749.99, 'journal_id': [2, "Vendor Bills"], 'amount_str': "$ 5,749.99", 'debit': 0.0, 'account_code': "111100", 'ref': "", 'already_paid': false}
|
||||
],
|
||||
'[7,"",0,5]': [
|
||||
{'account_type': "receivable", 'amount_currency_str': "", 'currency_id': false, 'date_maturity': "2017-02-07", 'date': "2017-01-08", 'total_amount_str': "$ 650.00", 'partner_id': 12, 'account_name': "101200 Account Receivable", 'name': "INV/2017/0012", 'partner_name': "Camptocamp", 'total_amount_currency_str': "", 'id': 133, 'credit': 0.0, 'journal_id': [1, "Customer Invoices"], 'amount_str': "$ 650.00", 'debit': 650.0, 'account_id': [287, "101200 Account Receivable"], 'account_code': "101200", 'ref': "", 'already_paid': false},
|
||||
{'account_type': "receivable", 'amount_currency_str': "", 'currency_id': false, 'date_maturity': "2017-02-28", 'date': "2017-01-01", 'total_amount_str': "$ 4,610.00", 'partner_id': 12, 'account_name': "101200 Account Receivable", 'name': "INV/2017/0001", 'partner_name': "Camptocamp", 'total_amount_currency_str': "", 'id': 106, 'credit': 0.0, 'journal_id': [1, "Customer Invoices"], 'amount_str': "$ 4,610.00", 'debit': 4610.0, 'account_id': [287, "101200 Account Receivable"], 'account_code': "101200", 'ref': "", 'already_paid': false},
|
||||
{'account_type': "payable", 'amount_currency_str': "", 'currency_id': false, 'date_maturity': "2017-02-28", 'date': "2017-01-01", 'total_amount_str': "$ 10,000.00", 'partner_id': 12, 'account_name': "Account Payable", 'name': "BILL/2017/0001", 'partner_name': "Camptocamp", 'total_amount_currency_str': "", 'id': 114, 'credit': 10000.0, 'journal_id': [2, "Vendor Bills"], 'amount_str': "$ 10,000.00", 'debit': 0.0, 'account_id': [284, "101110 Stock Valuation Account"], 'account_code': "111100", 'ref': "", 'already_paid': false},
|
||||
{'account_type': "liquidity", 'amount_currency_str': "", 'currency_id': false, 'date_maturity': "2017-01-23", 'date': "2017-01-23", 'total_amount_str': "$ 376.00", 'partner_id': 7, 'account_name': "Bank", 'name': "BNK1/2017/0002: SUPP.OUT/2017/0002", 'partner_name': "ASUSTeK", 'total_amount_currency_str': "", 'id': 392, 'credit': 376.0, 'journal_id': "Bank", 'amount_str': "$ 376.00", 'debit': 0.0, 'account_code': "101401", 'ref': "BILL/2017/0003", 'already_paid': true},
|
||||
{'account_type': "liquidity", 'amount_currency_str': "", 'currency_id': false, 'date_maturity': "2017-01-23", 'date': "2017-01-23", 'total_amount_str': "$ 100.00", 'partner_id': 8, 'account_name': "Bank", 'name': "BNK1/2017/0003: CUST.IN/2017/0001", 'partner_name': "Agrolait", 'total_amount_currency_str': "", 'id': 394, 'credit': 0.0, 'journal_id': "Bank", 'amount_str': "$ 100.00", 'debit': 100.0, 'account_code': "101401", 'ref': "", 'already_paid': true},
|
||||
{'account_type': "liquidity", 'amount_currency_str': "", 'currency_id': false, 'date_maturity': "2017-01-23", 'date': "2017-01-23", 'total_amount_str': "$ 525.50", 'partner_id': 8, 'account_name': "Bank", 'name': "BNK1/2017/0004: CUST.IN/2017/0002", 'partner_name': "Agrolait", 'total_amount_currency_str': "", 'id': 396, 'credit': 0.0, 'journal_id': "Bank", 'amount_str': "$ 525.50", 'debit': 525.5, 'account_code': "101401", 'ref': "INV/2017/0003", 'already_paid': true},
|
||||
{'account_type': "receivable", 'amount_currency_str': "", 'currency_id': false, 'date_maturity': "2017-02-07", 'date': "2017-01-08", 'total_amount_str': "$ 650.00", 'partner_id': 8, 'account_name': "101200 Account Receivable", 'name': "INV/2017/0002", 'partner_name': "Agrolait", 'total_amount_currency_str': "", 'id': 109, 'credit': 0.0, 'journal_id': [1, "Customer Invoices"], 'amount_str': "$ 650.00", 'debit': 650.0, 'account_code': "101200", 'ref': "", 'already_paid': false},
|
||||
{'account_type': "receivable", 'amount_currency_str': "", 'currency_id': false, 'date_maturity': "2017-02-22", 'date': "2017-01-23", 'total_amount_str': "$ 525.00", 'partner_id': 8, 'account_name': "101200 Account Receivable", 'name': "INV/2017/0004", 'partner_name': "Agrolait", 'total_amount_currency_str': "", 'id': 399, 'credit': 0.0, 'journal_id': [1, "Customer Invoices"], 'amount_str': "$ 525.00", 'debit': 525.0, 'account_code': "101200", 'ref': "", 'already_paid': false},
|
||||
],
|
||||
'[7,"",0,6]': [
|
||||
{'account_type': "receivable", 'amount_currency_str': "", 'currency_id': false, 'date_maturity': "2017-02-07", 'date': "2017-01-08", 'total_amount_str': "$ 650.00", 'partner_id': 12, 'account_name': "101200 Account Receivable", 'name': "INV/2017/0012", 'partner_name': "Camptocamp", 'total_amount_currency_str': "", 'id': 133, 'credit': 0.0, 'journal_id': [1, "Customer Invoices"], 'amount_str': "$ 650.00", 'debit': 650.0, 'account_id': [287, "101200 Account Receivable"], 'account_code': "101200", 'ref': "", 'already_paid': false},
|
||||
{'account_type': "receivable", 'amount_currency_str': "", 'currency_id': false, 'date_maturity': "2017-02-28", 'date': "2017-01-01", 'total_amount_str': "$ 4,610.00", 'partner_id': 12, 'account_name': "101200 Account Receivable", 'name': "INV/2017/0001", 'partner_name': "Camptocamp", 'total_amount_currency_str': "", 'id': 106, 'credit': 0.0, 'journal_id': [1, "Customer Invoices"], 'amount_str': "$ 4,610.00", 'debit': 4610.0, 'account_id': [287, "101200 Account Receivable"], 'account_code': "101200", 'ref': "", 'already_paid': false},
|
||||
@@ -416,7 +442,7 @@ var mv_lines = {
|
||||
{'account_type': "receivable", 'amount_currency_str': "", 'currency_id': false, 'date_maturity': "2017-02-07", 'date': "2017-01-08", 'total_amount_str': "$ 650.00", 'partner_id': 8, 'account_name': "101200 Account Receivable", 'name': "INV/2017/0002", 'partner_name': "Agrolait", 'total_amount_currency_str': "", 'id': 109, 'credit': 0.0, 'journal_id': [1, "Customer Invoices"], 'amount_str': "$ 650.00", 'debit': 650.0, 'account_code': "101200", 'ref': "", 'already_paid': false},
|
||||
{'account_type': "receivable", 'amount_currency_str': "", 'currency_id': false, 'date_maturity': "2017-02-22", 'date': "2017-01-23", 'total_amount_str': "$ 525.00", 'partner_id': 8, 'account_name': "101200 Account Receivable", 'name': "INV/2017/0004", 'partner_name': "Agrolait", 'total_amount_currency_str': "", 'id': 399, 'credit': 0.0, 'journal_id': [1, "Customer Invoices"], 'amount_str': "$ 525.00", 'debit': 525.0, 'account_code': "101200", 'ref': "", 'already_paid': false},
|
||||
],
|
||||
'[8,"",0,6]': [],
|
||||
'[8,"",0,5]': [],
|
||||
};
|
||||
|
||||
var auto_reconciliation = {
|
||||
@@ -474,7 +500,7 @@ var data_for_manual_reconciliation_widget = {
|
||||
};
|
||||
|
||||
var move_lines_for_manual_reconciliation = {
|
||||
'[287,8,"",0,6]': [
|
||||
'[287,8,"",0,5]': [
|
||||
{'account_type': "receivable", 'account_id': [287, "101200 Account Receivable"], 'amount_currency_str': "10,222.00 €", 'currency_id': 1, 'date_maturity': "2017-02-08", 'date': "2017-02-08", 'total_amount_str': "$ 11,000.00", 'partner_id': 8, 'account_name': "101200 Account Receivable", 'name': "INV/2017/0004: Customer Payment", 'partner_name': "Agrolait", 'total_amount_currency_str': "", 'id': 17, 'credit': 11000.0, 'journal_id': [1, "Customer Invoices"], 'amount_str': "$ 11,000.00", 'debit': 0.0, 'account_code': "101200", 'ref': "", 'already_paid': false},
|
||||
{'account_type': "receivable", 'account_id': [7, "101200 Account Receivable"], 'amount_currency_str': "", 'currency_id': false, 'date_maturity': "2017-02-09", 'date': "2017-02-09", 'total_amount_str': "$ 1,000.00", 'partner_id': 8, 'account_name': "101200 Account Receivable", 'name': "INV/2017/0005: Customer Payment", 'partner_name': "Agrolait", 'total_amount_currency_str': "", 'id': 19, 'credit': 1000.0, 'journal_id': [1, "Customer Invoices"], 'amount_str': "$ 1,000.00", 'debit': 0.0, 'account_code': "101200", 'ref': "", 'already_paid': false},
|
||||
{'account_type': "receivable", 'account_id': [287, "101200 Account Receivable"], 'amount_currency_str': "", 'currency_id': false, 'date_maturity': "2017-02-09", 'date': "2017-02-09", 'total_amount_str': "$ 180.00", 'partner_id': 8, 'account_name': "101200 Account Receivable", 'name': "BILL/2017/0003: Customer Payment", 'partner_name': "Agrolait", 'total_amount_currency_str': "", 'id': 21, 'credit': 180.0, 'journal_id': [2, "Vendor Bills"], 'amount_str': "$ 180.00", 'debit': 0.0, 'account_code': "101200", 'ref': "fddfgfdgfdgsdfg", 'already_paid': false},
|
||||
@@ -482,7 +508,7 @@ var move_lines_for_manual_reconciliation = {
|
||||
{'account_type': "receivable", 'account_id': [287, "101200 Account Receivable"], 'amount_currency_str': "", 'currency_id': false, 'date_maturity': "2017-03-10", 'date': "2017-02-08", 'total_amount_str': "$ 650.00", 'partner_id': 8, 'account_name': "101200 Account Receivable", 'name': "INV/2017/0012", 'partner_name': "Agrolait", 'total_amount_currency_str': "", 'id': 6, 'credit': 0.0, 'journal_id': [1, "Customer Invoices"], 'amount_str': "$ 1000.00", 'debit': 1000.0, 'account_code': "101200", 'ref': "", 'already_paid': false},
|
||||
{'account_type': "receivable", 'account_id': [287, "101200 Account Receivable"], 'amount_currency_str': "", 'currency_id': false, 'date_maturity': "2017-03-10", 'date': "2017-02-08", 'total_amount_str': "$ 525.00", 'partner_id': 8, 'account_name': "101200 Account Receivable", 'name': "INV/2017/0003", 'partner_name': "Agrolait", 'total_amount_currency_str': "", 'id': 9, 'credit': 0.0, 'journal_id': [1, "Customer Invoices"], 'amount_str': "$ 525.00", 'debit': 525.0, 'account_code': "101200", 'ref': "", 'already_paid': false}
|
||||
],
|
||||
'[7,12,"",0,6]': [
|
||||
'[7,12,"",0,5]': [
|
||||
{'account_type': "receivable", 'account_id': [287, "101200 Account Receivable"], 'amount_currency_str': "", 'currency_id': false, 'date_maturity': "2017-02-08", 'date': "2017-02-08", 'total_amount_str': "$ 11,000.00", 'partner_id': 12, 'account_name': "101200 Account Receivable", 'name': "INV/2017/0004: Customer Payment", 'partner_name': "Camptocamp", 'total_amount_currency_str': "", 'id': 17, 'credit': 11000.0, 'journal_id': [1, "Customer Invoices"], 'amount_str': "$ 11,000.00", 'debit': 0.0, 'account_code': "101200", 'ref': "", 'already_paid': false},
|
||||
{'account_type': "receivable", 'account_id': [7, "101200 Account Receivable"], 'amount_currency_str': "", 'currency_id': false, 'date_maturity': "2017-02-09", 'date': "2017-02-09", 'total_amount_str': "$ 1,000.00", 'partner_id': 12, 'account_name': "101200 Account Receivable", 'name': "INV/2017/0005: Customer Payment", 'partner_name': "Camptocamp", 'total_amount_currency_str': "", 'id': 19, 'credit': 1000.0, 'journal_id': [1, "Customer Invoices"], 'amount_str': "$ 1,000.00", 'debit': 0.0, 'account_code': "101200", 'ref': "", 'already_paid': false},
|
||||
{'account_type': "receivable", 'account_id': [287, "101200 Account Receivable"], 'amount_currency': 100, 'amount_currency_str': "100.00 €", 'currency_id': 1, 'date_maturity': "2017-02-09", 'date': "2017-02-09", 'total_amount_str': "$ 170.00", 'partner_id': 12, 'account_name': "101200 Account Receivable", 'name': "INV/2017/0003: Customer Payment", 'partner_name': "Camptocamp", 'total_amount_currency_str': "", 'id': 21, 'credit': 0.0, 'journal_id': [1, "Customer Invoices"], 'amount_str': "$ 170.00", 'debit': 170.0, 'account_code': "101200", 'ref': "INV fddfgfdgfdgsdfg", 'already_paid': false},
|
||||
@@ -495,7 +521,7 @@ var move_lines_for_manual_reconciliation = {
|
||||
{'account_type': "receivable", 'account_id': [284, "111100 Account Payable"], 'amount_currency_str': "", 'currency_id': false, 'date_maturity': "2017-02-09", 'date': "2017-02-09", 'total_amount_str': "$ 1,000.00", 'partner_id': 8, 'account_name': "101200 Account Receivable", 'name': "INV/2017/0005: Customer Payment", 'partner_name': "Agrolait", 'total_amount_currency_str': "", 'id': 19, 'credit': 1000.0, 'journal_id': [1, "Customer Invoices"], 'amount_str': "$ 1,000.00", 'debit': 0.0, 'account_code': "111100", 'ref': "", 'already_paid': false},
|
||||
{'account_type': "receivable", 'account_id': [284, "111100 Account Payable"], 'amount_currency_str': "", 'currency_id': false, 'date_maturity': "2017-02-09", 'date': "2017-02-09", 'total_amount_str': "$ 180.00", 'partner_id': 8, 'account_name': "101200 Account Receivable", 'name': "BILL/2017/0003: Customer Payment", 'partner_name': "Agrolait", 'total_amount_currency_str': "", 'id': 21, 'credit': 180.0, 'journal_id': [2, "Vendor Bills"], 'amount_str': "$ 180.00", 'debit': 0.0, 'account_code': "111100", 'ref': "fddfgfdgfdgsdfg", 'already_paid': false},
|
||||
],
|
||||
'[283,null,"",0,6]': [
|
||||
'[283,null,"",0,5]': [
|
||||
{'account_type': "other", 'amount_currency_str': "", 'currency_id': false, 'date_maturity': "2017-02-16", 'date': "2017-02-16", 'total_amount_str': "$ 1,000.00", 'partner_id': 8, 'account_name': "101000 Current Assets", 'name': "BNK1/2017/0006: Customer Payment", 'partner_name': "Agrolait", 'total_amount_currency_str': "", 'id': 399, 'credit': 1000.0, 'journal_id': [3, "Bank"], 'amount_str': "$ 1,000.00", 'debit': 0.0, 'account_code': "101000", 'ref': "", 'already_paid': false},
|
||||
{'account_type': "other", 'amount_currency_str': "", 'currency_id': false, 'date_maturity': "2017-03-18", 'date': "2017-02-16", 'total_amount_str': "$ 1,000.00", 'partner_id': 8, 'account_name': "101000 Current Assets", 'name': "INV/2017/0006", 'partner_name': "Agrolait", 'total_amount_currency_str': "", 'id': 402, 'credit': 0.0, 'journal_id': [1, "Customer Invoices"], 'amount_str': "$ 1,000.00", 'debit': 1000.0, 'account_code': "101000", 'ref': "", 'already_paid': false}
|
||||
],
|
||||
@@ -623,7 +649,7 @@ QUnit.module('account', {
|
||||
});
|
||||
|
||||
QUnit.test('Reconciliation basic data', function (assert) {
|
||||
assert.expect(14);
|
||||
assert.expect(17);
|
||||
|
||||
var clientAction = new ReconciliationClientAction.StatementAction(null, this.params.options);
|
||||
testUtils.addMockEnvironment(clientAction, {
|
||||
@@ -657,10 +683,13 @@ QUnit.module('account', {
|
||||
" 101401 2017-01-23 ASUSTeK: BNK1/2017/0002: SUPP.OUT/2017/0002 : BILL/2017/0003 $ 376.00 101401 2017-01-23 Agrolait: BNK1/2017/0003: CUST.IN/2017/0001 $ 100.00 101401 2017-01-23 Agrolait: BNK1/2017/0004: CUST.IN/2017/0002 : INV/2017/0003 $ 525.50 101200 2017-02-07 Agrolait: INV/2017/0002 $ 650.00 101200 2017-02-22 Agrolait: INV/2017/0004 $ 525.00 ",
|
||||
"should display 4 account move lines who contains the account_code, due_date, label and the credit");
|
||||
assert.strictEqual(clientAction.widgets[1].$('.mv_line .cell_left:not(:empty)').length, 1, "should display only 1 debit account move lines");
|
||||
clientAction.widgets[1].$('.match_controls .fa-chevron-right').trigger('click');
|
||||
assert.strictEqual(clientAction.widgets[1].$('.mv_line').text().replace(/[\n\r\s]+/g, ' '),
|
||||
" 101200 2017-02-28 Camptocamp: INV/2017/0001 $ 4,610.00 111100 2017-02-28 Camptocamp: BILL/2017/0001 $ 10,000.00 111100 2017-02-28 ASUSTeK: BILL/2017/0002 $ 5,749.99 ",
|
||||
"should display the next 5 account move lines");
|
||||
|
||||
// load more
|
||||
assert.ok(clientAction.widgets[1].$('.match div.load-more a:visible').length, "should display the 'load more' button");
|
||||
assert.equal(clientAction.widgets[1].$('.match div.load-more span').text(), 3, "should display 3 items remaining");
|
||||
clientAction.widgets[1].$('.match div.load-more a').trigger('click');
|
||||
assert.strictEqual(clientAction.widgets[1].$('.mv_line').length, 8, "should load 3 more records"),
|
||||
assert.notOk(clientAction.widgets[1].$('.match div.load-more a:visible').length, "should not display the 'load more' button anymore");
|
||||
|
||||
assert.ok(clientAction.widgets[0].$('caption button.btn-secondary:visible').length, "should display the 'validate' button");
|
||||
assert.ok(clientAction.widgets[1].$('caption .text-danger:visible').length, "should display the 'Select a partner or choose a counterpart' message");
|
||||
@@ -962,14 +991,14 @@ QUnit.module('account', {
|
||||
widget.$('.accounting_view .mv_line .cell_label').trigger('click');
|
||||
assert.strictEqual(widget.$('.o_input_dropdown input').val(), "Camptocamp", "the partner many2one should display agrolait");
|
||||
assert.strictEqual(widget.$('.match table tr').length, 3, "Camptocamp should have 3 propositions for reconciliation");
|
||||
assert.strictEqual(widget.$('.match .match_controls .fa:not(.disabled)').length, 0, "should not display the right arrow");
|
||||
assert.notOk(widget.$('.match div.load-more a:visible').length, "should not display the load more button");
|
||||
|
||||
// Simulate remove partner
|
||||
widget.$('.o_input_dropdown input').trigger('click');
|
||||
widget.$('.o_input_dropdown input').val('').trigger('keyup').trigger('blur');
|
||||
assert.strictEqual(widget.$('.o_input_dropdown input').val(), "", "the partner many2one should be empty");
|
||||
assert.strictEqual(widget.$('.match table tr.mv_line').length, 5, "should have 5 propositions for reconciliation if partner is false");
|
||||
assert.strictEqual(widget.$('.match .match_controls > .fa:not(.disabled)').length, 1, "should display the right arrow");
|
||||
assert.ok(widget.$('.match div.load-more a:visible').length, "should display the load more button");
|
||||
|
||||
clientAction.destroy();
|
||||
});
|
||||
@@ -1539,8 +1568,8 @@ QUnit.module('account', {
|
||||
*/
|
||||
|
||||
// modify the second line that is already in db to put it at $999
|
||||
var indexModif = _.findIndex(this.params.mv_lines['[5,"",0,6]'], function (line) {return line.id === 112});
|
||||
this.params.mv_lines['[5,"",0,6]'][indexModif] =
|
||||
var indexModif = _.findIndex(this.params.mv_lines['[5,"",0,5]'], function (line) {return line.id === 112});
|
||||
this.params.mv_lines['[5,"",0,5]'][indexModif] =
|
||||
{account_type: "receivable", amount_currency_str: "", currency_id: false, date_maturity: "2017-02-07", date: "2017-01-08",
|
||||
total_amount_str: "$ 999.00", partner_id: 8, account_name: "101200 Account Receivable", name: "INV/2017/0003",
|
||||
partner_name: "Agrolait", total_amount_currency_str: "", id: 112, credit: 0.0, journal_id: [1, "Customer Invoices"],
|
||||
@@ -1625,15 +1654,15 @@ QUnit.module('account', {
|
||||
*/
|
||||
|
||||
// modify the invoice line to have their amount > payment
|
||||
var indexInv1 = _.findIndex(this.params.mv_lines['[5,"",0,6]'], function (line) {return line.id === 109});
|
||||
this.params.mv_lines['[5,"",0,6]'][indexInv1] =
|
||||
var indexInv1 = _.findIndex(this.params.mv_lines['[5,"",0,5]'], function (line) {return line.id === 109});
|
||||
this.params.mv_lines['[5,"",0,5]'][indexInv1] =
|
||||
{account_type: "receivable", amount_currency_str: "", currency_id: false, date_maturity: "2017-02-07", date: "2017-01-08",
|
||||
total_amount_str: "$ 1200.00", partner_id: 8, account_name: "101200 Account Receivable", name: "INV/2017/0002", partner_name: "Agrolait",
|
||||
total_amount_currency_str: "", id: 109, credit: 0.0, journal_id: [1, "Customer Invoices"], amount_str: "$ 1200.00", debit: 1200.0,
|
||||
account_code: "101200", ref: "", already_paid: false};
|
||||
|
||||
var indexInv2 = _.findIndex(this.params.mv_lines['[5,"",0,6]'], function (line) {return line.id === 112});
|
||||
this.params.mv_lines['[5,"",0,6]'][indexInv2] =
|
||||
var indexInv2 = _.findIndex(this.params.mv_lines['[5,"",0,5]'], function (line) {return line.id === 112});
|
||||
this.params.mv_lines['[5,"",0,5]'][indexInv2] =
|
||||
{account_type: "receivable", amount_currency_str: "", currency_id: false, date_maturity: "2017-02-07", date: "2017-01-08",
|
||||
total_amount_str: "$ 1200.00", partner_id: 8, account_name: "101200 Account Receivable", name: "INV/2017/0003",
|
||||
partner_name: "Agrolait", total_amount_currency_str: "", id: 112, credit: 0.0, journal_id: [1, "Customer Invoices"],
|
||||
@@ -1832,54 +1861,5 @@ QUnit.module('account', {
|
||||
|
||||
clientAction.destroy();
|
||||
});
|
||||
|
||||
QUnit.test('Automatic Reconciliation: Don\'t loose pager when adding last line of a page', function (assert) {
|
||||
assert.expect(2);
|
||||
|
||||
function standard_partner (list, partner_id) {
|
||||
_.each(list, function (item) {
|
||||
item.partner_id = partner_id;
|
||||
});
|
||||
};
|
||||
|
||||
this.params.options.params.limitMoveLines = 1;
|
||||
standard_partner(this.params.mv_lines['[5,"",0,6]'], 8);
|
||||
|
||||
// Overlap of those requests is normal
|
||||
// the pager is implemented as:
|
||||
// if there is at least 1 more line than my limit, the pager is active
|
||||
this.params.mv_lines['[5,"",0,2]'] = this.params.mv_lines['[5,"",0,6]'].slice(0,2);
|
||||
this.params.mv_lines['[5,"",1,2]'] = this.params.mv_lines['[5,"",0,6]'].slice(1,2);
|
||||
|
||||
var clientAction = new ReconciliationClientAction.StatementAction(null, this.params.options);
|
||||
testUtils.addMockEnvironment(clientAction, {
|
||||
data: this.params.data,
|
||||
session: {
|
||||
currencies: {
|
||||
3: {
|
||||
digits: [69, 2],
|
||||
position: "before",
|
||||
symbol: "$"
|
||||
}
|
||||
}
|
||||
},
|
||||
});
|
||||
clientAction.appendTo($('#qunit-fixture'));
|
||||
|
||||
var widget = clientAction.widgets[0];
|
||||
|
||||
var $nextPage = widget.$('.match .match_controls .fa-chevron-right:not(disabled)');
|
||||
assert.ok($nextPage.length,
|
||||
'We should have a next page');
|
||||
$nextPage.click();
|
||||
|
||||
// Add the second's page record
|
||||
widget.$('.match tr[data-line-id=112] td:first').click();
|
||||
|
||||
assert.ok(widget.$('.match tr[data-line-id=109]').length,
|
||||
'the record of the first page must be proposed');
|
||||
|
||||
clientAction.destroy();
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user