diff --git a/README.md b/README.md
index 31717b86e2..87d1889151 100644
--- a/README.md
+++ b/README.md
@@ -33,7 +33,7 @@ addon | version | maintainers | summary
[base_search_custom_field_filter](base_search_custom_field_filter/) | 18.0.1.0.1 |
| Add custom filters for fields via UI
[base_substate](base_substate/) | 18.0.1.0.2 | | Base Sub State
[base_technical_features](base_technical_features/) | 18.0.1.0.2 | | Access to technical features without activating debug mode
-[base_tier_validation](base_tier_validation/) | 18.0.3.3.1 |
| Implement a validation process based on tiers.
+[base_tier_validation](base_tier_validation/) | 18.0.3.4.0 |
| Implement a validation process based on tiers.
[base_tier_validation_confirm_auth](base_tier_validation_confirm_auth/) | 18.0.1.0.0 | | Authentication confirmation for base tiers.
[base_tier_validation_correction](base_tier_validation_correction/) | 18.0.1.0.1 |
| Correct tier.review data after it has been created.
[base_tier_validation_formula](base_tier_validation_formula/) | 18.0.1.0.1 | | Formulas for Base tier validation
diff --git a/base_tier_validation/README.rst b/base_tier_validation/README.rst
index b54f257ca7..768af4a1ec 100644
--- a/base_tier_validation/README.rst
+++ b/base_tier_validation/README.rst
@@ -11,7 +11,7 @@ Base Tier Validation
!! This file is generated by oca-gen-addon-readme !!
!! changes will be overwritten. !!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
- !! source digest: sha256:dc242d6c50cc357fbd98be3778c5e3013971e9ea0622db72e500fd72d0de7c80
+ !! source digest: sha256:1823d16061ca83ece8322b77d320bb735e7462305d7ae60fd3e15819f3c6f276
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
.. |badge1| image:: https://img.shields.io/badge/maturity-Mature-brightgreen.png
diff --git a/base_tier_validation/__manifest__.py b/base_tier_validation/__manifest__.py
index c43098f954..a046a2d0ce 100644
--- a/base_tier_validation/__manifest__.py
+++ b/base_tier_validation/__manifest__.py
@@ -3,7 +3,7 @@
{
"name": "Base Tier Validation",
"summary": "Implement a validation process based on tiers.",
- "version": "18.0.3.3.1",
+ "version": "18.0.3.4.0",
"development_status": "Mature",
"maintainers": ["LoisRForgeFlow"],
"category": "Tools",
diff --git a/base_tier_validation/i18n/base_tier_validation.pot b/base_tier_validation/i18n/base_tier_validation.pot
index 1636308417..a80120140d 100644
--- a/base_tier_validation/i18n/base_tier_validation.pot
+++ b/base_tier_validation/i18n/base_tier_validation.pot
@@ -184,6 +184,7 @@ msgid ""
msgstr ""
#. module: base_tier_validation
+#: model:ir.model.fields.selection,name:base_tier_validation.selection__tier_review__status__cancel
#: model_terms:ir.ui.view,arch_db:base_tier_validation.view_comment_wizard
msgid "Cancel"
msgstr ""
diff --git a/base_tier_validation/i18n/de.po b/base_tier_validation/i18n/de.po
index 115222a73b..3b700205bc 100644
--- a/base_tier_validation/i18n/de.po
+++ b/base_tier_validation/i18n/de.po
@@ -185,6 +185,7 @@ msgid ""
msgstr ""
#. module: base_tier_validation
+#: model:ir.model.fields.selection,name:base_tier_validation.selection__tier_review__status__cancel
#: model_terms:ir.ui.view,arch_db:base_tier_validation.view_comment_wizard
msgid "Cancel"
msgstr ""
@@ -351,9 +352,9 @@ msgstr ""
#. module: base_tier_validation
#: model:ir.model.fields,help:base_tier_validation.field_tier_definition__notify_on_pending
msgid ""
-"If set, all possible reviewers will be notified by email when this status is"
-" reached.Usefull in an Approve by sequence scenario. An notification request"
-" to review is sent out when it's their turn to review."
+"If set, all possible reviewers will be notified by email when this status is "
+"reached.Usefull in an Approve by sequence scenario. An notification request "
+"to review is sent out when it's their turn to review."
msgstr ""
#. module: base_tier_validation
diff --git a/base_tier_validation/i18n/es.po b/base_tier_validation/i18n/es.po
index 0e3439da84..aafa3c14de 100644
--- a/base_tier_validation/i18n/es.po
+++ b/base_tier_validation/i18n/es.po
@@ -204,6 +204,7 @@ msgstr ""
" secuencia de aprobación se ha alcanzado"
#. module: base_tier_validation
+#: model:ir.model.fields.selection,name:base_tier_validation.selection__tier_review__status__cancel
#: model_terms:ir.ui.view,arch_db:base_tier_validation.view_comment_wizard
msgid "Cancel"
msgstr "Cancelar"
diff --git a/base_tier_validation/i18n/es_MX.po b/base_tier_validation/i18n/es_MX.po
index 6483283e1b..e6a6b74bbd 100644
--- a/base_tier_validation/i18n/es_MX.po
+++ b/base_tier_validation/i18n/es_MX.po
@@ -190,6 +190,7 @@ msgstr ""
" se ha logrado aprobar la secuencia"
#. module: base_tier_validation
+#: model:ir.model.fields.selection,name:base_tier_validation.selection__tier_review__status__cancel
#: model_terms:ir.ui.view,arch_db:base_tier_validation.view_comment_wizard
msgid "Cancel"
msgstr "Cancelado"
diff --git a/base_tier_validation/i18n/fr.po b/base_tier_validation/i18n/fr.po
index fa9abeaaee..7194a9af0b 100644
--- a/base_tier_validation/i18n/fr.po
+++ b/base_tier_validation/i18n/fr.po
@@ -208,6 +208,7 @@ msgstr ""
" qu'une séquence d'approbation a été effectuée"
#. module: base_tier_validation
+#: model:ir.model.fields.selection,name:base_tier_validation.selection__tier_review__status__cancel
#: model_terms:ir.ui.view,arch_db:base_tier_validation.view_comment_wizard
msgid "Cancel"
msgstr "Annuler"
diff --git a/base_tier_validation/i18n/it.po b/base_tier_validation/i18n/it.po
index e98b65eb5b..59a32d5479 100644
--- a/base_tier_validation/i18n/it.po
+++ b/base_tier_validation/i18n/it.po
@@ -206,6 +206,7 @@ msgstr ""
" sequenza di approvazione è archiviata"
#. module: base_tier_validation
+#: model:ir.model.fields.selection,name:base_tier_validation.selection__tier_review__status__cancel
#: model_terms:ir.ui.view,arch_db:base_tier_validation.view_comment_wizard
msgid "Cancel"
msgstr "Annulla"
diff --git a/base_tier_validation/i18n/ja.po b/base_tier_validation/i18n/ja.po
index 4b1164f476..566517584a 100644
--- a/base_tier_validation/i18n/ja.po
+++ b/base_tier_validation/i18n/ja.po
@@ -185,6 +185,7 @@ msgid ""
msgstr ""
#. module: base_tier_validation
+#: model:ir.model.fields.selection,name:base_tier_validation.selection__tier_review__status__cancel
#: model_terms:ir.ui.view,arch_db:base_tier_validation.view_comment_wizard
msgid "Cancel"
msgstr ""
@@ -351,9 +352,9 @@ msgstr ""
#. module: base_tier_validation
#: model:ir.model.fields,help:base_tier_validation.field_tier_definition__notify_on_pending
msgid ""
-"If set, all possible reviewers will be notified by email when this status is"
-" reached.Usefull in an Approve by sequence scenario. An notification request"
-" to review is sent out when it's their turn to review."
+"If set, all possible reviewers will be notified by email when this status is "
+"reached.Usefull in an Approve by sequence scenario. An notification request "
+"to review is sent out when it's their turn to review."
msgstr ""
#. module: base_tier_validation
diff --git a/base_tier_validation/i18n/nl.po b/base_tier_validation/i18n/nl.po
index 96229640f5..efa95dd5b1 100644
--- a/base_tier_validation/i18n/nl.po
+++ b/base_tier_validation/i18n/nl.po
@@ -206,6 +206,7 @@ msgstr ""
" goedkeuringssequentie is bereikt"
#. module: base_tier_validation
+#: model:ir.model.fields.selection,name:base_tier_validation.selection__tier_review__status__cancel
#: model_terms:ir.ui.view,arch_db:base_tier_validation.view_comment_wizard
msgid "Cancel"
msgstr "Annuleren"
diff --git a/base_tier_validation/i18n/nl_NL.po b/base_tier_validation/i18n/nl_NL.po
index efb4b172ba..2c8f26cf79 100644
--- a/base_tier_validation/i18n/nl_NL.po
+++ b/base_tier_validation/i18n/nl_NL.po
@@ -206,6 +206,7 @@ msgstr ""
" goedkeuringssequentie is bereikt"
#. module: base_tier_validation
+#: model:ir.model.fields.selection,name:base_tier_validation.selection__tier_review__status__cancel
#: model_terms:ir.ui.view,arch_db:base_tier_validation.view_comment_wizard
msgid "Cancel"
msgstr "Annuleer"
diff --git a/base_tier_validation/i18n/sv.po b/base_tier_validation/i18n/sv.po
index d7d4ff1370..2bf1b6c087 100644
--- a/base_tier_validation/i18n/sv.po
+++ b/base_tier_validation/i18n/sv.po
@@ -203,6 +203,7 @@ msgstr ""
" godkännandesekvensen har uppnåtts"
#. module: base_tier_validation
+#: model:ir.model.fields.selection,name:base_tier_validation.selection__tier_review__status__cancel
#: model_terms:ir.ui.view,arch_db:base_tier_validation.view_comment_wizard
msgid "Cancel"
msgstr "Avbryt"
diff --git a/base_tier_validation/i18n/tr.po b/base_tier_validation/i18n/tr.po
index 64dce3576c..282bf3c7a5 100644
--- a/base_tier_validation/i18n/tr.po
+++ b/base_tier_validation/i18n/tr.po
@@ -205,6 +205,7 @@ msgstr ""
" onay dizisi elde edildi"
#. module: base_tier_validation
+#: model:ir.model.fields.selection,name:base_tier_validation.selection__tier_review__status__cancel
#: model_terms:ir.ui.view,arch_db:base_tier_validation.view_comment_wizard
msgid "Cancel"
msgstr "İptal"
diff --git a/base_tier_validation/i18n/vi_VN.po b/base_tier_validation/i18n/vi_VN.po
index 99e64c83de..3fede70220 100644
--- a/base_tier_validation/i18n/vi_VN.po
+++ b/base_tier_validation/i18n/vi_VN.po
@@ -200,6 +200,7 @@ msgid ""
msgstr ""
#. module: base_tier_validation
+#: model:ir.model.fields.selection,name:base_tier_validation.selection__tier_review__status__cancel
#: model_terms:ir.ui.view,arch_db:base_tier_validation.view_comment_wizard
msgid "Cancel"
msgstr ""
diff --git a/base_tier_validation/i18n/zh_CN.po b/base_tier_validation/i18n/zh_CN.po
index 21f90865a0..d5f9465c4d 100644
--- a/base_tier_validation/i18n/zh_CN.po
+++ b/base_tier_validation/i18n/zh_CN.po
@@ -187,6 +187,7 @@ msgid ""
msgstr ""
#. module: base_tier_validation
+#: model:ir.model.fields.selection,name:base_tier_validation.selection__tier_review__status__cancel
#: model_terms:ir.ui.view,arch_db:base_tier_validation.view_comment_wizard
msgid "Cancel"
msgstr "取消"
diff --git a/base_tier_validation/models/tier_review.py b/base_tier_validation/models/tier_review.py
index ef64f2b029..34a6a017dc 100644
--- a/base_tier_validation/models/tier_review.py
+++ b/base_tier_validation/models/tier_review.py
@@ -23,6 +23,7 @@ class TierReview(models.Model):
("pending", "Pending"),
("rejected", "Rejected"),
("approved", "Approved"),
+ ("cancel", "Cancel"),
],
default="waiting",
)
diff --git a/base_tier_validation/models/tier_validation.py b/base_tier_validation/models/tier_validation.py
index 6e85ec4345..97ff5bea43 100644
--- a/base_tier_validation/models/tier_validation.py
+++ b/base_tier_validation/models/tier_validation.py
@@ -690,6 +690,13 @@ def _rejected_tier(self, tiers=False):
)
# We need to notify all pending users if there is approve sequence
if tier_reviews and any(review.approve_sequence for review in tier_reviews):
+ # If there are waiting reviews that should be approved sequentially,
+ # they must be marked as canceled
+ waiting_reviews = self.review_ids.filtered(
+ lambda r: r.status == "waiting" and r.approve_sequence
+ )
+ if waiting_reviews:
+ waiting_reviews.write({"status": "cancel"})
reviews_to_notify = self.review_ids.filtered(
lambda r: r.status == "pending" and r.definition_id.notify_on_rejected
)
diff --git a/base_tier_validation/static/description/index.html b/base_tier_validation/static/description/index.html
index 54597067c6..94b4a40bc3 100644
--- a/base_tier_validation/static/description/index.html
+++ b/base_tier_validation/static/description/index.html
@@ -372,7 +372,7 @@
Validating some operations is a common need across different areas in a
diff --git a/base_tier_validation/static/src/components/tier_review_widget/tier_review_widget.xml b/base_tier_validation/static/src/components/tier_review_widget/tier_review_widget.xml
index 99582e540e..8798e5986b 100644
--- a/base_tier_validation/static/src/components/tier_review_widget/tier_review_widget.xml
+++ b/base_tier_validation/static/src/components/tier_review_widget/tier_review_widget.xml
@@ -50,7 +50,7 @@
t-key="review.id"
>