From e44ac41a191e65345317fd9df77ef1a8f404e486 Mon Sep 17 00:00:00 2001 From: Xavier-Do Date: Mon, 10 Mar 2025 12:19:11 +0100 Subject: [PATCH] [FIX] small fixes with canonical tags --- runbot/models/build_error.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/runbot/models/build_error.py b/runbot/models/build_error.py index 49a345c2..8a5b9db7 100644 --- a/runbot/models/build_error.py +++ b/runbot/models/build_error.py @@ -139,7 +139,8 @@ class BuildError(models.Model): @api.depends('error_content_ids.canonical_tag') def _compute_canonical_tags(self): for record in self: - record.canonical_tags = ','.join(record.error_content_ids.filtered('canonical_tag').mapped('canonical_tag')) + canonical_tags = sorted(set(record.error_content_ids.filtered('canonical_tag').mapped('canonical_tag'))) + record.canonical_tags = ','.join(canonical_tags) @api.depends('tags_min_version_id') def _compute_tags_min_version_id(self): @@ -909,7 +910,7 @@ for error_content in self: def _qualify(self, build_error_content): self.ensure_one() - content = '\n'.join([build_error_content[sf] for sf in self.check_fields.split(',') if self.check_fields]) + content = '\n'.join([(build_error_content[sf] or '') for sf in self.check_fields.split(',') if self.check_fields]) result = False if content and self.regex: result = re.search(self.regex, content, flags=re.MULTILINE)