[IMP]: Improve SQL view report for crm phonecalls. Add fields in Extended Option of search view.

bzr revid: rch_open_erp-20100426134414-44oq5wfkhs8y7jc1
This commit is contained in:
rch (Open ERP)
2010-04-26 19:14:14 +05:30
parent 2eeb2a1f79
commit 97ae945f3a
2 changed files with 31 additions and 0 deletions
+10
View File
@@ -21,6 +21,7 @@
from osv import fields,osv
import tools
import crm_report
class crm_phonecall_report(osv.osv):
""" Phone calls by user and section """
@@ -37,6 +38,10 @@ class crm_phonecall_report(osv.osv):
('object_id.model', '=', 'crm.phonecall')]"),
'partner_id': fields.many2one('res.partner', 'Partner' , readonly=True),
'company_id': fields.many2one('res.company', 'Company', readonly=True),
'priority': fields.selection(crm_report.AVAILABLE_PRIORITIES, 'Priority'),
'date_closed': fields.datetime('Closed', readonly=True),
'opportunity_id': fields.many2one ('crm.opportunity', 'Opportunity'),
'canal_id': fields.many2one('res.partner.canal','Channel',domain="[('section_id','=',section_id),('object_id.model', '=', 'crm.phonecall')]")
}
def init(self, cr):
@@ -63,6 +68,10 @@ class crm_phonecall_report(osv.osv):
0 as avg_answers,
0.0 as perc_done,
0.0 as perc_cancel,
c.priority as priority,
c.date_closed as date_closed,
c.opportunity_id as opportunity_id,
c.canal_id as canal_id,
date_trunc('day',c.create_date) as create_date,
avg(extract('epoch' from (c.date_closed-c.create_date)))/(3600*24) as delay_close
from
@@ -70,6 +79,7 @@ class crm_phonecall_report(osv.osv):
group by to_char(c.create_date, 'YYYY'), to_char(c.create_date, 'MM'),\
c.state, c.user_id,c.section_id, c.categ_id,c.partner_id,c.company_id
,to_char(c.create_date, 'YYYY-MM-DD'),c.create_date
,c.priority,c.date_closed,opportunity_id,canal_id
)""")
crm_phonecall_report()
@@ -21,6 +21,10 @@
<field name="state" invisible="1"/>
<field name="categ_id" invisible="1"/>
<field name="day" invisible="1"/>
<field name="priority" invisible="1"/>
<field name="date_closed" invisible="1"/>
<field name="opportunity_id" invisible="1"/>
<field name="canal_id" invisible="1"/>
</tree>
</field>
</record>
@@ -70,8 +74,25 @@
<group>
<separator orientation="vertical"/>
<field name="categ_id" widget="selection" domain="[('object_id.model', '=', 'crm.phonecall')]"/>
<field name="priority" />
<separator orientation="vertical"/>
<field name="opportunity_id"/>
<field name="canal_id" widget="selection" />
<newline/>
<field name="date_closed"/>
</group>
</xpath>
<xpath
expr='//search[@string="Search"]/group[@string="Group By..."]/filter[@string="Category"]'
position='after'>
<filter string="Priority" icon="terp-sale" domain="[]"
context="{'group_by':'priority'}" />
<separator orientation="vertical"/>
<filter string="Oppertunities" icon="terp-sale" domain="[]"
context="{'group_by':'opportunity_id'}" />
<filter string="Channel" icon="terp-sale" domain="[]"
context="{'group_by':'canal_id'}" />
</xpath>
</data>
</field>
</record>