[IMP]: Improve SQL report for task and project_issue.
bzr revid: rch_open_erp-20100428133856-4lserqno5zsnvjrq
This commit is contained in:
parent
1a3e8c3f79
commit
8a54668cba
|
@ -88,7 +88,7 @@
|
|||
help="Non Assigned Tasks to users"
|
||||
domain="[('user_id','=',False)]"/>
|
||||
</field>
|
||||
<field name="project_id">
|
||||
<field name="project_id" widget="selection">
|
||||
<filter icon="terp-project"
|
||||
string="My Task"
|
||||
help="My Tasks"
|
||||
|
@ -111,7 +111,7 @@
|
|||
<separator orientation="vertical"/>
|
||||
<field name="type" widget="selection"/>
|
||||
<field name="priority"/>
|
||||
<field name="partner_id" widget="selection"/>
|
||||
<field name="partner_id" />
|
||||
<separator orientation="vertical"/>
|
||||
<field name="date_deadline"/>
|
||||
<newline/>
|
||||
|
|
|
@ -11,16 +11,23 @@ class project_issue_report(osv.osv):
|
|||
'stage_id': fields.many2one ('crm.case.stage', 'Stage', domain="[('object_id.model', '=', 'project.issue')]"),
|
||||
'nbr': fields.integer('# of Issues', readonly=True),
|
||||
'delay_close': fields.float('Avg Closing Delay', digits=(16,2), readonly=True, group_operator="avg",
|
||||
help="Number of Days to close the project issue"),
|
||||
help="Number of Days to close the project issue"),
|
||||
'delay_open': fields.float('Avg Opening Delay', digits=(16,2), readonly=True, group_operator="avg",
|
||||
help="Number of Days to open the project issue"),
|
||||
'company_id' : fields.many2one('res.company', 'Company'),
|
||||
'priority': fields.selection(crm.AVAILABLE_PRIORITIES, 'Priority'),
|
||||
'project_id':fields.many2one('project.project', 'Project',readonly=True),
|
||||
'type_id': fields.many2one('crm.case.resource.type', 'Type', domain="[('object_id.model', '=', 'project.issue')]"),
|
||||
'date_closed': fields.datetime('Close Date', readonly=True),
|
||||
'date_open': fields.datetime('Opened', readonly=True),
|
||||
'assigned_to' : fields.many2one('res.users', 'Assigned to',readonly=True),
|
||||
'partner_id': fields.many2one('res.partner','Partner',domain="[('object_id.model', '=', 'project.issue')]"),
|
||||
'canal_id': fields.many2one('res.partner.canal', 'Channel',readonly=True),
|
||||
'task_id': fields.many2one('project.task', 'Task',domain="[('object_id.model', '=', 'project.issue')]" )
|
||||
'task_id': fields.many2one('project.task', 'Task',domain="[('object_id.model', '=', 'project.issue')]" ),
|
||||
'analytic_account_id' : fields.many2one('account.analytic.account', 'Analytic Account',
|
||||
domain="[('partner_id', '=', partner_id)]",
|
||||
required=True),
|
||||
'partner_address_id': fields.many2one('res.partner.address','Contact ',readonly=True),
|
||||
}
|
||||
def init(self, cr):
|
||||
tools.drop_view_if_exists(cr, 'project_issue_report')
|
||||
|
@ -46,8 +53,12 @@ class project_issue_report(osv.osv):
|
|||
c.partner_id,
|
||||
c.canal_id,
|
||||
c.task_id,
|
||||
c.analytic_account_id as analytic_account_id,
|
||||
c.partner_address_id as partner_address_id,
|
||||
c.date_open as date_open,
|
||||
date_trunc('day',c.create_date) as create_date,
|
||||
avg(extract('epoch' from (c.date_closed-c.create_date)))/(3600*24) as delay_close
|
||||
avg(extract('epoch' from (c.date_closed-c.create_date)))/(3600*24) as delay_close,
|
||||
avg(extract('epoch' from (c.date_open-c.create_date)))/(3600*24) as delay_open
|
||||
from
|
||||
project_issue c
|
||||
left join
|
||||
|
@ -70,7 +81,10 @@ class project_issue_report(osv.osv):
|
|||
c.assigned_to,
|
||||
c.partner_id,
|
||||
c.canal_id,
|
||||
c.task_id
|
||||
c.task_id,
|
||||
c.date_open,
|
||||
c.analytic_account_id,
|
||||
c.partner_address_id
|
||||
)""")
|
||||
|
||||
|
||||
|
|
|
@ -15,7 +15,6 @@
|
|||
<field name="type_id" string="Type" invisible="1"/>
|
||||
<field name="priority" invisible="1"/>
|
||||
<field name="company_id" invisible="1" groups="base.group_multi_company"/>
|
||||
<field name="delay_close" avg='Avg Closing Delay'/>
|
||||
<field name="section_id" invisible="1"/>
|
||||
<field name="user_id" invisible="1"/>
|
||||
<field name="categ_id" invisible="1"/>
|
||||
|
@ -23,11 +22,16 @@
|
|||
<field name="partner_id" invisible="1"/>
|
||||
<field name="task_id" invisible="1"/>
|
||||
<field name="assigned_to" invisible="1"/>
|
||||
<field name="date_open" invisible="1"/>
|
||||
<field name="date_closed" invisible="1"/>
|
||||
<field name="create_date" invisible="1"/>
|
||||
<field name="state" invisible="1"/>
|
||||
<field name="day" invisible="1"/>
|
||||
<field name="analytic_account_id" invisible="1"/>
|
||||
<field name="partner_address_id" string="Contact" invisible="1"/>
|
||||
<field name="nbr" string="#Project Issue" sum='#Number of Project Issue'/>
|
||||
<field name="delay_open" avg='Avg Opening Delay'/>
|
||||
<field name="delay_close" avg='Avg Closing Delay'/>
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
|
@ -65,17 +69,21 @@
|
|||
<field name="type_id" widget="selection" domain="[('object_id.model', '=', 'project.issue')]"/>
|
||||
<field name="task_id"/>
|
||||
<separator orientation="vertical"/>
|
||||
<field name="assigned_to" widget="selection">
|
||||
<filter icon="terp-crm" help = "Project Issue Assigned To Me" domain="[('assigned_to','=',uid)]" />
|
||||
<filter icon="terp-crm" help="Non Assigned Project Issue" domain="[('assigned_to','=',False)]"/>
|
||||
</field>
|
||||
<field name="analytic_account_id" />
|
||||
<newline/>
|
||||
<field name="categ_id" widget="selection" domain="[('object_id.model', '=', 'project.issue')]"/>
|
||||
<field name="stage_id" widget="selection" domain="[('object_id.model', '=', 'project.issue')]" />
|
||||
<separator orientation="vertical"/>
|
||||
<field name="partner_id" />
|
||||
<field name="assigned_to" widget="selection">
|
||||
<filter icon="terp-crm" help = "Project Issue Assigned To Me" domain="[('assigned_to','=',uid)]" />
|
||||
<filter icon="terp-crm" help="Non Assigned Project Issue" domain="[('assigned_to','=',False)]"/>
|
||||
</field>
|
||||
<field name="canal_id" widget="selection"/>
|
||||
<separator orientation="vertical"/>
|
||||
<separator orientation="vertical"/>
|
||||
<field name="partner_id" />
|
||||
<field name="partner_address_id" />
|
||||
<newline/>
|
||||
<field name="date_open" string="Date Open"/>
|
||||
<field name="date_closed" string="Date Closed"/>
|
||||
</group>
|
||||
</xpath>
|
||||
|
@ -90,11 +98,15 @@
|
|||
<separator orientation="vertical"/>
|
||||
<filter string="Type" icon="terp-sale" domain="[]" context="{'group_by':'type_id'}"/>
|
||||
<filter string="Task" icon="terp-sale" domain="[]" context="{'group_by':'task_id'}"/>
|
||||
<separator orientation="vertical"/>
|
||||
<filter string="Analytic Account" icon="terp-sale" domain="[]" context="{'group_by':'task_id'}"/>
|
||||
<newline/>
|
||||
<filter string="Assigned To" icon="terp-sale" domain="[]" context="{'group_by':'assigned_to'}"/>
|
||||
<filter string="Partner" icon="terp-sale" domain="[]" context="{'group_by':'partner_id'}"/>
|
||||
<filter string="Channel" icon="terp-sale" domain="[]" context="{'group_by':'canal_id'}"/>
|
||||
</xpath>
|
||||
<separator orientation="vertical"/>
|
||||
<filter string="Partner" icon="terp-sale" domain="[]" context="{'group_by':'partner_id'}"/>
|
||||
<filter string="Contact" icon="terp-sale" domain="[]" context="{'group_by':'partner_address_id'}"/>
|
||||
</xpath>
|
||||
</data>
|
||||
</field>
|
||||
</record>
|
||||
|
|
Loading…
Reference in New Issue