You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

36 lines
1.4 KiB

# Copyright 2019 Tecnativa - Ernesto Tejeda
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
from odoo import models
class MailBlackList(models.Model):
_inherit = 'mail.blacklist'
def _add(self, email):
mailing_id = self.env.context.get('mailing_id')
if mailing_id:
mailing = self.env['mail.mass_mailing'].browse(mailing_id)
model_name = mailing.mailing_model_real
res_id = self.env.context.get('res_id')
self.env["mail.unsubscription"].create({
"email": email,
"mass_mailing_id": mailing_id,
"unsubscriber_id": "%s,%d" % (model_name, res_id),
"action": "blacklisting",
})
return super(MailBlackList, self)._add(email)
def _remove(self, email):
mailing_id = self.env.context.get('mailing_id')
if mailing_id:
mailing = self.env['mail.mass_mailing'].browse(mailing_id)
model_name = mailing.mailing_model_real
res_id = self.env.context.get('res_id')
self.env["mail.unsubscription"].create({
"email": email,
"mass_mailing_id": mailing_id,
"unsubscriber_id": "%s,%d" % (model_name, res_id),
"action": "de_blacklisting",
})
return super(MailBlackList, self)._remove(email)