diff --git a/base_tier_validation/models/tier_validation.py b/base_tier_validation/models/tier_validation.py index 6479bb5bff..69b76be969 100644 --- a/base_tier_validation/models/tier_validation.py +++ b/base_tier_validation/models/tier_validation.py @@ -533,9 +533,26 @@ def _validate_tier(self, tiers=False): } ) - user_reviews = tier_reviews.filtered( - lambda r: r.status == "pending" and (self.env.user in r.reviewer_ids) - ) + user_reviews = self.env[tier_reviews._name] + found_start = False + + for review in tier_reviews: + is_match = review.status == "pending" and ( + self.env.user in review.reviewer_ids + ) + if is_match and not found_start: + found_start = True + user_reviews |= review + if not review.approve_sequence_bypass: + break + continue + + if is_match and found_start: + user_reviews |= review + + if not is_match and found_start: + break + user_reviews.write( { "status": "approved",