[FIX] Thread widget: cleaned function calls (using this.proxy) to avoid asynchronous...
[odoo/odoo.git] / addons / crm_helpdesk / crm_helpdesk_view.xml
index 4a62e8b..5f2fee0 100644 (file)
@@ -3,8 +3,8 @@
     <data>
        <!-- Helpdesk Support Categories Configuration Menu-->
        <menuitem id="menu_config_helpdesk" name="Helpdesk"
-        groups="base.group_extended,base.group_system"
-        parent="base.menu_base_config" sequence="7" />
+        groups="base.group_extended"
+        parent="base.menu_base_config" sequence="60" />
 
         <!-- Helpdesk Support Categories Form View -->
 
             <field name="view_type">form</field>
             <field name="view_id" ref="crm.crm_case_categ_tree-view"/>
             <field name="domain">[('object_id.model', '=', 'crm.helpdesk')]</field>
-            <field name="context">{'object_id':'crm.helpdesk'}</field>
+            <field name="context" eval="{'object_id': ref('model_crm_helpdesk')}"/>
+            <field name="help">Create and manage helpdesk categories to better manage and classify your support requests.</field>
         </record>
 
         <menuitem action="crm_helpdesk_categ_action" name="Categories"
-            id="menu_crm_case_helpdesk-act" parent="menu_config_helpdesk" />
+            id="menu_crm_case_helpdesk-act" parent="menu_config_helpdesk" groups="base.group_no_one"/>
 
         <!--  Helpdesk Support Form View -->
 
@@ -46,9 +47,6 @@
                                 <field name="partner_id" colspan="2"
                                     on_change="onchange_partner_id(partner_id, email_from)"
                                     select="1" />
-                                <field name="partner_address_id" colspan="2"
-                                    on_change="onchange_partner_address_id(partner_address_id, email_from)"
-                                />
                                 <newline/>
                                 <field name="email_from" colspan="2"/>
                                 <button name="remind_partner"
                             <group col="2" colspan="2">
                                 <separator colspan="4" string="Categorization"/>
                                 <field name="priority"/>
-                                <field name="categ_id"/>
-                                <field name="canal_id"/>
+                                <field name="categ_id" context="{'object_id':'crm.helpdesk'}"/>
+                                <field name="channel_id"/>
                             </group>
 
                             <separator colspan="4" string="Notes"/>
                             <field name="description" colspan="4" nolabel="1" />
                             <separator colspan="4"/>
                             <group col="8" colspan="4">
-                                <field name="state" select="1"/>
+                                <field name="state" select="1" widget="statusbar" statusbar_visible="draft,open,done" statusbar_colors='{"pending":"blue"}'/>
+                                <button name="case_cancel"
+                                    states="draft,open,pending" string="Cancel"
+                                    type="object" icon="gtk-cancel" />
                                 <button name="case_open"
                                     states="draft,pending" string="Open"
                                     type="object" icon="gtk-go-forward" />
                                 <button name="case_close"
                                     states="open,draft,pending" string="Close"
                                     type="object" icon="gtk-jump-to" />
-                                <button name="case_cancel"
-                                    states="draft,open,pending" string="Cancel"
-                                    type="object" icon="gtk-cancel" />
                                 <button name="case_reset"
                                     states="done,cancel"
                                     string="Reset to Draft" type="object"
                                     icon="gtk-convert" />
                             </group>
                         </page>
-                        <page string="History" groups="base.group_extended">
+                        <page string="Communication &amp; History" groups="base.group_extended">
                             <group colspan="4">
                                 <field colspan="4" name="email_cc" string="Global CC" widget="char"/>
                             </group>
-                            <field name="message_ids" colspan="4" nolabel="1" mode="tree,form">
-                                <tree string="Communication history">
+                            <field name="message_ids" colspan="4" nolabel="1" mode="tree" readonly="1">
+                                <tree string="History">
                                     <field name="display_text" string="History Information"/>
+                                    <field name="email_from" invisible="1"/>
                                     <button
-                                        string="Reply" attrs="{'invisible': [('history', '!=', True)]}"
-                                        name="%(crm.action_crm_send_mail)d"
-                                        context="{'mail':'reply', 'model': 'crm.helpdesk', 'include_original' : True}"
+                                        string="Reply" attrs="{'invisible': [('email_from', '=', False)]}"
+                                        name="%(mail.action_email_compose_message_wizard)d"
+                                        context="{'mail.compose.message.mode':'reply', 'message_id':active_id}"
                                         icon="terp-mail-replied" type="action" />
                                 </tree>
-                                <form string="Communication history">
-                                    <group col="4" colspan="4">
-                                        <field name="email_from"/>
-                                        <field name="date"/>
-                                        <field name="email_to" widget="char" size="512"/>
-                                        <field name="email_cc" widget="char" size="512"/>
-                                        <field name="name" colspan="4" widget="char" size="512"/>
-                                        <field name="history" invisible="1"/>
-                                    </group>
-                                    <notebook colspan="4">
-                                        <page string="Details">
-                                            <group attrs="{'invisible': [('history', '!=', True)]}">
-                                                <field name="description" colspan="4" nolabel="1" height="250"/>
-                                                <button colspan="4"
-                                                    string="Reply"
-                                                    name="%(crm.action_crm_send_mail)d"
-                                                    context="{'mail':'reply', 'model': 'crm.helpdesk', 'include_original' : True}"
-                                                    icon="terp-mail-replied" type="action" />
-                                             </group>
-                                            <group attrs="{'invisible': [('history', '=', True)]}">
-                                                <field name="display_text" colspan="4" nolabel="1"  height="250"/>
-                                            </group>
-                                        </page>
-                                        <page string="Attachments">
-                                            <field name="attachment_ids" colspan="4" readonly="1" nolabel="1"/>
-                                        </page>
-                                    </notebook>
-                                </form>
                             </field>
-                            <button colspan="4" string="Send New Email"
-                                name="%(crm.action_crm_send_mail)d"
-                                context="{'mail':'new', 'model': 'crm.helpdesk'}"
-                                icon="terp-mail-message-new" type="action" />
+                             <button string="Add Internal Note"
+                                name="%(crm.action_crm_add_note)d"
+                                context="{'model': 'crm.lead' }"
+                                icon="terp-document-new" type="action" />
+                            <button string="Send New Email"
+                                name="%(mail.action_email_compose_message_wizard)d"
+                                icon="terp-mail-message-new" type="action"/>
                         </page>
                         <page string="Extra Info" groups="base.group_extended">
-                            <group colspan="2" col="2">
+                            <group colspan="2" col="2" groups="base.group_no_one">
                                 <separator colspan="4" string="Dates"/>
                                 <field name="create_date"/>
+                                <field name="write_date"/>
                                 <field name="date_closed"/>
                             </group>
                             <group colspan="2" col="2">
             <field name="type">tree</field>
             <field name="arch" type="xml">
                 <tree string="Helpdesk Support Tree"
-                    colors="black:state=='open';blue:state=='pending';gray:state in ('cancel','close')">
+                    colors="black:state=='open';blue:state=='pending';gray:state in ('cancel','done')">
                     <field name="name" string="Query" />
                     <field name="partner_id" string="Partner"/>
                     <field name="date" string="Date"/>
                     <field name="section_id"/>
                     <field name="priority"/>
                     <field name="state"/>
+                    <button name="case_cancel" string="Cancel"
+                        states="draft,open,pending" type="object"
+                        icon="gtk-cancel" />
                     <button name="case_open" string="Open"
                         states="draft,pending" type="object"
                         icon="gtk-go-forward" />
                     <button name="case_close" string="Done"
                         states="open,draft,pending" type="object"
                         icon="gtk-close" />
-                    <button name="case_cancel" string="Cancel"
-                        states="draft,open,pending" type="object"
-                        icon="gtk-cancel" />
                     <button name="case_reset" string="Reset to Draft"
                         states="done,cancel" type="object" icon="gtk-convert" />
                 </tree>
             <field name="type">search</field>
             <field name="arch" type="xml">
                 <search string="Search Helpdesk">
+                    <filter icon="terp-check" string="New"
+                        name="current"
+                        domain="[('state','=','draft')]"
+                        help="New Helpdesk Request" />
+                    <filter icon="terp-camera_test"
+                        string="Open"
+                        domain="[('state','=','open')]"
+                        help="Open Helpdesk Request"
+                    />
+                    <filter icon="terp-gtk-media-pause"
+                        string="Pending"
+                        domain="[('state','=','pending')]"
+                        help="All pending Helpdesk Request"
+                    />
+                    <separator orientation="vertical"/>
                     <filter icon="terp-go-today" string="Today"
-                        separator="1"
-                        domain="[('date::date','=',time.strftime('%%Y-%%m-%%d'))]"
+                        domain="[('date','&gt;=',current_date), ('date','&lt;=',current_date)]"
                         help="Todays's Helpdesk Requests"
                         />
                     <filter icon="terp-go-week"
-                        string="7 Days" separator="1"
+                        string="7 Days"
                         help="Helpdesk requests during last 7 days"
-                        domain="[('date','&lt;', time.strftime('%%Y-%%m-%%d')), ('date','&gt;=',(datetime.date.today()-datetime.timedelta(days=7)).strftime('%%Y-%%m-%%d'))]"
+                        domain="[('date','&lt;',current_date), ('date','&gt;=',(datetime.date.today()-datetime.timedelta(days=7)).strftime('%%Y-%%m-%%d'))]"
                         />
                     <separator orientation="vertical"/>
-                    <field name="name" select='1' string="Query"/>
+                    <field name="name" string="Query"/>
                     <field name="partner_id" />
-                    <field name="user_id" select="1" widget="selection"/>
-                    <field name="section_id" select="1" widget="selection" string="Sales Team">
-                        <filter icon="terp-personal+"
-                            domain="['|', ('section_id.user_id','=',uid), ('section_id.member_ids', 'in', [uid])]"
-                            help="My section" />
+                    <field name="user_id" widget="selection"/>
+                    <field name="section_id" widget="selection" string="Sales Team">
+                        <filter icon="terp-personal+" groups="base.group_extended"
+                            domain="['|', ('section_id', '=', context.get('section_id')), '|', ('section_id.user_id','=',uid), ('section_id.member_ids', 'in', [uid])]"
+                            help="My Sales Team(s)" />
                     </field>
                     <newline/>
                     <group expand="0" string="Group By...">
                         <filter string="Partner" icon="terp-partner"
-                           domain="[]" help="Partner"
-                           context="{'group_by':'partner_id'}" />
+                            domain="[]" help="Partner"
+                            context="{'group_by':'partner_id'}" />
                         <filter string="Responsible" icon="terp-personal"
-                           domain="[]" help="Responsible User"
-                           context="{'group_by':'user_id'}" />
+                            domain="[]" help="Responsible User"
+                            context="{'group_by':'user_id'}" />
                         <filter string="Sales Team" icon="terp-personal+"
-                           domain="[]" help="Sales Team"
-                           context="{'group_by':'section_id'}" />
+                            domain="[]" help="Sales Team"
+                            context="{'group_by':'section_id'}" />
                         <separator orientation="vertical"/>
-                        <filter string="State" icon="terp-stock_effects-object-colorize" domain="[]"
-                            context="{'group_by':'state'}" />
                         <filter string="Priority" icon="terp-rating-rated"
                             domain="[]" context="{'group_by':'priority'}" />
+                        <filter string="State" icon="terp-stock_effects-object-colorize" domain="[]"
+                            context="{'group_by':'state'}" />
                         <separator orientation="vertical"/>
                         <filter string="Date" icon="terp-go-month"
-                           domain="[]" help="Request Date"
-                           context="{'group_by':'date'}" />
-                       <filter string="Deadline" icon="terp-go-month"
-                           domain="[]"
-                           context="{'group_by':'date_deadline'}" />
+                            domain="[]" help="Request Date"
+                            context="{'group_by':'date'}" />
+                        <filter string="Deadline" icon="terp-go-month"
+                            domain="[]"
+                            context="{'group_by':'date_deadline'}" />
                     </group>
                 </search>
             </field>