summaryrefslogtreecommitdiff
path: root/addons/mail/static/src/xml/mail_thread.xml
diff options
context:
space:
mode:
Diffstat (limited to 'addons/mail/static/src/xml/mail_thread.xml')
-rw-r--r--addons/mail/static/src/xml/mail_thread.xml184
1 files changed, 184 insertions, 0 deletions
diff --git a/addons/mail/static/src/xml/mail_thread.xml b/addons/mail/static/src/xml/mail_thread.xml
new file mode 100644
index 00000000000..e650dd323fc
--- /dev/null
+++ b/addons/mail/static/src/xml/mail_thread.xml
@@ -0,0 +1,184 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<templates>
+
+ <t t-name="mail.ComposeMessage">
+ <div class="o_mail_compose_message">
+ <div class="dropup o_mail_mention_dropdown"/>
+ <!-- composer is an input text if display mode is 'chat' and a textarea if it is 'mail' -->
+ <t t-if="widget.options.display_mode === 'chat'">
+ <input type="text" class="o_mail_compose_message_input" placeholder="Write something" name="message" id="send_message"/>
+ </t>
+ <t t-if="widget.options.display_mode === 'mail'">
+ <textarea class="o_mail_compose_message_input" placeholder="Write something" name="message" id="send_message"/>
+ </t>
+ <div class="btn-group o_mail_compose_message_buttons">
+ <button t-if="widget.options.display_mode === 'mail'" class="btn btn-primary o_mail_compose_message_button_send" type="button">
+ Send
+ </button>
+ <button class="btn btn-icon fa fa-smile-o o_mail_compose_message_button_emoji" type="button" data-toggle="popover"/>
+ <button class="btn btn-icon fa fa-paperclip o_mail_compose_message_button_attachment" type="button" data-toggle="popover"/>
+ <button t-if="widget.options.display_mode === 'mail'" class="btn btn-icon fa fa-pencil-square-o o_mail_compose_message_button_full_message" type="button" data-toggle="popover"/>
+ </div>
+ </div>
+ <div class="o_mail_mention_partner_tags"/>
+ <div class="o_mail_attachments_list"/>
+
+ <span class="o_mail_attachment_file hide">
+ <t t-call="HiddenInputFile">
+ <t t-set="fileupload_id" t-value="widget.fileupload_id"/>
+ <t t-set="fileupload_action" t-translation="off">/web/binary/upload_attachment</t>
+ <input type="hidden" name="model" value="mail.compose.message"/>
+ <input type="hidden" name="id" value="0"/>
+ <input type="hidden" name="session_id" t-att-value="widget.session.session_id"/>
+ </t>
+ </span>
+ <span class="o_mail_compose_message_emoji"></span>
+
+ </t>
+
+ <t t-name="mail.ComposeMessage.emoji">
+ <t t-foreach="widget.options.emoji_list" t-as="emoji">
+ <span t-att-data-emoji="emoji.source" class="o_mail_compose_message_emoji_img" t-att-title="emoji.description">
+ <t t-raw="emoji.substitution"/>
+ </span>
+ </t>
+ </t>
+
+ <t t-name="mail.ComposeMessage.attachments">
+ <div class="o_mail_chat_im_attachment_files">
+ <t t-foreach="widget.get('attachment_ids')" t-as='attachment'>
+ <div t-attf-class="o_mail_attachment #{attachment.upload ? 'o_mail_uploading' : ''}" t-att-title="attachment.name">
+ <a class="o_image" t-att-href='attachment.url' target="_blank" t-att-data-mimetype="attachment.mimetype" t-attf-data-src="/web/image/#{attachment.id}/100x80">
+ <div class='o_mail_attachment_name'>
+ <t t-raw='attachment.name'/>
+ </div>
+ </a>
+ <div class="o_mail_attachment_delete">
+ <i class='fa fa-times-circle' title="Delete this attachment" t-att-data-id="attachment.id"/>
+ </div>
+ <div class="o_mail_attachment_progress_bar">
+ Uploading
+ </div>
+ </div>
+ </t>
+ </div>
+ </t>
+
+ <t t-name="mail.ComposeMessage.mention_menu">
+ <ul class="dropdown-menu" aria-labelledby="dropdownMailMentionMenu">
+ <t t-foreach="widget.get('mention_partners')" t-as="partner">
+ <li t-att-data-partner-id="partner.id" t-att-class="'o_mail_mention_proposition ' + (partner_index === 0 ? 'active' : '')">
+ <a href="#">
+ <t t-esc="partner.name"/> (<t t-esc="partner.email || _t('No email')"/>)</a>
+ </li>
+ </t>
+ </ul>
+ </t>
+
+ <t t-name="mail.ComposeMessage.mention_tags">
+ <t t-if="widget.get('mention_selected_partners').length">Mention(s):</t>
+ <t t-foreach="widget.get('mention_selected_partners')" t-as="partner">
+ <span class="badge"><t t-esc="partner.name"/></span>
+ </t>
+ </t>
+
+
+ <!--
+ Message Thread
+ -->
+ <t t-name="mail.Thread.messages">
+ <t t-set="current_day" t-value="0"/>
+ <t t-foreach="widget.get('messages')" t-as="message">
+ <div t-if="current_day != message.date.split(' ')[0]" class="o_mail_thread_date_separator">
+ <div class="o_mail_thread_date_wrapper">
+ <div class="o_mail_thread_date_separator_title">
+ <t t-raw="moment(message.date, 'YYYY-MM-DD hh:mm:ss').format('LL')"/>
+ </div>
+ </div>
+ <t t-set="current_day" t-value="message.date.split(' ')[0]"/>
+ </div>
+ <div class="o_mail_thread_message" t-att-data-message-id="message.id">
+ <div class="o_mail_thread_message_avatar">
+ <img t-if="message.message_type == 'email' &amp;&amp; (!message.author_id || !message.author_id[0]) &amp;&amp; message.email_from" src="/mail/static/src/img/email_icon.png" alt="avatar" class="o_mail_thread_avatar img-rounded"/>
+ <img t-if="message.message_type == 'email' &amp;&amp; (message.author_id &amp;&amp; message.author_id[0]) &amp;&amp; !message.email_from" t-att-src="'/web/image/res.partner/'+message.author_id[0]+'/image_small'" class="o_mail_thread_avatar img-rounded"/>
+ <img t-if="message.message_type !== 'email' &amp;&amp; (message.author_id &amp;&amp; message.author_id[0])" t-att-src="'/web/image/res.partner/'+message.author_id[0]+'/image_small'" class="o_mail_thread_avatar img-rounded"/>
+ <img t-if="message.message_type !== 'email' &amp;&amp; (!message.author_id || !message.author_id[0])" src="/mail/static/src/img/smiley/avatar.jpg" class="o_mail_thread_avatar img-rounded"/>
+ </div>
+ <div t-att-class="'o_mail_thread_message_core ' + 'o_mail_thread_message_type_' + message.message_type + ' ' + (message.is_note ? 'o_mail_thread_message_subtype_note' : '')">
+ <!-- actions -->
+ <span class="pull-right">
+ <i t-if="message.is_needaction &amp;&amp; widget.options.display_needaction_button" class="fa fa-check o_mail_thread_message_needaction" t-att-data-message-id="message.id" t-att-title="_t('Mark as Done')"/>
+ <i t-att-class="'fa fa-lg o_mail_thread_message_star ' + (message.is_starred ? 'o_mail_message_starred fa-star' : 'fa-star-o')" t-att-data-message-id="message.id" t-att-title="_t('Mark as Todo')"/>
+ </span>
+
+ <p class="text-muted">
+ <t t-if="message.is_note">
+ Note by
+ </t>
+ <!-- author : partner or email_from -->
+ <t t-if="message.author_id &amp;&amp; message.author_id[1]">
+ <strong class="o_mail_redirect" data-oe-model="res.partner" t-att-data-oe-id="message.author_id[0]"><t t-esc="message.author_id[1]"/></strong>
+ </t>
+ <t t-if="message.author_id &amp;&amp; !message.author_id[1] &amp;&amp; message.email_from">
+ <strong><t t-esc="message.email_from"/></strong>
+ </t>
+ <t t-if="message.author_id &amp;&amp; !message.author_id[1] &amp;&amp; !message.email_from">
+ <strong><t t-esc="widget.options.default_username"/></strong>
+ </t>
+
+ <small t-att-title="moment(message.date, 'YYYY-MM-DD hh:mm:ss').format('LLL')">
+ - <t t-esc="moment(message.date, 'YYYY-MM-DD hh:mm:ss').format('hh:mm')"/>
+ </small>
+ <t t-if="message.model &amp;&amp; (message.model != 'mail.channel') &amp;&amp; widget.options.display_document_link">
+ on <a class="o_mail_redirect" t-att-data-oe-model="message.model" t-att-data-oe-id="message.res_id" href="#"><t t-esc="message.record_name"/></a>
+ </t>
+ </p>
+ <!-- tracking message-->
+ <t t-if="message.tracking_value_ids &amp;&amp; message.tracking_value_ids.length &gt; 0">
+ <t t-call="mail.Thread.tracking_message">
+ <t t-set="message" t-value="message"/>
+ </t>
+ </t>
+ <!-- normal message -->
+ <t t-if="!(message.tracking_value_ids &amp;&amp; message.tracking_value_ids.length &gt; 0)">
+ <t t-raw="message.body"/>
+ </t>
+ <!-- Attachments -->
+ <t t-foreach="message.attachment_ids" t-as="attachment">
+ <div t-attf-class="o_mail_attachment" t-att-title="attachment.name">
+ <a class="o_image" t-att-href='attachment.url' target="_blank" t-att-data-mimetype="attachment.mimetype" t-attf-data-src="/web/image/#{attachment.id}/100x80">
+ <div class='o_mail_attachment_name'>
+ <t t-raw='attachment.name'/>
+ </div>
+ </a>
+ </div>
+ </t>
+ </div>
+ </div>
+ </t>
+ </t>
+
+ <t t-name="mail.Thread.load_more">
+ <div t-if="!widget.all_messages_loaded" class="o_mail_thread_show_more">
+ <button class="btn btn-sm btn-link">-------- Show more messages --------</button>
+ </div>
+ </t>
+
+ <t t-name="mail.Thread.tracking_message">
+ <div>
+ <ul class="o_mail_thread_message_tracking">
+ <t t-foreach='message.tracking_value_ids' t-as='value'>
+ <li>
+ <t t-esc="value.changed_field"/> :
+ <t t-if="value.old_value">
+ <span class="o_mail_message_tracking_value"> <t t-esc="value.old_value"/> </span>
+ <span> <i class="fa fa-long-arrow-right"></i> </span>
+ </t>
+ <span class="o_mail_message_tracking_value"> <t t-esc="value.new_value"/> </span>
+ </li>
+ </t>
+ </ul>
+ </div>
+ </t>
+
+</templates>