changeset 6d481209a7e0 in modules/account_invoice:default
details: 
https://hg.tryton.org/modules/account_invoice?cmd=changeset;node=6d481209a7e0
description:
        Update sequence name in renew fiscal year

        issue7967
        review269941002
diffstat:

 CHANGELOG                           |   1 +
 account.py                          |   3 +++
 tests/scenario_renew_fiscalyear.rst |  19 +++++++++++++++++++
 3 files changed, 23 insertions(+), 0 deletions(-)

diffs (47 lines):

diff -r a83ef0738e63 -r 6d481209a7e0 CHANGELOG
--- a/CHANGELOG Mon Jul 22 23:52:26 2019 +0200
+++ b/CHANGELOG Fri Jul 26 09:39:36 2019 +0200
@@ -1,3 +1,4 @@
+* Update invoice sequence name in renew fiscal year
 * Add option to cancel customer invoice
 
 Version 5.2.0 - 2019-05-06
diff -r a83ef0738e63 -r 6d481209a7e0 account.py
--- a/account.py        Mon Jul 22 23:52:26 2019 +0200
+++ b/account.py        Fri Jul 26 09:39:36 2019 +0200
@@ -345,6 +345,9 @@
                 sequences[sequence.id] = sequence
         copies = Sequence.copy(list(sequences.values()), default={
                 'next_number': 1,
+                'name': lambda data: data['name'].replace(
+                    self.start.previous_fiscalyear.name,
+                    self.start.name)
                 })
 
         mapping = {}
diff -r a83ef0738e63 -r 6d481209a7e0 tests/scenario_renew_fiscalyear.rst
--- a/tests/scenario_renew_fiscalyear.rst       Mon Jul 22 23:52:26 2019 +0200
+++ b/tests/scenario_renew_fiscalyear.rst       Fri Jul 26 09:39:36 2019 +0200
@@ -85,3 +85,22 @@
     >>> [int(seq.out_invoice_sequence.number_next)
     ...     for seq in new_fiscalyear.invoice_sequences]
     [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]
+
+
+Set the sequence name::
+
+    >>> for seq in new_fiscalyear.invoice_sequences:
+    ...     seq.out_invoice_sequence.name = ('Sequence %s' %
+    ...         new_fiscalyear.start_date.strftime('%Y'))
+    ...     seq.out_invoice_sequence.save()
+
+Renew fiscalyear and test sequence name is updated::
+
+    >>> renew_fiscalyear = Wizard('account.fiscalyear.renew')
+    >>> renew_fiscalyear.form.reset_sequences = True
+    >>> renew_fiscalyear.execute('create_')
+    >>> new_fiscalyear, = renew_fiscalyear.actions[0]
+    >>> all(seq.out_invoice_sequence.name ==
+    ...         'Sequence %s' % new_fiscalyear.start_date.strftime('%Y')
+    ...     for seq in new_fiscalyear.invoice_sequences)
+    True

Reply via email to