diff options
Diffstat (limited to 'addons/mail/static/src/xml/mail_thread.xml')
| -rw-r--r-- | addons/mail/static/src/xml/mail_thread.xml | 184 |
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' && (!message.author_id || !message.author_id[0]) && 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' && (message.author_id && message.author_id[0]) && !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' && (message.author_id && 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' && (!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 && 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 && 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 && !message.author_id[1] && message.email_from"> + <strong><t t-esc="message.email_from"/></strong> + </t> + <t t-if="message.author_id && !message.author_id[1] && !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 && (message.model != 'mail.channel') && 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 && message.tracking_value_ids.length > 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 && message.tracking_value_ids.length > 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> |
