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
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
|