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