status 'abgeglichen' ok + test

This commit is contained in:
Frederik Jaeckel 2022-11-16 21:56:02 +01:00
parent 63a3f8f020
commit 1ab987d532
9 changed files with 99 additions and 28 deletions

View file

@ -69,7 +69,7 @@ class Reconciliation(Workflow, ModelSQL, ModelView):
depends=DEPENDS+['date_from', 'date_to', 'cashbook'],
add_remove=[
('cashbook', '=', Eval('cashbook')),
('state', 'in', ['check', 'done']),
('state', 'in', ['check', 'recon', 'done']),
('date', '>=', Eval('date_from')),
('date', '<=', Eval('date_to')),
],
@ -156,7 +156,7 @@ class Reconciliation(Workflow, ModelSQL, ModelView):
('date', '>', reconciliation.date_from),
('date', '<', reconciliation.date_to),
('cashbook.id', '=', reconciliation.cashbook.id),
('state', '!=', 'check'),
('state', 'not in', ['check', 'recon']),
]) > 0:
raise UserError(gettext(
'cashbook.mds_recon_deny_line_not_check',
@ -235,7 +235,7 @@ class Reconciliation(Workflow, ModelSQL, ModelView):
('date', '<=', reconciliation.date_to),
('cashbook.id', '=', reconciliation.cashbook.id),
('reconciliation', '=', None),
('state', '=', 'check'),
('state', 'in', ['check', 'recon']),
])
if len(lines) > 0:
values['lines'] = [('add', [x.id for x in lines])]
@ -259,8 +259,16 @@ class Reconciliation(Workflow, ModelSQL, ModelView):
Line = Pool().get('cashbook.line')
to_wfdone_line = []
to_wfrecon_line = []
for reconciliation in reconciliations:
to_wfdone_line.extend(list(reconciliation.lines))
to_wfrecon_line.extend([
x for x in reconciliation.lines \
if x.state == 'check'
])
to_wfdone_line.extend([
x for x in reconciliation.lines \
if x.state == 'recon'
])
# deny if there are lines not linked to reconciliation
if Line.search_count([
@ -281,6 +289,9 @@ class Reconciliation(Workflow, ModelSQL, ModelView):
date_to = Report.format_date(reconciliation.date_to),
))
if len(to_wfrecon_line) > 0:
Line.wfrecon(to_wfrecon_line)
to_wfdone_line.extend(to_wfrecon_line)
if len(to_wfdone_line) > 0:
Line.wfdone(to_wfdone_line)