[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="user_id"/>
34                                 <field name="date"/>
35                                 <field name="type"/>
36                                 <field name="content_subtype"/>
37                             </group>
38                             <group>
39                                 <field name="model"/>
40                                 <field name="res_id"/>
41                                 <field name="parent_id"/>
42                                 <field name="partner_ids" widget="many2many_tags"/>
43                             </group>
44                         </group>
45                         <notebook>
46                             <page string="Body (Rich)">
47                                 <field name="body_html" widget="text_html"/>
48                             </page>
49                             <page string="Body (Plain)">
50                                 <field name="body_text" widget="text"/>
51                             </page>
52                         </notebook>
53                     </sheet>
54                 </form>
55             </field>
56         </record>
57
58         <!-- mail.message search: short view !-->
59         <record model="ir.ui.view" id="view_message_search_short">
60             <field name="name">mail.message.search.short</field>
61             <field name="model">mail.message</field>
62             <field name="type">search</field>
63             <field name="priority">20</field>
64             <field name="arch" type="xml">
65                 <search string="Messages Search">
66                     <field name="model" string="Message"/>
67                     <separator orientation="vertical"/>
68                     <field name="date"/>
69                     <separator orientation="vertical"/>
70                     <field name="user_id"/>
71                 </search>
72             </field>
73         </record>
74
75         <!-- mail.message search: wall view !-->
76         <record model="ir.ui.view" id="view_message_search_wall">
77             <field name="name">mail.message.search.wall</field>
78             <field name="model">mail.message</field>
79             <field name="type">search</field>
80             <field name="priority">25</field>
81             <field name="arch" type="xml">
82                 <search string="Messages Search">
83                     <field name="user_id"/>
84                     <field name="subject" string="Content" filter_domain="['|', ('subject', 'ilike', self), ('body', 'ilike', self)]" />
85                     <field name="type"/>
86                     <filter icon="terp-personal+" string="My Feeds"
87                             name="my_feeds" help="My Feeds"
88                             domain="[('user_id','=',uid)]"/>
89                     <filter icon="terp-personal+" string="Comments"
90                             name="comments" help="Comments"
91                             domain="[('type', '=', 'comment')]"/>
92                     <filter icon="terp-personal+" string="Notifications"
93                             name="notifications" help="Notifications"
94                             domain="[('type', '=', 'notification')]"/>
95                     <filter icon="terp-personal+" string="Emails"
96                             name="emails" help="Emails"
97                             domain="[('type', '=', 'email')]"/>
98                     <filter icon="terp-go-today" string="Today"
99                             name="today" help="Today"
100                             domain="[   ('date', '&lt;=', datetime.date.today().strftime('%%Y-%%m-%%d 23:59:59')),
101                                         ('date', '&gt;=', datetime.date.today().strftime('%%Y-%%m-%%d 00:00:00'))
102                                     ]"/>
103                     <filter icon="terp-go-week" string="This week"
104                             name="7_days" help="This week"
105                             domain="[   ('date', '&lt;=', datetime.date.today().strftime('%%Y-%%m-%%d 23:59:59')),
106                                         ('date', '&gt;=', (datetime.date.today()-datetime.timedelta(days=7)).strftime('%%Y-%%m-%%d 00:00:00'))
107                                     ]"/>
108                 </search>
109             </field>
110         </record>
111
112         <record model="ir.ui.view" id="view_email_message_form">
113             <field name="name">mail.message.form</field>
114             <field name="model">mail.message</field>
115             <field name="type">form</field>
116             <field name="arch" type="xml">
117                 <form string="Email message" version="7.0">
118                     <sheet>
119                         <label for="subject" class="oe_edit_only"/>
120                         <h2><field name="subject"/></h2>
121                                                 <div>
122                             by <field name="user_id" class="oe_inline" string="User"/> on <field name="date" class="oe_inline"/>
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                         </div>
126                         <notebook colspan="4">
127                             <page string="Message Details">
128                                 <group>
129                                     <group>
130                                         <field name="email_from"/>
131                                         <field name="email_to"/>
132                                         <field name="email_cc"/>
133                                         <field name="email_bcc"/>
134                                         <field name="reply_to"/>
135                                     </group>
136                                     <group>
137                                         <field name="partner_id" readonly="1"/>
138                                         <field name="partner_ids" widget="many2many_tags"/>
139                                     </group>
140                                 </group>
141                                 <notebook>
142                                     <page string="Body (Rich)">
143                                         <field name="body_html" widget="text_html"/>
144                                     </page>
145                                     <page string="Body (Plain)">
146                                         <field name="body_text" widget="text"/>
147                                     </page>
148                                 </notebook>
149                             </page>
150                             <page string="Advanced" groups="base.group_no_one">
151                                 <group>
152                                     <group>
153                                         <field name="auto_delete"/>
154                                         <field name="type"/>
155                                         <field name="content_subtype"/>
156                                         <field name="state" colspan="2"/>
157                                         <field name="mail_server_id"/>
158                                         <field name="original"/>
159                                         <field name="model"/>
160                                         <field name="res_id"/>
161                                         <button name="open_document" string="Open" type="object" icon="gtk-jump-to" colspan="2"
162                                             attrs="{'invisible':['|', ('model', '=', ''), ('res_id', '=', False)]}"/>
163                                     </group>
164                                     <group>
165                                         <field name="message_id"/>
166                                         <field name="references"/>
167                                         <field name="headers"/>
168                                     </group>
169                                 </group>
170                             </page>
171                             <page string="Attachments">
172                                 <field name="attachment_ids"/>
173                             </page>
174                         </notebook>
175                     </sheet>
176                 </form>
177             </field>
178         </record>
179
180         <record model="ir.ui.view" id="view_email_message_tree">
181             <field name="name">mail.message.tree</field>
182             <field name="model">mail.message</field>
183             <field name="type">tree</field>
184             <field name="arch" type="xml">
185                 <tree string="Emails" colors="grey:state in ('sent', 'cancel');blue:state=='outgoing';red:state=='exception';black:state=='received'">
186                     <field name="date"/>
187                     <field name="subject"/>
188                     <field name="email_from"/>
189                     <field name="user_id" string="User"/>
190                     <field name="message_id" invisible="1"/>
191                     <field name="partner_id" invisible="1"/>
192                     <field name="model" invisible="1"/>
193                     <field name="res_id" invisible="1"/>
194                     <field name="state"/>
195                     <button name="send" string="Send Now" type="object" icon="gtk-media-play" states='outgoing'/>
196                     <button name="mark_outgoing" string="Retry" type="object" icon="gtk-redo" states='exception,cancel'/>
197                     <button name="cancel" string="Cancel" type="object" icon="terp-gtk-stop" states='outgoing'/>
198                     <button name="open_document" string="Open Related Document" type="object" icon="gtk-jump-to"/>
199                     <button name="open_attachment" string="Open Attachments" type="object" icon="gtk-jump-to"/>
200                 </tree>
201             </field>
202         </record>
203
204         <record model="ir.ui.view" id="view_email_message_search">
205             <field name="name">mail.message.search</field>
206             <field name="model">mail.message</field>
207             <field name="type">search</field>
208             <field name="arch" type="xml">
209                 <search string="Email Search">
210                     <field name="email_from" filter_domain="['|' '|',('email_from','ilike',self), ('email_to','ilike',self), ('subject','ilike',self)]" string="Email"/>
211                     <separator orientation="vertical"/>
212                     <field name="date"/>
213                     <separator orientation="vertical"/>
214                     <filter icon="terp-camera_test" name="received" string="Received" domain="[('state','=','received')]"/>
215                     <filter icon="terp-call-start" name="outgoing" string="Outgoing" domain="[('state','=','outgoing')]"/>
216                     <filter icon="terp-check" name="sent" string="Sent" domain="[('state','=','sent')]"/>
217                     <filter icon="terp-gtk-stop" name="exception" string="Failed" domain="[('state','=','exception')]"/>
218                     <filter icon="terp-camera_test" name="type_email" string="Email" domain="[('type','=','email')]"/>
219                     <filter icon="terp-camera_test" name="type_comment" string="Comment" domain="[('type','=','comment')]"/>
220                     <filter icon="terp-camera_test" name="type_notification" string="Notification" domain="[('type','=','notification')]"/>
221                     <newline/>
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"/>
227                     </group>
228                     <newline/>
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'}"/>
237                     </group>
238                 </search>
239             </field>
240         </record>
241
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"/>
249         </record>
250
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"/>
258         </record>
259
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"/>
266
267         <!-- Add menu entry in Settings/Email -->
268         <menuitem name="Messages" id="menu_email_message" parent="base.menu_email" action="action_view_mail_message" />
269         
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"/>
272
273         <record id="action_mail_all_feeds" model="ir.actions.client">
274             <field name="name">News Feed</field>
275             <field name="tag">mail.wall</field>
276             <field name="params" eval="{'search_view_id': ref('view_message_search_wall')}"/>
277         </record>
278
279         <record id="action_mail_my_feeds" model="ir.actions.client">
280             <field name="name">My Feeds</field>
281             <field name="tag">mail.wall</field>
282             <field name="params" eval="{'search_view_id': ref('view_message_search_wall'), 'my_feeds': True}"/>
283         </record>
284     </data>
285 </openerp>