[MERGE] merge from trunk addons
[odoo/odoo.git] / addons / crm / crm_meeting_view.xml
1 <?xml version="1.0"?>
2 <openerp>
3     <data>
4
5     <!-- CRM Meetings Categories Form View -->
6
7     <record id="crm_meeting_categ_action" model="ir.actions.act_window">
8         <field name="name">Meeting Categories</field>
9         <field name="res_model">crm.case.categ</field>
10         <field name="view_type">form</field>
11         <field name="view_id"  ref="crm.crm_case_categ_tree-view"/>
12         <field name="domain">[('object_id.model', '=', 'crm.meeting')]</field>
13         <field name="context">{'object_id':'crm.meeting'}</field>
14         <field name="help">Create different meeting categories to better organize and classify your meetings.</field>
15     </record>
16
17      <menuitem action="crm_meeting_categ_action"
18         groups="base.group_extended"
19         id="menu_crm_case_meeting-act" parent="base.menu_calendar_configuration" sequence="1"/>
20
21     <!-- CRM Meetings Form View -->
22
23     <record model="ir.ui.view" id="crm_case_form_view_meet">
24         <field name="name">CRM - Meetings Form</field>
25         <field name="model">crm.meeting</field>
26         <field name="type">form</field>
27         <field name="arch" type="xml">
28             <form string="Meetings">
29                 <group col="6" colspan="4">
30                     <field name="name" select="1" string="Summary"
31                            required="1" />
32                     <field name="categ_id" widget="selection"
33                         string="Meeting Type" groups="base.group_extended"
34                         domain="[('object_id.model', '=', 'crm.meeting')]" />
35                     <field name="allday" on_change="onchange_dates(date,False,False,allday)" />
36                     <newline/>
37                     <field name="date" string="Start Date" required="1"
38                         on_change="onchange_dates(date,duration,False,allday)" />
39                     <field name="duration" widget="float_time"
40                         on_change="onchange_dates(date,duration,False,allday)" />
41                     <field name="date_deadline" string="End Date" required="1"
42                         on_change="onchange_dates(date,False,date_deadline)" />
43                     <field name="location" />
44                     <field name="alarm_id" string="Reminder"
45                         widget="selection" />
46                     <group colspan="2" col="4" >
47                            <field name="rrule_type" string="Recurrency"
48                                 colspan="1" attrs="{'readonly':[('recurrent_uid','!=',False)]}"/>
49                            <button string="Edit All"
50                                help="Edit all Occurrences of recurrent Meeting"
51                                attrs="{'invisible':[('rrule_type','in', ('none', False))]}"
52                                name="open_meeting" icon="gtk-edit"
53                                type="object" />
54                            <button string="Exclude range" groups="base.group_extended"
55                                 help="Add Exception Rule"
56                                 name="%(base_calendar.action_base_calendar_set_exrule)d" icon="gtk-zoom-out"  type="action"
57                                 context="{'model' : 'crm.meeting'}"
58                                 attrs="{'invisible':[('rrule_type','in', ('none', False))]}"/>
59                     </group>
60                 </group>
61                 <group col="4" colspan="4" name="rrule" attrs="{'invisible': [('rrule_type','!=','custom')]}">
62                     <separator string="Custom Recurrency Rule" colspan="8"/>
63                     <group col="8" colspan="4">
64                         <field name="interval" />
65                         <field name="freq" />
66                         <field name="count" />
67                         <field name="end_date" />
68                     </group>
69                     <group col="14" colspan="4" name="Select weekdays"
70                         attrs="{'invisible' : [('freq','!=','weekly')]}">
71                         <field name="mo" colspan="1" />
72                         <field name="tu" colspan="1" />
73                         <field name="we" colspan="1" />
74                         <field name="th" colspan="1" />
75                         <field name="fr" colspan="1" />
76                         <field name="sa" colspan="1" />
77                         <field name="su" colspan="1" />
78                         <newline />
79                     </group>
80                     <group col="10" colspan="4"
81                         attrs="{'invisible' : [('freq','!=','monthly'), ('freq','!=','yearly')]}">
82                         <group col="2" colspan="1">
83                             <field name="select1" />
84                         </group>
85                         <group col="2" colspan="1"
86                             attrs="{'invisible' : [('select1','=','day')]}">
87                             <field name="day"
88                                 attrs="{'required' : [('select1','=','date')]}" />
89                         </group>
90                         <group col="3" colspan="1"
91                             attrs="{'invisible' : [('select1','=','date')]}">
92                             <field name="byday" string="The"
93                                 attrs="{'required' : [('select1','=','day')]}" />
94                             <field name="week_list" nolabel="1"
95                                 attrs="{'required' : [('select1','=','day')]}" />
96                         </group>
97                         <group col="1" colspan="1"
98                             attrs="{'invisible' : [('freq','!=','yearly')]}">
99                             <field name="month_list" string="of"
100                                 colspan="1"
101                                 attrs="{'required' : [('freq','=','yearly')]}" />
102                         </group>
103                     </group>
104                 </group>
105                 <notebook colspan="4">
106                 <page string="Meeting">
107                     <group col="6" colspan="4">
108                         <group col="2" colspan="2">
109                             <separator colspan="2" string="Assignment"/>
110                             <field name="user_id" />
111                             <field name="organizer" groups="base.group_extended"/>
112                             <field name="section_id" widget="selection"
113                                 groups="base.group_extended"/>
114                         </group><group col="2" colspan="2">
115                             <separator colspan="2" string="Contacts"/>
116                             <field name="partner_id" string="Partner"
117                                 on_change="onchange_partner_id(partner_id)" />
118                             <field name="partner_address_id"
119                                 string="Contact"
120                                 on_change="onchange_partner_address_id(partner_address_id, email_from)" />
121                             <field name="email_from"/>
122                         </group><group col="2" colspan="2">
123                             <separator colspan="2" string="Visibility"/>
124                             <field name="class" string="Privacy"/>
125                             <field name="show_as" string="Show time as" groups="base.group_extended"/>
126                             <field name="rrule" invisible="1" />
127                             <field name="recurrent_id" invisible="1"/>
128                             <field name="recurrent_uid" invisible="1"/>
129                         </group>
130                     </group>
131                     <separator string="Description" colspan="4" />
132                     <field name="description" nolabel="1" colspan="4" />
133                     <separator colspan="4"/>
134                     <group col="8" colspan="4" groups="base.group_extended">
135                         <field name="state" />
136                         <button name="case_cancel" string="Cancel"
137                             states="draft,open" type="object"
138                             icon="gtk-cancel" />
139                         <button name="case_close" string="Done"
140                             states="open" type="object"
141                             icon="gtk-jump-to" />
142                         <button name="case_reset" string="Reset to Unconfirmed"
143                             states="open,done,cancel" type="object"
144                             icon="gtk-convert" />
145                         <button name="case_open" string="Confirm"
146                             states="draft" type="object"
147                             icon="gtk-go-forward" />
148                     </group>
149                     </page>
150                     <page string="Invitation Detail">
151                         <button string="Invite People"
152                             name="%(base_calendar.action_view_calendar_invite_attendee_wizard)d"
153                             icon="terp-partner" type="action"
154                             attrs="{'readonly': [('state', '=', 'done')]}"
155                             context="{'model' : 'crm.meeting', 'attendee_field':'attendee_ids'}" colspan="2"/>
156                         <field name="attendee_ids" colspan="4"
157                             nolabel="1" widget="one2many" mode="tree,form">
158                             <tree string="Invitation details" editable="top">
159                                 <field name="sent_by_uid" string="From"/>
160                                 <field name="user_id" string="To"/>
161                                 <field name="email" string="Mail TO"/>
162                                 <field name="role" select="1" />
163                                 <field name="state" />
164                                 <button name="do_tentative"
165                                     states="needs-action,declined,accepted"
166                                     string="Uncertain" type="object"
167                                     icon="terp-crm" />
168                                 <button name="do_accept" string="Accept"
169                                     states="needs-action,tentative,declined"
170                                     type="object" icon="gtk-apply" />
171                                 <button name="do_decline" string="Decline"
172                                     states="needs-action,tentative,accepted"
173                                     type="object" icon="gtk-cancel" />
174                                 <button
175                                     name="%(base_calendar.action_view_calendar_invite_attendee_wizard)d"
176                                     string="Delegate" type="action"
177                                     icon="gtk-sort-descending"
178                                     states="needs-action,tentative,declined,accepted"
179                                     context="{'model' : 'calendar.attendee', 'attendee_field' : 'child_ids'}" />
180                             </tree>
181                             <form string="Invitation details">
182                                 <notebook colspan="4">
183                                     <page string="Details">
184                                         <field name="email" />
185                                         <field name="rsvp" select="1" />
186                                         <field name="cutype" select="1" />
187                                         <field name="role" select="1" />
188                                         <separator colspan="4" string="" />
189                                         <group col="6" colspan="4">
190                                             <field name="state" />
191                                             <button name="do_tentative"
192                                                 states="needs-action,declined,accepted"
193                                                 string="Uncertain"
194                                                 type="object"
195                                                 icon="terp-crm" />
196                                             <button name="do_accept"
197                                                 string="Accept"
198                                                 states="needs-action,tentative,declined"
199                                                 type="object"
200                                                 icon="gtk-apply" />
201                                             <button name="do_decline"
202                                                 string="Decline"
203                                                 states="needs-action,tentative,accepted"
204                                                 type="object"
205                                                 icon="gtk-cancel" />
206                                             <button
207                                                 name="%(base_calendar.action_view_calendar_invite_attendee_wizard)d"
208                                                 string="Delegate"
209                                                 type="action"
210                                                 icon="gtk-sort-descending"
211                                                 states="needs-action,tentative,declined,accepted"
212                                                 context="{'model' : 'calendar.attendee', 'attendee_field' : 'child_ids'}" />
213                                         </group>
214                                     </page>
215                                     <page string="Other">
216                                         <field name="user_id"/>
217                                         <field name="partner_address_id" select="1" />
218                                         <newline />
219                                     </page>
220                                 </notebook>
221                             </form>
222                         </field>
223                     </page>
224                 </notebook>
225             </form>
226         </field>
227     </record>
228
229     <!-- CRM Meeting Tree View  -->
230
231     <record model="ir.ui.view" id="crm_case_tree_view_meet">
232         <field name="name">CRM - Meetings Tree</field>
233         <field name="model">crm.meeting</field>
234         <field name="type">tree</field>
235         <field name="arch" type="xml">
236             <tree string="Meetings"
237                 colors="red:state=='open';black:state in ('draft', 'cancel','done','pending')">
238                 <field name="name" string="Subject" />
239                 <field name="date" string="Start Date" />
240                 <field name="duration" />
241                 <field name="partner_id" string="Partner" />
242                 <field name="location" />
243                 <field name="categ_id" string="Meeting Type"/>
244                 <field name="class" string="Privacy"/>
245                 <field name="state" groups="base.group_extended"/>
246                 <field name="user_id" invisible="1"/>
247                 <field name="show_as" invisible="1" string="Show time as"/>
248                 <button name="case_cancel" string="Cancel"
249                    states="draft,open" type="object"
250                    icon="gtk-cancel" />
251                 <button name="case_reset" string="Reset to Unconfirmed"
252                    states="open,done,cancel" type="object"
253                    icon="gtk-convert" />
254                 <button name="case_open" string="Confirm"
255                    states="draft" type="object"
256                    icon="gtk-go-forward" />
257                 <button name="case_close" string="Done"
258                             states="open" type="object"
259                             icon="gtk-jump-to" />
260             </tree>
261         </field>
262     </record>
263
264     <!-- CRM Meeting Calendar -->
265
266     <record model="ir.ui.view" id="crm_case_calendar_view_meet">
267         <field name="name">CRM - Meetings Calendar</field>
268         <field name="model">crm.meeting</field>
269         <field name="type">calendar</field>
270         <field name="priority" eval="2"/>
271         <field name="arch" type="xml">
272             <calendar string="Meetings" date_start="date" color="user_id" date_stop="date_deadline">
273                 <field name="name"/>
274                 <field name="partner_id"/>
275                 <field name="section_id" widget="selection"/>
276             </calendar>
277         </field>
278     </record>
279
280     <!-- CRM Meeting Gantt  -->
281
282     <record id="crm_case_gantt_view_meet" model="ir.ui.view">
283         <field name="name">CRM - Meetings Gantt</field>
284         <field name="model">crm.meeting</field>
285         <field name="type">gantt</field>
286         <field name="arch" type="xml">
287             <gantt color="user_id" date_delay="duration" date_start="date" string="Meetings">
288                <level object="crm.meeting" link="id" domain="[]">
289                    <field name="name"/>
290                    <field name="partner_id"/>
291                 </level>
292             </gantt>
293         </field>
294     </record>
295
296     <!-- CRM Meeting Search View  -->
297
298     <record id="view_crm_case_meetings_filter" model="ir.ui.view">
299         <field name="name">CRM - Meetings Search</field>
300         <field name="model">crm.meeting</field>
301         <field name="type">search</field>
302         <field name="arch" type="xml">
303                 <search string="Search Meetings">
304                        <group col="12" colspan="4">
305                            <filter icon="terp-check" name="current" string="Current"
306                                 domain="[('state','in',('draft', 'open'))]"
307                                 groups="base.group_extended"
308                                 help="Current Meetings"/>
309                            <separator orientation="vertical"/>
310                            <field name="name" select="1" string="Subject"/>
311                            <field name="categ_id" select="1"
312                                string="Meeting Type" widget="selection"
313                                domain="[('object_id.model', '=', 'crm.meeting')]" />
314                            <separator orientation="vertical"/>
315                            <field name="partner_id" select="1" />
316                            <field name="section_id" select="1" widget="selection">
317                                <filter icon="terp-personal+" groups="base.group_extended"
318                                    domain="['|', ('section_id', '=', context.get('section_id')), '|', ('section_id.user_id','=',uid), ('section_id.member_ids', 'in', [uid])]"
319                                    help="My Sales Team(s)" />
320                            </field>
321                            <field name="user_id" select="1"/>
322                        </group>
323                         <newline/>
324                         <group expand="0" string="Extended Filters...">
325                            <field name="class" select="1" string="Privacy"/>
326                            <field name="show_as" string="Show time as" select="1"/>
327                         </group>
328                        <newline/>
329                        <group expand="0" string="Group By...">
330                             <filter string="Responsible" icon="terp-personal" domain="[]"
331                                 context="{'group_by':'user_id'}" />
332                             <filter string="Partner" icon="terp-partner" domain="[]"
333                                 context="{'group_by':'partner_id'}" />
334                             <separator orientation="vertical" />
335                             <filter string="Type" help="Meeting Type"
336                                 icon="terp-stock_symbol-selection" domain="[]"
337                                 context="{'group_by':'categ_id'}" />
338                             <filter string="Privacy" icon="terp-locked"
339                                 domain="[]" context="{'group_by':'class'}" />
340                             <filter string="Show time as" icon="terp-project"
341                                 domain="[]" context="{'group_by':'show_as'}" />
342                             <filter string="State" icon="terp-stock_effects-object-colorize" domain="[]"
343                                 context="{'group_by':'state'}" />
344                             <separator orientation="vertical" />
345                             <filter string="Date" icon="terp-go-month" help="Meeting date"
346                                 domain="[]" context="{'group_by':'date'}" />
347                         </group>
348                 </search>
349             </field>
350         </record>
351
352         <!-- Calendar Attendee Form View -->
353
354         <record id="attendee_form_view_inherit" model="ir.ui.view">
355                 <field name="name">calendar.attendee.form.inherit</field>
356                 <field name="model">calendar.attendee</field>
357                 <field name="type">form</field>
358                 <field name="inherit_id" ref="base_calendar.base_calendar_attendee_form_view"/>
359                 <field name="arch" type="xml">
360                     <field name="language" position="after">
361                         <field name="categ_id" string="Event Type"/>
362                     </field>
363                 </field>
364         </record>
365
366
367     </data>
368 </openerp>