Board_service: Added CRM reports
authorJay (Open ERP) <jvo@tinyerp.com>
Sat, 14 Mar 2009 12:35:39 +0000 (18:05 +0530)
committerJay (Open ERP) <jvo@tinyerp.com>
Sat, 14 Mar 2009 12:35:39 +0000 (18:05 +0530)
bzr revid: jvo@tinyerp.com-20090314123539-m3naugo87ory529d

addons/report_crm/report_crm.py
addons/report_crm/report_crm_view.xml
addons/report_timesheet/report_timesheet_view.xml

index 4d88c27..cc5cf55 100644 (file)
@@ -163,5 +163,52 @@ class report_crm_case_section(osv.osv):
             )""")
 report_crm_case_section()
 
+class report_crm_case_service_dashboard(osv.osv):
+    _name = "report.crm.case.service.dashboard"
+    _description = "Report of Closed and Open CRM Cases within past 15 days"
+    _auto = False
+    _columns = {
+        'date': fields.datetime('Date', readonly=True),
+        'date_deadline': fields.datetime('Deadline', readonly=True),
+        'name': fields.char('Description', size=64, readonly=True),
+        'partner_id': fields.many2one('res.partner', 'Partner', readonly=True),
+        'user_id': fields.many2one('res.users', 'Responsible', readonly=True),
+        'priority': fields.char('Priority', size=64, readonly=True),
+        'planned_revenue': fields.float('Planned Revenue', readonly=True),
+        'planned_cost': fields.float('Planned Costs', readonly=True),
+        'state': fields.selection(AVAILABLE_STATES, 'Status', size=16, readonly=True),
+        'date_closed' : fields.datetime('Date Closed', readonly=True),
+        'create_date' : fields.datetime('Create Date', readonly=True)
+    }
+    _order = 'date_closed, create_date'
+    
+    def init(self, cr):
+        cr.execute("""create or replace view report_crm_case_service_dashboard as (
+            select
+                cse.id as id, cse.date as date, cse.date_deadline as date_deadline,
+                cse.name as name, cse.partner_id as partner_id, cse.user_id as user_id,
+                cse.priority as priority, cse.planned_revenue as planned_revenue,
+                cse.planned_cost as planned_cost, cse.state as state,
+                cse.date_closed as date_closed, cse.create_date as create_date
+            from
+                crm_case cse
+            where
+                ((to_date(to_char(cse.date_closed, 'YYYY-MM-dd'),'YYYY-MM-dd') < CURRENT_DATE)
+                    AND
+                (to_date(to_char(cse.date_closed, 'YYYY-MM-dd'),'YYYY-MM-dd') >= (CURRENT_DATE-15)) 
+                    AND
+                    cse.state='done')
+                
+                OR
+                
+                ((to_date(to_char(cse.create_date, 'YYYY-MM-dd'),'YYYY-MM-dd') < CURRENT_DATE)
+                    AND
+                (to_date(to_char(cse.create_date, 'YYYY-MM-dd'),'YYYY-MM-dd') >= (CURRENT_DATE-15))
+                    AND
+                    cse.state='open')
+            )""")
+report_crm_case_service_dashboard()
+
+
 # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
 
index 3ca3278..86ad6e8 100644 (file)
             <field name="view_type">form</field>
             <field name="view_mode">tree,graph</field>
         </record>
+        
+        <!-- Closed & Open CRM Case view for Random Acitivities dashboard  -->         
+        
+        <record id="board_view_crm_case_open_dashboard_tree" model="ir.ui.view">
+            <field name="name">report.crm.case.dashboard.tree</field>
+            <field name="model">report.crm.case.dashboard</field>
+            <field name="type">tree</field>
+            <field name="arch" type="xml">
+                <tree colors="red:date_deadline&lt;current_date and state=='open'" string="CRM Cases">
+                       <field name="create_date"/>
+                    <field name="date"/>
+                    <field name="date_deadline"/>
+                    <field name="name"/>
+                    <field name="partner_id"/>
+                    <field name="user_id"/>
+                    <field name="priority"/>
+                    <field name="planned_revenue" sum="Planned revenue"/>
+                    <field name="planned_cost" sum="Planned costs"/>
+                    <field name="state"/>
+                </tree>
+            </field>
+        </record>
+        
+        <record id="board_view_crm_case_done_dashboard_tree" model="ir.ui.view">
+            <field name="name">report.crm.case.dashboard.tree</field>
+            <field name="model">report.crm.case.dashboard</field>
+            <field name="type">tree</field>
+            <field name="arch" type="xml">
+                <tree colors="red:date_deadline&lt;current_date and state=='open'" string="CRM Cases">
+                       <field name="date_closed"/>
+                    <field name="date"/>
+                    <field name="date_deadline"/>
+                    <field name="name"/>
+                    <field name="partner_id"/>
+                    <field name="user_id"/>
+                    <field name="priority"/>
+                    <field name="planned_revenue" sum="Planned revenue"/>
+                    <field name="planned_cost" sum="Planned costs"/>
+                    <field name="state"/>
+                </tree>
+            </field>
+        </record>        
+        
+        <record id="action_view_closed_crm_case_dashboard" model="ir.actions.act_window">
+               <field name="name">Closed CRM Cases Wtihin Past 15 Days</field>
+               <field name="res_model">report.crm.case.service.dashboard</field>
+               <field name="view_type">form</field>
+               <field name="view_mode">tree,form</field>
+               <field name="view_id" ref="board_view_crm_case_done_dashboard_tree"/>
+               <field name="domain">[('state','=','done')]</field>
+       </record>
+       
+       <record id="action_view_open_crm_case_dashboard" model="ir.actions.act_window">
+               <field name="name">Open CRM Cases Wtihin Past 15 Days</field>
+               <field name="res_model">report.crm.case.service.dashboard</field>
+               <field name="view_type">form</field>
+               <field name="view_mode">tree,form</field>
+               <field name="view_id" ref="board_view_crm_case_open_dashboard_tree"/>
+               <field name="domain">[('state','=','open')]</field>
+       </record>
+       
     </data>
 </openerp>
index 1bdedde..624b759 100644 (file)
             <field name="arch" type="xml">
                 <tree string="Random Timesheets Lines">
                        <field name="date" select="1"/>
+                       <field name="user_id" />
                        <field name="name" select="1"/>
                        <field name="quantity" />
                        <field name="product_id" select="1"/>