[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) <tde@openerp.com>
This commit is contained in:
@@ -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). """
|
||||
|
||||
Reference in New Issue
Block a user