[IMP] crm:-useability improvements in Reporting/Phone Calls Analysis
authormtr <mtr@mtr>
Tue, 21 Sep 2010 09:38:06 +0000 (15:08 +0530)
committermtr <mtr@mtr>
Tue, 21 Sep 2010 09:38:06 +0000 (15:08 +0530)
bzr revid: mtr@mtr-20100921093806-zcyigx1pz9yv7gk2

addons/crm/crm_phonecall.py
addons/crm/report/crm_phonecall_report.py
addons/crm/report/crm_phonecall_report_view.xml

index 18a6daa..59938f1 100644 (file)
@@ -50,11 +50,11 @@ class crm_phonecall(crm_case, osv.osv):
         'company_id': fields.many2one('res.company', 'Company'), 
         'description': fields.text('Description'), 
         'state': fields.selection([
-                                    ('draft', 'Draft'), 
+                                    ('draft', 'Todo'), 
                                     ('open', 'Todo'), 
                                     ('cancel', 'Cancelled'), 
-                                    ('done', 'Done'), 
-                                    ('pending', 'Pending'),
+                                    ('done', 'Held'), 
+                                    ('pending', 'Not Held'),
                                 ], 'State', size=16, readonly=True, 
                                   help='The state is set to \'Draft\', when a case is created.\
                                   \nIf the case is in progress the state is set to \'Open\'.\
index 00d13c7..a82dc15 100644 (file)
@@ -24,11 +24,11 @@ import tools
 from crm import crm
 
 AVAILABLE_STATES = [
-    ('draft','Draft'),
-    ('open','Open'),
+    ('draft','Todo'),
+    ('open','Todo'),
     ('cancel', 'Cancelled'),
-    ('done', 'Closed'),
-    ('pending','Pending')
+    ('done', 'Held'),
+    ('pending','Not Held')
 ]
 
 
@@ -119,9 +119,9 @@ class crm_phonecall_report(osv.osv):
             create or replace view crm_phonecall_report as (
                 select
                     id,
-                    to_char(c.create_date, 'YYYY') as name,
-                    to_char(c.create_date, 'MM') as month,
-                    to_char(c.create_date, 'YYYY-MM-DD') as day,
+                    to_char(c.date, 'YYYY') as name,
+                    to_char(c.date, 'MM') as month,
+                    to_char(c.date, 'YYYY-MM-DD') as day,
                     to_char(c.create_date, 'YYYY-MM-DD') as creation_date,
                     to_char(c.date_open, 'YYYY-MM-DD') as opening_date,
                     to_char(c.date_closed, 'YYYY-mm-dd') as date_closed,
index 6940260..f717cc0 100644 (file)
@@ -9,7 +9,7 @@
             <field name="model">crm.phonecall.report</field>
             <field name="type">tree</field>
             <field name="arch" type="xml">
-               <tree colors="blue:state in ('draft');black:state in ('open','pending','done');gray:state in ('cancel') " string="Phone calls">
+               <tree string="Phone calls">
                     <field name="name" invisible="1"/>
                     <field name="month" invisible="1"/>
                     <field name="section_id" invisible="1"/>
             <field name="arch" type="xml">
                 <search string="Search">
                   <group col="16" colspan="8">
-                           <filter string="This Year" icon="terp-go-year"
-                               domain="[('create_date','&lt;=', time.strftime('%%Y-%%m-%%d')), ('create_date','&gt;',(datetime.date.today()-datetime.timedelta(days=365)).strftime('%%Y-%%m-%%d'))]"/>
+                           <filter string="  Year  " icon="terp-go-year"
+                               domain="[('create_date','&lt;=', time.strftime('%%Y-%%m-%%d')),('create_date','&gt;=',time.strftime('%%Y-01-01'))]"/>
 
-                       <filter string="This Month" icon="terp-go-month" name="This Month"
-                           domain="[('create_date','&lt;=', time.strftime('%%Y-%%m-%%d')), ('create_date','&gt;',(datetime.date.today()-datetime.timedelta(days=30)).strftime('%%Y-%%m-%%d'))]"/>
+                       <filter string="   Month   " icon="terp-go-month" name="This Month"
+                           domain="[('create_date','&lt;=', time.strftime('%%Y-%%m-%%d')),('create_date','&gt;=',time.strftime('%%Y-%%m-01'))]"/>
 
-                       <filter icon="terp-go-week" string="7 Days" separator="1"
-                            domain="[('create_date','&lt;=', time.strftime('%%Y-%%m-%%d')), ('create_date','&gt;',(datetime.date.today()-datetime.timedelta(days=7)).strftime('%%Y-%%m-%%d'))]"/>
+                       <filter icon="terp-go-week" string="    Month-1    " separator="1"
+                            domain="[('create_date','&lt;=', (datetime.date (int(time.strftime('%%Y')), datetime.date.today().month, 1) - datetime.timedelta (days = 1)).strftime('%%Y-%%m-%%d')),('create_date','&gt;',(datetime.date (int(time.strftime('%%Y')), datetime.date.today().month-1, 1)).strftime('%%Y-%%m-%%d'))]"/>
 
                            <separator orientation="vertical" />
                         <filter icon="terp-check"
-                            string="Current"
-                            domain="[('state','in',('draft','oprn'))]"/>
-                        <filter icon="terp-hr"
+                            string="To Do"
+                            domain="[('state','in',('draft','open'))]"/>
+                        <filter icon="gtk-media-pause"
                             string="Pending"
                             domain="[('state','=','pending')]"/>
-                        <filter icon="terp-sale"
+                        <filter icon="terp-dialog-close"
                             string="Done"
                             domain="[('state','=','done')]"/>
-
-                           <separator orientation="vertical" />
-                      <filter string="Stage" icon="terp-crm" domain="[]"
-                          context="{'group_by':'stage_id'}" />
-
-
-                               <filter icon="terp-personal+"
-                                   context="{'invisible_section': False}"
-                                   domain="[('section_id.user_id','=',uid)]"
-                                   help="My section" />
-
+                      <separator orientation="vertical" />
+                        <field name="section_id"
+                            default="context.get('section_id', False)"
+                            context="{'invisible_section': False}">               
+                       <filter icon="terp-personal+"
+                           context="{'invisible_section': False}"
+                           domain="[('section_id.user_id','=',uid)]"
+                           help="My section" />
+                        </field>   
                           <field name="user_id" select="1">
                             <filter icon="terp-crm" string="My Case" help="My Case" domain="[('user_id','=',uid)]" />
                            </field>
                    </group>
                    <newline/>
                    <group  expand="1" string="Group By...">
-                        <filter string="User" name="User" icon="terp-personal"
+                        <filter string="Salesman" name="User" icon="terp-personal"
                             domain="[]" context="{'group_by':'user_id'}" />
                        <filter string="Partner" icon="terp-personal" context="{'group_by':'partner_id'}" />
                         <separator orientation="vertical" />
-                        <filter string="Section" icon="terp-sale"
+                        <filter string="Sales Team" icon="terp-personal+"
                             domain="[]"
                             context="{'group_by':'section_id'}" />
-                        <filter string="Category" icon="terp-stock_symbol-selection"
-                            domain="[]" context="{'group_by':'categ_id'}" />
+                        
                         <separator orientation="vertical" />
                         <filter string="Stage" icon="terp-stage" domain="[]" context="{'group_by':'stage_id'}"/>
-                        <separator orientation="vertical"/>
                         <filter string="Priority"  icon="terp-rating-rated" domain="[]" context="{'group_by':'priority'}" />
+                        <filter string="Type" icon="terp-stock_symbol-selection"
+                            domain="[]" context="{'group_by':'categ_id'}" />
                         <separator orientation="vertical" />
                         <filter string="State" icon="terp-stock_effects-object-colorize"
                             domain="[]" context="{'group_by':'state'}" />
                             context="{'group_by':'company_id'}" />
                         <separator orientation="vertical" />
                         <filter string="Day" icon="terp-go-today"
-                            domain="[]" context="{'group_by':'day'}"/>
+                            domain="[]" context="{'group_by':'day'}" help="Date of call"/>
                         <filter string="Month" icon="terp-go-month"
-                            domain="[]" context="{'group_by':'month'}" />
+                            domain="[]" context="{'group_by':'month'}" help="Month of call"/>
                         <filter string="Year" icon="terp-go-year"
-                            domain="[]" context="{'group_by':'name'}" />
+                            domain="[]" context="{'group_by':'name'}" help="Year of call"/>
                   </group>
 
                    <newline/>
                       <field name="partner_id"/>
                         <separator orientation="vertical"/>
                         <field name="stage_id" widget="selection" domain="[('object_id.model', '=', 'crm.phonecall')]"/>
-                        <field name="categ_id" widget="selection" domain="[('object_id.model', '=', 'crm.phonecall')]"/>
+                        <field string="Type" name="categ_id" widget="selection" domain="[('object_id.model', '=', 'crm.phonecall')]"/>
                         <separator orientation="vertical"/>
                         <field name="company_id" groups="base.group_multi_company"/>
                            <newline/>
 <!-- Phone calls by user and section Action -->
 
         <record id="action_report_crm_phonecall" model="ir.actions.act_window">
-            <field name="name">Phone Calls</field>
+            <field name="name">Phone Calls Analysis</field>
             <field name="res_model">crm.phonecall.report</field>
             <field name="view_type">form</field>
             <field name="view_mode">tree,graph</field>