diff options
| author | Siddarth Gajjar <sga@odoo.com> | 2020-05-11 11:13:52 +0000 |
|---|---|---|
| committer | Thibault Delavallée <tde@odoo.com> | 2020-05-20 08:26:24 +0000 |
| commit | a1d27a153c456842381bef92336e23fd1b919d4b (patch) | |
| tree | 69ed70c70a2ff2bf6d629bd7825a87bcb6b08aeb | |
| parent | 56f07287881095275eb1acff6220c4e783e45778 (diff) | |
[REF] {website_}mass_mailing: display social links in mass mailing templates
PURPOSE
Using Email Marketing or Marketing Automation without website installed will
not populate the links for your social media accounts.
SPECIFICATIONS
Move social_links template directly into mass_mailing and use company
information available through social_media module as default values, then
overridden by website information.
TaskID 2036094
PR #51025
Enterprise PR odoo/enterprise#10497
Related: odoo/upgrade#1212
Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
| -rw-r--r-- | addons/mass_mailing/__manifest__.py | 2 | ||||
| -rw-r--r-- | addons/mass_mailing/models/__init__.py | 1 | ||||
| -rw-r--r-- | addons/mass_mailing/models/res_company.py | 17 | ||||
| -rw-r--r-- | addons/mass_mailing/views/snippets_themes.xml | 36 | ||||
| -rw-r--r-- | addons/website_mass_mailing/models/__init__.py | 1 | ||||
| -rw-r--r-- | addons/website_mass_mailing/models/res_company.py | 19 | ||||
| -rw-r--r-- | addons/website_mass_mailing/views/snippets_templates.xml | 41 |
7 files changed, 77 insertions, 40 deletions
diff --git a/addons/mass_mailing/__manifest__.py b/addons/mass_mailing/__manifest__.py index 1bd54580278..73ed0cc919d 100644 --- a/addons/mass_mailing/__manifest__.py +++ b/addons/mass_mailing/__manifest__.py @@ -5,7 +5,7 @@ 'name': 'Email Marketing', 'summary': 'Design, send and track emails', 'description': "", - 'version': '2.1', + 'version': '2.2', 'sequence': 110, 'website': 'https://www.odoo.com/page/mailing', 'category': 'Marketing/Email Marketing', diff --git a/addons/mass_mailing/models/__init__.py b/addons/mass_mailing/models/__init__.py index 035ce2d73cc..9d9a63bd96f 100644 --- a/addons/mass_mailing/models/__init__.py +++ b/addons/mass_mailing/models/__init__.py @@ -12,3 +12,4 @@ from . import mail_thread from . import res_config_settings from . import res_users from . import utm +from . import res_company diff --git a/addons/mass_mailing/models/res_company.py b/addons/mass_mailing/models/res_company.py new file mode 100644 index 00000000000..39865fe4388 --- /dev/null +++ b/addons/mass_mailing/models/res_company.py @@ -0,0 +1,17 @@ +# -*- coding: utf-8 -*- +# Part of Odoo. See LICENSE file for full copyright and licensing details. + +from odoo import models + + +class ResCompany(models.Model): + _inherit = "res.company" + + def _get_social_media_links(self): + self.ensure_one() + return { + 'social_facebook': self.social_facebook, + 'social_linkedin': self.social_linkedin, + 'social_twitter': self.social_twitter, + 'social_instagram': self.social_instagram + } diff --git a/addons/mass_mailing/views/snippets_themes.xml b/addons/mass_mailing/views/snippets_themes.xml index 1fc5460a49f..63257b088e8 100644 --- a/addons/mass_mailing/views/snippets_themes.xml +++ b/addons/mass_mailing/views/snippets_themes.xml @@ -90,6 +90,11 @@ </a> &nbsp; </td> + <td width="30%" class="text-right o_mail_no_resize"> + <div class="o_mail_header_social"> + <t t-call="mass_mailing.social_links"/> + </div> + </td> </tr> </table> </div> @@ -110,6 +115,11 @@ </h3> &nbsp; </td> + <td width="30%" class="text-right o_mail_no_resize"> + <div class="o_mail_header_social"> + <t t-call="mass_mailing.social_links"/> + </div> + </td> </tr> </table> </div> @@ -730,6 +740,11 @@ <table align="center" cellspacing="0" cellpadding="0" class="o_mail_table_styles o_mail_full_width_padding"> <tbody> <tr> + <td class="o_mail_footer_social"> + <t t-call="mass_mailing.social_links"/> + </td> + </tr> + <tr> <td class="o_mail_footer_links"> <a role="button" href="/unsubscribe_from_list" class="btn btn-link">Unsubscribe</a> </td> @@ -762,6 +777,9 @@ <p class="o_mail_footer_copy"><span class="fa fa-copyright" role="img" aria-label="Copyright" title="Copyright"/> 2016 All Rights Reserved</p> </div> </td> + <td class="o_mail_footer_social"> + <t t-call="mass_mailing.social_links"/> + </td> </tr> </tbody> </table> @@ -769,6 +787,24 @@ </div> </template> +<template id="social_links"> + + <t t-set="social_links" t-value="company_id._get_social_media_links()"/> + + <a t-if="social_links.get('social_facebook')" t-att-href="social_links.get('social_facebook')" aria-label="Facebook" title="Facebook"> + <span class="fa fa-facebook"></span> + </a> + <a t-if="social_links.get('social_linkedin')" t-att-href="social_links.get('social_linkedin')" style="margin-left:10px" aria-label="LinkedIn" title="LinkedIn"> + <span class="fa fa-linkedin"></span> + </a> + <a t-if="social_links.get('social_twitter')" t-att-href="social_links.get('social_twitter')" style="margin-left:10px" aria-label="Twitter" title="Twitter"> + <span class="fa fa-twitter"></span> + </a> + <a t-if="social_links.get('social_instagram')" t-att-href="social_links.get('social_instagram')" style="margin-left:10px" aria-label="Instagram" title="Instagram"> + <span class="fa fa-instagram"></span> + </a> +</template> + <!-- Snippet themes Options --> <template id="snippet_options"> <t t-call="web_editor.snippet_options"/> diff --git a/addons/website_mass_mailing/models/__init__.py b/addons/website_mass_mailing/models/__init__.py index e8ef8b35d78..eecc2740faa 100644 --- a/addons/website_mass_mailing/models/__init__.py +++ b/addons/website_mass_mailing/models/__init__.py @@ -3,3 +3,4 @@ from . import mailing_list from . import website_mass_mailing +from . import res_company diff --git a/addons/website_mass_mailing/models/res_company.py b/addons/website_mass_mailing/models/res_company.py new file mode 100644 index 00000000000..892eea99c48 --- /dev/null +++ b/addons/website_mass_mailing/models/res_company.py @@ -0,0 +1,19 @@ +# -*- coding: utf-8 -*- +# Part of Odoo. See LICENSE file for full copyright and licensing details. + +from odoo import models + + +class ResCompany(models.Model): + _inherit = "res.company" + + def _get_social_media_links(self): + social_media_links = super()._get_social_media_links() + website_id = self.env['website'].get_current_website() + social_media_links.update({ + 'social_facebook': website_id.social_facebook or social_media_links.get('social_facebook'), + 'social_linkedin': website_id.social_linkedin or social_media_links.get('social_linkedin'), + 'social_twitter': website_id.social_twitter or social_media_links.get('social_twitter'), + 'social_instagram': website_id.social_instagram or social_media_links.get('social_instagram') + }) + return social_media_links diff --git a/addons/website_mass_mailing/views/snippets_templates.xml b/addons/website_mass_mailing/views/snippets_templates.xml index 4c055fb8224..da0c52465bf 100644 --- a/addons/website_mass_mailing/views/snippets_templates.xml +++ b/addons/website_mass_mailing/views/snippets_templates.xml @@ -75,37 +75,12 @@ </template> <!-- Extend default mass_mailing snippets with website feature --> -<template id="social_links"> - <t t-if="not website"> - <t t-set="website" t-value="request.env['website'].search([], limit=1)"/> - </t> - <t t-if="website.social_facebook"> - <a t-att-href="website.social_facebook" aria-label="Facebook" title="Facebook"> - <span class="fa fa-facebook"></span> - </a> - </t> - <t t-if="website.social_linkedin"> - <a t-att-href="website.social_linkedin" style="margin-left:10px" aria-label="LinkedIn" title="LinkedIn"> - <span class="fa fa-linkedin"></span> - </a> - </t> - <t t-if="website.social_twitter"> - <a t-att-href="website.social_twitter" style="margin-left:10px" aria-label="Twitter" title="Twitter"> - <span class="fa fa-twitter"></span> - </a> - </t> - <t t-if="website.social_instagram"> - <a t-att-href="website.social_instagram" style="margin-left:10px" aria-label="Instagram" title="Instagram"> - <span class="fa fa-instagram"></span> - </a> - </t> -</template> <template id="s_mail_block_header_social" inherit_id="mass_mailing.s_mail_block_header_social"> <xpath expr="//td[hasclass('o_mail_logo_container')]" position="after"> <td width="30%" class="text-right o_mail_no_resize"> <div class="o_mail_header_social"> - <t t-call="website_mass_mailing.social_links"/> + <t t-call="mass_mailing.social_links"/> </div> </td> </xpath> @@ -115,7 +90,7 @@ <xpath expr="//table//td" position="after"> <td width="30%" class="text-right o_mail_no_resize"> <div class="o_mail_header_social"> - <t t-call="website_mass_mailing.social_links"/> + <t t-call="mass_mailing.social_links"/> </div> </td> </xpath> @@ -125,24 +100,12 @@ <xpath expr="//td[hasclass('o_mail_footer_links')]" position="inside"> <t> | <a role="button" href="/contactus" class="btn btn-link">Contact</a></t> </xpath> - <xpath expr="//tr" position="before"> - <tr> - <td class="o_mail_footer_social"> - <t t-call="website_mass_mailing.social_links"/> - </td> - </tr> - </xpath> </template> <template id="s_mail_block_footer_social_left" inherit_id="mass_mailing.s_mail_block_footer_social_left"> <xpath expr="//div[hasclass('o_mail_footer_links')]" position="inside"> <t> | <a role="button" href="/contactus" class="btn btn-link">Contact</a></t> </xpath> - <xpath expr="//td" position="after"> - <td class="o_mail_footer_social"> - <t t-call="website_mass_mailing.social_links"/> - </td> - </xpath> </template> </odoo> |
