From 260bb5a540579082db181c651d76912beabf2fd5 Mon Sep 17 00:00:00 2001 From: wan Date: Tue, 17 Nov 2020 16:17:39 +0000 Subject: [PATCH] [FIX] account: add support for format like 045-001-000002 Before this fix, the prefix was detected as `045-0` and the year as `1` instead of no year with prefix `045-001`. opw-2381351 closes odoo/odoo#61931 X-original-commit: e1b4521e82af1c865d69e9e0cf637713d0b94480 Signed-off-by: oco-odoo --- addons/account/models/sequence_mixin.py | 4 ++-- addons/account/tests/test_account_move_entry.py | 1 + 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/addons/account/models/sequence_mixin.py b/addons/account/models/sequence_mixin.py index 66d56ba6bb9..cebe3a130c0 100644 --- a/addons/account/models/sequence_mixin.py +++ b/addons/account/models/sequence_mixin.py @@ -20,8 +20,8 @@ class SequenceMixin(models.AbstractModel): _sequence_field = "name" _sequence_date_field = "date" _sequence_index = False - _sequence_monthly_regex = r'^(?P.*?)(?P(\d{4}|(\d{2}(?=\D))))(?P\D*?)(?P\d{2})(?P\D+?)(?P\d*)(?P\D*?)$' - _sequence_yearly_regex = r'^(?P.*?)(?P(\d{4}|\d{2}))(?P\D+?)(?P\d*)(?P\D*?)$' + _sequence_monthly_regex = r'^(?P.*?)(?P((?<=\D)|(?<=^))(\d{4}|(\d{2}(?=\D))))(?P\D*?)(?P\d{2})(?P\D+?)(?P\d*)(?P\D*?)$' + _sequence_yearly_regex = r'^(?P.*?)(?P((?<=\D)|(?<=^))(\d{4}|\d{2}))(?P\D+?)(?P\d*)(?P\D*?)$' _sequence_fixed_regex = r'^(?P.*?)(?P\d{0,9})(?P\D*?)$' sequence_prefix = fields.Char(compute='_compute_split_sequence', store=True) diff --git a/addons/account/tests/test_account_move_entry.py b/addons/account/tests/test_account_move_entry.py index 708ac22415a..6b78445e442 100644 --- a/addons/account/tests/test_account_move_entry.py +++ b/addons/account/tests/test_account_move_entry.py @@ -416,6 +416,7 @@ class TestAccountMove(AccountTestInvoicingCommon): ('201603-10', '201603-11', '201604-01', '201703-01'), ('16-03-10', '16-03-11', '16-04-01', '17-03-01'), ('2016-10', '2016-11', '2016-12', '2017-01'), + ('045-001-000002', '045-001-000003', '045-001-000004', '045-001-000005'), ('JRNL/2016/00001suffix', 'JRNL/2016/00002suffix', 'JRNL/2016/00003suffix', 'JRNL/2017/00001suffix'), ] other_moves = self.env['account.move'].search([('journal_id', '=', self.test_move.journal_id.id)]) - self.test_move