diff --git a/addons/mail/models/mail_template.py b/addons/mail/models/mail_template.py index 710dbcb8e04..b516e6d2ca1 100644 --- a/addons/mail/models/mail_template.py +++ b/addons/mail/models/mail_template.py @@ -79,6 +79,15 @@ class MailTemplate(models.Model): # CRUD # ------------------------------------------------------------ + @api.model_create_multi + def create(self, vals_list): + templates = super().create(vals_list) + # fix attachment ownership + for template in templates: + if template.attachment_ids: + template.attachment_ids.write({'res_model': self._name, 'res_id': template.id}) + return templates + def unlink(self): self.unlink_action() return super(MailTemplate, self).unlink() diff --git a/addons/mass_mailing/models/mailing.py b/addons/mass_mailing/models/mailing.py index 40414588a1f..15f981c006c 100644 --- a/addons/mass_mailing/models/mailing.py +++ b/addons/mass_mailing/models/mailing.py @@ -417,6 +417,12 @@ class MassMailing(models.Model): if mailing.ab_testing_enabled and not mailing.campaign_id ] self.env['utm.campaign'].create(campaign_vals) + + # fix attachment ownership + for mailing in mailings: + if mailing.attachment_ids: + mailing.attachment_ids.write({'res_model': self._name, 'res_id': mailing.id}) + return mailings def write(self, values):