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