From 8f518c23bade665b93770e38bfa05fc9e0ab76ac Mon Sep 17 00:00:00 2001 From: Moises Lopez Date: Fri, 13 May 2022 16:14:51 +0000 Subject: [PATCH] [REF] account_move_name_sequence: Moves with name '/' can not be posted After remove required=True for journal.sequence_id field it is possible to post an invoice with misconfigured journal with empty sequence So, this constraint will raise an error for this kind of cases since that using '/' could raise the unique constraint for all other moves --- account_move_name_sequence/__manifest__.py | 2 +- .../i18n/account_move_name_sequence.pot | 7 +++++++ account_move_name_sequence/models/account_move.py | 9 +++++++++ 3 files changed, 17 insertions(+), 1 deletion(-) diff --git a/account_move_name_sequence/__manifest__.py b/account_move_name_sequence/__manifest__.py index ff92d0b58..3a836fbd6 100644 --- a/account_move_name_sequence/__manifest__.py +++ b/account_move_name_sequence/__manifest__.py @@ -6,7 +6,7 @@ { "name": "Account Move Number Sequence", - "version": "14.0.1.0.1", + "version": "14.0.1.1.0", "category": "Accounting", "license": "AGPL-3", "summary": "Generate journal entry number from sequence", diff --git a/account_move_name_sequence/i18n/account_move_name_sequence.pot b/account_move_name_sequence/i18n/account_move_name_sequence.pot index fdc841027..395f8e187 100644 --- a/account_move_name_sequence/i18n/account_move_name_sequence.pot +++ b/account_move_name_sequence/i18n/account_move_name_sequence.pot @@ -13,6 +13,13 @@ msgstr "" "Content-Transfer-Encoding: \n" "Plural-Forms: \n" +#. module: account_move_name_sequence +#: model:ir.model.constraint,message:account_move_name_sequence.constraint_account_move_name_state_diagonal +msgid "" +"A move can not be posted with name \"/\" or empty value\n" +"Check the journal sequence, please" +msgstr "" + #. module: account_move_name_sequence #: model:ir.model.fields,help:account_move_name_sequence.field_account_journal__refund_sequence msgid "" diff --git a/account_move_name_sequence/models/account_move.py b/account_move_name_sequence/models/account_move.py index b090eb52b..ff1dbc759 100644 --- a/account_move_name_sequence/models/account_move.py +++ b/account_move_name_sequence/models/account_move.py @@ -15,6 +15,15 @@ class AccountMove(models.Model): sequence_prefix = fields.Char(compute=False) sequence_number = fields.Integer(compute=False) + _sql_constraints = [ + ( + "name_state_diagonal", + "CHECK(COALESCE(name, '') NOT IN ('/', '') OR state!='posted')", + 'A move can not be posted with name "/" or empty value\n' + "Check the journal sequence, please", + ), + ] + @api.depends("state", "journal_id", "date") def _compute_name_by_sequence(self): for move in self: