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">
32 <field name="subject"/>
33 <field name="user_id"/>
36 <field name="content_subtype"/>
37 <field name="destination_partner_ids" widget="many2many_tags" readonly="1"/>
41 <field name="res_id"/>
42 <field name="parent_id"/>
43 <field name="body_text"/>
44 <field name="body_html"/>
52 <!-- mail.message search: short view !-->
53 <record model="ir.ui.view" id="view_message_search_short">
54 <field name="name">mail.message.search.short</field>
55 <field name="model">mail.message</field>
56 <field name="type">search</field>
57 <field name="priority">20</field>
58 <field name="arch" type="xml">
59 <search string="Messages Search">
60 <field name="user_id"/>
67 <!-- mail.message search: wall view !-->
68 <record model="ir.ui.view" id="view_message_search_wall">
69 <field name="name">mail.message.search.wall</field>
70 <field name="model">mail.message</field>
71 <field name="type">search</field>
72 <field name="priority">25</field>
73 <field name="arch" type="xml">
74 <search string="Messages Search">
75 <field name="user_id"/>
78 <filter icon="terp-personal+" string="My Feeds"
79 name="my_feeds" help="My Feeds"
80 domain="[('user_id','=',uid)]"/>
81 <filter icon="terp-personal+" string="Comments"
82 name="comments" help="Comments"
83 domain="[('type', '=', 'comment')]"/>
84 <filter icon="terp-personal+" string="Notifications"
85 name="notifications" help="Notifications"
86 domain="[('type', '=', 'notification')]"/>
87 <filter icon="terp-personal+" string="Emails"
88 name="emails" help="Emails"
89 domain="[('type', '=', 'email')]"/>
90 <filter icon="terp-go-today" string="Today"
91 name="today" help="Today"
92 domain="[ ('date', '<=', datetime.date.today().strftime('%%Y-%%m-%%d 23:59:59')),
93 ('date', '>=', datetime.date.today().strftime('%%Y-%%m-%%d 00:00:00'))
95 <filter icon="terp-go-week" string="This week"
96 name="7_days" help="This week"
97 domain="[ ('date', '<=', datetime.date.today().strftime('%%Y-%%m-%%d 23:59:59')),
98 ('date', '>=', (datetime.date.today()-datetime.timedelta(days=7)).strftime('%%Y-%%m-%%d 00:00:00'))
104 <record model="ir.ui.view" id="view_email_message_form">
105 <field name="name">mail.message.form</field>
106 <field name="model">mail.message</field>
107 <field name="type">form</field>
108 <field name="arch" type="xml">
109 <form string="Email message" version="7.0">
111 <label for="subject" class="oe_form_readonly_hidden"/>
112 <h1><field name="subject"/></h1>
113 <label for="user_id" class="oe_form_readonly_hidden"/>
114 <h2><field name="user_id" class="oe_form_inline" string="User"/> on <field name="date" class="oe_form_inline"/></h2>
115 <button name="%(action_email_compose_message_wizard)d" string="Reply" type="action" icon="terp-mail-replied"
116 context="{'mail.compose.message.mode':'reply', 'message_id':active_id}" states='received,sent,exception,cancel'/>
117 <notebook colspan="4">
118 <page string="Message Details">
119 <group string="Recipients">
120 <field name="email_from"/>
121 <field name="email_to"/>
122 <field name="email_cc" attrs="{'invisible':[('email_cc', '=', False)]}"/>
123 <field name="email_bcc" attrs="{'invisible':[('email_bcc', '=', False)]}"/>
124 <field name="reply_to" attrs="{'invisible':[('reply_to', '=', False)]}"/>
126 <group string="Partner information">
127 <field name="partner_id" readonly="1" attrs="{'invisible':[('partner_id', '=', False)]}"/>
128 <field name="destination_partner_ids" readonly="1" WIDGET="many2many_tags"/>
131 <page string="Body (Rich)">
132 <field name="body_html" widget="text_html"/>
134 <page string="Body (Plain)">
135 <field name="body_text" widget="text"/>
139 <page string="Attachments">
140 <field name="attachment_ids"/>
142 <page string="Advanced" groups="base.group_no_one">
144 <group string="Type details">
145 <field name="auto_delete"/>
147 <field name="content_subtype"/>
148 <field name="state" colspan="2"/>
149 <field name="mail_server_id" attrs="{'invisible':[('mail_server_id', '=', False)]}"/>
150 <field name="original" attrs="{'invisible':[('original', '=', False)]}"/>
152 <group string="Headers">
153 <field name="message_id"/>
155 <field name="message_id" colspan="4" attrs="{'invisible':[('message_id', '=', False)]}"/>
157 <field name="references"/>
159 <field name="references" colspan="4" widget="char" size="512" attrs="{'invisible':[('references', '=', False)]}"/>
161 <field name="headers" attrs="{'invisible':[('headers', '=', False)]}"/>
164 <group string="Message Details">
165 <field name="model"/>
166 <button name="open_document" string="Open" type="object" icon="gtk-jump-to" colspan="2"
167 attrs="{'invisible':['|', ('model', '=', ''), ('res_id', '=', False)]}"/>
168 <field name="res_id"/>
177 <record model="ir.ui.view" id="view_email_message_tree">
178 <field name="name">mail.message.tree</field>
179 <field name="model">mail.message</field>
180 <field name="type">tree</field>
181 <field name="arch" type="xml">
182 <tree string="Emails" colors="grey:state in ('sent', 'cancel');blue:state=='outgoing';red:state=='exception';black:state=='received'">
184 <field name="subject"/>
185 <field name="email_from"/>
186 <field name="user_id" string="User"/>
187 <field name="message_id" invisible="1"/>
188 <field name="partner_id" invisible="1"/>
189 <field name="model" invisible="1"/>
190 <field name="res_id" invisible="1"/>
191 <field name="state"/>
192 <button name="send" string="Send Now" type="object" icon="gtk-media-play" states='outgoing'/>
193 <button name="mark_outgoing" string="Retry" type="object" icon="gtk-redo" states='exception,cancel'/>
194 <button name="cancel" string="Cancel" type="object" icon="terp-gtk-stop" states='outgoing'/>
195 <button name="open_document" string="Open Related Document" type="object" icon="gtk-jump-to"/>
196 <button name="open_attachment" string="Open Attachments" type="object" icon="gtk-jump-to"/>
201 <record model="ir.ui.view" id="view_email_message_search">
202 <field name="name">mail.message.search</field>
203 <field name="model">mail.message</field>
204 <field name="type">search</field>
205 <field name="arch" type="xml">
206 <search string="Email Search">
207 <filter icon="terp-camera_test" name="received" string="Received" domain="[('state','=','received')]"/>
208 <filter icon="terp-call-start" name="outgoing" string="Outgoing" domain="[('state','=','outgoing')]"/>
209 <filter icon="terp-check" name="sent" string="Sent" domain="[('state','=','sent')]"/>
210 <separator orientation="vertical"/>
211 <filter icon="terp-gtk-stop" name="exception" string="Failed" domain="[('state','=','exception')]"/>
212 <separator orientation="vertical"/>
213 <filter icon="terp-camera_test" name="type_email" string="Email" domain="[('type','=','email')]"/>
214 <filter icon="terp-camera_test" name="type_comment" string="Comment" domain="[('type','=','comment')]"/>
215 <filter icon="terp-camera_test" name="type_notification" string="Notification" domain="[('type','=','notification')]"/>
216 <separator orientation="vertical"/>
217 <field name="email_from"/>
218 <field name="email_to"/>
219 <field name="subject"/>
222 <group expand="0" string="Extended Filters...">
223 <field name="user_id" string="User"/>
224 <field name="partner_id" string="Partner Name"/>
225 <field name="model"/>
226 <field name="res_id"/>
229 <group expand="0" string="Group By...">
230 <filter string="Status" icon="terp-stock_effects-object-colorize" domain="[]" context="{'group_by':'state'}"/>
231 <filter string="Partner" icon="terp-partner" domain="[]" context="{'group_by':'partner_id'}"/>
232 <filter string="User" name="User" icon="terp-personal" context="{'group_by':'user_id'}"/>
233 <separator orientation="vertical"/>
234 <filter string="Thread" icon="terp-mail-" domain="[]" context="{'group_by':'message_id'}"/>
235 <separator orientation="vertical"/>
236 <filter string="Month" help="Creation Month" icon="terp-go-month" domain="[]" context="{'group_by':'date'}"/>
242 <record id="action_view_all_messages_short" model="ir.actions.act_window">
243 <field name="name">Messages</field>
244 <field name="res_model">mail.message</field>
245 <field name="view_type">form</field>
246 <field name="view_mode">tree,form</field>
247 <field name="context">{'tree_view_ref': 'mail.view_message_tree_short', 'form_view_ref': 'mail.view_message_form_short'}</field>
248 <field name="search_view_id" ref="view_message_search_short"/>
251 <record id="action_view_mail_message" model="ir.actions.act_window">
252 <field name="name">Messages</field>
253 <field name="res_model">mail.message</field>
254 <field name="view_type">form</field>
255 <field name="view_mode">tree,form</field>
256 <field name="context">{'search_default_received': 1, 'search_default_type_email': 1}</field>
257 <field name="search_view_id" ref="view_email_message_search"/>
260 <act_window domain="[('partner_id', '=', active_id), ('email_from', '!=', False)]"
261 context="{'default_partner_id': active_id}"
262 id="act_res_partner_emails" name="Emails"
263 res_model="mail.message"
264 src_model="res.partner"
265 view_id="view_email_message_tree"/>
267 <!-- Add menu entry in Settings/Email -->
268 <menuitem name="Messages" id="menu_email_message" parent="base.menu_email" action="action_view_mail_message" />
270 <!-- Add menu entry in Settings/Email -->
271 <menuitem name="Feeds" id="menu_email_message_all" parent="base.menu_email" action="action_view_all_messages_short" groups="base.group_no_one"/>
273 <record id="action_mail_all_feeds" model="ir.actions.client">
274 <field name="name">News Feed</field>
275 <field name="tag">mail.all_feeds</field>
276 <field name="params" eval="{'search_view_id': ref('view_message_search_wall')}"/>
279 <record id="action_mail_my_feeds" model="ir.actions.client">
280 <field name="name">My Feeds</field>
281 <field name="tag">mail.all_feeds</field>
282 <field name="params" eval="{'search_view_id': ref('view_message_search_wall'), 'my_feeds': True}"/>