4 <!-- mail.message tree: short view !-->
5 <record model="ir.ui.view" id="view_message_tree_short">
6 <field name="name">mail.message.tree.short</field>
7 <field name="model">mail.message</field>
8 <field name="type">tree</field>
9 <field name="priority">20</field>
10 <field name="arch" type="xml">
11 <tree string="Messages">
13 <field name="subject"/>
14 <field name="user_id"/>
16 <field name="res_id"/>
21 <!-- mail.message form: short view !-->
22 <record model="ir.ui.view" id="view_message_form_short">
23 <field name="name">mail.message.form.short</field>
24 <field name="model">mail.message</field>
25 <field name="type">form</field>
26 <field name="priority">20</field>
27 <field name="arch" type="xml">
28 <form string="Message" version="7.0">
31 <field name="subject"/>
34 <field name="body_text"/>
37 <field name="user_id" string="User"/>
39 <field name="res_id"/>
40 <field name="parent_id"/>
47 <!-- mail.message search: short view !-->
48 <record model="ir.ui.view" id="view_message_search_short">
49 <field name="name">mail.message.search.short</field>
50 <field name="model">mail.message</field>
51 <field name="type">search</field>
52 <field name="priority">20</field>
53 <field name="arch" type="xml">
54 <search string="Messages Search">
55 <field name="model" filter_domain="[('model','ilike',self)]" string="Message"/>
57 <field name="user_id"/>
62 <!-- mail.message search: wall view !-->
63 <record model="ir.ui.view" id="view_message_search_wall">
64 <field name="name">mail.message.search.wall</field>
65 <field name="model">mail.message</field>
66 <field name="type">search</field>
67 <field name="priority">25</field>
68 <field name="arch" type="xml">
69 <search string="Messages Search">
70 <field name="user_id"/>
76 <record model="ir.ui.view" id="view_email_message_form">
77 <field name="name">mail.message.form</field>
78 <field name="model">mail.message</field>
79 <field name="type">form</field>
80 <field name="arch" type="xml">
81 <form string="Email message" version="7.0">
82 <label for="subject" class="oe_form_readonly_hidden"/>
83 <h1><field name="subject"/></h1>
84 <label for="user_id"/>
85 <h2><field name="user_id" class="oe_form_inline" string="User"/> on <field name="date" class="oe_form_inline"/></h2>
87 <field name="partner_id" readonly="1" attrs="{'invisible':[('partner_id', '=', False)]}"/>
90 <notebook colspan="4">
91 <page string="Details">
92 <group string="Recipients">
93 <field name="email_from"/>
94 <field name="email_to"/>
95 <field name="email_cc" attrs="{'invisible':[('email_cc', '=', False)]}"/>
96 <field name="email_bcc" attrs="{'invisible':[('email_bcc', '=', False)]}"/>
97 <field name="reply_to" attrs="{'invisible':[('reply_to', '=', False)]}"/>
99 <group col="4" string="Message Details">
100 <field name="model"/>
101 <button name="open_document" string="Open" type="object" icon="gtk-jump-to" colspan="2"/>
102 <field name="res_id"/>
103 <field name="message_id" colspan="4" attrs="{'invisible':[('message_id', '=', False)]}"/>
104 <field name="references" colspan="4" widget="char" size="512" attrs="{'invisible':[('references', '=', False)]}"/>
107 <page string="Body (Rich)" attrs="{'invisible':[('subtype','=','plain')]}">
108 <field name="body_html" widget="text_html"/>
110 <page string="Body (Plain)">
111 <field name="body_text" widget="text"/>
115 <field name="state" colspan="2"/>
116 <field name="subtype" attrs="{'invisible':[('subtype', '=', False)]}"/>
117 <button name="%(action_email_compose_message_wizard)d" string="Reply" type="action" icon="terp-mail-replied"
118 context="{'mail.compose.message.mode':'reply', 'message_id':active_id}" states='received,sent,exception,cancel'/>
121 <page string="Attachments">
122 <field name="attachment_ids"/>
124 <page string="Advanced" groups="base.group_no_one">
125 <group col="2" colspan="4">
126 <field name="mail_server_id" attrs="{'invisible':[('mail_server_id', '=', False)]}"/>
127 <field name="auto_delete"/>
128 <field name="headers" colspan="4" attrs="{'invisible':[('headers', '=', False)]}"/>
129 <field name="original" colspan="4" attrs="{'invisible':[('original', '=', False)]}"/>
137 <record model="ir.ui.view" id="view_email_message_tree">
138 <field name="name">mail.message.tree</field>
139 <field name="model">mail.message</field>
140 <field name="type">tree</field>
141 <field name="arch" type="xml">
142 <tree string="Emails" colors="grey:state in ('sent', 'cancel');blue:state=='outgoing';red:state=='exception';black:state=='received'">
144 <field name="subject"/>
145 <field name="email_from"/>
146 <field name="user_id" string="User"/>
147 <field name="message_id" invisible="1"/>
148 <field name="partner_id" invisible="1"/>
149 <field name="model" invisible="1"/>
150 <field name="res_id" invisible="1"/>
151 <field name="state"/>
152 <button name="send" string="Send Now" type="object" icon="gtk-media-play" states='outgoing'/>
153 <button name="mark_outgoing" string="Retry" type="object" icon="gtk-redo" states='exception,cancel'/>
154 <button name="cancel" string="Cancel" type="object" icon="terp-gtk-stop" states='outgoing'/>
155 <button name="open_document" string="Open Related Document" type="object" icon="gtk-jump-to"/>
156 <button name="open_attachment" string="Open Attachments" type="object" icon="gtk-jump-to"/>
161 <record model="ir.ui.view" id="view_email_message_search">
162 <field name="name">mail.message.search</field>
163 <field name="model">mail.message</field>
164 <field name="type">search</field>
165 <field name="arch" type="xml">
166 <search string="Email Search">
167 <field name="email_from" filter_domain="['|', '|' '|' ('email_from','ilike',self), ('email_to','ilike',self), ('subject','ilike',self), ('model','ilike',self)]" string="Email"/>
169 <separator orientation="vertical"/>
170 <filter icon="terp-camera_test" name="received" string="Received" domain="[('state','=','received')]"/>
171 <filter icon="terp-call-start" name="outgoing" string="Outgoing" domain="[('state','=','outgoing')]"/>
172 <filter icon="terp-check" name="sent" string="Sent" domain="[('state','=','sent')]"/>
173 <separator orientation="vertical"/>
174 <filter icon="terp-gtk-stop" name="exception" string="Failed" domain="[('state','=','exception')]"/>
175 <separator orientation="vertical"/>
176 <filter icon="terp-camera_test" name="type_email" string="Email" domain="[('type','=','email')]"/>
177 <filter icon="terp-camera_test" name="type_comment" string="Comment" domain="[('type','=','comment')]"/>
178 <filter icon="terp-camera_test" name="type_notification" string="Notification" domain="[('type','=','notification')]"/>
180 <group expand="0" string="Extended Filters...">
181 <field name="user_id" string="User"/>
182 <field name="partner_id" string="Partner Name"/>
183 <field name="res_id"/>
186 <group expand="0" string="Group By...">
187 <filter string="Status" icon="terp-stock_effects-object-colorize" domain="[]" context="{'group_by':'state'}"/>
188 <filter string="Partner" icon="terp-partner" domain="[]" context="{'group_by':'partner_id'}"/>
189 <filter string="User" name="User" icon="terp-personal" context="{'group_by':'user_id'}"/>
190 <separator orientation="vertical"/>
191 <filter string="Thread" icon="terp-mail-" domain="[]" context="{'group_by':'message_id'}"/>
192 <separator orientation="vertical"/>
193 <filter string="Month" help="Creation Month" icon="terp-go-month" domain="[]" context="{'group_by':'date'}"/>
199 <record id="action_view_all_messages_short" model="ir.actions.act_window">
200 <field name="name">Messages</field>
201 <field name="res_model">mail.message</field>
202 <field name="view_type">form</field>
203 <field name="view_mode">tree,form</field>
204 <field name="context">{'tree_view_ref': 'mail.view_message_tree_short', 'form_view_ref': 'mail.view_message_form_short'}</field>
205 <field name="search_view_id" ref="view_message_search_short"/>
208 <record id="action_view_mail_message" model="ir.actions.act_window">
209 <field name="name">Messages</field>
210 <field name="res_model">mail.message</field>
211 <field name="view_type">form</field>
212 <field name="view_mode">tree,form</field>
213 <field name="context">{'search_default_received': 1, 'search_default_type_email': 1}</field>
214 <field name="search_view_id" ref="view_email_message_search"/>
217 <act_window domain="[('partner_id', '=', active_id), ('email_from', '!=', False)]"
218 context="{'default_partner_id': active_id}"
219 id="act_res_partner_emails" name="Emails"
220 res_model="mail.message"
221 src_model="res.partner"
222 view_id="view_email_message_tree"/>
224 <!-- Add menu entry in Settings/Email -->
225 <menuitem name="Messages" id="menu_email_message" parent="base.menu_email" action="action_view_mail_message" />
227 <!-- Add menu entry in Settings/Email -->
228 <menuitem name="Feeds" id="menu_email_message_all" parent="base.menu_email" action="action_view_all_messages_short" groups="base.group_no_one"/>
230 <record id="action_mail_all_feeds" model="ir.actions.client">
231 <field name="name">News Feed</field>
232 <field name="tag">mail.all_feeds</field>
233 <field name="params" eval="{'search_view_id': ref('view_message_search_wall')}"/>
236 <record id="action_mail_my_feeds" model="ir.actions.client">
237 <field name="name">My Feeds</field>
238 <field name="tag">mail.all_feeds</field>
239 <field name="params" eval="{'search_view_id': ref('view_message_search_wall'), 'my_feeds': True}"/>