summaryrefslogtreecommitdiff
path: root/addons/website_mass_mailing/controllers/main.py
diff options
context:
space:
mode:
Diffstat (limited to 'addons/website_mass_mailing/controllers/main.py')
-rw-r--r--addons/website_mass_mailing/controllers/main.py29
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