diff --git a/runbot/models/build_error.py b/runbot/models/build_error.py index b25240e1..f8c7f5bb 100644 --- a/runbot/models/build_error.py +++ b/runbot/models/build_error.py @@ -50,6 +50,7 @@ class BuildError(models.Model): fingerprint = fields.Char('Error fingerprint', index=True) random = fields.Boolean('underterministic error', tracking=True) responsible = fields.Many2one('res.users', 'Assigned fixer', tracking=True) + customer = fields.Many2one('res.users', 'Customer', tracking=True) team_id = fields.Many2one('runbot.team', 'Assigned team', tracking=True) fixing_commit = fields.Char('Fixing commit', tracking=True) fixing_pr_id = fields.Many2one('runbot.branch', 'Fixing PR', tracking=True, domain=[('is_pr', '=', True)]) @@ -88,6 +89,12 @@ class BuildError(models.Model): record.tags_min_version_id = min(record.version_ids, key=lambda rec: rec.number) record.tags_max_version_id = max(record.version_ids, key=lambda rec: rec.number) + @api.onchange('customer') + def _onchange_customer(self): + for record in self: + if not self.responsible: + self.responsible = self.customer + @api.model_create_multi def create(self, vals_list): cleaners = self.env['runbot.error.regex'].search([('re_type', '=', 'cleaning')]) diff --git a/runbot/views/build_error_views.xml b/runbot/views/build_error_views.xml index 89ab1a9d..2f11eb71 100644 --- a/runbot/views/build_error_views.xml +++ b/runbot/views/build_error_views.xml @@ -29,6 +29,7 @@ +