[FIX] website_mail_channel: _send_confirmation_email with company email

Public user by default don't have email. So when you try to subscribe to a
channel in public user (portal don't receive an email), the email cannot be
send and the user see a message:
  "Unable to post message, please configure the sender's email address.

closes odoo/odoo#60867

X-original-commit: 7e40af524cc1b23abab3140377d993f3e93c5cf0
Signed-off-by: Jérémy Kersten (jke) <jke@openerp.com>
This commit is contained in:
Jeremy Kersten
2020-10-27 18:47:14 +00:00
parent a14a8e47fe
commit 6e6ea2d428
@@ -19,7 +19,9 @@ class MailGroup(models.Model):
return headers
def _send_confirmation_email(self, partner_ids, unsubscribe=False):
base_url = self.env['ir.config_parameter'].sudo().get_param('web.base.url')
website = self.env['website'].get_current_website()
base_url = website.get_base_url()
route = "/groups/%(action)s/%(channel)s/%(partner)s/%(token)s"
if unsubscribe:
template = self.env.ref('website_mail_channel.mail_template_list_unsubscribe')
@@ -38,9 +40,13 @@ class MailGroup(models.Model):
'partner': partner_id,
'token': token,
})
template.with_context(token_url=token_url).send_mail(self.id,
template.with_context(token_url=token_url).send_mail(
self.id,
force_send=True,
email_values={'recipient_ids': [(4, partner_id)]}
email_values={
'recipient_ids': [(4, partner_id)],
'email_from': website.company_id.email,
}
)
return True