[MERGE] latest trunk
[odoo/odoo.git] / addons / mail / mail_message_view.xml
1 <?xml version="1.0"?>
2 <openerp>
3     <data>
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">
12                     <field name="date"/>
13                     <field name="subject"/>
14                     <field name="user_id"/>
15                     <field name="model"/>
16                     <field name="res_id"/>
17                 </tree>
18             </field>
19         </record>
20
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">
29                     <sheet>
30                         <group>
31                             <group>
32                                 <field name="subject"/>
33                                 <field name="date"/>
34                                 <field name="type"/>
35                                 <field name="body_text"/>
36                             </group>
37                             <group>
38                                 <field name="user_id" string="User"/>
39                                 <field name="model"/>
40                                 <field name="res_id"/>
41                                 <field name="parent_id"/>
42                             </group>
43                         </group>
44                     </sheet>
45                 </form>
46             </field>
47         </record>
48
49         <!-- mail.message search: short view !-->
50         <record model="ir.ui.view" id="view_message_search_short">
51             <field name="name">mail.message.search.short</field>
52             <field name="model">mail.message</field>
53             <field name="type">search</field>
54             <field name="priority">20</field>
55             <field name="arch" type="xml">
56                 <search string="Messages Search">
57                     <field name="model" string="Message"/>
58                     <separator orientation="vertical"/>
59                     <field name="date"/>
60                     <separator orientation="vertical"/>
61                     <field name="user_id"/>
62                 </search>
63             </field>
64         </record>
65
66         <!-- mail.message search: wall view !-->
67         <record model="ir.ui.view" id="view_message_search_wall">
68             <field name="name">mail.message.search.wall</field>
69             <field name="model">mail.message</field>
70             <field name="type">search</field>
71             <field name="priority">25</field>
72             <field name="arch" type="xml">
73                 <search string="Messages Search">
74                     <field name="user_id"/>
75                     <field name="body"/>
76                     <field name="model" string="Message" filter_domain="['|', ('subject', 'ilike', self), ('body_text', 'ilike', self)]" />
77                 </search>
78             </field>
79         </record>
80
81         <record model="ir.ui.view" id="view_email_message_form">
82             <field name="name">mail.message.form</field>
83             <field name="model">mail.message</field>
84             <field name="type">form</field>
85             <field name="arch" type="xml">
86                 <form string="Email message" version="7.0">
87                     <sheet>
88                         <label for="subject" class="oe_edit_only"/>
89                         <h1><field name="subject"/></h1>
90                         <label for="user_id"/>
91                         <h2><field name="user_id" class="oe_inline" string="User"/> on <field name="date" class="oe_inline"/></h2>
92                         <group col="4">
93                             <field name="partner_id" readonly="1" attrs="{'invisible':[('partner_id', '=', False)]}"/>
94                             <field name="type"/>
95                         </group>
96                         <notebook colspan="4">
97                             <page string="Details">
98                                 <group string="Recipients">
99                                     <field name="email_from"/>
100                                     <field name="email_to"/>
101                                     <field name="email_cc" attrs="{'invisible':[('email_cc', '=', False)]}"/>
102                                     <field name="email_bcc" attrs="{'invisible':[('email_bcc', '=', False)]}"/>
103                                     <field name="reply_to" attrs="{'invisible':[('reply_to', '=', False)]}"/>
104                                 </group>
105                                 <group col="4" string="Message Details">
106                                     <field name="model"/>
107                                     <button name="open_document" string="Open" type="object" icon="gtk-jump-to" colspan="2"/>
108                                     <field name="res_id"/>
109                                     <field name="message_id" colspan="4" attrs="{'invisible':[('message_id', '=', False)]}"/>
110                                     <field name="references" colspan="4" widget="char" size="512" attrs="{'invisible':[('references', '=', False)]}"/>
111                                 </group>
112                                 <notebook>
113                                     <page string="Body (Rich)" attrs="{'invisible':[('subtype','=','plain')]}">
114                                         <field name="body_html" widget="text_html"/>
115                                     </page>
116                                     <page string="Body (Plain)">
117                                         <field name="body_text" widget="text"/>
118                                     </page>
119                                 </notebook>
120                                 <group col="5">
121                                     <field name="state" colspan="2"/>
122                                     <field name="subtype" attrs="{'invisible':[('subtype', '=', False)]}"/>
123                                     <button name="%(action_email_compose_message_wizard)d" string="Reply" type="action" icon="terp-mail-replied"
124                                         context="{'mail.compose.message.mode':'reply', 'message_id':active_id}" states='received,sent,exception,cancel'/>
125                                 </group>
126                             </page>
127                             <page string="Attachments">
128                                 <field name="attachment_ids"/>
129                             </page>
130                             <page string="Advanced" groups="base.group_no_one">
131                                 <group col="2" colspan="4">
132                                     <field name="mail_server_id" attrs="{'invisible':[('mail_server_id', '=', False)]}"/>
133                                     <field name="auto_delete"/>
134                                     <field name="headers" colspan="4" attrs="{'invisible':[('headers', '=', False)]}"/>
135                                     <field name="original" colspan="4" attrs="{'invisible':[('original', '=', False)]}"/>
136                                 </group>
137                             </page>
138                         </notebook>
139                     </sheet>
140                 </form>
141             </field>
142         </record>
143
144         <record model="ir.ui.view" id="view_email_message_tree">
145             <field name="name">mail.message.tree</field>
146             <field name="model">mail.message</field>
147             <field name="type">tree</field>
148             <field name="arch" type="xml">
149                 <tree string="Emails" colors="grey:state in ('sent', 'cancel');blue:state=='outgoing';red:state=='exception';black:state=='received'">
150                     <field name="date"/>
151                     <field name="subject"/>
152                     <field name="email_from"/>
153                     <field name="user_id" string="User"/>
154                     <field name="message_id" invisible="1"/>
155                     <field name="partner_id" invisible="1"/>
156                     <field name="model" invisible="1"/>
157                     <field name="res_id" invisible="1"/>
158                     <field name="state"/>
159                     <button name="send" string="Send Now" type="object" icon="gtk-media-play" states='outgoing'/>
160                     <button name="mark_outgoing" string="Retry" type="object" icon="gtk-redo" states='exception,cancel'/>
161                     <button name="cancel" string="Cancel" type="object" icon="terp-gtk-stop" states='outgoing'/>
162                     <button name="open_document" string="Open Related Document" type="object" icon="gtk-jump-to"/>
163                     <button name="open_attachment" string="Open Attachments" type="object" icon="gtk-jump-to"/>
164                 </tree>
165             </field>
166         </record>
167
168         <record model="ir.ui.view" id="view_email_message_search">
169             <field name="name">mail.message.search</field>
170             <field name="model">mail.message</field>
171             <field name="type">search</field>
172             <field name="arch" type="xml">
173                 <search string="Email Search">
174                     <field name="email_from" filter_domain="['|' '|',('email_from','ilike',self), ('email_to','ilike',self), ('subject','ilike',self)]" string="Email"/>
175                     <separator orientation="vertical"/>
176                     <field name="date"/>
177                     <separator orientation="vertical"/>
178                     <filter icon="terp-camera_test" name="received" string="Received" domain="[('state','=','received')]"/>
179                     <filter icon="terp-call-start" name="outgoing" string="Outgoing" domain="[('state','=','outgoing')]"/>
180                     <filter icon="terp-check" name="sent" string="Sent" domain="[('state','=','sent')]"/>
181                     <filter icon="terp-gtk-stop" name="exception" string="Failed" domain="[('state','=','exception')]"/>
182                     <filter icon="terp-camera_test" name="type_email" string="Email" domain="[('type','=','email')]"/>
183                     <filter icon="terp-camera_test" name="type_comment" string="Comment" domain="[('type','=','comment')]"/>
184                     <filter icon="terp-camera_test" name="type_notification" string="Notification" domain="[('type','=','notification')]"/>
185                     <newline/>
186                     <group expand="0" string="Extended Filters...">
187                         <field name="user_id" string="User"/>
188                         <field name="partner_id" string="Partner Name"/>
189                         <field name="model"/>
190                         <field name="res_id"/>
191                     </group>
192                     <newline/>
193                     <group expand="0" string="Group By...">
194                         <filter string="Status" icon="terp-stock_effects-object-colorize" domain="[]" context="{'group_by':'state'}"/>
195                         <filter string="Partner" icon="terp-partner" domain="[]" context="{'group_by':'partner_id'}"/>
196                         <filter string="User" name="User" icon="terp-personal" context="{'group_by':'user_id'}"/>
197                         <separator orientation="vertical"/>
198                         <filter string="Thread" icon="terp-mail-" domain="[]" context="{'group_by':'message_id'}"/>
199                         <separator orientation="vertical"/>
200                         <filter string="Month" help="Creation Month" icon="terp-go-month" domain="[]" context="{'group_by':'date'}"/>
201                     </group>
202                 </search>
203             </field>
204         </record>
205
206         <record id="action_view_all_messages_short" model="ir.actions.act_window">
207             <field name="name">Messages</field>
208             <field name="res_model">mail.message</field>
209             <field name="view_type">form</field>
210             <field name="view_mode">tree,form</field>
211             <field name="context">{'tree_view_ref': 'mail.view_message_tree_short', 'form_view_ref': 'mail.view_message_form_short'}</field>
212             <field name="search_view_id" ref="view_message_search_short"/>
213         </record>
214
215         <record id="action_view_mail_message" model="ir.actions.act_window">
216             <field name="name">Messages</field>
217             <field name="res_model">mail.message</field>
218             <field name="view_type">form</field>
219             <field name="view_mode">tree,form</field>
220             <field name="context">{'search_default_received': 1, 'search_default_type_email': 1}</field>
221             <field name="search_view_id" ref="view_email_message_search"/>
222         </record>
223
224         <act_window domain="[('partner_id', '=', active_id), ('email_from', '!=', False)]"
225             context="{'default_partner_id': active_id}"
226             id="act_res_partner_emails" name="Emails"
227             res_model="mail.message"
228             src_model="res.partner"
229             view_id="view_email_message_tree"/>
230
231         <!-- Add menu entry in Settings/Email -->
232         <menuitem name="Messages" id="menu_email_message" parent="base.menu_email" action="action_view_mail_message" />
233         
234         <!-- Add menu entry in Settings/Email -->
235         <menuitem name="Feeds" id="menu_email_message_all" parent="base.menu_email" action="action_view_all_messages_short" groups="base.group_no_one"/>
236
237         <record id="action_mail_all_feeds" model="ir.actions.client">
238             <field name="name">News Feed</field>
239             <field name="tag">mail.all_feeds</field>
240             <field name="params" eval="{'search_view_id': ref('view_message_search_wall')}"/>
241         </record>
242
243         <record id="action_mail_my_feeds" model="ir.actions.client">
244             <field name="name">My Feeds</field>
245             <field name="tag">mail.all_feeds</field>
246             <field name="params" eval="{'search_view_id': ref('view_message_search_wall'), 'my_feeds': True}"/>
247         </record>
248     </data>
249 </openerp>