[FIX][IMP] marketing campaing report view

bzr revid: dsh@tinyerp.com-20100521094608-m1n43j0dp086eds7
This commit is contained in:
DSH (Open ERP) 2010-05-21 15:16:08 +05:30
parent 22017a4c24
commit b6abea9645
2 changed files with 30 additions and 24 deletions

View File

@ -36,7 +36,7 @@ class campaign_analysis(osv.osv): #{{{
result = {}
for ca_obj in self.browse(cr, uid, ids, context):
wi_ids = self.pool.get('marketing.campaign.workitem').search(cr, uid,
[('segment_id.campaign_id', '=', ca_obj.campaign_id.id)])
[('segment_id.campaign_id', '=', ca_obj.campaign_id.id)])
total_cost = ca_obj.activity_id.variable_cost + \
(ca_obj.campaign_id.fixed_cost / len(wi_ids))
result[ca_obj.id] = total_cost
@ -58,14 +58,12 @@ class campaign_analysis(osv.osv): #{{{
readonly=True),
'partner_id': fields.many2one('res.partner', 'Partner', readonly=True),
'country_id': fields.related('partner_id','address', 'country_id',
type='many2one', relation='res.country',
string='Country'),
# 'case_id': fields.many2one('crm.lead', 'Opportunity', readonly=True),
# 'count' : fields.integer('Count', readonly=True),
'total_cost': fields.function(_total_cost, string='Cost', method=True,
type="float"),
type='many2one', relation='res.country',string='Country'),
'total_cost' : fields.function(_total_cost, string='Cost', method=True,
type="float", store=True),
'revenue': fields.float('Revenue',readonly=True),
# 'case_id': fields.many2one('crm.lead', 'Opportunity', readonly=True),
# 'count' : fields.integer('Count', readonly=True),
}
def init(self, cr):
@ -87,7 +85,7 @@ class campaign_analysis(osv.osv): #{{{
marketing_campaign_workitem wi
left join res_partner p on (p.id=wi.partner_id)
left join marketing_campaign_segment s on (s.id=wi.segment_id)
left join marketing_campaign_activity act on (act.id= wi.activity_id),
left join marketing_campaign_activity act on (act.id= wi.activity_id)
group by
to_char(wi.date, 'YYYY'),to_char(wi.date, 'MM'),
s.campaign_id,wi.activity_id,wi.segment_id,wi.partner_id,revenue,

View File

@ -6,19 +6,19 @@
<field name="model">campaign.analysis</field>
<field name="type">tree</field>
<field name="arch" type="xml">
<tree string="Marketing Reports">
<field name="month"/>
<field name="year"/>
<field name="date"/>
<field name="campaign_id"/>
<field name="activity_id"/>
<field name="segment_id"/>
<field name="partner_id"/>
<field name="country_id" />
<!--field name="case_id"/-->
<!--field name="count"/-->
<field name="total_cost"/>
<field name="revenue"/>
<tree string="Marketing Reports">
<field name="year" invisible="1"/>
<field name="month" invisible="1"/>
<field name="date" invisible="1"/>
<field name="campaign_id" invisible="1"/>
<field name="activity_id" invisible="1"/>
<field name="segment_id" invisible="1"/>
<field name="partner_id" invisible="1"/>
<field name="country_id" invisible="1"/>
<!--field name="case_id"/-->
<!--field name="count"/-->
<field name="total_cost" string="Cost" sum="Cost"/>
<field name="revenue"/>
</tree>
</field>
</record>
@ -46,8 +46,16 @@
<field name="segment_id"/>
<field name="partner_id"/>
<field name="country_id"/>
<!--field name="case_id"/-->
</group>
<newline/>
<group expand="1" string="Group By..." colspan="10" col="12">
<filter string="Campaign" name="Campaign" icon="terp-sale" context="{'group_by':'campaign_id'}" />
<filter string="Segment" name ="Segment" icon="terp-sale" context="{'group_by':'segment_id'}" />
<filter string="Partner" icon="terp-sale" context="{'group_by':'partner_id'}"/>
<separator orientation="vertical"/>
<filter string="Month" icon="terp-sale" context="{'group_by':'month'}"/>
<filter string="Year" icon="terp-sale" context="{'group_by':'year'}"/>
</group>
</search>
</field>
</record>
@ -57,7 +65,7 @@
<field name="res_model">campaign.analysis</field>
<field name="view_type">form</field>
<field name="view_mode">tree</field>
<field name="context">{'group_by': [], 'search_default_group_campaign': 1, 'search_default_group_segment': 1}</field>
<field name="context">{'group_by': [], 'search_default_Campaign': 1, 'search_default_Segment': 1}</field>
<field name="search_view_id" ref="view_campaign_analysis_search"/>
</record>