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