From 2c29a6b94bba5ef33e41b4e630c97e8f549dd4bf Mon Sep 17 00:00:00 2001 From: Xavier-Do Date: Mon, 7 Feb 2022 09:11:18 +0100 Subject: [PATCH] [IMP] runbot: add validation for domain --- runbot/models/codeowner.py | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/runbot/models/codeowner.py b/runbot/models/codeowner.py index 0ad2c022..c88013ff 100644 --- a/runbot/models/codeowner.py +++ b/runbot/models/codeowner.py @@ -24,7 +24,18 @@ class Codeowner(models.Model): except re.error as e: raise ValidationError("Unable to compile regular expression: %s" % e) + @api.constrains('version_domain') + def _validate_version_domain(self): + for rec in self: + try: + self._match_version(runbot.bundle_master.version_id) + except Exception as e: + raise ValidationError("Unable to validate version_domain: %s" % e) + def _get_version_domain(self): """ Helper to get the evaluated version domain """ self.ensure_one() return ast.literal_eval(self.version_domain) if self.version_domain else [] + + def _match_version(self, version): + return version.filtered_domain(self._get_version_domain())