Raise user error when check lines

Account module raise user error when first reconciliation party is not reconciliation party
In case party was none, could not show message with party.rec_name
This commit is contained in:
Raimon Esteve 2017-07-18 00:00:15 +02:00
parent 6e5d98a16a
commit 1431f45fe8

19
move.py
View file

@ -38,10 +38,29 @@ class Reconciliation:
__metaclass__ = PoolMeta
__name__ = 'account.move.reconciliation'
@classmethod
def __setup__(cls):
super(Reconciliation, cls).__setup__()
cls._error_messages.update({
'reconciliation_has_party': ('You can not reconcile '
'line "%(line)s" because account "%(account)s" has not '
'different party reconciliation active or first '
'reconciliation line the party is "%(party)s".'),
})
@classmethod
def check_lines(cls, reconciliations):
for reconciliation in reconciliations:
if reconciliation.lines:
party = reconciliation.lines[0].party
for line in reconciliation.lines:
if line.account.different_party_reconcile:
line.party = None
elif line.party and line.party != party:
cls.raise_user_error('reconciliation_has_party', {
'line': line.rec_name,
'account': line.account.rec_name,
'party': line.party.rec_name,
})
super(Reconciliation, cls).check_lines(reconciliations)