[MERGE] lp:~openerp-dev/openobject-addons/trunk-addons_issue_account_analytic_analysi...
[odoo/odoo.git] / addons / base_calendar / crm_meeting_view.xml
1 <?xml version="1.0"?>
2 <openerp>
3     <data>
4
5     <!-- Read/Unread actions -->
6
7     <record id="actions_server_crm_meeting_read" model="ir.actions.server">
8         <field name="name">Mark read</field>
9         <field name="condition">True</field>
10         <field name="type">ir.actions.server</field>
11         <field name="model_id" ref="model_crm_meeting"/>
12         <field name="state">code</field>
13         <field name="code">self.message_check_and_set_read(cr, uid, context.get('active_ids'), context=context)</field>
14     </record>
15     <record id="action_crm_meeting_read" model="ir.values">
16         <field name="name">action_crm_meeting_read</field>
17         <field name="action_id" ref="actions_server_crm_meeting_read"/>
18         <field name="value" eval="'ir.actions.server,' + str(ref('actions_server_crm_meeting_read'))" />
19         <field name="key">action</field>
20         <field name="model_id" ref="model_crm_meeting" />
21         <field name="model">crm.meeting</field>
22         <field name="key2">client_action_multi</field>
23     </record>
24
25     <record id="actions_server_crm_meeting_unread" model="ir.actions.server">
26         <field name="name">Mark unread</field>
27         <field name="condition">True</field>
28         <field name="type">ir.actions.server</field>
29         <field name="model_id" ref="model_crm_meeting"/>
30         <field name="state">code</field>
31         <field name="code">self.message_check_and_set_unread(cr, uid, context.get('active_ids'), context=context)</field>
32     </record>
33     <record id="action_crm_meeting_unread" model="ir.values">
34         <field name="name">action_crm_meeting_unread</field>
35         <field name="action_id" ref="actions_server_crm_meeting_unread"/>
36         <field name="value" eval="'ir.actions.server,' + str(ref('actions_server_crm_meeting_unread'))" />
37         <field name="key">action</field>
38         <field name="model_id" ref="model_crm_meeting" />
39         <field name="model">crm.meeting</field>
40         <field name="key2">client_action_multi</field>
41     </record>
42
43     <!-- CRM Meetings Types Form View -->
44
45     <record id="view_crm_meeting_type_tree" model="ir.ui.view">
46         <field name="name">Meeting Types Tree</field>
47         <field name="model">crm.meeting.type</field>
48         <field name="type">tree</field>
49         <field name="arch" type="xml">
50             <tree string="Meeting Types" editable="bottom">
51                 <field name="name"/>
52             </tree>
53         </field>
54     </record>
55
56     <record id="action_crm_meeting_type" model="ir.actions.act_window">
57         <field name="name">Meeting Types</field>
58         <field name="res_model">crm.meeting.type</field>
59         <field name="view_type">form</field>
60         <field name="view_id" ref="view_crm_meeting_type_tree"/>
61         <field name="help">Create different meeting categories to better organize and classify your meetings.</field>
62     </record>
63
64     <menuitem id="menu_crm_meeting_type" parent="base.menu_calendar_configuration" sequence="1"
65         action="action_crm_meeting_type" groups="base.group_no_one"/>
66
67     <!-- CRM Meetings Form View -->
68
69     <record model="ir.ui.view" id="view_crm_meeting_form">
70         <field name="name">CRM - Meetings Form</field>
71         <field name="model">crm.meeting</field>
72         <field name="type">form</field>
73         <field name="arch" type="xml">
74             <form string="Meetings" version="7.0">
75                 <header>
76                     <button name="case_open" string="Confirm" type="object" class="oe_highlight"
77                             states="draft"/>
78                     <button name="case_close" string="Done" type="object"
79                             states="open"/>
80                     <button name="case_reset" string="Reset to Unconfirmed" type="object" 
81                             states="cancel,done"/>
82                     <button name="case_cancel" string="Cancel" type="object"
83                             states="draft,open"/>
84                     <field name="state" widget="statusbar" statusbar_visible="draft,open,done"/>
85                 </header>
86                 <sheet>
87                     <div class="oe_title">
88                         <div class="oe_edit_only">
89                             <label for="name"/> 
90                         </div>
91                         <h1>
92                             <field name="name"/>
93                         </h1>
94                         <label for="partner_ids" class="oe_edit_only"/>
95                         <h2>
96                             <field name="partner_ids" widget="many2many_tags"/>
97                         </h2>
98                     </div>
99                     <notebook>
100                     <page string="Meeting Detail">
101                         <group>
102                             <group>
103                                 <field name="user_id" />
104                                 <field name="categ_ids" widget="many2many_tags"/>
105                                 <field name="location"/>
106                                 <field name="organizer" groups="base.group_no_one"/>
107                             </group>
108                             <group>
109                                 <label for="date" string="Starting at"/>
110                                 <div>
111                                     <field name="date"/>
112                                     <span attrs="{'invisible': [('allday','=',True)]}">
113                                         (<field name="duration" widget="float_time"
114                                         on_change="onchange_dates(date,duration,False,allday)"
115                                         class="oe_inline"/> hours)
116                                     </span>
117
118                                 </div>
119
120                                 <label for="date_deadline" />
121                                 <div>
122                                     <field name="date_deadline" 
123                                         string="End Date" attrs="{'invisible': [('allday','=',True)]}"
124                                         on_change="onchange_dates(date,False,date_deadline)"/>
125                                     (<field name="allday" on_change="onchange_dates(date,False,False,allday)" class="oe_inline"/>
126                                     <label for="allday" string="All Day?"/>)
127                                 </div>
128                                     <field name="recurrency"
129                                         attrs="{'readonly': ['|', ('recurrent_uid','!=',False), ('state','=','done')]}"/>
130                             </group>
131                             <group>
132                                 <field name="alarm_id" widget="selection" />
133                                 <field name="class"/>
134                                 <field name="show_as"/>
135                                 <field name="rrule" invisible="1" readonly="1"/>
136                                 <field name="recurrent_id" invisible="1"/>
137                                 <field name="recurrent_uid" invisible="1"/>
138                             </group>
139                             <group attrs="{'invisible': [('recurrency','=',False)]}">
140                                 <label for="interval"/>
141                                 <div>
142                                     <field name="interval" class="oe_inline"/>
143                                     <field name="rrule_type" class="oe_inline"/>
144                                 </div>
145                                 <label string="Until" for="end_type"/>
146                                 <div>
147                                     <field name="end_type" class="oe_inline"/>
148                                     <field name="count" attrs="{'invisible' : [('end_type', '!=', 'count')] }" class="oe_inline"/>
149                                     <field name="end_date" attrs="{'invisible' : [('end_type', '!=', 'end_date')], 'required': [('end_type', '=', 'end_date')]}" class="oe_inline"/>
150                                 </div>
151                                 <label string="Select Weekdays" attrs="{'invisible' :[('rrule_type','not in', ['weekly'])]}"/>
152                                 <group col="4" colspan="1" name="weekdays" attrs="{'invisible' :[('rrule_type','not in', ['weekly'])]}">
153                                     <field name="mo" />
154                                     <field name="tu" />
155                                     <field name="we" />
156                                     <field name="th" />
157                                     <field name="fr" />
158                                     <field name="sa" />
159                                     <field name="su" />
160                                 </group>
161
162                                 <label string="Day of Month"
163                                     attrs="{'invisible' : [('rrule_type','!=','monthly')]}"/>
164
165                                 <div attrs="{'invisible' : [('rrule_type','!=','monthly')]}">
166                                     <field name="select1" />
167                                     <field name="day"
168                                         attrs="{'required' : [('select1','=','date'), ('rrule_type','=','monthly')],
169                                             'invisible' : [('select1','=','day')]}" />
170                                     <field name="byday" string="The"
171                                         attrs="{'required' : [('select1','=','day'), ('rrule_type','=','monthly')], 'invisible' : [('select1','=','date')]}" />
172                                     <field name="week_list" nolabel="1"
173                                         attrs="{'required' : [('select1','=','day'), ('rrule_type','=','monthly')], 'invisible' : [('select1','=','date')]}" />
174                                 </div>
175
176                             </group>
177                         </group>
178                         <label for="description"/>
179                         <field name="description"/>
180                     </page>
181                     <page string="Invitation Detail">
182                         <button string="Invite People"
183                             name="%(base_calendar.action_view_calendar_invite_attendee_wizard)d"
184                             icon="terp-partner" type="action"
185                             attrs="{'readonly': [('state', '=', 'done')]}"
186                             context="{'model' : 'crm.meeting', 'attendee_field':'attendee_ids'}" colspan="2"/>
187                         <field name="attendee_ids" widget="one2many" mode="tree">
188                             <tree string="Invitation details" editable="top">
189                                 <field name="sent_by_uid" string="From"/>
190                                 <field name="user_id" string="To"/>
191                                 <field name="email" string="Mail To"/>
192                                 <field name="role" />
193                                 <field name="state" />
194                                 <button name="do_tentative"
195                                     states="needs-action,declined,accepted"
196                                     string="Uncertain" type="object"
197                                     icon="terp-crm" />
198                                 <button name="do_accept" string="Accept"
199                                     states="needs-action,tentative,declined"
200                                     type="object" icon="gtk-apply" />
201                                 <button name="do_decline" string="Decline"
202                                     states="needs-action,tentative,accepted"
203                                     type="object" icon="gtk-cancel" />
204                                 <button
205                                     name="%(base_calendar.action_view_calendar_invite_attendee_wizard)d"
206                                     string="Delegate" type="action"
207                                     icon="gtk-sort-descending"
208                                     states="needs-action,tentative,declined,accepted"
209                                     context="{'model' : 'calendar.attendee', 'attendee_field' : 'child_ids'}" />
210                             </tree>
211                             <form string="Invitation details" version="7.0">
212                                 <header>
213                                     <button name="do_tentative" type="object"
214                                         states="needs-action,declined,accepted"
215                                         string="Uncertain" icon="terp-crm" />
216                                     <button name="do_accept" type="object"
217                                         states="needs-action,tentative,declined"
218                                         string="Accept" icon="gtk-apply" />
219                                     <button name="do_decline" type="object"
220                                         states="needs-action,tentative,accepted"
221                                         string="Decline" icon="gtk-cancel" />
222                                     <button name="%(base_calendar.action_view_calendar_invite_attendee_wizard)d" type="action"
223                                         states="needs-action,tentative,declined,accepted"
224                                         string="Delegate" icon="gtk-sort-descending"
225                                         context="{'model' : 'calendar.attendee', 'attendee_field' : 'child_ids'}" />
226                                     <field name="state" widget="statusbar" statusbar_visible="draft,open,done"/>
227                                 </header>
228                                 <group>
229                                     <group>
230                                         <field name="email" />
231                                         <field name="rsvp" />
232                                         <field name="cutype" />
233                                         <field name="role" />
234                                     </group>
235                                     <group>
236                                         <field name="user_id"/>
237                                     </group>
238                                 </group>
239                             </form>
240                         </field>
241                     </page>
242
243                     </notebook>
244                 </sheet>
245                 <div class="oe_chatter">
246                     <field name="message_ids" widget="mail_thread"/>
247                 </div>
248             </form>
249         </field>
250     </record>
251
252     <!-- CRM Meeting Tree View  -->
253
254     <record model="ir.ui.view" id="view_crm_meeting_tree">
255         <field name="name">CRM - Meetings Tree</field>
256         <field name="model">crm.meeting</field>
257         <field name="type">tree</field>
258         <field name="arch" type="xml">
259             <tree string="Meetings" fonts="bold:needaction_pending==True"
260                 colors="red:state=='open';black:state in ('draft', 'cancel','done','pending')">
261                 <field name="name" string="Subject" />
262                 <field name="user_id"/>
263                 <field name="date"/>
264                 <field name="state"/>
265                 <field name="duration" />
266                 <field name="needaction_pending" invisible="1"/>
267             </tree>
268         </field>
269     </record>
270
271     <!-- CRM Meeting Calendar -->
272
273     <record model="ir.ui.view" id="view_crm_meeting_calendar">
274         <field name="name">CRM - Meetings Calendar</field>
275         <field name="model">crm.meeting</field>
276         <field name="type">calendar</field>
277         <field name="priority" eval="2"/>
278         <field name="arch" type="xml">
279             <calendar string="Meetings" date_start="date" color="user_id" date_stop="date_deadline" date_delay="duration">
280                 <field name="name"/>
281                 <field name="user_id"/>
282             </calendar>
283         </field>
284     </record>
285
286     <!-- CRM Meeting Gantt  -->
287
288     <record id="view_crm_meeting_gantt" model="ir.ui.view">
289         <field name="name">CRM - Meetings Gantt</field>
290         <field name="model">crm.meeting</field>
291         <field name="type">gantt</field>
292         <field name="arch" type="xml">
293             <gantt date_delay="duration" date_start="date" string="Meetings"/>
294         </field>
295     </record>
296
297     <!-- CRM Meeting Search View  -->
298
299     <record id="view_crm_meeting_search" model="ir.ui.view">
300         <field name="name">CRM - Meetings Search</field>
301         <field name="model">crm.meeting</field>
302         <field name="type">search</field>
303         <field name="arch" type="xml">
304             <search string="Search Meetings">
305                 <group>
306                     <field name="name" string="Meeting"
307                         filter_domain="[('name','ilike',self)]"/>
308                     <filter string="Inbox" help="Unread messages" icon="terp-mail-message-new"
309                         name="needaction_pending" domain="[('needaction_pending','=',True)]"/>
310                     <separator orientation="vertical"/>
311                     <filter string="My Meetings" help="My Meetings" icon="terp-personal"
312                         domain="[('user_id','=',uid)]"/>
313                     <separator orientation="vertical"/>
314                     <field name="user_id"/>
315                     <field name="partner_ids"/>
316                 </group>
317             </search>
318         </field>
319     </record>
320
321     <!-- CRM Meetings action and menu -->
322
323     <record id="action_crm_meeting" model="ir.actions.act_window">
324         <field name="name">Meetings</field>
325         <field name="res_model">crm.meeting</field>
326         <field name="view_mode">calendar,tree,form,gantt</field>
327         <field name="view_id" ref="view_crm_meeting_calendar"/>
328         <field name="search_view_id" ref="view_crm_meeting_search"/>
329         <field name="context">{"calendar_default_user_id": uid}</field>
330         <field name="help">
331             The meeting calendar is shared between the sales teams and fully integrated with other applications
332             such as the employee holidays or the business opportunities.
333             You can also synchronize meetings with your mobile phone using the caldav interface.
334         </field>
335     </record>
336     <record model="ir.actions.act_window.view" id="action_view_crm_meeting_calendar">
337         <field name="act_window_id" ref="action_crm_meeting"/>
338         <field name="sequence" eval="1"/>
339         <field name="view_mode">calendar</field>
340         <field name="view_id" ref="view_crm_meeting_calendar"/>
341     </record>
342     <record model="ir.actions.act_window.view" id="action_view_crm_meeting_tree">
343         <field name="act_window_id" ref="action_crm_meeting"/>
344         <field name="sequence" eval="2"/>
345         <field name="view_mode">tree</field>
346         <field name="view_id" ref="view_crm_meeting_tree"/>
347     </record>
348     <record model="ir.actions.act_window.view" id="action_view_crm_meeting_form">
349         <field name="act_window_id" ref="action_crm_meeting"/>
350         <field name="sequence" eval="3"/>
351         <field name="view_mode">form</field>
352         <field name="view_id" ref="view_crm_meeting_form"/>
353     </record>
354     <record model="ir.actions.act_window.view" id="action_view_crm_meeting_gantt">
355         <field name="act_window_id" ref="action_crm_meeting"/>
356         <field name="sequence" eval="4"/>
357         <field name="view_mode">gantt</field>
358         <field name="view_id" ref="view_crm_meeting_gantt"/>
359     </record>
360
361     <menuitem id="menu_crm_meeting" parent="base.menu_sales" sequence="8"
362         name="Meetings" action="action_crm_meeting"/>
363
364     </data>
365 </openerp>