diff options
Diffstat (limited to 'addons/website_mass_mailing/controllers/main.py')
| -rw-r--r-- | addons/website_mass_mailing/controllers/main.py | 29 |
1 files changed, 25 insertions, 4 deletions
diff --git a/addons/website_mass_mailing/controllers/main.py b/addons/website_mass_mailing/controllers/main.py index 3676ae26741..fc49d23d83b 100644 --- a/addons/website_mass_mailing/controllers/main.py +++ b/addons/website_mass_mailing/controllers/main.py @@ -2,6 +2,7 @@ # Part of Odoo. See LICENSE file for full copyright and licensing details. from odoo.http import route, request +from odoo.osv import expression from odoo.addons.mass_mailing.controllers.main import MassMailController @@ -39,12 +40,32 @@ class MassMailController(MassMailController): list_contact_rel.opt_out = False # add email to session request.session['mass_mailing_email'] = email - return True + mass_mailing_list = request.env['mail.mass_mailing.list'].sudo().browse(list_id) + return {'toast_content': mass_mailing_list.toast_content} @route(['/website_mass_mailing/get_content'], type='json', website=True, auth="public") def get_mass_mailing_content(self, newsletter_id, **post): + PopupModel = request.env['website.mass_mailing.popup'].sudo() data = self.is_subscriber(newsletter_id, **post) - mass_mailing_list = request.env['mail.mass_mailing.list'].sudo().browse(int(newsletter_id)) - data['content'] = mass_mailing_list.popup_content, - data['redirect_url'] = mass_mailing_list.popup_redirect_url + domain = expression.AND([request.website.website_domain(), [('mailing_list_id', '=', newsletter_id)]]) + mass_mailing_popup = PopupModel.search(domain, limit=1) + if mass_mailing_popup: + data['popup_content'] = mass_mailing_popup.popup_content + else: + data.update(PopupModel.default_get(['popup_content'])) return data + + @route(['/website_mass_mailing/set_content'], type='json', website=True, auth="user") + def set_mass_mailing_content(self, newsletter_id, content, **post): + PopupModel = request.env['website.mass_mailing.popup'] + domain = expression.AND([request.website.website_domain(), [('mailing_list_id', '=', newsletter_id)]]) + mass_mailing_popup = PopupModel.search(domain, limit=1) + if mass_mailing_popup: + mass_mailing_popup.write({'popup_content': content}) + else: + PopupModel.create({ + 'mailing_list_id': newsletter_id, + 'popup_content': content, + 'website_id': request.website.id, + }) + return True |
