changeset 11dbc00d5025 in modules/account_invoice:6.2
details:
https://hg.tryton.org/modules/account_invoice?cmd=changeset&node=11dbc00d5025
description:
Test if invoice move exist before cancelling it
issue11335
review368231020
(grafted from db9871bfc12fa374ffe84f482c08182e9ff8596e)
diffstat:
invoice.py | 18 ++++++++++--------
1 files changed, 10 insertions(+), 8 deletions(-)
diffs (35 lines):
diff -r d2f64e9fb493 -r 11dbc00d5025 invoice.py
--- a/invoice.py Sun Mar 06 13:43:50 2022 +0100
+++ b/invoice.py Wed Apr 06 13:08:02 2022 +0200
@@ -1620,7 +1620,7 @@
to_save = []
for invoice in invoices:
if invoice.move or invoice.number:
- if invoice.move.state == 'draft':
+ if invoice.move and invoice.move.state == 'draft':
delete_moves.append(invoice.move)
delete_moves.extend(invoice.additional_moves)
elif not invoice.cancel_move:
@@ -1630,13 +1630,15 @@
gettext('account_invoice'
'.msg_invoice_customer_cancel_move',
invoice=invoice.rec_name))
- invoice.cancel_move = invoice.move.cancel()
- additional_cancel_moves = [
- m.cancel() for m in invoice.additional_moves]
- invoice.additional_moves += tuple(additional_cancel_moves)
- to_save.append(invoice)
- cancel_moves.append(invoice.cancel_move)
- cancel_moves.extend(additional_cancel_moves)
+ if invoice.move:
+ invoice.cancel_move = invoice.move.cancel()
+ additional_cancel_moves = [
+ m.cancel() for m in invoice.additional_moves]
+ invoice.additional_moves += tuple(
+ additional_cancel_moves)
+ to_save.append(invoice)
+ cancel_moves.append(invoice.cancel_move)
+ cancel_moves.extend(additional_cancel_moves)
if cancel_moves:
Move.save(cancel_moves)
cls.save(to_save)