<?xml version="1.0" encoding="UTF-8"?>
<template>
- <div t-name="mail.Wall" class="oe_view_manager oe_mail_wall oe_view_manager_current">
+ <!--
+ wall main template
+ Template used to display the communication history in the wall.
+ -->
+ <div t-name="mail.wall" class="oe_view_manager oe_mail_wall oe_view_manager_current">
<table class="oe_view_manager_header">
<colgroup>
<col width="33%"/>
</table>
<div class="oe_mail_wall_main">
<div class="oe_mail_wall_action">
- <img class="oe_mail_msg_image oe_left" alt="User img"/>
- <textarea class="oe_mail oe_mail_wall_action_textarea" placeholder="What are you working on?"/>
- <button class="oe_right oe_mail_wall_button_comment" type="button">Post comment</button>
+ <!-- call the composition form -->
+ <t t-call ="mail.compose_message"/>
</div>
- <div class="oe_clear"></div>
+ <div class="oe_clear"/>
<ul class="oe_mail_wall_threads">
+ <!-- contains threads -->
</ul>
<div class="oe_mail_wall_more">
<button class="oe_mail_wall_button_more" type="button">See more discussions</button>
</div>
</div>
- <div class="oe_mail_wall_aside"></div>
+ <div class="oe_mail_wall_aside">
+ <!-- contains currently nothing -->
+ </div>
</div>
- <t t-name="mail.WallThreadContainer">
+ <!--
+ wall_thread_container template for the wall
+ Each discussion thread is contained inside this template
+ -->
+ <t t-name="mail.wall_thread_container">
</t>
- <div t-name="mail.RecordThread" class="oe_mail_recthread">
- <div class="oe_mail_recthread_left"></div>
- <div class="oe_mail_recthread_right">
+ <!--
+ record_thread main template
+ Template used to display the communication history in documents
+ form view.
+ -->
+ <div t-name="mail.record_thread" class="oe_mail_recthread">
+ <!-- <h4>History and Comments</h4> -->
+ <div class="oe_mail_recthread_main">
+ <!-- contains the document thread -->
+ </div>
+ <div class="oe_mail_recthread_aside">
<div class="oe_mail_recthread_actions">
<button type="button" class="oe_mail_button_follow oe_mail_button_mouseout">Not following</button>
<button type="button" class="oe_mail_button_unfollow oe_mail_button_mouseout">Following</button>
- <button type="button" class="oe_mail_button_followers">Display followers</button>
+ <button type="button" class="oe_mail_button_followers">Show followers</button>
</div>
<div class="oe_mail_recthread_followers">
<h4>Followers</h4>
</div>
</div>
- <div t-name="mail.Thread" class="oe_mail oe_mail_thread">
+ <!--
+ record_thread.subscriber template
+ Template used to display a subscriber.
+ -->
+ <li t-name="mail.record_thread.subscriber">
+ <img class="oe_mail_thumbnail oe_mail_frame" t-attf-src="{record.avatar_url}"/>
+ <a t-attf-href="#model=res.users&id=#{record.id}"><t t-raw="record.name"/></a>
+ </li>
+
+ <!--
+ mail.compose_message template
+ This template holds the composition form to write a note or send
+ an e-mail. It contains by default a textarea, that will be replaced
+ by another composition form in the main wall composition form, or
+ for main thread composition form in document form view.
+ -->
+ <t t-name="mail.compose_message">
+ <div>
+ <img class="oe_mail_icon oe_mail_frame oe_left" alt="User img"/>
+ <div class="oe_mail_msg_content">
+ <!-- contains the composition form -->
+ <!-- default content: old basic textarea -->
+ <textarea class="oe_mail_compose_textarea" placeholder="Add your comment here..." onfocus="this.value = '';"/>
+ </div>
+ <div class="oe_clear"/>
+ </div>
+ </t>
+
+ <!--
+ thread template
+ This template holds a thread of comments. It begins with an actions
+ container, holding the composition form. Then come the various
+ messages. Then comes the 'more' button.
+ -->
+ <ul t-name="mail.thread" class="oe_mail oe_mail_thread">
<div class="oe_mail_thread_action">
- <img class="oe_mail_msg_image oe_left" alt="User img"/>
- <textarea class="oe_mail oe_mail_action_textarea" placeholder="Add your comment here..." onfocus="this.value = '';"/>
+ <!-- contains the composition box (form + image) -->
+ <t t-call="mail.compose_message"/>
+ </div>
+ <div class="oe_mail_thread_display">
+ <!-- contains the threads -->
</div>
- <div class="oe_mail_thread_display"></div>
<div class="oe_mail_thread_more">
<button class="oe_mail_button_more" type="button">Load more messages</button>
</div>
- </div>
+ </ul>
<!-- default layout -->
- <div t-name="mail.Thread.message" class="oe_mail oe_mail_thread_msg">
+ <li t-name="mail.thread.message" class="oe_mail oe_mail_thread_msg">
<div t-attf-class="oe_mail_msg_#{record.type}">
- <img class="oe_email_icon oe_left" t-att-src="record.mini_url"/>
+ <img class="oe_mail_icon oe_left" t-att-src="record.mini_url"/>
<div class="oe_mail_msg_content">
+ <!-- dropdown menu with message options and actions -->
<span class="oe_dropdown_toggle oe_dropdown_arrow">
<ul class="oe_dropdown_menu">
- <t t-if="thread._is_author(record.user_id[0]) && display['show_delete']">
- <li><a href="#" t-attf-data-id='{record.id}' class="oe_mail_msg_delete">Delete</a></li>
- </t>
- <t t-if="!thread._is_author(record.user_id[0]) && display['show_hide']">
- <li><a href="#" t-attf-data-id='{record.id}' class="oe_mail_msg_hide">Hide</a></li>
+ <t t-if="display['show_delete']">
+ <li t-if="record.is_author"><a href="#" class="oe_mail_msg_delete" t-attf-data-id='{record.id}'>Delete</a></li>
</t>
- <li t-if="record.type == 'email'"><a href="#" class="oe_mail_msg_details">Details</a></li>
+ <li t-if="display['show_hide']"><a href="#" class="oe_mail_msg_hide" t-attf-data-id='{record.id}'>Remove from Wall</a></li>
+<!-- Uncomment when adding subtype hiding
+ <li t-if="display['show_hide']">
+ <a href="#" class="oe_mail_msg_hide_type" t-attf-data-subtype='{record.subtype}'>Hide '<t t-esc="record.subtype"/>' for this document</a>
+ </li> -->
+ <li><a href="#" t-attf-data-msg_id="{record.id}" t-attf-data-type="{record.type}" t-attf-data-formatting="{record.content_subtype}" class="oe_mail_msg_reply_by_email">Reply by email</a></li>
+ <li t-if="record.type == 'email'"><a t-attf-href="#model=mail.message&id=#{record.id}" class="oe_mail_msg_details">Details</a></li>
+ <li><a href="#" class="oe_mail_msg_debug">Debug data</a></li>
</ul>
</span>
+ <!-- message itself -->
<div class="oe_mail_msg">
- <h1 t-if="record.subject && record.subject != 'Reply'" class="oe_mail_msg_title">
+ <h1 t-if="record.subject" class="oe_mail_msg_title">
<t t-raw="record.subject"/>
</h1>
<div t-if="params.thread_level > 0" class="oe_mail_msg_subtitle">
- <a href="#" t-attf-data-res-model='{params.res_model}' t-attf-data-res-id='{params.res_id}' class="oe_mail_internal_link"><t t-raw="record.record_name"/></a>
+ <a t-attf-href="#model=#{params.res_model}&id=#{params.res_id}"><t t-raw="record.record_name"/></a>
</div>
+ <ul class="oe_mail_invisible oe_mail_debug">
+ <li>document: (<t t-raw="record.model"/>,<t t-raw="record.res_id"/>)</li>
+ <li>id: <t t-raw="record.id"/></li>
+ <li>type: <t t-raw="record.type"/></li>
+ <li>content_subtype: <t t-raw="record.content_subtype"/></li>
+ <li>state: <t t-raw="record.state"/></li>
+ <li>parent_id: <t t-raw="record.parent_id"/></li>
+ <li>email_from: <t t-raw="record.email_from"/></li>
+ <li>email_to: <t t-raw="record.email_to"/></li>
+ <li>email_cc: <t t-raw="record.email_cc"/></li>
+ <li>email_bcc: <t t-raw="record.email_bcc"/></li>
+ <li>reply_to: <t t-raw="record.reply_to"/></li>
+ <li>partner_ids: <t t-raw="record.partner_ids"/></li>
+ <li t-if="record.type == 'email'">message_id: <t t-raw="record.message_id"/></li>
+ <li t-if="record.type == 'email'">references: <t t-raw="record.references"/></li>
+ </ul>
+ <div class="oe_clear"/>
<div class="oe_mail_msg_body">
- <a href="#" data-res-model='res.users' t-attf-data-res-id='{record.user_id[0]}' class="oe_mail_internal_link"><t t-raw="record.user_id[1]"/></a>
- <t t-raw="record.body"/>
+ <a t-attf-href="#model=res.users&id=#{record.user_id[0]}"><t t-raw="record.user_id[1]"/></a>
+ <div class="oe_mail_msg_record_body"><t t-raw="record.body"/></div>
</div>
<ul class="oe_mail_msg_footer">
<li><span t-att-title="record.date"><t t-raw="record.timerelative"/></span></li>
</div>
</div>
</div>
- </div>
+ </li>
+
</template>