From bc3d5d7ba989e2f42ae2a1f6fdd0b51a36e7cbb2 Mon Sep 17 00:00:00 2001 From: Hansa Rathod Date: Tue, 10 Jul 2018 12:17:50 +0530 Subject: [PATCH] [IMP]: Added Upstream patch for Mail Mailing --- addons/mass_mailing/controllers/main.py | 5 +++++ addons/mass_mailing/models/mail_mail.py | 2 +- addons/mass_mailing/models/mass_mailing.py | 1 + addons/mass_mailing/static/src/js/mass_mailing.js | 2 +- addons/mass_mailing/wizard/test_mailing.py | 2 +- 5 files changed, 9 insertions(+), 3 deletions(-) diff --git a/addons/mass_mailing/controllers/main.py b/addons/mass_mailing/controllers/main.py index 6384845e..711a23ac 100644 --- a/addons/mass_mailing/controllers/main.py +++ b/addons/mass_mailing/controllers/main.py @@ -11,6 +11,11 @@ from flectra.tools import consteq class MassMailController(http.Controller): + @http.route(['/unsubscribe_from_list'], type='http', website=True, multilang=False, auth='public') + def unsubscribe_placeholder_link(self, **post): + """Dummy route so placeholder is not prefixed by language, MUST have multilang=False""" + raise werkzeug.exceptions.NotFound() + @http.route(['/mail/mailing//unsubscribe'], type='http', website=True, auth='public') def mailing(self, mailing_id, email=None, res_id=None, token="", **post): mailing = request.env['mail.mass_mailing'].sudo().browse(mailing_id) diff --git a/addons/mass_mailing/models/mail_mail.py b/addons/mass_mailing/models/mail_mail.py index b2e617bb..317973a7 100644 --- a/addons/mass_mailing/models/mail_mail.py +++ b/addons/mass_mailing/models/mail_mail.py @@ -92,7 +92,7 @@ class MailMail(models.Model): def send_get_email_dict(self, partner=None): # TDE: temporary addition (mail was parameter) due to semi-new-API res = super(MailMail, self).send_get_email_dict(partner) - base_url = self.env['ir.config_parameter'].sudo().get_param('web.base.url') + base_url = self.env['ir.config_parameter'].sudo().get_param('web.base.url').rstrip('/') if self.mailing_id and res.get('body') and res.get('email_to'): emails = tools.email_split(res.get('email_to')[0]) email_to = emails and emails[0] or False diff --git a/addons/mass_mailing/models/mass_mailing.py b/addons/mass_mailing/models/mass_mailing.py index 6f8082db..35d33648 100644 --- a/addons/mass_mailing/models/mass_mailing.py +++ b/addons/mass_mailing/models/mass_mailing.py @@ -681,6 +681,7 @@ class MassMailing(models.Model): 'mass_mailing_id': mailing.id, 'mailing_list_ids': [(4, l.id) for l in mailing.contact_list_ids], 'no_auto_thread': mailing.reply_to_mode != 'thread', + 'template_id': None, } if mailing.reply_to_mode == 'email': composer_values['reply_to'] = mailing.reply_to diff --git a/addons/mass_mailing/static/src/js/mass_mailing.js b/addons/mass_mailing/static/src/js/mass_mailing.js index 06552bca..423e08f6 100644 --- a/addons/mass_mailing/static/src/js/mass_mailing.js +++ b/addons/mass_mailing/static/src/js/mass_mailing.js @@ -38,7 +38,7 @@ FieldTextHtml.include({ var datarecord = this._super(); if (this.model === 'mail.mass_mailing') { // these fields can potentially get very long, let's remove them - datarecord = _.omit(datarecord, ['mailing_domain', 'contact_list_ids', 'body_html']); + datarecord = _.omit(datarecord, ['mailing_domain', 'contact_list_ids', 'body_html', 'attachment_ids']); } return datarecord; }, diff --git a/addons/mass_mailing/wizard/test_mailing.py b/addons/mass_mailing/wizard/test_mailing.py index 0dcc5fac..f3dc66df 100644 --- a/addons/mass_mailing/wizard/test_mailing.py +++ b/addons/mass_mailing/wizard/test_mailing.py @@ -26,7 +26,7 @@ class TestMassMailing(models.TransientModel): 'reply_to': mailing.reply_to, 'email_to': test_mail, 'subject': mailing.name, - 'body_html': mailing.body_html, + 'body_html': tools.html_sanitize(mailing.body_html, sanitize_attributes=True, sanitize_style=True, strip_classes=True), 'notification': True, 'mailing_id': mailing.id, 'attachment_ids': [(4, attachment.id) for attachment in mailing.attachment_ids],