[IMP]:project:Improved SQL report.(Tasks).
authorapa-tiny <apa@tinyerp.com>
Fri, 9 Apr 2010 13:03:09 +0000 (18:33 +0530)
committerapa-tiny <apa@tinyerp.com>
Fri, 9 Apr 2010 13:03:09 +0000 (18:33 +0530)
bzr revid: apa@tinyerp.com-20100409130309-6kmsuu1l0aslaca3

addons/project/report/project_report.py
addons/project/report/project_report_view.xml

index f2baefd..d376878 100644 (file)
@@ -27,9 +27,11 @@ class report_project_task_user(osv.osv):
     _description = "Tasks by user and project"
     _auto = False
     _columns = {
-        'name': fields.char('Year',size=64,required=False, readonly=True),
+        'name': fields.char('Task Summary', size=128, readonly=True),
+        'year': fields.char('Year',size=64,required=False, readonly=True),
         'user_id':fields.many2one('res.users', 'User', readonly=True),
         'date_start': fields.datetime('Starting Date',readonly=True),
+        'no_of_days': fields.char('#Days', size=128, readonly=True),
         'description': fields.text('Description',readonly=True),
         'date_end': fields.datetime('Ending Date',readonly=True),
         'date_deadline': fields.date('Deadline',readonly=True),
@@ -68,16 +70,18 @@ class report_project_task_user(osv.osv):
             create or replace view report_project_task_user as (
                 select
                     min(t.id) as id,
-                    to_char(date_start, 'YYYY') as name,
+                    to_char(date_start, 'YYYY') as year,
                     to_char(date_start, 'MM') as month,
                     count(distinct t.id) as nbr,
                     date_trunc('day',t.date_start) as date_start,
                     date_trunc('day',t.date_end) as date_end,
                     to_date(to_char(t.date_deadline, 'dd-MM-YYYY'),'dd-MM-YYYY') as date_deadline,
+                    to_char(date_trunc('day',t.date_end) - date_trunc('day',t.date_start),'DD" days"') as no_of_days,
                     t.user_id,
                     t.project_id,
                     t.state,
                     t.priority,
+                    t.name,
                     t.company_id,
                     t.partner_id,
                     t.type,
@@ -93,12 +97,13 @@ class report_project_task_user(osv.osv):
                     t.priority,
                     t.user_id,
                     t.state,
-                    t.date_end,
+                    date_trunc('day',t.date_end),
                     to_date(to_char(t.date_deadline, 'dd-MM-YYYY'),'dd-MM-YYYY'),
-                    t.date_start,
+                    date_trunc('day',t.date_start),
                     t.company_id,
                     t.partner_id,
                     t.type,
+                    t.name,
                     t.project_id
             )
         """)
index 0661741..25776dd 100644 (file)
@@ -9,24 +9,24 @@
             <field name="type">tree</field>
             <field name="arch" type="xml">
                 <tree string="Tasks">
-                       <!--field name="description"/-->
+                       <field name="name"/>
                     <field name="project_id"/>
                     <field name="user_id"/>
                     <field name="date_deadline"/>
                     <field name="nbr" sum='#Number of tasks'/>
+                    <field name="no_of_days"/>
                     <field name="hours_planned" sum='Planned Hours'/>
                     <field name="hours_effective" sum='Effective Hours'/>
                     <field name="hours_delay" sum='Avg. Plan.-Eff.'/>
                     <field name="closing_days" sum='Avg Closing Delay'/>
-                    <field name="state"/>
+                    <field name="state" invisible="1"/>
                     <field name="date_start" invisible="1"/>
                     <field name="date_end" invisible="1"/>
                     <field name="company_id" invisible="1"/>
                     <field name="partner_id" invisible="1"/>
                     <field name="type" invisible="1"/>
-                    <field name="name" invisible="1"/>
+                    <field name="year" invisible="1"/>
                     <field name="month" invisible="1"/>
-
                 </tree>
             </field>
         </record>
@@ -38,7 +38,7 @@
             <field name="arch" type="xml">
                 <search string="Tasks">
                        <group>
-                    <filter icon="terp-project" string="This Year" domain="[('name','=',time.strftime('%%Y'))]" help="Tasks performed in this year"/>
+                    <filter icon="terp-project" string="This Year" domain="[('year','=',time.strftime('%%Y'))]" help="Tasks performed in this year"/>
                     <filter icon="terp-project" string="This Month" domain="[('month','=',time.strftime('%%m'))]" help="Tasks performed in this month"/>
                     <separator orientation="vertical"/>
                     <filter string="Deadline" icon="terp-project" domain="[('date_deadline','=',time.strftime('%%Y/%%m/%%d'))]"/>