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.
 
 
 
 

31 lines
1.1 KiB

# Copyright 2019 Tecnativa - Jairo Llopis
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
from odoo.http import request, route
from odoo.addons.website_mass_mailing.controllers import main
class MassMailController(main.MassMailController):
@route()
def subscribe(self, list_id, email, **post):
"""Send welcome email to subscribers."""
result = super().subscribe(list_id, email, **post)
list_ = request.env["mail.mass_mailing.list"] \
.sudo().browse(int(list_id))
template = list_.welcome_mail_template_id
if not template:
return result
# Welcome new subscribers
contact = request.env["mail.mass_mailing.contact"].sudo().search([
('list_ids', 'in', list_.ids),
('email', '=', email),
("opt_out", "=", False),
], limit=1)
template.with_context(list_name=list_.name).send_mail(
contact.id,
# Must send now to use context
force_send=True,
# If we cannot notify, the visitor shouldn't be bothered
raise_exception=False,
)
return result