[FIX][IMP] marketing campaing report view
bzr revid: dsh@tinyerp.com-20100521094608-m1n43j0dp086eds7
This commit is contained in:
parent
22017a4c24
commit
b6abea9645
|
@ -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,
|
||||
|
|
|
@ -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>
|
||||
|
||||
|
|
Loading…
Reference in New Issue