[FIX] Thread widget: cleaned function calls (using this.proxy) to avoid asynchronous...
[odoo/odoo.git] / addons / crm_helpdesk / crm_helpdesk_view.xml
1 <?xml version="1.0"?>
2 <openerp>
3     <data>
4        <!-- Helpdesk Support Categories Configuration Menu-->
5        <menuitem id="menu_config_helpdesk" name="Helpdesk"
6         groups="base.group_extended"
7         parent="base.menu_base_config" sequence="60" />
8
9         <!-- Helpdesk Support Categories Form View -->
10
11         <record id="crm_helpdesk_categ_action" model="ir.actions.act_window">
12             <field name="name">Helpdesk Categories</field>
13             <field name="res_model">crm.case.categ</field>
14             <field name="view_type">form</field>
15             <field name="view_id" ref="crm.crm_case_categ_tree-view"/>
16             <field name="domain">[('object_id.model', '=', 'crm.helpdesk')]</field>
17             <field name="context" eval="{'object_id': ref('model_crm_helpdesk')}"/>
18             <field name="help">Create and manage helpdesk categories to better manage and classify your support requests.</field>
19         </record>
20
21         <menuitem action="crm_helpdesk_categ_action" name="Categories"
22             id="menu_crm_case_helpdesk-act" parent="menu_config_helpdesk" groups="base.group_no_one"/>
23
24         <!--  Helpdesk Support Form View -->
25
26         <record model="ir.ui.view" id="crm_case_form_view_helpdesk">
27             <field name="name">CRM - Helpdesk Support Form</field>
28             <field name="model">crm.helpdesk</field>
29             <field name="type">form</field>
30             <field name="arch" type="xml">
31                 <form string="Helpdesk Support">
32                     <group colspan="4" col="7">
33                         <field name="name" select="1" string="Query"/>
34                         <field name="section_id" widget="selection"/>
35                         <field name="user_id" select="1"/>
36                         <button name="remind_user"
37                             states="open,pending"
38                             string="Send Reminder" type="object"
39                             icon="gtk-go-forward" />
40                         <field name="date" select="1"/>
41                         <field name="date_deadline"/>
42                     </group>
43                     <notebook colspan="4">
44                         <page string="General">
45                             <group col="3" colspan="2">
46                                 <separator colspan="4" string="Communication"/>
47                                 <field name="partner_id" colspan="2"
48                                     on_change="onchange_partner_id(partner_id, email_from)"
49                                     select="1" />
50                                 <newline/>
51                                 <field name="email_from" colspan="2"/>
52                                 <button name="remind_partner"
53                                     states="open,pending"
54                                     string="Send Reminder" type="object"
55                                     icon="gtk-go-forward" />
56                             </group>
57
58                             <group col="2" colspan="2">
59                                 <separator colspan="4" string="Categorization"/>
60                                 <field name="priority"/>
61                                 <field name="categ_id" context="{'object_id':'crm.helpdesk'}"/>
62                                 <field name="channel_id"/>
63                             </group>
64
65                             <separator colspan="4" string="Notes"/>
66                             <field name="description" colspan="4" nolabel="1" />
67                             <separator colspan="4"/>
68                             <group col="8" colspan="4">
69                                 <field name="state" select="1" widget="statusbar" statusbar_visible="draft,open,done" statusbar_colors='{"pending":"blue"}'/>
70                                 <button name="case_cancel"
71                                     states="draft,open,pending" string="Cancel"
72                                     type="object" icon="gtk-cancel" />
73                                 <button name="case_open"
74                                     states="draft,pending" string="Open"
75                                     type="object" icon="gtk-go-forward" />
76                                 <button name="case_pending"
77                                     states="draft,open" string="Pending"
78                                     type="object" icon="gtk-media-pause" />
79                                 <button name="case_escalate"
80                                     states="open,draft,pending"
81                                     string="Escalate" type="object"
82                                     icon="gtk-go-up" />
83                                 <button name="case_close"
84                                     states="open,draft,pending" string="Close"
85                                     type="object" icon="gtk-jump-to" />
86                                 <button name="case_reset"
87                                     states="done,cancel"
88                                     string="Reset to Draft" type="object"
89                                     icon="gtk-convert" />
90                             </group>
91                         </page>
92                         <page string="Communication &amp; History" groups="base.group_extended">
93                             <group colspan="4">
94                                 <field colspan="4" name="email_cc" string="Global CC" widget="char"/>
95                             </group>
96                             <field name="message_ids" colspan="4" nolabel="1" mode="tree" readonly="1">
97                                 <tree string="History">
98                                     <field name="display_text" string="History Information"/>
99                                     <field name="email_from" invisible="1"/>
100                                     <button
101                                         string="Reply" attrs="{'invisible': [('email_from', '=', False)]}"
102                                         name="%(mail.action_email_compose_message_wizard)d"
103                                         context="{'mail.compose.message.mode':'reply', 'message_id':active_id}"
104                                         icon="terp-mail-replied" type="action" />
105                                 </tree>
106                             </field>
107                              <button string="Add Internal Note"
108                                 name="%(crm.action_crm_add_note)d"
109                                 context="{'model': 'crm.lead' }"
110                                 icon="terp-document-new" type="action" />
111                             <button string="Send New Email"
112                                 name="%(mail.action_email_compose_message_wizard)d"
113                                 icon="terp-mail-message-new" type="action"/>
114                         </page>
115                         <page string="Extra Info" groups="base.group_extended">
116                             <group colspan="2" col="2" groups="base.group_no_one">
117                                 <separator colspan="4" string="Dates"/>
118                                 <field name="create_date"/>
119                                 <field name="write_date"/>
120                                 <field name="date_closed"/>
121                             </group>
122                             <group colspan="2" col="2">
123                                 <separator colspan="4" string="Misc"/>
124                                 <field name="id" select="1"/>
125                                 <field name="active"/>
126                             </group>
127                             <group colspan="2" col="2">
128                                 <separator colspan="4" string="Estimates"/>
129                                 <field name="planned_cost"/>
130                             </group>
131                             <newline/>
132                             <group colspan="4" col="2">
133                                 <separator colspan="4" string="References"/>
134                                 <field colspan="4" name="ref"/>
135                                 <field colspan="4" name="ref2"/>
136                             </group>
137                         </page>
138                     </notebook>
139                 </form>
140             </field>
141         </record>
142
143         <!-- Helpdesk Support Tree View  -->
144
145         <record model="ir.ui.view" id="crm_case_tree_view_helpdesk">
146             <field name="name">CRM - Helpdesk Support Tree</field>
147             <field name="model">crm.helpdesk</field>
148             <field name="type">tree</field>
149             <field name="arch" type="xml">
150                 <tree string="Helpdesk Support Tree"
151                     colors="black:state=='open';blue:state=='pending';gray:state in ('cancel','done')">
152                     <field name="name" string="Query" />
153                     <field name="partner_id" string="Partner"/>
154                     <field name="date" string="Date"/>
155                     <field name="date_deadline"/>
156                     <field name="user_id"/>
157                     <field name="section_id"/>
158                     <field name="priority"/>
159                     <field name="state"/>
160                     <button name="case_cancel" string="Cancel"
161                         states="draft,open,pending" type="object"
162                         icon="gtk-cancel" />
163                     <button name="case_open" string="Open"
164                         states="draft,pending" type="object"
165                         icon="gtk-go-forward" />
166                     <button name="case_pending" string="Pending"
167                         states="draft,open" type="object"
168                         icon="gtk-media-pause" />
169                     <button name="case_escalate" string="Escalate"
170                         groups="base.group_extended"
171                         states="open,draft,pending" type="object"
172                         icon="gtk-go-up" />
173                     <button name="case_close" string="Done"
174                         states="open,draft,pending" type="object"
175                         icon="gtk-close" />
176                     <button name="case_reset" string="Reset to Draft"
177                         states="done,cancel" type="object" icon="gtk-convert" />
178                 </tree>
179             </field>
180         </record>
181
182         <!--  Helpdesk Support Calendar View -->
183
184         <record model="ir.ui.view" id="crm_case_helpdesk_calendar_view">
185             <field name="name">CRM - Helpdesk Support Calendar</field>
186             <field name="model">crm.helpdesk</field>
187             <field name="type">calendar</field>
188             <field name="priority" eval="2"/>
189             <field name="arch" type="xml">
190                 <calendar string="Helpdesk Supports" date_start="date" color="user_id" date_delay="duration">
191                     <field name="name"/>
192                     <field name="partner_id"/>
193                     <field name="categ_id"/>
194                 </calendar>
195             </field>
196         </record>
197
198         <!-- Helpdesk Support Search View  -->
199
200         <record id="view_crm_case_helpdesk_filter" model="ir.ui.view">
201             <field name="name">CRM - Helpdesk Search</field>
202             <field name="model">crm.helpdesk</field>
203             <field name="type">search</field>
204             <field name="arch" type="xml">
205                 <search string="Search Helpdesk">
206                     <filter icon="terp-check" string="New"
207                         name="current"
208                         domain="[('state','=','draft')]"
209                         help="New Helpdesk Request" />
210                     <filter icon="terp-camera_test"
211                         string="Open"
212                         domain="[('state','=','open')]"
213                         help="Open Helpdesk Request"
214                     />
215                     <filter icon="terp-gtk-media-pause"
216                         string="Pending"
217                         domain="[('state','=','pending')]"
218                         help="All pending Helpdesk Request"
219                     />
220                     <separator orientation="vertical"/>
221                     <filter icon="terp-go-today" string="Today"
222                         domain="[('date','&gt;=',current_date), ('date','&lt;=',current_date)]"
223                         help="Todays's Helpdesk Requests"
224                         />
225                     <filter icon="terp-go-week"
226                         string="7 Days"
227                         help="Helpdesk requests during last 7 days"
228                         domain="[('date','&lt;',current_date), ('date','&gt;=',(datetime.date.today()-datetime.timedelta(days=7)).strftime('%%Y-%%m-%%d'))]"
229                         />
230                     <separator orientation="vertical"/>
231                     <field name="name" string="Query"/>
232                     <field name="partner_id" />
233                     <field name="user_id" widget="selection"/>
234                     <field name="section_id" widget="selection" string="Sales Team">
235                         <filter icon="terp-personal+" groups="base.group_extended"
236                             domain="['|', ('section_id', '=', context.get('section_id')), '|', ('section_id.user_id','=',uid), ('section_id.member_ids', 'in', [uid])]"
237                             help="My Sales Team(s)" />
238                     </field>
239                     <newline/>
240                     <group expand="0" string="Group By...">
241                         <filter string="Partner" icon="terp-partner"
242                             domain="[]" help="Partner"
243                             context="{'group_by':'partner_id'}" />
244                         <filter string="Responsible" icon="terp-personal"
245                             domain="[]" help="Responsible User"
246                             context="{'group_by':'user_id'}" />
247                         <filter string="Sales Team" icon="terp-personal+"
248                             domain="[]" help="Sales Team"
249                             context="{'group_by':'section_id'}" />
250                         <separator orientation="vertical"/>
251                         <filter string="Priority" icon="terp-rating-rated"
252                             domain="[]" context="{'group_by':'priority'}" />
253                         <filter string="State" icon="terp-stock_effects-object-colorize" domain="[]"
254                             context="{'group_by':'state'}" />
255                         <separator orientation="vertical"/>
256                         <filter string="Date" icon="terp-go-month"
257                             domain="[]" help="Request Date"
258                             context="{'group_by':'date'}" />
259                         <filter string="Deadline" icon="terp-go-month"
260                             domain="[]"
261                             context="{'group_by':'date_deadline'}" />
262                     </group>
263                 </search>
264             </field>
265         </record>
266
267     </data>
268 </openerp>