Files
odoo_source/addons/website_slides/data/mail_template_data.xml
T
Nikunj Ladava 7d66dcbf54 [IMP] website_slides: improve design of share pages in elearning
PURPOSE

Globally improve user experience when sharing content from the e-learning app.
This includes new sharing options, allowing to share to multiple emails, split
the sharing template from slide and course, etc...

SPECIFICATION

- added two more options 'WhatsApp' and 'Pinterest' to share snippets.
- we converted the email type of input for 'Share by email' to text,
  so we can enter multiple emails to share and also add validation
  in the controller for this input text input.
- We improved the design of the share modal by making sure that the full URL
  for sharing link is visible and rearranged the UI fields of
  'Share' nav-tab on non-fullscreen content (if there is
  embed code, the sharing by email and embed code will still be on
  the single row).
- Improved the share modal of the channel by adding an email field in it to
  Share the channel through the mail.
- New field name 'share_channel_template_id' for channel template
  in 'slide.channel' modal and also added _send_share_email method
  in it and email template for sharing channel through the mail, and
  also added the dedicated route for sharing the channel.
- New share button is added on the top of documents in the slide (which
  previously was in the tab below the content).

task- 2627364

Part-of: odoo/odoo#78139
2022-09-02 14:17:40 +02:00

150 lines
8.9 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<odoo>
<data noupdate="1">
<record id="slide_template_published" model="mail.template">
<field name="name">Slide Published</field>
<field name="model_id" ref="model_slide_slide"/>
<field name="subject">New {{ object.slide_category }} published on {{ object.channel_id.name }}</field>
<field name="body_html" type="html">
<div style="margin: 0px; padding: 0px;">
<p style="margin: 0px; padding: 0px; font-size: 13px;">
Hello<br/><br/>
There is something new in the course <strong t-out="object.channel_id.name or ''">Trees, Wood and Gardens</strong> you are following:<br/><br/>
<center><strong t-out="object.name or ''">Trees</strong></center>
<t t-if="object.image_1024">
<div style="padding: 16px 8px 16px 8px; text-align: center;">
<a t-att-href="object.website_share_url">
<img t-att-alt="object.name" t-attf-src="{{ ctx.get('base_url') }}/web/image/slide.slide/{{ object.id }}/image_1024" style="height:auto; width:150px; margin: 16px;"/>
</a>
</div>
</t>
<div style="padding: 16px 8px 16px 8px; text-align: center;">
<a t-att-href="object.website_share_url"
style="background-color: #875a7b; padding: 8px 16px 8px 16px; text-decoration: none; color: #fff; border-radius: 5px;">View content</a>
</div>
Enjoy this exclusive content!
<t t-if="user.signature">
<br />
<t t-out="user.signature or ''">--<br/>Mitchell Admin</t>
</t>
</p>
</div>
</field>
<field name="auto_delete" eval="True"/>
</record>
<record id="slide_template_shared" model="mail.template">
<field name="name">Slide Shared</field>
<field name="model_id" ref="model_slide_slide"/>
<field name="subject">{{ user.name }} shared a {{ object.slide_category }} with you!</field>
<field name="email_from">{{ user.email_formatted }}</field>
<field name="email_to">{{ ctx.get('email', '') }}</field>
<field name="body_html" type="html">
<div style="margin: 0px; padding: 0px;">
<p style="margin: 0px; padding: 0px; font-size: 13px;">
Hello<br/><br/>
<t t-out="user.name or ''">Mitchell Admin</t> shared the <t t-out="object.slide_category or ''">document</t> <strong t-out="object.name or ''">Trees</strong> with you!
<div style="margin: 16px 8px 16px 8px; text-align: center;">
<a t-att-href="(object.website_share_url + '?fullscreen=1') if ctx.get('fullscreen') else object.website_share_url">
<img t-att-alt="object.name" t-attf-src="{{ ctx.get('base_url') }}/web/image/slide.slide/{{ object.id }}/image_1024" style="height:auto; width:150px; margin: 16px;"/>
</a>
</div>
<div style="padding: 16px 8px 16px 8px; text-align: center;">
<a t-att-href="(object.website_share_url + '?fullscreen=1') if ctx.get('fullscreen') else object.website_share_url"
style="background-color: #875a7b; padding: 8px 16px 8px 16px; text-decoration: none; color: #fff; border-radius: 5px;">View <strong t-out="object.name or ''">Trees</strong></a>
</div>
<t t-if="user.signature">
<br />
<t t-out="user.signature or ''">--<br/>Mitchell Admin</t>
</t>
</p>
</div>
</field>
<field name="auto_delete" eval="True"/>
</record>
<!-- Completed Channel Message -->
<record id="mail_template_channel_completed" model="mail.template">
<field name="name">Completed Course</field>
<field name="model_id" ref="model_slide_channel_partner"/>
<field name="subject">Congratulation! You completed {{ object.channel_id.name }}</field>
<field name="email_from">{{ (object.channel_id.user_id.email_formatted or object.channel_id.user_id.company_id.catchall_formatted) }}</field>
<field name="partner_to">{{ object.partner_id.id }}</field>
<field name="body_html" type="html">
<div style="margin: 0px; padding: 0px;">
<div style="margin: 0px; padding: 0px; font-size: 13px;">
<p style="margin: 0px;">Hello <t t-out="object.partner_id.name or ''">Brandon Freeman</t>,</p><br/>
<p><b>Congratulations!</b></p>
<p>You've completed the course <b t-out="object.channel_id.name or ''">Basics of Gardening</b></p>
<p>Check out the other available courses.</p><br/>
<div style="padding: 16px 8px 16px 8px; text-align: center;">
<a href="/slides/all" style="background-color: #875a7b; padding: 8px 16px 8px 16px; text-decoration: none; color: #fff; border-radius: 5px;">
Explore courses
</a>
</div>
Enjoy this exclusive content!
<t t-if="object.channel_id.user_id.signature">
<br />
<t t-out="object.channel_id.user_id.signature or ''">--<br/>Mitchell Admin</t>
</t>
</div>
</div>
</field>
<field name="auto_delete" eval="True"/>
<field name="lang">{{ object.partner_id.lang }}</field>
</record>
<record id="mail_template_channel_shared" model="mail.template">
<field name="name">Channel Shared</field>
<field name="model_id" ref="model_slide_channel"/>
<field name="subject">{{ user.name }} shared a Course</field>
<field name="email_from">{{ user.email_formatted }}</field>
<field name="body_html" type="html">
<div style="margin: 0px; padding: 0px;">
<p style="margin: 0px; padding: 0px; font-size: 13px;">
Hello<br/><br/>
<t t-out="user.name or ''">Mitchell Admin</t> shared the <strong t-out="object.name or ''">document</strong> with you!
<div style="margin: 16px 8px 16px 8px; text-align: center;">
<a t-att-href="object.website_url">
<img t-att-alt="object.name"
t-attf-src="{{ ctx.get('base_url') }}/web/image/slide.channel/{{ object.id }}/image_256"
style="height:auto; width:150px; margin: 16px;"/>
</a>
</div>
<div style="padding: 16px 8px 16px 8px; text-align: center;">
<a t-att-href="object.website_url"
style="background-color: #875a7b; padding: 8px 16px 8px 16px;
text-decoration: none; color: #fff; border-radius: 5px;">
View <strong t-out="object.name or ''">Document</strong></a>
</div>
<t t-if="user.signature">
<br />
<t t-out="user.signature or ''">--<br/>Mitchell Admin</t>
</t>
</p>
</div>
</field>
<field name="auto_delete" eval="True"/>
</record>
<!-- Slide channel invite feature -->
<record id="mail_template_slide_channel_invite" model="mail.template">
<field name="name">Channel: Invite by email</field>
<field name="model_id" ref="model_slide_channel_partner" />
<field name="subject">You have been invited to join {{ object.channel_id.name }}</field>
<field name="use_default_to" eval="True"/>
<field name="body_html" type="html">
<div style="margin: 0px; padding: 0px; font-size: 13px;">
<p style="margin: 0px; padding: 0px; font-size: 13px;">
Hello<br/><br/>
You have been invited to join a new course: <t t-out="object.channel_id.name or ''">Basics of Gardening</t>.
</p>
</div>
</field>
<field name="lang">{{ object.partner_id.lang }}</field>
<field name="auto_delete" eval="True"/>
</record>
</data>
</odoo>