status 'abgeglichen' ok + test
This commit is contained in:
parent
63a3f8f020
commit
1ab987d532
9 changed files with 99 additions and 28 deletions
|
@ -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)
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue