'security/ir.model.access.csv',
'report/crm_report_view.xml',
-- 'report/crm_report_claim_view.xml',
-- 'report/crm_report_lead_view.xml',
-- 'report/crm_report_fundraising_view.xml',
-- 'report/crm_report_opportunity_view.xml' ,
-- 'report/crm_report_phonecall_view.xml',
++ 'report/crm_claim_report_view.xml',
++ 'report/crm_lead_report_view.xml',
++ 'report/crm_fundraising_report_view.xml',
++ 'report/crm_opportunity_report_view.xml' ,
++ 'report/crm_phonecall_report_view.xml',
'process/crm_configuration_process.xml',
</record>
<menuitem action="crm_claim_stage_act" id="menu_crm_claim_stage_act" parent="crm.menu_crm_case_stage"/>
+ # ------------------------------------------------------
+ # Resource Type
+ # ------------------------------------------------------
+ <record id="crm_claim_resource_act" model="ir.actions.act_window">
- <field name="name">Claim Resource </field>
++ <field name="name">Claim Resource Type</field>
+ <field name="res_model">crm.case.resource.type</field>
+ <field name="view_type">form</field>
+ <field name="view_id" ref="crm.crm_case_resource_type_tree"/>
+ <field name="domain">[('object_id.model', '=', 'crm.claim')]</field>
+ <field name="context">{'object_id':'crm.claim'}</field>
+ </record>
+ <menuitem action="crm_claim_resource_act" id="menu_crm_claim_stage_act" parent="crm.menu_crm_case_resource_type"/>
+
<!-- Claims -->
<record model="ir.ui.view" id="crm_case_claims_tree_view">
<field name="name">CRM - Claims Tree</field>
<menuitem action="crm_fundraising_stage_act" id="menu_crm_fundraising_stage_act" parent="crm.menu_crm_case_stage"/>
# ------------------------------------------------------
+ #Fund Resource Type
+ # ------------------------------------------------------
+ <record id="crm_fundraising_resource_act" model="ir.actions.act_window">
- <field name="name">Fundraising Type</field>
++ <field name="name">Fundraising Resource Type</field>
+ <field name="res_model">crm.case.resource.type</field>
+ <field name="view_type">form</field>
+ <field name="view_id" ref="crm.crm_case_resource_type_tree"/>
+ <field name="domain">[('object_id.model', '=', 'crm.fundraising')]</field>
+ <field name="context">{'object_id':'crm.fundraising'}</field>
+ </record>
+ <menuitem action="crm_fundraising_resource_act" id="menu_crm_fundraising_resource_act" parent="crm.menu_crm_case_resource_type"/>
+
+
+ # ------------------------------------------------------
# Fund Raising
# ------------------------------------------------------
<record model="ir.ui.view" id="crm_case_tree_view_fund">
<menuitem id="base.menu_sales" name="Sales" parent="base.menu_base_partner" sequence="1"/>
<menuitem parent="base.menu_sales" name="Leads" id="menu_crm_case_categ0_act_leads" action="crm_case_category_act_leads_all" sequence="1"/>
--<!-- REPORTS -->
--
-- <!--<menuitem id="next_id_64" name="Reporting" parent="crm.menu_crm" sequence="50"/>
--
-- <menuitem name="Leads" id="menu_action_report_crm_case_lead" parent="next_id_64"/>
--
-- <record model="ir.actions.act_window" id="action_report_crm_case_lead_user">
-- <field name="res_model">report.crm.case.user</field>
-- <field name="view_type">form</field>
-- <field name="view_mode">graph,tree</field>
-- <field name="domain" eval="'[(\'section_id\',\'=\','+str(section_support2)+')]'"/>
-- <field name="context" eval="{'default_state':'open'}"/>
-- </record>
-- <menuitem name="Cases by Leads and User" parent="menu_action_report_crm_case_lead" action="action_report_crm_case_lead_user" id="menu_action_report_crm_case_lead_user"/>
--
--
--
-- <record model="ir.actions.act_window" id="action_report_crm_case_lead_categ">
-- <field name="res_model">report.crm.case.section.categ2</field>
-- <field name="view_type">form</field>
-- <field name="view_mode">graph,tree</field>
-- <field name="context" eval="{'default_state':'open'}"/>
-- </record>
-- <menuitem parent="menu_action_report_crm_case_lead" name="Cases by Leads and Type" action="action_report_crm_case_lead_categ" id="menu_action_report_crm_case_lead_categ"/>
--
-- <record model="ir.actions.act_window" id="action_report_crm_case_lead_stage">
-- <field name="res_model">report.crm.case.section.stage</field>
-- <field name="view_type">form</field>
-- <field name="view_mode">graph,tree</field>
-- <field name="context" eval="{'default_state':'open'}"/>
-- </record>
-- <menuitem name="Cases by Leads and Stage" parent="menu_action_report_crm_case_lead" action="action_report_crm_case_lead_stage" id="menu_action_report_crm_case_lead_stage"/>
--
-- <record model="ir.actions.act_window" id="action_report_crm_case_lead_categ_stage">
-- <field name="res_model">report.crm.case.section.categ.stage</field>
-- <field name="view_type">form</field>
-- <field name="view_mode">tree</field>
-- <field name="context" eval="{'default_state':'open'}"/>
-- </record>
-- <menuitem name="Cases by Section, Category and Stage" parent="menu_action_report_crm_case_lead" action="action_report_crm_case_lead_categ_stage" id="menu_action_report_crm_case_lead_categ_stage"/>
--
-- <record model="ir.actions.act_window" id="action_report_crm_case_lead_categ_categ2">
-- <field name="res_model">report.crm.case.section.categ.categ2</field>
-- <field name="view_type">form</field>
-- <field name="view_mode">tree</field>
-- <field name="context" eval="{'default_state':'open'}"/>
-- </record>
-- <menuitem name="Cases by Section, Category and Type" parent="menu_action_report_crm_case_lead" action="action_report_crm_case_lead_categ_categ2" id="menu_action_report_crm_case_lead_categ_categ2"/>
--
--
----></data>
++</data>
</openerp>
<field name="context">{'object_id':'crm.lead'}</field>
</record>
<menuitem action="crm_lead_stage_act" id="menu_crm_lead_stage_act" parent="crm.menu_crm_case_stage"/>
+
+ # ------------------------------------------------------
+ Resource Type
+ # ------------------------------------------------------
+ <record id="crm_lead_resource_act" model="ir.actions.act_window">
- <field name="name">Lead Type</field>
++ <field name="name">Lead Resource Type</field>
+ <field name="res_model">crm.case.resource.type</field>
+ <field name="view_type">form</field>
+ <field name="view_id" ref="crm.crm_case_resource_type_tree"/>
+ <field name="domain">[('object_id.model', '=', 'crm.lead')]</field>
+ <field name="context">{'object_id':'crm.lead'}</field>
+ </record>
+ <menuitem action="crm_lead_resource_act" id="menu_crm_lead_resource_act" parent="crm.menu_crm_case_resource_type"/>
+
# ------------------------------------------------------
# Leads
<field name="context">{'object_id':'crm.opportunity'}</field>
</record>
<menuitem action="crm_opportunity_stage_act" id="menu_crm_opportunity_stage_act" parent="crm.menu_crm_case_stage"/>
+
+ # ------------------------------------------------------
+ Resource Type
+ # ------------------------------------------------------
+ <record id="crm_opportunity_resource_act" model="ir.actions.act_window">
- <field name="name">Opportunity Type</field>
++ <field name="name">Opportunity Resource Type</field>
+ <field name="res_model">crm.case.resource.type</field>
+ <field name="view_type">form</field>
+ <field name="view_id" ref="crm.crm_case_resource_type_tree"/>
+ <field name="domain">[('object_id.model', '=', 'crm.opportunity')]</field>
+ <field name="context">{'object_id':'crm.opportunity'}</field>
+ </record>
+ <menuitem action="crm_opportunity_resource_act" id="menu_crm_opportunity_resource_act" parent="crm.menu_crm_case_resource_type"/>
+
+
# ------------------------------------------------------
# Opportunities
# ------------------------------------------------------
<menuitem action="crm_phonecall_categ_action" id="menu_crm_case_phonecall-act" parent="crm.menu_crm_case_categ"/>
# ------------------------------------------------------
+ Resource Type
+ # ------------------------------------------------------
+ <record id="crm_phonecall_resource_act" model="ir.actions.act_window">
- <field name="name">Phonecall Type</field>
++ <field name="name">Phonecall Resource Type</field>
+ <field name="res_model">crm.case.resource.type</field>
+ <field name="view_type">form</field>
+ <field name="view_id" ref="crm.crm_case_resource_type_tree"/>
+ <field name="domain">[('object_id.model', '=', 'crm.phonecall')]</field>
+ <field name="context">{'object_id':'crm.phonecall'}</field>
+ </record>
+ <menuitem action="crm_phonecall_resource_act" id="menu_crm_phonecall_resource_act" parent="crm.menu_crm_case_resource_type"/>
+
+
+ # ------------------------------------------------------
# Phone Calls
# ------------------------------------------------------
#import report_businessopp
import crm_report
--import crm_report_claim
--import crm_report_lead
--import crm_report_phonecall
--import crm_report_fundraising
--import crm_report_opportunity
++import crm_claim_report
++import crm_lead_report
++import crm_phonecall_report
++import crm_fundraising_report
++import crm_opportunity_report
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
--- /dev/null
--- /dev/null
++from osv import fields,osv
++import tools
++
++class crm_claim_report(osv.osv):
++ _name = "crm.claim.report"
++ _auto = False
++ _inherit = "crm.case.report"
++ _columns = {
++ 'delay_close': fields.char('Delay to close', size=20, readonly=True),
++ 'stage_id': fields.many2one ('crm.case.stage', 'Stage', domain="[('section_id','=',section_id),('object_id.model', '=', 'crm.claim')]", readonly=True),
++ 'categ_id': fields.many2one('crm.case.categ', 'Category', domain="[('section_id','=',section_id),('object_id.model', '=', 'crm.claim')]",readonly=True),
++ 'partner_id': fields.many2one('res.partner', 'Partner',readonly=True),
++ 'company_id': fields.many2one('res.company','Company',readonly=True),
++ }
++ def init(self, cr):
++ tools.drop_view_if_exists(cr, 'crm_claim_report')
++ cr.execute("""
++ create or replace view crm_claim_report as (
++ select
++ min(c.id) as id,
++ to_char(c.create_date, 'YYYY') as name,
++ to_char(c.create_date, 'MM') as month,
++ c.state,
++ c.user_id,
++ c.stage_id,
++ c.section_id,
++ c.partner_id,
++ c.company_id,
++ c.categ_id,
++ count(*) as nbr,
++ 0 as avg_answers,
++ 0.0 as perc_done,
++ 0.0 as perc_cancel,
++ to_char(avg(date_closed-c.create_date), 'DD"d" HH24:MI:SS') as delay_close
++ from
++ crm_claim 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,c.partner_id,c.company_id
++ )""")
++crm_claim_report()
++
++# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
--- /dev/null
--- /dev/null
++<?xml version="1.0" encoding="utf-8"?>
++<openerp>
++ <data>
++
++ <record id="view_report_crm_claim_tree" model="ir.ui.view">
++ <field name="name">crm.claim.report.tree</field>
++ <field name="model">crm.claim.report</field>
++ <field name="type">tree</field>
++ <field name="arch" type="xml">
++ <tree string="Claims">
++ <field name="name" />
++ <field name="month"/>
++ <field name="section_id" />
++ <field name="user_id" />
++ <field name="company_id" />
++ <field name="partner_id" />
++ <field name="nbr" string="#Claim"/>
++ <field name="delay_close"/>
++ <field name="state" invisible="1"/>
++ <field name="stage_id" invisible="1"/>
++ <field name="categ_id" invisible="1"/>
++ </tree>
++ </field>
++ </record>
++ <record id="view_report_crm_claim_form" model="ir.ui.view">
++ <field name="name">crm.claim.report.form</field>
++ <field name="model">crm.claim.report</field>
++ <field name="inherit_id" ref="view_crm_case_form"/>
++ <field name="type">form</field>
++ <field name="arch" type="xml">
++ <field name="nbr" position="after">
++ <field name="delay_close"/>
++ <field name="amount_revenue"/>
++ <field name="amount_costs"/>
++ <field name="amount_revenue_prob"/>
++ <field name="probability"/>
++ </field>
++ </field>
++ </record>
++
++ <record id="view_report_crm_claim_graph" model="ir.ui.view">
++ <field name="name">crm.claim.report.graph</field>
++ <field name="model">crm.claim.report</field>
++ <field name="type">graph</field>
++ <field name="arch" type="xml">
++ <graph orientation="horizontal" string="Claims" type="bar">
++ <field name="state"/>
++ <field name="nbr" operator="+"/>
++ <field group="True" name="user_id"/>
++ </graph>
++ </field>
++ </record>
++
++ <record id="view_report_crm_claim_filter" model="ir.ui.view">
++ <field name="name">crm.claim.report.select</field>
++ <field name="model">crm.claim.report</field>
++ <field name="inherit_id" ref="view_crm_case_filter"/>
++ <field name="type">search</field>
++ <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'}"/>
++ </xpath>
++ </field>
++ </record>
++
++
++ <record id="action_report_crm_claim" model="ir.actions.act_window">
++ <field name="name">Claims</field>
++ <field name="res_model">crm.claim.report</field>
++ <field name="view_type">form</field>
++ <field name="view_mode">tree,graph</field>
++ <field name="view_id" ref="view_report_crm_claim_tree"/>
++ <field name="search_view_id" ref="view_report_crm_claim_filter"/>
++
++ </record>
++
++ <record model="ir.actions.act_window.view" id="action_report_crm_claim_tree">
++ <field name="sequence" eval="1"/>
++ <field name="view_mode">tree</field>
++ <field name="view_id" ref="view_report_crm_claim_tree"/>
++ <field name="act_window_id" ref="action_report_crm_claim"/>
++ </record>
++
++ <record model="ir.actions.act_window.view" id="action_report_crm_claim_graph">
++ <field name="sequence" eval="2"/>
++ <field name="view_mode">graph</field>
++ <field name="view_id" ref="view_report_crm_claim_graph"/>
++ <field name="act_window_id" ref="action_report_crm_claim"/>
++ </record>
++
++
++ <menuitem name="Claims" id="menu_report_crm_claim_tree" action="action_report_crm_claim" parent="base.next_id_64"/>
++
++
++ </data>
++</openerp>
--- /dev/null
--- /dev/null
++from osv import fields,osv
++import tools
++
++class crm_fundraising_report(osv.osv):
++ _name = "crm.fundraising.report"
++ _auto = False
++ _inherit = "crm.case.report"
++ _columns = {
++ 'categ_id': fields.many2one('crm.case.categ', 'Category', domain="[('section_id','=',section_id),('object_id.model', '=', 'crm.fundraising')]"),
++ 'probability': fields.float('Avg. Probability', readonly=True),
++ 'amount_revenue': fields.float('Est.Revenue', readonly=True),
++ 'amount_revenue_prob': fields.float('Est. Rev*Prob.', readonly=True),
++ 'delay_close': fields.char('Delay to close', size=20, readonly=True),
++ 'partner_id': fields.many2one('res.partner', 'Partner'),
++ 'company_id': fields.many2one('res.company','Company'),
++ }
++ def init(self, cr):
++ tools.drop_view_if_exists(cr, 'crm_fundraising_report')
++ cr.execute("""
++ create or replace view crm_fundraising_report as (
++ select
++ min(c.id) as id,
++ to_char(c.create_date, 'YYYY') as name,
++ to_char(c.create_date, 'MM') as month,
++ c.state,
++ c.user_id,
++ c.section_id,
++ c.categ_id,
++ c.company_id,
++ c.partner_id,
++ count(*) as nbr,
++ 0 as avg_answers,
++ 0.0 as perc_done,
++ 0.0 as perc_cancel,
++ sum(planned_revenue) as amount_revenue,
++ sum(planned_revenue*probability)::decimal(16,2) as amount_revenue_prob,
++ avg(probability)::decimal(16,2) as probability,
++ to_char(avg(date_closed-c.create_date), 'DD"d" HH24:MI:SS') as delay_close
++ from
++ crm_fundraising c
++ 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
++ )""")
++crm_fundraising_report()
++# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
--- /dev/null
--- /dev/null
++<?xml version="1.0" encoding="utf-8"?>
++<openerp>
++ <data>
++ <!--
++ Fundraising by user and section
++ -->
++
++ <record id="view_report_crm_fundraising_tree" model="ir.ui.view">
++ <field name="name">crm.fundraising.report.tree</field>
++ <field name="model">crm.fundraising.report</field>
++ <field name="type">tree</field>
++ <field name="arch" type="xml">
++ <tree string="Fundraising">
++ <field name="name" />
++ <field name="month"/>
++ <field name="section_id" />
++ <field name="user_id" />
++ <field name="company_id" />
++ <field name="partner_id" />
++ <field name="nbr" string="#Fundraising"/>
++ <field name="amount_revenue" sum="Total Revenue"/>
++ <field name="probability"/>
++ <field name="amount_revenue_prob"/>
++ <field name="delay_close"/>
++ <field name="state" invisible="1"/>
++ <field name="categ_id" invisible="1"/>
++ </tree>
++ </field>
++
++ </record>
++ <record id="view_report_crm_fundraising_form" model="ir.ui.view">
++ <field name="name">crm.fundraising.report.form</field>
++ <field name="model">crm.fundraising.report</field>
++ <field name="inherit_id" ref="view_crm_case_form"/>
++ <field name="type">form</field>
++ <field name="arch" type="xml">
++ <field name="nbr" position="after">
++ <field name="delay_close"/>
++ <field name="amount_revenue"/>
++ <field name="amount_revenue_prob"/>
++ <field name="probability"/>
++ </field>
++ </field>
++ </record>
++
++ <record id="view_report_crm_fundraising_graph" model="ir.ui.view">
++ <field name="name">crm.fundraising.report.graph</field>
++ <field name="model">crm.fundraising.report</field>
++ <field name="type">graph</field>
++ <field name="arch" type="xml">
++ <graph orientation="horizontal" string="Fundraising" type="bar">
++ <field name="state"/>
++ <field name="nbr" operator="+"/>
++ <field group="True" name="user_id"/>
++ </graph>
++ </field>
++ </record>
++
++ <record id="view_report_crm_fundraising_filter" model="ir.ui.view">
++ <field name="name">crm.fundraising.report.select</field>
++ <field name="model">crm.fundraising.report</field>
++ <field name="inherit_id" ref="view_crm_case_filter"/>
++ <field name="type">search</field>
++ <field name="arch" type="xml">
++ <field name="user_id" position="before">
++ </field>
++ </field>
++ </record>
++
++ <record id="action_report_crm_fundraising" model="ir.actions.act_window">
++ <field name="name">Fundraising</field>
++ <field name="res_model">crm.fundraising.report</field>
++ <field name="view_type">form</field>
++ <field name="view_mode">tree,graph</field>
++ <field name="view_id" ref="view_report_crm_fundraising_tree"/>
++ <field name="search_view_id" ref="view_report_crm_fundraising_filter"/>
++ </record>
++
++
++ <record model="ir.actions.act_window.view" id="action_report_crm_fundrising_tree">
++ <field name="sequence" eval="1"/>
++ <field name="view_mode">tree</field>
++ <field name="view_id" ref="view_report_crm_fundraising_tree"/>
++ <field name="act_window_id" ref="action_report_crm_fundraising"/>
++ </record>
++
++ <record model="ir.actions.act_window.view" id="action_report_crm_fundrising_graph">
++ <field name="sequence" eval="2"/>
++ <field name="view_mode">graph</field>
++ <field name="view_id" ref="view_report_crm_fundraising_graph"/>
++ <field name="act_window_id" ref="action_report_crm_fundraising"/>
++ </record>
++ <menuitem name="Fundraising" action="action_report_crm_fundraising" id="menu_report_crm_fundraising_tree" parent="base.next_id_64"/>
++
++ </data>
++</openerp>
--- /dev/null
--- /dev/null
++from osv import fields,osv
++import tools
++
++class crm_lead_report(osv.osv):
++ _name = "crm.lead.report"
++ _auto = False
++ _inherit = "crm.case.report"
++ _columns = {
++ '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.lead')]" ,readonly=True),
++ 'stage_id': fields.many2one ('crm.case.stage', 'Stage', domain="[('section_id','=',section_id),('object_id.model', '=', 'crm.lead')]", readonly=True),
++ 'partner_id': fields.many2one('res.partner', 'Partner' ,readonly=True),
++ 'company_id': fields.many2one('res.company','Company',readonly=True),
++ }
++ def init(self, cr):
++ tools.drop_view_if_exists(cr, 'crm_lead_report')
++ cr.execute("""
++ create or replace view crm_lead_report as (
++ select
++ min(c.id) as id,
++ to_char(c.create_date, 'YYYY') as name,
++ to_char(c.create_date, 'MM') as month,
++ c.state,
++ c.user_id,
++ c.stage_id,
++ c.company_id,
++ c.section_id,
++ c.categ_id,
++ c.partner_id,
++ count(*) as nbr,
++ 0 as avg_answers,
++ 0.0 as perc_done,
++ 0.0 as perc_cancel,
++ to_char(avg(date_closed-c.create_date), 'DD"d" HH24:MI:SS') as delay_close
++ from
++ crm_lead 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,categ_id,c.partner_id,c.company_id
++ )""")
++crm_lead_report()
++# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
--- /dev/null
--- /dev/null
++<?xml version="1.0" encoding="utf-8"?>
++<openerp>
++ <data>
++ <!--
++ Leads by user and section
++ -->
++
++ <record id="view_report_crm_lead_tree" model="ir.ui.view">
++ <field name="name">crm.lead.report.tree</field>
++ <field name="model">crm.lead.report</field>
++ <field name="type">tree</field>
++ <field name="arch" type="xml">
++ <tree string="Leads">
++ <field name="name" />
++ <field name="month"/>
++ <field name="section_id" />
++ <field name="user_id" />
++ <field name="company_id" />
++ <field name="partner_id" />
++ <field name="nbr" string="#Leads"/>
++ <field name="delay_close"/>
++ <field name="state" invisible="1"/>
++ <field name="stage_id" invisible="1"/>
++ <field name="categ_id" invisible="1"/>
++ </tree>
++ </field>
++ </record>
++ <record id="view_report_crm_lead_form" model="ir.ui.view">
++ <field name="name">crm.lead.report.form</field>
++ <field name="model">crm.lead.report</field>
++ <field name="inherit_id" ref="view_crm_case_form"/>
++ <field name="type">form</field>
++ <field name="arch" type="xml">
++ <field name="nbr" position="after">
++ <field name="delay_close"/>
++ <field name="stage_id"/>
++ </field>
++ </field>
++ </record>
++
++ <record id="view_report_crm_lead_graph" model="ir.ui.view">
++ <field name="name">crm.lead.report.graph</field>
++ <field name="model">crm.lead.report</field>
++ <field name="type">graph</field>
++ <field name="arch" type="xml">
++ <graph orientation="horizontal" string="Leads" type="bar">
++ <field name="state"/>
++ <field name="nbr" operator="+"/>
++ <field group="True" name="user_id"/>
++ </graph>
++ </field>
++ </record>
++
++ <record id="view_report_crm_lead_filter" model="ir.ui.view">
++ <field name="name">crm.lead.report.select</field>
++ <field name="model">crm.lead.report</field>
++ <field name="inherit_id" ref="view_crm_case_filter"/>
++ <field name="type">search</field>
++ <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'}"/>
++ </xpath>
++ </field>
++ </record>
++
++
++ <record id="action_report_crm_lead" model="ir.actions.act_window">
++ <field name="name">Leads</field>
++ <field name="res_model">crm.lead.report</field>
++ <field name="view_type">form</field>
++ <field name="view_mode">tree,graph</field>
++ <field name="search_view_id" ref="view_report_crm_lead_filter"/>
++
++ </record>
++
++ <record model="ir.actions.act_window.view" id="action_report_crm_lead_tree">
++ <field name="sequence" eval="1"/>
++ <field name="view_mode">tree</field>
++ <field name="view_id" ref="view_report_crm_lead_tree"/>
++ <field name="act_window_id" ref="action_report_crm_lead"/>
++ </record>
++
++ <record model="ir.actions.act_window.view" id="action_report_crm_lead_graph">
++ <field name="sequence" eval="2"/>
++ <field name="view_mode">graph</field>
++ <field name="view_id" ref="view_report_crm_lead_graph"/>
++ <field name="act_window_id" ref="action_report_crm_lead"/>
++ </record>
++
++ <menuitem name="Leads" id="menu_report_crm_leads_tree" parent="base.next_id_64" action="action_report_crm_lead"/>
++ </data>
++</openerp>
--- /dev/null
--- /dev/null
++from osv import fields,osv
++import tools
++
++class crm_opportunity_report(osv.osv):
++ _name = "crm.opportunity.report"
++ _auto = False
++ _inherit = "crm.case.report"
++
++ _columns = {
++ 'probability': fields.float('Avg. Probability', readonly=True),
++ 'amount_revenue': fields.float('Est.Revenue', readonly=True),
++ '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')]", 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',readonly=True),
++ 'company_id': fields.many2one('res.company', 'Company',readonly=True),
++ }
++ def init(self, cr):
++ tools.drop_view_if_exists(cr, 'crm_opportunity_report')
++ cr.execute("""
++ create or replace view crm_opportunity_report as (
++ select
++ min(c.id) as id,
++ to_char(c.create_date, 'YYYY') as name,
++ to_char(c.create_date, 'MM') as month,
++ c.state,
++ c.user_id,
++ c.section_id,
++ c.categ_id,
++ c.stage_id,
++ c.partner_id,
++ c.company_id,
++ count(*) as nbr,
++ 0 as avg_answers,
++ 0.0 as perc_done,
++ 0.0 as perc_cancel,
++ sum(planned_revenue) as amount_revenue,
++ sum((planned_revenue*probability)/100.0)::decimal(16,2) as amount_revenue_prob,
++ avg(probability)::decimal(16,2) as probability,
++ 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,c.partner_id,company_id
++ )""")
++crm_opportunity_report()
++# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
--- /dev/null
--- /dev/null
++<?xml version="1.0" encoding="utf-8"?>
++<openerp>
++ <data>
++ <!--
++ Opportunities by user and section
++ -->
++
++ <record id="view_report_crm_opportunity_tree" model="ir.ui.view">
++ <field name="name">crm.opportunity.report.tree</field>
++ <field name="model">crm.opportunity.report</field>
++ <field name="type">tree</field>
++ <field name="arch" type="xml">
++ <tree string="Opportunities">
++ <field name="name" />
++ <field name="month"/>
++ <field name="section_id" />
++ <field name="user_id" />
++ <field name="company_id"/>
++ <field name="partner_id"/>
++ <field name="nbr" string="#Opportunities"/>
++ <field name="amount_revenue" sum="Total Revenue"/>
++ <field name="probability" widget="progressbar"/>
++ <field name="amount_revenue_prob"/>
++ <field name="delay_close"/>
++ <field name="state" invisible="1"/>
++ <field name="stage_id" invisible="1"/>
++ <field name="categ_id" invisible="1"/>
++ </tree>
++ </field>
++ </record>
++ <record id="view_report_crm_opportunity_form" model="ir.ui.view">
++ <field name="name">crm.opportunity.report.form</field>
++ <field name="model">crm.opportunity.report</field>
++ <field name="inherit_id" ref="view_crm_case_form"/>
++ <field name="type">form</field>
++ <field name="arch" type="xml">
++ <field name="nbr" position="after">
++ <field name="delay_close"/>
++ <field name="amount_revenue"/>
++ <field name="amount_costs"/>
++ <field name="amount_revenue_prob"/>
++ <field name="probability"/>
++ </field>
++ </field>
++ </record>
++
++ <record id="view_report_crm_opportunity_graph" model="ir.ui.view">
++ <field name="name">crm.opportunity.report.graph</field>
++ <field name="model">crm.opportunity.report</field>
++ <field name="type">graph</field>
++ <field name="arch" type="xml">
++ <graph orientation="horizontal" string="Opportunity" type="bar">
++ <field name="state"/>
++ <field name="nbr" operator="+"/>
++ <field group="True" name="user_id"/>
++ </graph>
++ </field>
++ </record>
++
++ <record id="view_report_crm_opportunity_filter" model="ir.ui.view">
++ <field name="name">crm.opportunity.report.select</field>
++ <field name="model">crm.opportunity.report</field>
++ <field name="inherit_id" ref="view_crm_case_filter"/>
++ <field name="type">search</field>
++ <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'}"/>
++ <separator orientation="vertical"/>
++ <filter string="Partner" icon="terp-partner" domain="[]" context="{'group_by':'partner_id'}"/>
++ </xpath>
++ </field>
++ </record>
++
++ <record id="action_report_crm_opportunity" model="ir.actions.act_window">
++ <field name="name">Opportunities</field>
++ <field name="res_model">crm.opportunity.report</field>
++ <field name="view_type">form</field>
++ <field name="view_mode">tree,graph</field>
++ <field name="search_view_id" ref="view_report_crm_opportunity_filter"/>
++ </record>
++ <record model="ir.actions.act_window.view" id="action_report_crm_opportunity_tree">
++ <field name="sequence" eval="1"/>
++ <field name="view_mode">tree</field>
++ <field name="view_id" ref="view_report_crm_opportunity_tree"/>
++ <field name="act_window_id" ref="action_report_crm_opportunity"/>
++ </record>
++ <record model="ir.actions.act_window.view" id="action_report_crm_opportunity_graph">
++ <field name="sequence" eval="2"/>
++ <field name="view_mode">graph</field>
++ <field name="view_id" ref="view_report_crm_opportunity_graph"/>
++ <field name="act_window_id" ref="action_report_crm_opportunity"/>
++ </record>
++
++ <menuitem name="Opportunities" action="action_report_crm_opportunity" id="menu_report_crm_opportunity_tree" parent="base.next_id_64"/>
++ </data>
++</openerp>
--- /dev/null
--- /dev/null
++from osv import fields,osv
++import tools
++
++class crm_phonecall_report(osv.osv):
++ _name = "crm.phonecall.report"
++ _description = "Phone calls by user and section"
++ _auto = False
++ _inherit = "crm.case.report"
++ _columns = {
++ '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.phonecall')]"),
++ 'partner_id': fields.many2one('res.partner', 'Partner' ,readonly=True),
++ 'company_id': fields.many2one('res.company','Company',readonly=True),
++ }
++ def init(self, cr):
++ tools.drop_view_if_exists(cr, 'crm_phonecall_report')
++ cr.execute("""
++ create or replace view crm_phonecall_report as (
++ select
++ min(c.id) as id,
++ to_char(c.create_date, 'YYYY') as name,
++ to_char(c.create_date, 'MM') as month,
++ c.state,
++ c.user_id,
++ c.section_id,
++ c.categ_id,
++ c.partner_id,
++ c.company_id,
++ count(*) as nbr,
++ 0 as avg_answers,
++ 0.0 as perc_done,
++ 0.0 as perc_cancel,
++ to_char(avg(date_closed-c.create_date), 'DD"d" HH24:MI:SS') as delay_close
++ from
++ crm_phonecall c
++ 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
++ )""")
++crm_phonecall_report()
++# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
--- /dev/null
--- /dev/null
++<?xml version="1.0" encoding="utf-8"?>
++<openerp>
++ <data>
++ <!--
++ Phone calls by user and section
++ -->
++
++ <record id="view_report_crm_phonecall_tree" model="ir.ui.view">
++ <field name="name">crm.phonecall.report.tree</field>
++ <field name="model">crm.phonecall.report</field>
++ <field name="type">tree</field>
++ <field name="arch" type="xml">
++ <tree string="Phone calls">
++ <field name="name" />
++ <field name="month"/>
++ <field name="section_id" />
++ <field name="user_id" />
++ <field name="company_id"/>
++ <field name="partner_id" />
++ <field name="nbr" string="#Phone calls" />
++ <field name="delay_close"/>
++ <field name="state" invisible="1"/>
++ <field name="categ_id" invisible="1"/>
++ </tree>
++ </field>
++ </record>
++ <record id="view_report_crm_phonecall_form" model="ir.ui.view">
++ <field name="name">crm.phonecall.report.form</field>
++ <field name="model">crm.phonecall.report</field>
++ <field name="inherit_id" ref="view_crm_case_form"/>
++ <field name="type">form</field>
++ <field name="arch" type="xml">
++ <field name="nbr" position="after">
++ <field name="delay_close"/>
++ <field name="amount_revenue"/>
++ <field name="amount_revenue_prob"/>
++ <field name="probability"/>
++ </field>
++ </field>
++ </record>
++
++ <record id="view_report_crm_phonecall_graph" model="ir.ui.view">
++ <field name="name">crm.phonecall.report.graph</field>
++ <field name="model">crm.phonecall.report</field>
++ <field name="type">graph</field>
++ <field name="arch" type="xml">
++ <graph orientation="horizontal" string="Phone calls" type="bar">
++ <field name="state"/>
++ <field name="nbr" operator="+"/>
++ <field group="True" name="user_id"/>
++ </graph>
++ </field>
++ </record>
++ <record id="view_report_crm_phonecall_filter" model="ir.ui.view">
++ <field name="name">crm.phonecall.report.select</field>
++ <field name="model">crm.phonecall.report</field>
++ <field name="inherit_id" ref="view_crm_case_filter"/>
++ <field name="type">search</field>
++ <field name="arch" type="xml">
++ <field name="user_id" position="before">
++ </field>
++ </field>
++ </record>
++
++ <record id="action_report_crm_phonecall" model="ir.actions.act_window">
++ <field name="name">Phone Calls</field>
++ <field name="res_model">crm.phonecall.report</field>
++ <field name="view_type">form</field>
++ <field name="view_mode">tree,graph</field>
++ <field name="view_id" ref="view_report_crm_phonecall_tree"/>
++ <field name="search_view_id" ref="view_report_crm_phonecall_filter"/>
++ </record>
++
++ <record model="ir.actions.act_window.view" id="action_report_crm_phonecall_tree">
++ <field name="sequence" eval="1"/>
++ <field name="view_mode">tree</field>
++ <field name="view_id" ref="view_report_crm_phonecall_tree"/>
++ <field name="act_window_id" ref="action_report_crm_phonecall"/>
++ </record>
++
++ <record model="ir.actions.act_window.view" id="action_report_crm_phonecall_graph">
++ <field name="sequence" eval="2"/>
++ <field name="view_mode">graph</field>
++ <field name="view_id" ref="view_report_crm_phonecall_graph"/>
++ <field name="act_window_id" ref="action_report_crm_phonecall"/>
++ </record>
++
++ <menuitem name="Phone Calls" action="action_report_crm_phonecall" id="menu_report_crm_phonecalls_tree" parent="base.next_id_64"/>
++
++ </data>
++</openerp>
+++ /dev/null
--from osv import fields,osv
--import tools
--
- class report_crm_claim(osv.osv):
- _name = "report.crm.claim"
- _auto = False
- _inherit = "report.crm.case"
- _columns = {
- 'delay_close': fields.char('Delay to close', size=20, readonly=True),
- 'stage_id': fields.many2one ('crm.case.stage', 'Stage', domain="[('section_id','=',section_id),('object_id.model', '=', 'crm.claim')]", readonly=True),
- 'categ_id': fields.many2one('crm.case.categ', 'Category', domain="[('section_id','=',section_id),('object_id.model', '=', 'crm.claim')]",readonly=True),
- 'partner_id': fields.many2one('res.partner', 'Partner',readonly=True),
- 'company_id': fields.many2one('res.company','Company',readonly=True),
- }
- def init(self, cr):
- tools.drop_view_if_exists(cr, 'report_crm_claim')
- cr.execute("""
- create or replace view report_crm_claim as (
- select
- min(c.id) as id,
- to_char(c.create_date, 'YYYY') as name,
- to_char(c.create_date, 'MM') as month,
- c.state,
- c.user_id,
- c.stage_id,
- c.section_id,
- c.partner_id,
- c.company_id,
- c.categ_id,
- count(*) as nbr,
- 0 as avg_answers,
- 0.0 as perc_done,
- 0.0 as perc_cancel,
- to_char(avg(date_closed-c.create_date), 'DD"d" HH24:MI:SS') as delay_close
- from
- crm_claim 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,c.partner_id,c.company_id
- )""")
- report_crm_claim()
-
- # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
-class crm_claim_report(osv.osv):
- _name = "crm.claim.report"
- _auto = False
- _inherit = "crm.case.report"
- _columns = {
- 'delay_close': fields.char('Delay to close', size=20, readonly=True),
- 'stage_id': fields.many2one ('crm.case.stage', 'Stage', domain="[('section_id','=',section_id),('object_id.model', '=', 'crm.claim')]", readonly=True),
- 'categ_id': fields.many2one('crm.case.categ', 'Category', domain="[('section_id','=',section_id),('object_id.model', '=', 'crm.claim')]",readonly=True),
- 'partner_id': fields.many2one('res.partner', 'Partner',readonly=True),
- 'company_id': fields.many2one('res.company','Company',readonly=True),
- }
- def init(self, cr):
- tools.drop_view_if_exists(cr, 'crm_claim_report')
- cr.execute("""
- create or replace view crm_claim_report as (
- select
- min(c.id) as id,
- to_char(c.create_date, 'YYYY') as name,
- to_char(c.create_date, 'MM') as month,
- c.state,
- c.user_id,
- c.stage_id,
- c.section_id,
- c.partner_id,
- c.company_id,
- c.categ_id,
- count(*) as nbr,
- 0 as avg_answers,
- 0.0 as perc_done,
- 0.0 as perc_cancel,
- to_char(avg(date_closed-c.create_date), 'DD"d" HH24:MI:SS') as delay_close
- from
- crm_claim 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,c.partner_id,c.company_id
- )""")
-crm_claim_report()
-
-# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
+++ /dev/null
--<?xml version="1.0" encoding="utf-8"?>
--<openerp>
-- <data>
--
-- <record id="view_report_crm_claim_tree" model="ir.ui.view">
- <field name="name">report.crm.claim.tree</field>
- <field name="model">report.crm.claim</field>
- <field name="type">tree</field>
- <field name="arch" type="xml">
- <tree string="Claims">
- <field name="name" />
- <field name="month"/>
- <field name="section_id" />
- <field name="user_id" />
- <field name="company_id" />
- <field name="partner_id" />
- <field name="nbr" string="#Claim"/>
- <field name="delay_close"/>
- <field name="state" invisible="1"/>
- <field name="stage_id" invisible="1"/>
- <field name="categ_id" invisible="1"/>
- </tree>
- </field>
- </record>
- <record id="view_crm_claim_form" model="ir.ui.view">
- <field name="name">report.crm.claim.form</field>
- <field name="model">report.crm.claim</field>
- <field name="inherit_id" ref="view_crm_case_form"/>
- <field name="type">form</field>
- <field name="arch" type="xml">
- <field name="nbr" position="after">
- <field name="delay_close"/>
- <field name="amount_revenue"/>
- <field name="amount_costs"/>
- <field name="amount_revenue_prob"/>
- <field name="probability"/>
- </field>
- </field>
- </record>
-
- <record id="view_crm_claim_graph" model="ir.ui.view">
- <field name="name">report.crm.claim.graph</field>
- <field name="model">report.crm.claim</field>
- <field name="type">graph</field>
- <field name="arch" type="xml">
- <graph orientation="horizontal" string="Claims" type="bar">
- <field name="state"/>
- <field name="nbr" operator="+"/>
- <field group="True" name="user_id"/>
- </graph>
- </field>
- </record>
-
- <record id="view_crm_claim_filter" model="ir.ui.view">
- <field name="name">report.crm.claim.select</field>
- <field name="model">report.crm.claim</field>
- <field name="inherit_id" ref="view_crm_case_filter"/>
- <field name="type">search</field>
- <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'}"/>
- </xpath>
- </field>
- </record>
-
-
- <record id="action_report_crm_claim" model="ir.actions.act_window">
- <field name="name">Claims</field>
- <field name="res_model">report.crm.claim</field>
- <field name="view_type">form</field>
- <field name="view_mode">tree,graph</field>
- <field name="view_id" ref="view_report_crm_claim_tree"/>
- <field name="search_view_id" ref="view_crm_claim_filter"/>
-
- </record>
-
- <record model="ir.actions.act_window.view" id="action_report_crm_claim_tree">
- <field name="sequence" eval="1"/>
- <field name="view_mode">tree</field>
- <field name="view_id" ref="view_report_crm_claim_tree"/>
- <field name="act_window_id" ref="action_report_crm_claim"/>
- </record>
-
- <record model="ir.actions.act_window.view" id="action_report_crm_claim_graph">
- <field name="sequence" eval="2"/>
- <field name="view_mode">graph</field>
- <field name="view_id" ref="view_crm_claim_graph"/>
- <field name="act_window_id" ref="action_report_crm_claim"/>
- </record>
-
-
- <menuitem name="Claims" id="menu_crm_claim_tree" action="action_report_crm_claim" parent="base.next_id_64"/>
-
-
- </data>
- </openerp>
- <field name="name">crm.claim.report.tree</field>
- <field name="model">crm.claim.report</field>
- <field name="type">tree</field>
- <field name="arch" type="xml">
- <tree string="Claims">
- <field name="name" />
- <field name="month"/>
- <field name="section_id" />
- <field name="user_id" />
- <field name="company_id" />
- <field name="partner_id" />
- <field name="nbr" string="#Claim"/>
- <field name="delay_close"/>
- <field name="state" invisible="1"/>
- <field name="stage_id" invisible="1"/>
- <field name="categ_id" invisible="1"/>
- </tree>
- </field>
- </record>
- <record id="view_crm_claim_form" model="ir.ui.view">
- <field name="name">crm.claim.report.form</field>
- <field name="model">crm.claim.report</field>
- <field name="inherit_id" ref="view_crm_case_form"/>
- <field name="type">form</field>
- <field name="arch" type="xml">
- <field name="nbr" position="after">
- <field name="delay_close"/>
- <field name="amount_revenue"/>
- <field name="amount_costs"/>
- <field name="amount_revenue_prob"/>
- <field name="probability"/>
- </field>
- </field>
- </record>
-
- <record id="view_crm_claim_graph" model="ir.ui.view">
- <field name="name">crm.claim.report.graph</field>
- <field name="model">crm.claim.report</field>
- <field name="type">graph</field>
- <field name="arch" type="xml">
- <graph orientation="horizontal" string="Claims" type="bar">
- <field name="state"/>
- <field name="nbr" operator="+"/>
- <field group="True" name="user_id"/>
- </graph>
- </field>
- </record>
-
- <record id="view_crm_claim_filter" model="ir.ui.view">
- <field name="name">crm.claim.report.select</field>
- <field name="model">crm.claim.report</field>
- <field name="inherit_id" ref="view_crm_case_filter"/>
- <field name="type">search</field>
- <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'}"/>
- </xpath>
- </field>
- </record>
-
-
- <record id="action_report_crm_claim" model="ir.actions.act_window">
- <field name="name">Claims</field>
- <field name="res_model">crm.claim.report</field>
- <field name="view_type">form</field>
- <field name="view_mode">tree,graph</field>
- <field name="view_id" ref="view_report_crm_claim_tree"/>
- <field name="search_view_id" ref="view_crm_claim_filter"/>
-
- </record>
-
- <record model="ir.actions.act_window.view" id="action_report_crm_claim_tree">
- <field name="sequence" eval="1"/>
- <field name="view_mode">tree</field>
- <field name="view_id" ref="view_report_crm_claim_tree"/>
- <field name="act_window_id" ref="action_report_crm_claim"/>
- </record>
-
- <record model="ir.actions.act_window.view" id="action_report_crm_claim_graph">
- <field name="sequence" eval="2"/>
- <field name="view_mode">graph</field>
- <field name="view_id" ref="view_crm_claim_graph"/>
- <field name="act_window_id" ref="action_report_crm_claim"/>
- </record>
-
-
- <menuitem name="Claims" id="menu_crm_claim_tree" action="action_report_crm_claim" parent="base.next_id_64"/>
-
-
- </data>
-</openerp>
+++ /dev/null
--from osv import fields,osv
--import tools
--
- class report_crm_fundraising(osv.osv):
- _name = "report.crm.fundraising"
- _auto = False
- _inherit = "report.crm.case"
- _columns = {
- 'categ_id': fields.many2one('crm.case.categ', 'Category', domain="[('section_id','=',section_id),('object_id.model', '=', 'crm.fundraising')]"),
- 'probability': fields.float('Avg. Probability', readonly=True),
- 'amount_revenue': fields.float('Est.Revenue', readonly=True),
- 'amount_revenue_prob': fields.float('Est. Rev*Prob.', readonly=True),
- 'delay_close': fields.char('Delay to close', size=20, readonly=True),
- 'partner_id': fields.many2one('res.partner', 'Partner'),
- 'company_id': fields.many2one('res.company','Company'),
- }
- def init(self, cr):
- tools.drop_view_if_exists(cr, 'report_crm_fundraising')
- cr.execute("""
- create or replace view report_crm_fundraising as (
- select
- min(c.id) as id,
- to_char(c.create_date, 'YYYY') as name,
- to_char(c.create_date, 'MM') as month,
- c.state,
- c.user_id,
- c.section_id,
- c.categ_id,
- c.company_id,
- c.partner_id,
- count(*) as nbr,
- 0 as avg_answers,
- 0.0 as perc_done,
- 0.0 as perc_cancel,
- sum(planned_revenue) as amount_revenue,
- sum(planned_revenue*probability)::decimal(16,2) as amount_revenue_prob,
- avg(probability)::decimal(16,2) as probability,
- to_char(avg(date_closed-c.create_date), 'DD"d" HH24:MI:SS') as delay_close
- from
- crm_fundraising c
- 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
- )""")
- report_crm_fundraising()
- # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
-class crm_fundraising_report(osv.osv):
- _name = "crm.fundraising.report"
- _auto = False
- _inherit = "crm.case.report"
- _columns = {
- 'categ_id': fields.many2one('crm.case.categ', 'Category', domain="[('section_id','=',section_id),('object_id.model', '=', 'crm.fundraising')]"),
- 'probability': fields.float('Avg. Probability', readonly=True),
- 'amount_revenue': fields.float('Est.Revenue', readonly=True),
- 'amount_revenue_prob': fields.float('Est. Rev*Prob.', readonly=True),
- 'delay_close': fields.char('Delay to close', size=20, readonly=True),
- 'partner_id': fields.many2one('res.partner', 'Partner'),
- 'company_id': fields.many2one('res.company','Company'),
- }
- def init(self, cr):
- tools.drop_view_if_exists(cr, 'crm_fundraising_report')
- cr.execute("""
- create or replace view crm_fundraising_report as (
- select
- min(c.id) as id,
- to_char(c.create_date, 'YYYY') as name,
- to_char(c.create_date, 'MM') as month,
- c.state,
- c.user_id,
- c.section_id,
- c.categ_id,
- c.company_id,
- c.partner_id,
- count(*) as nbr,
- 0 as avg_answers,
- 0.0 as perc_done,
- 0.0 as perc_cancel,
- sum(planned_revenue) as amount_revenue,
- sum(planned_revenue*probability)::decimal(16,2) as amount_revenue_prob,
- avg(probability)::decimal(16,2) as probability,
- to_char(avg(date_closed-c.create_date), 'DD"d" HH24:MI:SS') as delay_close
- from
- crm_fundraising c
- 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
- )""")
-crm_fundraising_report()
-# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
+++ /dev/null
--<?xml version="1.0" encoding="utf-8"?>
--<openerp>
-- <data>
-- <!--
-- Fundraising by user and section
-- -->
--
-- <record id="view_crm_fundraising_tree" model="ir.ui.view">
- <field name="name">report.crm.fundraising.tree</field>
- <field name="model">report.crm.fundraising</field>
- <field name="type">tree</field>
- <field name="arch" type="xml">
- <tree string="Fundraising">
- <field name="name" />
- <field name="month"/>
- <field name="section_id" />
- <field name="user_id" />
- <field name="company_id" />
- <field name="partner_id" />
- <field name="nbr" string="#Fundraising"/>
- <field name="amount_revenue" sum="Total Revenue"/>
- <field name="probability"/>
- <field name="amount_revenue_prob"/>
- <field name="delay_close"/>
- <field name="state" invisible="1"/>
- <field name="categ_id" invisible="1"/>
- </tree>
- </field>
-
- </record>
- <record id="view_crm_fundraising_form" model="ir.ui.view">
- <field name="name">report.crm.fundraising.form</field>
- <field name="model">report.crm.fundraising</field>
- <field name="inherit_id" ref="view_crm_case_form"/>
- <field name="type">form</field>
- <field name="arch" type="xml">
- <field name="nbr" position="after">
- <field name="delay_close"/>
- <field name="amount_revenue"/>
- <field name="amount_revenue_prob"/>
- <field name="probability"/>
- </field>
- </field>
- </record>
-
- <record id="view_crm_fundraising_graph" model="ir.ui.view">
- <field name="name">report.crm.fundraising.graph</field>
- <field name="model">report.crm.fundraising</field>
- <field name="type">graph</field>
- <field name="arch" type="xml">
- <graph orientation="horizontal" string="Fundraising" type="bar">
- <field name="state"/>
- <field name="nbr" operator="+"/>
- <field group="True" name="user_id"/>
- </graph>
- </field>
- </record>
-
- <record id="view_crm_fundraising_filter" model="ir.ui.view">
- <field name="name">report.crm.fundraising.select</field>
- <field name="model">report.crm.fundraising</field>
- <field name="inherit_id" ref="view_crm_case_filter"/>
- <field name="type">search</field>
- <field name="arch" type="xml">
- <field name="user_id" position="before">
- </field>
- </field>
- </record>
-
- <record id="action_report_crm_fundraising" model="ir.actions.act_window">
- <field name="name">Fundraising</field>
- <field name="res_model">report.crm.fundraising</field>
- <field name="view_type">form</field>
- <field name="view_mode">tree,graph</field>
- <field name="view_id" ref="view_crm_fundraising_tree"/>
- <field name="search_view_id" ref="view_crm_fundraising_filter"/>
- </record>
-
-
- <record model="ir.actions.act_window.view" id="action_report_crm_fundrising_tree">
- <field name="sequence" eval="1"/>
- <field name="view_mode">tree</field>
- <field name="view_id" ref="view_crm_fundraising_tree"/>
- <field name="act_window_id" ref="action_report_crm_fundraising"/>
- </record>
-
- <record model="ir.actions.act_window.view" id="action_report_crm_fundrising_graph">
- <field name="sequence" eval="2"/>
- <field name="view_mode">graph</field>
- <field name="view_id" ref="view_crm_fundraising_graph"/>
- <field name="act_window_id" ref="action_report_crm_fundraising"/>
- </record>
- <menuitem name="Fundraising" action="action_report_crm_fundraising" id="menu_crm_fundraising_tree" parent="base.next_id_64"/>
-
- </data>
- </openerp>
- <field name="name">crm.fundraising.report.tree</field>
- <field name="model">crm.fundraising.report</field>
- <field name="type">tree</field>
- <field name="arch" type="xml">
- <tree string="Fundraising">
- <field name="name" />
- <field name="month"/>
- <field name="section_id" />
- <field name="user_id" />
- <field name="company_id" />
- <field name="partner_id" />
- <field name="nbr" string="#Fundraising"/>
- <field name="amount_revenue" sum="Total Revenue"/>
- <field name="probability"/>
- <field name="amount_revenue_prob"/>
- <field name="delay_close"/>
- <field name="state" invisible="1"/>
- <field name="categ_id" invisible="1"/>
- </tree>
- </field>
-
- </record>
- <record id="view_crm_fundraising_form" model="ir.ui.view">
- <field name="name">crm.fundraising.report.form</field>
- <field name="model">crm.fundraising.report</field>
- <field name="inherit_id" ref="view_crm_case_form"/>
- <field name="type">form</field>
- <field name="arch" type="xml">
- <field name="nbr" position="after">
- <field name="delay_close"/>
- <field name="amount_revenue"/>
- <field name="amount_revenue_prob"/>
- <field name="probability"/>
- </field>
- </field>
- </record>
-
- <record id="view_crm_fundraising_graph" model="ir.ui.view">
- <field name="name">crm.fundraising.report.graph</field>
- <field name="model">crm.fundraising.report</field>
- <field name="type">graph</field>
- <field name="arch" type="xml">
- <graph orientation="horizontal" string="Fundraising" type="bar">
- <field name="state"/>
- <field name="nbr" operator="+"/>
- <field group="True" name="user_id"/>
- </graph>
- </field>
- </record>
-
- <record id="view_crm_fundraising_filter" model="ir.ui.view">
- <field name="name">crm.fundraising.report.select</field>
- <field name="model">crm.fundraising.report</field>
- <field name="inherit_id" ref="view_crm_case_filter"/>
- <field name="type">search</field>
- <field name="arch" type="xml">
- <field name="user_id" position="before">
- </field>
- </field>
- </record>
-
- <record id="action_report_crm_fundraising" model="ir.actions.act_window">
- <field name="name">Fundraising</field>
- <field name="res_model">crm.fundraising.report</field>
- <field name="view_type">form</field>
- <field name="view_mode">tree,graph</field>
- <field name="view_id" ref="view_crm_fundraising_tree"/>
- <field name="search_view_id" ref="view_crm_fundraising_filter"/>
- </record>
-
-
- <record model="ir.actions.act_window.view" id="action_report_crm_fundrising_tree">
- <field name="sequence" eval="1"/>
- <field name="view_mode">tree</field>
- <field name="view_id" ref="view_crm_fundraising_tree"/>
- <field name="act_window_id" ref="action_report_crm_fundraising"/>
- </record>
-
- <record model="ir.actions.act_window.view" id="action_report_crm_fundrising_graph">
- <field name="sequence" eval="2"/>
- <field name="view_mode">graph</field>
- <field name="view_id" ref="view_crm_fundraising_graph"/>
- <field name="act_window_id" ref="action_report_crm_fundraising"/>
- </record>
- <menuitem name="Fundraising" action="action_report_crm_fundraising" id="menu_crm_fundraising_tree" parent="base.next_id_64"/>
-
- </data>
-</openerp>
+++ /dev/null
--from osv import fields,osv
--import tools
--
- class report_crm_lead(osv.osv):
- _name = "report.crm.lead"
- _auto = False
- _inherit = "report.crm.case"
- _columns = {
- '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.lead')]" ,readonly=True),
- 'stage_id': fields.many2one ('crm.case.stage', 'Stage', domain="[('section_id','=',section_id),('object_id.model', '=', 'crm.lead')]", readonly=True),
- 'partner_id': fields.many2one('res.partner', 'Partner' ,readonly=True),
- 'company_id': fields.many2one('res.company','Company',readonly=True),
- }
- def init(self, cr):
- tools.drop_view_if_exists(cr, 'report_crm_lead')
- cr.execute("""
- create or replace view report_crm_lead as (
- select
- min(c.id) as id,
- to_char(c.create_date, 'YYYY') as name,
- to_char(c.create_date, 'MM') as month,
- c.state,
- c.user_id,
- c.stage_id,
- c.company_id,
- c.section_id,
- c.categ_id,
- c.partner_id,
- count(*) as nbr,
- 0 as avg_answers,
- 0.0 as perc_done,
- 0.0 as perc_cancel,
- to_char(avg(date_closed-c.create_date), 'DD"d" HH24:MI:SS') as delay_close
- from
- crm_lead 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,categ_id,c.partner_id,c.company_id
- )""")
- report_crm_lead()
- # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
-class crm_lead_report(osv.osv):
- _name = "crm.lead.report"
- _auto = False
- _inherit = "crm.case.report"
- _columns = {
- '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.lead')]" ,readonly=True),
- 'stage_id': fields.many2one ('crm.case.stage', 'Stage', domain="[('section_id','=',section_id),('object_id.model', '=', 'crm.lead')]", readonly=True),
- 'partner_id': fields.many2one('res.partner', 'Partner' ,readonly=True),
- 'company_id': fields.many2one('res.company','Company',readonly=True),
- }
- def init(self, cr):
- tools.drop_view_if_exists(cr, 'crm_lead_report')
- cr.execute("""
- create or replace view crm_lead_report as (
- select
- min(c.id) as id,
- to_char(c.create_date, 'YYYY') as name,
- to_char(c.create_date, 'MM') as month,
- c.state,
- c.user_id,
- c.stage_id,
- c.company_id,
- c.section_id,
- c.categ_id,
- c.partner_id,
- count(*) as nbr,
- 0 as avg_answers,
- 0.0 as perc_done,
- 0.0 as perc_cancel,
- to_char(avg(date_closed-c.create_date), 'DD"d" HH24:MI:SS') as delay_close
- from
- crm_lead 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,categ_id,c.partner_id,c.company_id
- )""")
-crm_lead_report()
-# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
+++ /dev/null
--<?xml version="1.0" encoding="utf-8"?>
--<openerp>
-- <data>
-- <!--
-- Leads by user and section
-- -->
--
-- <record id="view_crm_lead_tree" model="ir.ui.view">
- <field name="name">report.crm.lead.tree</field>
- <field name="model">report.crm.lead</field>
- <field name="type">tree</field>
- <field name="arch" type="xml">
- <tree string="Leads">
- <field name="name" />
- <field name="month"/>
- <field name="section_id" />
- <field name="user_id" />
- <field name="company_id" />
- <field name="partner_id" />
- <field name="nbr" string="#Leads"/>
- <field name="delay_close"/>
- <field name="state" invisible="1"/>
- <field name="stage_id" invisible="1"/>
- <field name="categ_id" invisible="1"/>
- </tree>
- </field>
- </record>
- <record id="view_crm_lead_form" model="ir.ui.view">
- <field name="name">report.crm.lead.form</field>
- <field name="model">report.crm.lead</field>
- <field name="inherit_id" ref="view_crm_case_form"/>
- <field name="type">form</field>
- <field name="arch" type="xml">
- <field name="nbr" position="after">
- <field name="delay_close"/>
- <field name="stage_id"/>
- </field>
- </field>
- </record>
-
- <record id="view_crm_lead_graph" model="ir.ui.view">
- <field name="name">report.crm.lead.graph</field>
- <field name="model">report.crm.lead</field>
- <field name="type">graph</field>
- <field name="arch" type="xml">
- <graph orientation="horizontal" string="Leads" type="bar">
- <field name="state"/>
- <field name="nbr" operator="+"/>
- <field group="True" name="user_id"/>
- </graph>
- </field>
- </record>
-
- <record id="view_crm_lead_filter" model="ir.ui.view">
- <field name="name">report.crm.lead.select</field>
- <field name="model">report.crm.lead</field>
- <field name="inherit_id" ref="view_crm_case_filter"/>
- <field name="type">search</field>
- <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'}"/>
- </xpath>
- </field>
- </record>
-
-
- <record id="action_report_crm_lead" model="ir.actions.act_window">
- <field name="name">Leads</field>
- <field name="res_model">report.crm.lead</field>
- <field name="view_type">form</field>
- <field name="view_mode">tree,graph</field>
- <field name="search_view_id" ref="view_crm_lead_filter"/>
-
- </record>
-
- <record model="ir.actions.act_window.view" id="action_report_crm_lead_tree">
- <field name="sequence" eval="1"/>
- <field name="view_mode">tree</field>
- <field name="view_id" ref="view_crm_lead_tree"/>
- <field name="act_window_id" ref="action_report_crm_lead"/>
- </record>
-
- <record model="ir.actions.act_window.view" id="action_report_crm_lead_graph">
- <field name="sequence" eval="2"/>
- <field name="view_mode">graph</field>
- <field name="view_id" ref="view_crm_lead_graph"/>
- <field name="act_window_id" ref="action_report_crm_lead"/>
- </record>
-
- <menuitem name="Leads" id="menu_crm_leads_tree" parent="base.next_id_64" action="action_report_crm_lead"/>
- </data>
- </openerp>
- <field name="name">crm.lead.report.tree</field>
- <field name="model">crm.lead.report</field>
- <field name="type">tree</field>
- <field name="arch" type="xml">
- <tree string="Leads">
- <field name="name" />
- <field name="month"/>
- <field name="section_id" />
- <field name="user_id" />
- <field name="company_id" />
- <field name="partner_id" />
- <field name="nbr" string="#Leads"/>
- <field name="delay_close"/>
- <field name="state" invisible="1"/>
- <field name="stage_id" invisible="1"/>
- <field name="categ_id" invisible="1"/>
- </tree>
- </field>
- </record>
- <record id="view_crm_lead_form" model="ir.ui.view">
- <field name="name">crm.lead.report.form</field>
- <field name="model">crm.lead.report</field>
- <field name="inherit_id" ref="view_crm_case_form"/>
- <field name="type">form</field>
- <field name="arch" type="xml">
- <field name="nbr" position="after">
- <field name="delay_close"/>
- <field name="stage_id"/>
- </field>
- </field>
- </record>
-
- <record id="view_crm_lead_graph" model="ir.ui.view">
- <field name="name">crm.lead.report.graph</field>
- <field name="model">crm.lead.report</field>
- <field name="type">graph</field>
- <field name="arch" type="xml">
- <graph orientation="horizontal" string="Leads" type="bar">
- <field name="state"/>
- <field name="nbr" operator="+"/>
- <field group="True" name="user_id"/>
- </graph>
- </field>
- </record>
-
- <record id="view_crm_lead_filter" model="ir.ui.view">
- <field name="name">crm.lead.report.select</field>
- <field name="model">crm.lead.report</field>
- <field name="inherit_id" ref="view_crm_case_filter"/>
- <field name="type">search</field>
- <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'}"/>
- </xpath>
- </field>
- </record>
-
-
- <record id="action_report_crm_lead" model="ir.actions.act_window">
- <field name="name">Leads</field>
- <field name="res_model">crm.lead.report</field>
- <field name="view_type">form</field>
- <field name="view_mode">tree,graph</field>
- <field name="search_view_id" ref="view_crm_lead_filter"/>
-
- </record>
-
- <record model="ir.actions.act_window.view" id="action_report_crm_lead_tree">
- <field name="sequence" eval="1"/>
- <field name="view_mode">tree</field>
- <field name="view_id" ref="view_crm_lead_tree"/>
- <field name="act_window_id" ref="action_report_crm_lead"/>
- </record>
-
- <record model="ir.actions.act_window.view" id="action_report_crm_lead_graph">
- <field name="sequence" eval="2"/>
- <field name="view_mode">graph</field>
- <field name="view_id" ref="view_crm_lead_graph"/>
- <field name="act_window_id" ref="action_report_crm_lead"/>
- </record>
-
- <menuitem name="Leads" id="menu_crm_leads_tree" parent="base.next_id_64" action="action_report_crm_lead"/>
- </data>
-</openerp>
+++ /dev/null
--from osv import fields,osv
--import tools
--
- class report_crm_opportunity(osv.osv):
- _name = "report.crm.opportunity"
- _auto = False
- _inherit = "report.crm.case"
-
- _columns = {
- 'probability': fields.float('Avg. Probability', readonly=True),
- 'amount_revenue': fields.float('Est.Revenue', readonly=True),
- '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')]", 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',readonly=True),
- 'company_id': fields.many2one('res.company', 'Company',readonly=True),
- }
- def init(self, cr):
- tools.drop_view_if_exists(cr, 'report_crm_opportunity')
- cr.execute("""
- create or replace view report_crm_opportunity as (
- select
- min(c.id) as id,
- to_char(c.create_date, 'YYYY') as name,
- to_char(c.create_date, 'MM') as month,
- c.state,
- c.user_id,
- c.section_id,
- c.categ_id,
- c.stage_id,
- c.partner_id,
- c.company_id,
- count(*) as nbr,
- 0 as avg_answers,
- 0.0 as perc_done,
- 0.0 as perc_cancel,
- sum(planned_revenue) as amount_revenue,
- sum((planned_revenue*probability)/100.0)::decimal(16,2) as amount_revenue_prob,
- avg(probability)::decimal(16,2) as probability,
- 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,c.partner_id,company_id
- )""")
- report_crm_opportunity()
- # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
-class crm_opportunity_report(osv.osv):
- _name = "crm.opportunity.report"
- _auto = False
- _inherit = "crm.case.report"
-
- _columns = {
- 'probability': fields.float('Avg. Probability', readonly=True),
- 'amount_revenue': fields.float('Est.Revenue', readonly=True),
- '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')]", 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',readonly=True),
- 'company_id': fields.many2one('res.company', 'Company',readonly=True),
- }
- def init(self, cr):
- tools.drop_view_if_exists(cr, 'crm_opportunity_report')
- cr.execute("""
- create or replace view crm_opportunity_report as (
- select
- min(c.id) as id,
- to_char(c.create_date, 'YYYY') as name,
- to_char(c.create_date, 'MM') as month,
- c.state,
- c.user_id,
- c.section_id,
- c.categ_id,
- c.stage_id,
- c.partner_id,
- c.company_id,
- count(*) as nbr,
- 0 as avg_answers,
- 0.0 as perc_done,
- 0.0 as perc_cancel,
- sum(planned_revenue) as amount_revenue,
- sum((planned_revenue*probability)/100.0)::decimal(16,2) as amount_revenue_prob,
- avg(probability)::decimal(16,2) as probability,
- 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,c.partner_id,company_id
- )""")
-crm_opportunity_report()
-# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
+++ /dev/null
--<?xml version="1.0" encoding="utf-8"?>
--<openerp>
-- <data>
-- <!--
-- Opportunities by user and section
-- -->
--
-- <record id="view_crm_opportunity_tree" model="ir.ui.view">
- <field name="name">report.crm.opportunity.tree</field>
- <field name="model">report.crm.opportunity</field>
- <field name="type">tree</field>
- <field name="arch" type="xml">
- <tree string="Opportunities">
- <field name="name" />
- <field name="month"/>
- <field name="section_id" />
- <field name="user_id" />
- <field name="company_id"/>
- <field name="partner_id"/>
- <field name="nbr" string="#Opportunities"/>
- <field name="amount_revenue" sum="Total Revenue"/>
- <field name="probability" widget="progressbar"/>
- <field name="amount_revenue_prob"/>
- <field name="delay_close"/>
- <field name="state" invisible="1"/>
- <field name="stage_id" invisible="1"/>
- <field name="categ_id" invisible="1"/>
- </tree>
- </field>
- </record>
- <record id="view_crm_opportunity_form" model="ir.ui.view">
- <field name="name">report.crm.opportunity.form</field>
- <field name="model">report.crm.opportunity</field>
- <field name="inherit_id" ref="view_crm_case_form"/>
- <field name="type">form</field>
- <field name="arch" type="xml">
- <field name="nbr" position="after">
- <field name="delay_close"/>
- <field name="amount_revenue"/>
- <field name="amount_costs"/>
- <field name="amount_revenue_prob"/>
- <field name="probability"/>
- </field>
- </field>
- </record>
-
- <record id="view_crm_opportunity_graph" model="ir.ui.view">
- <field name="name">report.crm.opportunity.graph</field>
- <field name="model">report.crm.opportunity</field>
- <field name="type">graph</field>
- <field name="arch" type="xml">
- <graph orientation="horizontal" string="Opportunity" type="bar">
- <field name="state"/>
- <field name="nbr" operator="+"/>
- <field group="True" name="user_id"/>
- </graph>
- </field>
- </record>
-
- <record id="view_crm_opportunity_filter" model="ir.ui.view">
- <field name="name">report.crm.opportunity.select</field>
- <field name="model">report.crm.opportunity</field>
- <field name="inherit_id" ref="view_crm_case_filter"/>
- <field name="type">search</field>
- <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'}"/>
- <separator orientation="vertical"/>
- <filter string="Partner" icon="terp-partner" domain="[]" context="{'group_by':'partner_id'}"/>
- </xpath>
- </field>
- </record>
-
- <record id="action_report_crm_opportunity" model="ir.actions.act_window">
- <field name="name">Opportunities</field>
- <field name="res_model">report.crm.opportunity</field>
- <field name="view_type">form</field>
- <field name="view_mode">tree,graph</field>
- <field name="search_view_id" ref="view_crm_opportunity_filter"/>
- </record>
- <record model="ir.actions.act_window.view" id="action_report_crm_opportunity_tree">
- <field name="sequence" eval="1"/>
- <field name="view_mode">tree</field>
- <field name="view_id" ref="view_crm_opportunity_tree"/>
- <field name="act_window_id" ref="action_report_crm_opportunity"/>
- </record>
- <record model="ir.actions.act_window.view" id="action_report_crm_opportunity_graph">
- <field name="sequence" eval="2"/>
- <field name="view_mode">graph</field>
- <field name="view_id" ref="view_crm_opportunity_graph"/>
- <field name="act_window_id" ref="action_report_crm_opportunity"/>
- </record>
-
- <menuitem name="Opportunities" action="action_report_crm_opportunity" id="menu_crm_opportunity_tree" parent="base.next_id_64"/>
- </data>
- </openerp>
- <field name="name">crm.opportunity.report.tree</field>
- <field name="model">crm.opportunity.report</field>
- <field name="type">tree</field>
- <field name="arch" type="xml">
- <tree string="Opportunities">
- <field name="name" />
- <field name="month"/>
- <field name="section_id" />
- <field name="user_id" />
- <field name="company_id"/>
- <field name="partner_id"/>
- <field name="nbr" string="#Opportunities"/>
- <field name="amount_revenue" sum="Total Revenue"/>
- <field name="probability" widget="progressbar"/>
- <field name="amount_revenue_prob"/>
- <field name="delay_close"/>
- <field name="state" invisible="1"/>
- <field name="stage_id" invisible="1"/>
- <field name="categ_id" invisible="1"/>
- </tree>
- </field>
- </record>
- <record id="view_crm_opportunity_form" model="ir.ui.view">
- <field name="name">crm.opportunity.report.form</field>
- <field name="model">crm.opportunity.report</field>
- <field name="inherit_id" ref="view_crm_case_form"/>
- <field name="type">form</field>
- <field name="arch" type="xml">
- <field name="nbr" position="after">
- <field name="delay_close"/>
- <field name="amount_revenue"/>
- <field name="amount_costs"/>
- <field name="amount_revenue_prob"/>
- <field name="probability"/>
- </field>
- </field>
- </record>
-
- <record id="view_crm_opportunity_graph" model="ir.ui.view">
- <field name="name">crm.opportunity.report.graph</field>
- <field name="model">crm.opportunity.report</field>
- <field name="type">graph</field>
- <field name="arch" type="xml">
- <graph orientation="horizontal" string="Opportunity" type="bar">
- <field name="state"/>
- <field name="nbr" operator="+"/>
- <field group="True" name="user_id"/>
- </graph>
- </field>
- </record>
-
- <record id="view_crm_opportunity_filter" model="ir.ui.view">
- <field name="name">crm.opportunity.report.select</field>
- <field name="model">crm.opportunity.report</field>
- <field name="inherit_id" ref="view_crm_case_filter"/>
- <field name="type">search</field>
- <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'}"/>
- <separator orientation="vertical"/>
- <filter string="Partner" icon="terp-partner" domain="[]" context="{'group_by':'partner_id'}"/>
- </xpath>
- </field>
- </record>
-
- <record id="action_report_crm_opportunity" model="ir.actions.act_window">
- <field name="name">Opportunities</field>
- <field name="res_model">crm.opportunity.report</field>
- <field name="view_type">form</field>
- <field name="view_mode">tree,graph</field>
- <field name="search_view_id" ref="view_crm_opportunity_filter"/>
- </record>
- <record model="ir.actions.act_window.view" id="action_report_crm_opportunity_tree">
- <field name="sequence" eval="1"/>
- <field name="view_mode">tree</field>
- <field name="view_id" ref="view_crm_opportunity_tree"/>
- <field name="act_window_id" ref="action_report_crm_opportunity"/>
- </record>
- <record model="ir.actions.act_window.view" id="action_report_crm_opportunity_graph">
- <field name="sequence" eval="2"/>
- <field name="view_mode">graph</field>
- <field name="view_id" ref="view_crm_opportunity_graph"/>
- <field name="act_window_id" ref="action_report_crm_opportunity"/>
- </record>
-
- <menuitem name="Opportunities" action="action_report_crm_opportunity" id="menu_crm_opportunity_tree" parent="base.next_id_64"/>
- </data>
-</openerp>
+++ /dev/null
--from osv import fields,osv
--import tools
--
- class report_crm_phonecall(osv.osv):
- _name = "report.crm.phonecall"
- _description = "Phone calls by user and section"
- _auto = False
- _inherit = "report.crm.case"
- _columns = {
- '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.phonecall')]"),
- 'partner_id': fields.many2one('res.partner', 'Partner' ,readonly=True),
- 'company_id': fields.many2one('res.company','Company',readonly=True),
- }
- def init(self, cr):
- tools.drop_view_if_exists(cr, 'report_crm_phonecall')
- cr.execute("""
- create or replace view report_crm_phonecall as (
- select
- min(c.id) as id,
- to_char(c.create_date, 'YYYY') as name,
- to_char(c.create_date, 'MM') as month,
- c.state,
- c.user_id,
- c.section_id,
- c.categ_id,
- c.partner_id,
- c.company_id,
- count(*) as nbr,
- 0 as avg_answers,
- 0.0 as perc_done,
- 0.0 as perc_cancel,
- to_char(avg(date_closed-c.create_date), 'DD"d" HH24:MI:SS') as delay_close
- from
- crm_phonecall c
- 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
- )""")
- report_crm_phonecall()
- # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
-class crm_phonecall_report(osv.osv):
- _name = "crm.phonecall.report"
- _description = "Phone calls by user and section"
- _auto = False
- _inherit = "crm.case.report"
- _columns = {
- '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.phonecall')]"),
- 'partner_id': fields.many2one('res.partner', 'Partner' ,readonly=True),
- 'company_id': fields.many2one('res.company','Company',readonly=True),
- }
- def init(self, cr):
- tools.drop_view_if_exists(cr, 'crm_phonecall_report')
- cr.execute("""
- create or replace view crm_phonecall_report as (
- select
- min(c.id) as id,
- to_char(c.create_date, 'YYYY') as name,
- to_char(c.create_date, 'MM') as month,
- c.state,
- c.user_id,
- c.section_id,
- c.categ_id,
- c.partner_id,
- c.company_id,
- count(*) as nbr,
- 0 as avg_answers,
- 0.0 as perc_done,
- 0.0 as perc_cancel,
- to_char(avg(date_closed-c.create_date), 'DD"d" HH24:MI:SS') as delay_close
- from
- crm_phonecall c
- 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
- )""")
-crm_phonecall_report()
-# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
+++ /dev/null
--<?xml version="1.0" encoding="utf-8"?>
--<openerp>
-- <data>
-- <!--
-- Phone calls by user and section
-- -->
--
-- <record id="view_crm_phonecall_tree" model="ir.ui.view">
- <field name="name">report.crm.phonecall.tree</field>
- <field name="model">report.crm.phonecall</field>
- <field name="type">tree</field>
- <field name="arch" type="xml">
- <tree string="Phone calls">
- <field name="name" />
- <field name="month"/>
- <field name="section_id" />
- <field name="user_id" />
- <field name="company_id"/>
- <field name="partner_id" />
- <field name="nbr" string="#Phone calls" />
- <field name="delay_close"/>
- <field name="state" invisible="1"/>
- <field name="categ_id" invisible="1"/>
- </tree>
- </field>
- </record>
- <record id="view_crm_phonecall_form" model="ir.ui.view">
- <field name="name">report.crm.phonecall.form</field>
- <field name="model">report.crm.phonecall</field>
- <field name="inherit_id" ref="view_crm_case_form"/>
- <field name="type">form</field>
- <field name="arch" type="xml">
- <field name="nbr" position="after">
- <field name="delay_close"/>
- <field name="amount_revenue"/>
- <field name="amount_revenue_prob"/>
- <field name="probability"/>
- </field>
- </field>
- </record>
-
- <record id="view_crm_phonecall_graph" model="ir.ui.view">
- <field name="name">report.crm.phonecall.graph</field>
- <field name="model">report.crm.phonecall</field>
- <field name="type">graph</field>
- <field name="arch" type="xml">
- <graph orientation="horizontal" string="Phone calls by User and Section" type="bar">
- <field name="state"/>
- <field name="nbr" operator="+"/>
- <field group="True" name="user_id"/>
- </graph>
- </field>
- </record>
- <record id="view_crm_phonecall_filter" model="ir.ui.view">
- <field name="name">report.crm.phonecall.select</field>
- <field name="model">report.crm.phonecall</field>
- <field name="inherit_id" ref="view_crm_case_filter"/>
- <field name="type">search</field>
- <field name="arch" type="xml">
- <field name="user_id" position="before">
- </field>
- </field>
- </record>
-
- <record id="action_report_crm_phonecall" model="ir.actions.act_window">
- <field name="name">Phone Calls</field>
- <field name="res_model">report.crm.phonecall</field>
- <field name="view_type">form</field>
- <field name="view_mode">tree,graph</field>
- <field name="view_id" ref="view_crm_phonecall_tree"/>
- <field name="search_view_id" ref="view_crm_phonecall_filter"/>
- </record>
-
- <record model="ir.actions.act_window.view" id="action_report_crm_phonecall_tree">
- <field name="sequence" eval="1"/>
- <field name="view_mode">tree</field>
- <field name="view_id" ref="view_crm_phonecall_tree"/>
- <field name="act_window_id" ref="action_report_crm_phonecall"/>
- </record>
-
- <record model="ir.actions.act_window.view" id="action_report_crm_phonecall_graph">
- <field name="sequence" eval="2"/>
- <field name="view_mode">graph</field>
- <field name="view_id" ref="view_crm_phonecall_graph"/>
- <field name="act_window_id" ref="action_report_crm_phonecall"/>
- </record>
-
- <menuitem name="Phone Calls" action="action_report_crm_phonecall" id="menu_crm_phonecalls_tree" parent="base.next_id_64"/>
-
- </data>
- </openerp>
- <field name="name">crm.phonecall.report.tree</field>
- <field name="model">crm.phonecall.report</field>
- <field name="type">tree</field>
- <field name="arch" type="xml">
- <tree string="Phone calls">
- <field name="name" />
- <field name="month"/>
- <field name="section_id" />
- <field name="user_id" />
- <field name="company_id"/>
- <field name="partner_id" />
- <field name="nbr" string="#Phone calls" />
- <field name="delay_close"/>
- <field name="state" invisible="1"/>
- <field name="categ_id" invisible="1"/>
- </tree>
- </field>
- </record>
- <record id="view_crm_phonecall_form" model="ir.ui.view">
- <field name="name">crm.phonecall.report.form</field>
- <field name="model">crm.phonecall.report</field>
- <field name="inherit_id" ref="view_crm_case_form"/>
- <field name="type">form</field>
- <field name="arch" type="xml">
- <field name="nbr" position="after">
- <field name="delay_close"/>
- <field name="amount_revenue"/>
- <field name="amount_revenue_prob"/>
- <field name="probability"/>
- </field>
- </field>
- </record>
-
- <record id="view_crm_phonecall_graph" model="ir.ui.view">
- <field name="name">crm.phonecall.report.graph</field>
- <field name="model">crm.phonecall.report</field>
- <field name="type">graph</field>
- <field name="arch" type="xml">
- <graph orientation="horizontal" string="Phone calls by User and Section" type="bar">
- <field name="state"/>
- <field name="nbr" operator="+"/>
- <field group="True" name="user_id"/>
- </graph>
- </field>
- </record>
- <record id="view_crm_phonecall_filter" model="ir.ui.view">
- <field name="name">crm.phonecall.report.select</field>
- <field name="model">crm.phonecall.report</field>
- <field name="inherit_id" ref="view_crm_case_filter"/>
- <field name="type">search</field>
- <field name="arch" type="xml">
- <field name="user_id" position="before">
- </field>
- </field>
- </record>
-
- <record id="action_report_crm_phonecall" model="ir.actions.act_window">
- <field name="name">Phone Calls</field>
- <field name="res_model">crm.phonecall.report</field>
- <field name="view_type">form</field>
- <field name="view_mode">tree,graph</field>
- <field name="view_id" ref="view_crm_phonecall_tree"/>
- <field name="search_view_id" ref="view_crm_phonecall_filter"/>
- </record>
-
- <record model="ir.actions.act_window.view" id="action_report_crm_phonecall_tree">
- <field name="sequence" eval="1"/>
- <field name="view_mode">tree</field>
- <field name="view_id" ref="view_crm_phonecall_tree"/>
- <field name="act_window_id" ref="action_report_crm_phonecall"/>
- </record>
-
- <record model="ir.actions.act_window.view" id="action_report_crm_phonecall_graph">
- <field name="sequence" eval="2"/>
- <field name="view_mode">graph</field>
- <field name="view_id" ref="view_crm_phonecall_graph"/>
- <field name="act_window_id" ref="action_report_crm_phonecall"/>
- </record>
-
- <menuitem name="Phone Calls" action="action_report_crm_phonecall" id="menu_crm_phonecalls_tree" parent="base.next_id_64"/>
-
- </data>
-</openerp>