summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFabien Pinckaers <fp@tinyerp.com>2012-02-15 11:52:12 +0100
committerFabien Pinckaers <fp@tinyerp.com>2012-02-15 11:52:12 +0100
commite10bb6441985bf3a91dafd577584b2fb7cd6cd43 (patch)
tree69dd71f45f1fcbc37865086c4187dadd0d94771c
parent1fe3aadf1b35c821b731679167340111c641a736 (diff)
[IMP] period of invoice in partnership analysis
bzr revid: fp@tinyerp.com-20120215105212-m3wwf54qj8cz2ktl
-rw-r--r--addons/crm_partner_assign/report/crm_partner_report.py18
-rw-r--r--addons/crm_partner_assign/report/crm_partner_report_view.xml3
2 files changed, 9 insertions, 12 deletions
diff --git a/addons/crm_partner_assign/report/crm_partner_report.py b/addons/crm_partner_assign/report/crm_partner_report.py
index 1e69a73c5fa..720d8a70c2f 100644
--- a/addons/crm_partner_assign/report/crm_partner_report.py
+++ b/addons/crm_partner_assign/report/crm_partner_report.py
@@ -38,10 +38,9 @@ class crm_partner_report_assign(osv.osv):
'section_id':fields.many2one('crm.case.section', 'Sales Team', readonly=True),
'opp': fields.integer('# of Opportunity', readonly=True),
'turnover': fields.float('Turnover', readonly=True),
+ 'period_id': fields.many2one('account.period', 'Invoice Period', readonly=True),
}
-
def init(self, cr):
-
"""
CRM Lead Report
@param cr: the current row, from the database cursor
@@ -50,7 +49,7 @@ class crm_partner_report_assign(osv.osv):
cr.execute("""
CREATE OR REPLACE VIEW crm_partner_report_assign AS (
SELECT
- p.id,
+ coalesce(i.id,-p.id) as id,
p.id as partner_id,
(SELECT country_id FROM res_partner_address a WHERE a.partner_id=p.id AND country_id is not null limit 1) as country_id,
p.grade_id,
@@ -60,17 +59,12 @@ class crm_partner_report_assign(osv.osv):
p.user_id,
p.section_id,
(SELECT count(id) FROM crm_lead WHERE partner_assigned_id=p.id) AS opp,
- (SELECT
- sum(price_total)
- FROM
- account_invoice_report
- WHERE
- partner_id=p.id and
- type in ('out_invoice','out_refund') and
- state in ('open','paid')) AS turnover
+ i.price_total as turnover,
+ i.period_id
FROM
res_partner p
-
+ left join account_invoice_report i
+ on (i.partner_id=p.id and i.type in ('out_invoice','out_refund') and i.state in ('open','paid'))
)""")
crm_partner_report_assign()
diff --git a/addons/crm_partner_assign/report/crm_partner_report_view.xml b/addons/crm_partner_assign/report/crm_partner_report_view.xml
index 3225ef93f8d..528233fc183 100644
--- a/addons/crm_partner_assign/report/crm_partner_report_view.xml
+++ b/addons/crm_partner_assign/report/crm_partner_report_view.xml
@@ -31,6 +31,8 @@
<filter string="Partner" name="" icon="terp-stock_symbol-selection"
domain="[]" context="{'group_by':'partner_id'}" />
<separator orientation="vertical" />
+ <filter string="Date Invoice" name="group_period_id" icon="terp-stock_symbol-selection"
+ domain="[]" context="{'group_by':'period_id'}" />
<filter string="Date Partnership" name="group_date_partnership" icon="terp-stock_symbol-selection"
domain="[]" context="{'group_by':'date_partnership'}" />
<filter string="Date Review" name="group_date_review" icon="terp-stock_symbol-selection"
@@ -54,6 +56,7 @@
<field name="activation" invisible="1"/>
<field name="date_review" invisible="1"/>
<field name="date_partnership" invisible="1"/>
+ <field name="period_id" invisible="1"/>
<field name="section_id" invisible="1" groups="base.group_extended"/>
<field name="user_id" invisible="1"/>
<field name="opp"/>