[IMP] crm: immprovement on lead,opportunity
[odoo/odoo.git] / addons / crm / crm_opportunity_view.xml
index db6869e..057a4a5 100644 (file)
@@ -2,7 +2,7 @@
 <openerp>
 <data>
 
-       # ------------------------------------------------------
+    # ------------------------------------------------------
     # Opportunity Categories
     # ------------------------------------------------------
 
         <field name="res_model">crm.case.categ</field>
         <field name="view_type">form</field>
         <field name="view_id"  ref="crm.crm_case_categ_tree-view"/>
-               <field name="domain">[('object_id.model', '=', 'crm.opportunity')]</field>
-               <field name="context">{'object_id':'crm.opportunity'}</field>
+        <field name="domain">[('object_id.model', '=', 'crm.opportunity')]</field>
+        <field name="context">{'object_id':'crm.opportunity'}</field>
     </record>
      <menuitem action="crm_opportunity_categ_action" id="menu_crm_case_opportunity-act" parent="crm.menu_crm_case_categ"/>
-               # ------------------------------------------------------
-           # Stage
-           # ------------------------------------------------------
-           <record id="crm_opportunity_stage_act" model="ir.actions.act_window">
-               <field name="name">Opportunity Stages</field>
-               <field name="res_model">crm.case.stage</field>
-               <field name="view_type">form</field>
-                       <field name="view_id" ref="crm.crm_case_stage_tree"/>
-                       <field name="domain">[('object_id.model', '=', 'crm.opportunity')]</field>
-                        <field name="context">{'object_id':'crm.opportunity'}</field>
-           </record>
-         <menuitem action="crm_opportunity_stage_act" id="menu_crm_opportunity_stage_act" parent="crm.menu_crm_case_stage"/>
+        # ------------------------------------------------------
+        # Stage
+        # ------------------------------------------------------
+        <record id="crm_opportunity_stage_act" model="ir.actions.act_window">
+            <field name="name">Opportunity Stages</field>
+            <field name="res_model">crm.case.stage</field>
+            <field name="view_type">form</field>
+             <field name="view_id" ref="crm.crm_case_stage_tree"/>
+            <field name="domain">[('object_id.model', '=', 'crm.opportunity')]</field>
+             <field name="context">{'object_id':'crm.opportunity'}</field>
+        </record>
+      <menuitem action="crm_opportunity_stage_act" id="menu_crm_opportunity_stage_act" parent="crm.menu_crm_case_stage"/>
     # ------------------------------------------------------
     # Opportunities
     # ------------------------------------------------------
 
 
     <record model="ir.ui.view" id="crm_case_form_view_oppor">
-        <field name="name">CRM - Opportunities Form</field>
+        <field name="name">Opportunities</field>
         <field name="model">crm.opportunity</field>
         <field name="type">form</field>
         <field name="arch" type="xml">
             <form string="Opportunities">
-                <group colspan="4" col="4">                    
-                    <field name="name" select="1" string="Opportunity" colspan="4"/>
-                    <field name="planned_revenue" required="1"/>
-                    <field name="planned_cost"/>
-                    <field name="probability"/>
-                    <field name="date_deadline" string="Excepted Close Date" required="1"/>
-                    <group colspan="4" col="5">
-                    <label string="" colspan="2"/>
+                <group colspan="4" col="7">
+                    <field name="name" string="Opportunity"/>
+                    <field name="stage_id" on_change="onchange_stage_id(stage_id)" widget="selection" domain="[('object_id.model', '=', 'crm.opportunity')]"/>
+                    <field name="user_id"/>
                     <button string="Schedule Meeting"
                         name="%(wizard_crm_opportunity_meeting_set)d" icon="gtk-redo" type="action" />
+                    <field name="planned_revenue"/>
+                    <field name="probability"/>
+                    <field name="date_deadline" string="Expected Closing"/>
                     <button string="Schedule Call"
                         name="%(wizard_crm_opportunity_reschedule_phone_call)d" icon="gtk-redo" type="action"  />
                 </group>
-                </group>
-                
-                <group colspan="4" col="4">
-                <notebook>
+                <notebook colspan="4">
                 <page string="Opportunity">
-                    <separator colspan="4" string="Communication"/>                    
-                    <field name="partner_id" required="1" select="1" on_change="onchange_partner_id(partner_id, email_from)" colspan="2"/>
-                    <field name="partner_address_id" string="Contact" on_change="onchange_partner_address_id(partner_address_id, email_from)" colspan="1"/>
-                    <field name="email_from" colspan="2" string="Email"/>
-                    <field name="partner_phone" colspan="2"/>
-
-                    <separator colspan="4" string="Status and Categarization"/>
-                    <group colspan="4" col="6">
-                        <field name="user_id" select="2" string="Responsible"/>                        
-                        <field name="stage_id" select="1" string="Sales Stage" required="1" widget="selection" domain="[('object_id.model', '=', 'crm.opportunity')]"/>                        
-                        <field name="categ_id" select="1" on_change="onchange_categ_id(categ_id)" string="Lead Source" widget="selection" domain="[('object_id.model', '=', 'crm.opportunity')]"/>
+                    <group col="2" colspan="2">
+                        <separator colspan="2" string="Contacts"/>
+                        <field name="partner_id" select="1" on_change="onchange_partner_id(partner_id, email_from)" colspan="2"/>
+                        <field name="partner_address_id" string="Contact" on_change="onchange_partner_address_id(partner_address_id, email_from)" colspan="1"/>
+                        <field name="email_from" string="Email"/>
+                        <field name="partner_phone"/>
+                    </group>
+                    <group col="2" colspan="2">
+                        <separator colspan="2" string="Categorization"/>
                         <field name="type_id" select="1" string="Campaign"/>
                         <field name="section_id" colspan="1" widget="selection"/>
                         <field name="priority" string="Priority"/>
-                    
+                        <field name="categ_id" select="1" string="Category" widget="selection" domain="[('object_id.model', '=', 'crm.opportunity')]"/>
                     </group>
-                    
-                    
-                    
+
                     <separator colspan="4" string="Details"/>
                     <field name="description" nolabel="1" colspan="4"/>
 
                     <separator colspan="4"/>
                     <group col="8" colspan="4">
                         <field name="state" select="2"/>
-                        <button name="case_close" string="Done" states="open,draft,pending" type="object" icon="gtk-close"/>
                         <button name="case_open" string="Open" states="draft,pending" type="object" icon="gtk-go-forward"/>
-                        <button name="case_cancel" string="Cancel" states="draft,open,pending" type="object"  icon="gtk-cancel"/>
-                        <button name="case_pending" string="Pending" states="draft,open" type="object" icon="gtk-media-pause"/>
                         <button name="case_escalate" string="Escalate" states="open,draft,pending" type="object" icon="gtk-go-up"/>
-                        <button name="case_reset" string="Reset to Draft" states="done,cancel" type="object" icon="gtk-convert"/>
+                        <button name="case_pending" string="Pending" states="draft,open" type="object" icon="gtk-media-pause"/>
+                        <button name="case_close" string="Mark Won" states="open,draft,pending" type="object" icon="gtk-close"/>
+                        <button name="case_cancel" string="Mark Lost" states="draft,open,pending" type="object"  icon="gtk-cancel"/>
+                        <button name="case_reset" string="Reset to New" states="done,cancel" type="object" icon="gtk-convert"/>
                     </group>
                 </page>
 
-                <page string="History">
-                    <field name="active"/>
-                    <field name="canal_id"/>
-                    <field name="som"/>
-
-                    <separator colspan="4" string="Dates"/>
-                    <field name="create_date"/>
-                    <field name="date_closed"/>
-                    <field name="date_action_last"/>
-                    <field name="date_action_next"/>
+                <page string="History" groups="base.group_extended">
+                    <group col="2" colspan="2">
+                        <separator string="Dates" colspan="2"/>
+                        <field name="create_date"/>
+                        <field name="write_date"/>
+                        <field name="date_closed"/>
+                    </group>
+                    <group col="2" colspan="2">
+                        <separator string="Misc" colspan="2"/>
+                        <field name="active"/>
+                    </group>
                     <separator colspan="4" string="References"/>
-                    <field name="ref" colspan="4"/>
-                    <field name="ref2" colspan="4"/>
-
+                    <field name="ref"/>
+                    <field name="ref2"/>
                     <field name="log_ids" nolabel="1" colspan="4">
                         <form string="Actions">
                             <separator string="Action Information" colspan="4"/>
                         </form>
                     </field>
                 </page>
-                 <page string="Emails">
+                 <page string="Emails" groups="base.group_extended">
                    <group colspan="4">
                        <field colspan="4" name="email_cc" string="CC"/>
                    </group>
                                 <field name="email"/>
                                 <field name="canal_id"/>
                                 <button
-                                                                  string="Add a CC"
-                                                                   name="%(crm.action_view_crm_email_add_cc_wizard)d"
-                                                                   icon="gtk-add" type="action"/>
+                                   string="Add a CC"
+                                    name="%(crm.action_view_crm_email_add_cc_wizard)d"
+                                    icon="gtk-add" type="action"/>
                             </group>
                             <newline/>
                             <field name="description" colspan="4" nolabel="1"/>
                     <button colspan="4" string="Send New Email" name="%(crm.wizard_crm_new_send_mail)d" context="{'mail':'new'}" icon="gtk-go-forward" type="action"/>
                  </page>
                 </notebook>
-                </group>
             </form>
         </field>
     </record>
     <record model="ir.ui.view" id="crm_case_tree_view_oppor">
-        <field name="name">CRM - Opportunities Tree</field>
+        <field name="name">Opportunities Tree</field>
         <field name="model">crm.opportunity</field>
         <field name="type">tree</field>
         <field name="arch" type="xml">
-            <tree string="Opportunities Tree"  colors="red:state=='open';black:state in ('draft', 'cancel','done','pending')">
-                <field name="id"/>
-                <field name="name" string="Opportunities"/>
-                <field name="stage_id"  string="Sales Stage"/>
-                <field name="partner_id" string="Partner"/>
-                <field name="planned_revenue"/>
-                <field name="probability"/>
-                <field name="date_deadline" string="Excepted Close Date"/>
+            <tree string="Opportunities"  colors="blue:state=='pending';grey:state in ('cancel','done')">
+                <field name="create_date"/>
+                <field name="name" string="Opportunity"/>
+                <field name="partner_id"/>
+                <field name="stage_id"/>
+                <button name="stage_previous" string="Previous" states="open,pending" type="object" icon="gtk-go-back"/>
+                <button name="stage_next" string="Next" states="open,pending" type="object" icon="gtk-go-forward"/>
+                <field name="planned_revenue" sum="Total of Planned Revenue"/>
+                <field name="probability" widget="progressbar" avg="Avg. of Probability"/>
+                <field name="date_deadline" string="Excepted Closing"/>
+                <field name="section_id"/>
                 <field name="user_id"/>
                 <field name="state"/>
                 <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_escalate" string="Escalate" states="open,draft,pending" type="object" icon="gtk-go-up"/>
-                <button name="case_cancel" string="Cancel" states="draft,open,pending" type="object"  icon="gtk-cancel"/>
+                <button name="case_close" string="Won" states="open,draft,pending" type="object" icon="gtk-close"/>
+                <button name="case_pending" string="Pending" states="open,draft" type="object" icon="gtk-media-pause"/>
+                <button name="case_cancel" string="Lost" states="draft,open,pending" type="object"  icon="gtk-cancel"/>
             </tree>
         </field>
     </record>
         <field name="type">search</field>
         <field name="arch" type="xml">
             <search string="Search Opportunities">
-                       <group col="3" colspan="1">
-                <filter icon="gtk-home" string="   Today   "
-                       separator="1"
-                       domain="[('date::date','=',time.strftime('%%Y-%%m-%%d'))]"
-                       help="Todays's Opportunities"
+                <filter icon="gtk-home" string="Today"
+                    domain="[('create_date','&lt;', time.strftime('%%Y-%%m-%%d 23:59:59')), ('create_date','&gt;=', time.strftime('%%Y-%%m-%%d 23:59:59'))]"
+                    help="Todays' Opportunities"
                 />
-                <filter icon="gtk-media-rewind" string="    7 Days    "
-                       separator="1" help="Opportunities 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'))]"
+                <filter icon="gtk-media-rewind" string="7 Days"
+                    help="Opportunities during last 7 days"
+                    domain="[('create_date','&lt;', time.strftime('%%Y-%%m-%%d')), ('create_date','&gt;=',(datetime.date.today()-datetime.timedelta(days=7)).strftime('%%Y-%%m-%%d'))]"
                 />
-                       </group>
-               <separator orientation="vertical"/>
-               <group col="6" colspan="2">
-                   <field name="name" select="1" string="Opportunity"/>
-                   <field name="user_id" select="1" widget="selection">
-                       <filter icon="terp-partner"
-                               domain="[('user_id','=',uid)]"
-                               help="My Opportunities" default="1"
-                       />
-                   </field>
-                   <field name="partner_id" select="1"/>
-                   <field name="state" select="1">
-                       <filter icon="gtk-index" domain="[('state','in',('open','draft'))]" help="Current "/>
-                   </field>
-                                       <field name="section_id" default="context.get('section_id', False)" select="1" widget="selection" string="Section">
-                                               <filter icon="terp-crm"
-                               domain="[('section_id','=',context.get('section_id',False))]"
-                               help="My section"/>
-                                       </field>
-               </group>
+                <separator orientation="vertical"/>
+                <field name="name" string="Opportunity"/>
+                <field name="user_id" widget="selection">
+                    <filter icon="terp-partner"
+                        domain="[('user_id','=',uid)]"
+                        help="My Opportunities" default="1"
+                    />
+                </field>
+                <field name="partner_id"/>
+                <field name="state">
+                    <filter icon="gtk-media-rewind"
+                        string="New and open opportunities"
+                        default="1"
+                        domain="[('state','in',('draft','open'))]"/>
+                </field>
+                <field name="section_id" default="context.get('section_id', False)" select="1" widget="selection" string="Section">
+                    <filter icon="terp-crm"
+                        domain="[('section_id','=',context.get('section_id',False))]"
+                        help="My section"/>
+                </field>
+                <newline/>
+                <group expand="1" string="Group By..." colspan="4">
+                    <filter string="Stage" icon="terp-crm" domain="[]" context="{'group_by':'stage_id'}"/>
+                    <filter string="Category" icon="terp-crm" domain="[]" context="{'group_by':'categ_id'}"/>
+                    <filter string="Campaign" icon="terp-crm" domain="[]" context="{'group_by':'type_id'}"/>
+                    <separator orientation="vertical"/>
+                    <filter string="Partner" icon="terp-crm" domain="[]"  context="{'group_by':'partner_id'}"/>                    
+                    <filter string="Salesman" icon="terp-crm" domain="[]" context="{'group_by':'user_id'}"/>                    
+                    <separator orientation="vertical"/>
+                    <filter string="Creation" icon="terp-project" domain="[]" context="{'group_by':'create_date'}"/>
+                    <filter string="Exp.Closing" icon="terp-project" domain="[]" context="{'group_by':'date_deadline'}"/>
+                </group>
            </search>
         </field>
     </record>