From 0b5f8a85a1edf5412841e6087d955fa506a95aaa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thibault=20Delavall=C3=A9e?= Date: Tue, 26 Sep 2023 13:37:00 +0200 Subject: [PATCH] [FIX] mail: fix alias values given when copying records Copy calls 'create' on 'self' which means self is not a void recordset. In mail this causes issues as it may have an impact of values generated for aliases, which depends on 'self' when calling '_alias_get_creation_values'. Followup of odoo/odoo#130632 Prepares Task-36879 (Mail: Support MultiCompany Aliases) closes odoo/odoo#136968 Signed-off-by: Thibault Delavallee (tde) --- addons/mail/models/mail_alias_mixin_optional.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/addons/mail/models/mail_alias_mixin_optional.py b/addons/mail/models/mail_alias_mixin_optional.py index 94cf427418e..95b9edf5e19 100644 --- a/addons/mail/models/mail_alias_mixin_optional.py +++ b/addons/mail/models/mail_alias_mixin_optional.py @@ -52,7 +52,8 @@ class AliasMixinOptional(models.AbstractModel): vals['alias_name'] = self.env['mail.alias']._sanitize_alias_name(vals['alias_name']) if self._require_new_alias(vals): alias_vals, record_vals = self._alias_filter_fields(vals) - alias_vals.update(self._alias_get_creation_values()) + # generate record-agnostic base alias values + alias_vals.update(self.env[self._name]._alias_get_creation_values()) alias_vals_list.append(alias_vals) record_vals_list.append(record_vals) @@ -120,6 +121,7 @@ class AliasMixinOptional(models.AbstractModel): del data[fields_not_writable] return [data] + @api.model def _require_new_alias(self, record_vals): """ Create only if no existing alias, and if a name is given, to avoid creating inactive aliases (falsy name). """