[IMP]report_crm: improve the view and set default in group by and filter

bzr revid: sbh@tinyerp.com-20100305073014-vm9x4mjs9cfa2fes
This commit is contained in:
sbh (Open ERP)
2010-03-05 13:00:14 +05:30
parent a974840afd
commit 990552c684
3 changed files with 17 additions and 17 deletions
+4 -2
View File
@@ -12,7 +12,8 @@ class report_crm_opportunity(osv.osv):
'amount_revenue_prob': fields.float('Est. Rev*Prob.', readonly=True),
'delay_close': fields.char('Delay to close', size=20, readonly=True),
'categ_id': fields.many2one('crm.case.categ', 'Category', domain="[('section_id','=',section_id),('object_id.model', '=', 'crm.opportunity')]"),
'stage_id':fields.many2one('crm.case.stage', 'Stage', domain="[('section_id','=',section_id),('object_id.model', '=', 'crm.opportunity')]", readonly=True),
'stage_id':fields.many2one('crm.case.stage', 'Stage', domain="[('section_id','=',section_id),('object_id.model', '=', 'crm.opportunity')]", readonly=True),
'partner_id': fields.many2one('res.partner', 'Partner'),
}
def init(self, cr):
tools.drop_view_if_exists(cr, 'report_crm_opportunity')
@@ -27,6 +28,7 @@ class report_crm_opportunity(osv.osv):
c.section_id,
c.categ_id,
c.stage_id,
c.partner_id,
count(*) as nbr,
0 as avg_answers,
0.0 as perc_done,
@@ -37,7 +39,7 @@ class report_crm_opportunity(osv.osv):
to_char(avg(date_closed-c.create_date), 'DD"d" HH24:MI:SS') as delay_close
from
crm_opportunity c
group by to_char(c.create_date, 'YYYY'), to_char(c.create_date, 'MM'), c.state, c.user_id,c.section_id,c.stage_id,c.categ_id
group by to_char(c.create_date, 'YYYY'), to_char(c.create_date, 'MM'), c.state, c.user_id,c.section_id,c.stage_id,c.categ_id,c.partner_id
)""")
report_crm_opportunity()
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
@@ -13,14 +13,15 @@
<tree string="Opportunities">
<field name="name" />
<field name="month"/>
<field name="section_id" />
<field name="user_id" />
<field name="nbr" string="#Opportunities"/>
<field name="amount_revenue"/>
<field name="probability"/>
<field name="probability" widget="progressbar"/>
<field name="amount_revenue_prob"/>
<field name="delay_close"/>
<field name="partner_id" invisible="1"/>
<field name="state" invisible="1"/>
<field name="section_id" invisible="1"/>
<field name="user_id" invisible="1"/>
<field name="stage_id" invisible="1"/>
<field name="categ_id" invisible="1"/>
</tree>
@@ -63,6 +64,8 @@
<field name="arch" type="xml">
<xpath expr='//search[@string="Search"]/group[@string="Group By..."]/filter[@string="State"]' position='after'>
<filter string="Stage" icon="terp-sale" domain="[]" context="{'group_by':'stage_id'}"/>
<filter string="Partner" icon="terp-partner" domain="[]" context="{'group_by':'partner_id'}"/>
</xpath>
</field>
</record>
+7 -12
View File
@@ -53,8 +53,8 @@
<field name="arch" type="xml">
<search string="Search">
<group col="16" colspan="8">
<filter string="This Year" icon="terp-hr" domain="[('name','=',time.localtime()[0])]"/>
<filter string="This Month" icon="terp-hr" domain="[('month','=',time.strftime('%%m'))]"/>
<filter string="This Year" icon="terp-hr" domain="[('name','=',time.localtime()[0])]" default="1" />
<filter string="This Month" icon="terp-hr" domain="[('month','=',time.strftime('%%m'))]" default="1"/>
<separator orientation="vertical"/>
<filter string="Current" icon="terp-hr" domain="[('state','in',('open','draft'))]"/>
<filter string="Won" icon="terp-hr" domain="[('state','=','done')]"/>
@@ -67,24 +67,19 @@
domain="[('section_id.user_id','=',uid)]"
help="My section"/>
</field>
<field name="user_id" widget="selection">
<filter icon="terp-partner"
domain="[('user_id','=',uid)]"
help="My " default="1"
/>
</field>
<field name="user_id" widget="selection"/>
</group>
<newline/>
<group expand="1" string="Group By..." colspan="4" col="8">
<filter string="User" icon="terp-sale" domain="[]" context="{'group_by':'user_id'}"/>
<filter string="User" icon="terp-sale" domain="[]" context="{'group_by':'user_id'}" default="1" />
<filter string="Section" icon="terp-sale" domain="[]" context="{'group_by':'section_id'}"/>
<separator orientation="vertical"/>
<filter string="State" icon="terp-sale" domain="[]" context="{'group_by':'state'}"/>
<filter string="Category" icon="terp-sale" domain="[]" context="{'group_by':'categ_id'}"/>
<separator orientation="vertical"/>
<filter string="Month" icon="terp-sale" domain="[]" context="{'group_by':'month'}"/>
<filter string="Year" icon="terp-sale" domain="[]" context="{'group_by':'name'}"/>
<filter string="Category" icon="terp-sale" domain="[]" context="{'group_by':'categ_id'}"/>
</group>
</search>
</field>
</record>