diff --git a/runbot/models/build_error.py b/runbot/models/build_error.py
index 33afda81..438e5a6d 100644
--- a/runbot/models/build_error.py
+++ b/runbot/models/build_error.py
@@ -1,13 +1,11 @@
# -*- coding: utf-8 -*-
-import ast
import hashlib
import logging
import re
-from psycopg2 import sql
-
from collections import defaultdict
from dateutil.relativedelta import relativedelta
+from markupsafe import Markup
from werkzeug.urls import url_join
from odoo import models, fields, api
from odoo.exceptions import ValidationError, UserError
@@ -290,7 +288,7 @@ class BuildError(models.Model):
def _get_form_link(self):
self.ensure_one()
- return f'{self.id}'
+ return Markup(f'%s') % (self._get_form_url(), self.id)
def _merge(self):
if len(self) < 2:
@@ -304,10 +302,10 @@ class BuildError(models.Model):
base_linked.test_tags = error.test_tags
if not base_linked.active and error.active:
base_linked.active = True
- base_error.message_post(body=f'⚠ test-tags inherited from error {error._get_form_link()}')
+ base_error.message_post(body=Markup('⚠ test-tags inherited from error %s') % error._get_form_link())
elif base_linked.test_tags and error.test_tags and base_linked.test_tags != error.test_tags:
- base_error.message_post(body=f'⚠ trying to merge errors with different test-tags from {error._get_form_link()} tag: "{error.test_tags}"')
- error.message_post(body=f'⚠ trying to merge errors with different test-tags from {base_error._get_form_link()} tag: "{base_error.test_tags}"')
+ base_error.message_post(body=Markup('⚠ trying to merge errors with different test-tags from %s tag: "%s"') % (error._get_form_link(), error.test_tags))
+ error.message_post(body=Markup('⚠ trying to merge errors with different test-tags from %s tag: "%s"') % (base_error._get_form_link(), base_error.test_tags))
continue
for build_error_link in error.build_error_link_ids:
@@ -320,13 +318,13 @@ class BuildError(models.Model):
if error.responsible and not base_linked.responsible:
base_error.responsible = error.responsible
elif base_linked.responsible and error.responsible and base_linked.responsible != error.responsible:
- base_linked.message_post(body=f'⚠ responsible in merged error {error._get_form_link()} was "{error.responsible.name}" and different from this one')
+ base_linked.message_post(body=Markup('⚠ responsible in merged error %s was "%s" and different from this one') % (error._get_form_link(), error.responsible.name))
if error.team_id and not base_error.team_id:
base_error.team_id = error.team_id
- base_error.message_post(body=f'Error {error._get_form_link()} was merged into this one')
- error.message_post(body=f'Error was merged into {base_linked._get_form_link()}')
+ base_error.message_post(body=Markup('Error %s was merged into this one') % error._get_form_link())
+ error.message_post(body=Markup('Error was merged into %s') % base_linked._get_form_link())
error.child_ids.parent_id = base_error
error.active = False
@@ -441,4 +439,4 @@ class ErrorBulkWizard(models.TransientModel):
error_ids['active'] = False
if self.chatter_comment:
for build_error in error_ids:
- build_error.message_post(body=self.chatter_comment, subject="Bullk Wizard Comment")
+ build_error.message_post(body=Markup('%s') % self.chatter_comment, subject="Bullk Wizard Comment")