add cor project report
This commit is contained in:
parent
8887ddca44
commit
92ecd78859
|
@ -21,6 +21,7 @@
|
|||
'report/project_budget_amt_analysis_views.xml',
|
||||
'report/project_timeline_report_views.xml',
|
||||
'report/project_timesheet_report_views.xml',
|
||||
'report/cor_project_report_views.xml',
|
||||
],
|
||||
'qweb': [
|
||||
"static/src/xml/base.xml",
|
||||
|
|
|
@ -5,3 +5,5 @@ from . import project_budget_hrs_analysis
|
|||
from . import project_budget_amt_analysis
|
||||
from . import project_timeline_report
|
||||
from . import project_timesheet_report
|
||||
|
||||
from . import cor_project_report
|
||||
|
|
|
@ -0,0 +1,38 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
# Part of Odoo. See LICENSE file for full copyright and licensing details.
|
||||
|
||||
from odoo import fields, models, tools, api
|
||||
|
||||
|
||||
class CorProjectReport(models.Model):
|
||||
_name = "cor.project.report"
|
||||
_description = "COR Project Report"
|
||||
# _order = 'project_id'
|
||||
_auto = False
|
||||
|
||||
project_id = fields.Many2one('project.project', string='Project', readonly=True)
|
||||
employee_id = fields.Many2one('hr.employee', string='Consultant', readonly=True)
|
||||
#hours_type = fields.Char(string="Hours Type", readonly=True)
|
||||
hours = fields.Float("Number of Hours", digits=(16, 2), readonly=True, group_operator="sum")
|
||||
# pricing_type = fields.Selection([
|
||||
# ('fixed_rate', 'Fixed rate'),
|
||||
# ('employee_rate', 'Consultant rate')
|
||||
# ], string="Pricing", readonly=True)
|
||||
# project_type = fields.Selection([
|
||||
# ('hours_in_consultant', 'Hours are budgeted according to a consultant'),
|
||||
# ('hours_no_limit', 'Total hours are budgeted without division to consultant'),
|
||||
# ], string="Project Type", readonly=True)
|
||||
|
||||
def init(self):
|
||||
'''Create the view'''
|
||||
tools.drop_view_if_exists(self._cr, self._table)
|
||||
self._cr.execute("""
|
||||
CREATE OR REPLACE VIEW %s AS (
|
||||
SELECT ROW_NUMBER() OVER() as id,
|
||||
aa.project_id AS project_id,
|
||||
aa.employee_id AS employee_id,
|
||||
SUM(aa.unit_amount) AS hours
|
||||
FROM account_analytic_line aa
|
||||
Left JOIN project_sale_line_employee_map bb ON bb.project_id = aa.project_id
|
||||
GROUP BY aa.project_id, aa.employee_id, aa.amount
|
||||
)""" % (self._table,))
|
|
@ -0,0 +1,67 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<odoo>
|
||||
|
||||
<record id="cor_project_report_view_pivot" model="ir.ui.view">
|
||||
<field name="name">cor.project.report.pivot</field>
|
||||
<field name="model">cor.project.report</field>
|
||||
<field name="arch" type="xml">
|
||||
<pivot string="Budget Analysis" disable_linking="True" sample="1"> <!-- display_quantity="true" -->
|
||||
<field name="project_id" type="col"/>
|
||||
<!--<field name="hours_type" type="col"/>-->
|
||||
<field name="hours" type="measure"/>
|
||||
</pivot>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="cor_project_report_view_graph" model="ir.ui.view">
|
||||
<field name="name">cor.project.report.graph</field>
|
||||
<field name="model">cor.project.report</field>
|
||||
<field name="arch" type="xml">
|
||||
<graph string="COR Project Report" type="bar" stacked="False" sample="1" disable_linking="1">
|
||||
<field name="project_id" type="row"/>
|
||||
<!--<field name="hours_type" type="row"/>-->
|
||||
<field name="hours" type="measure"/>
|
||||
</graph>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="cor_project_report_view_tree" model="ir.ui.view">
|
||||
<field name="name">cor.project.report.tree</field>
|
||||
<field name="model">cor.project.report</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree string="COR Project Report" create="false" edit="false" delete="false">
|
||||
<field name="project_id"/>
|
||||
<field name="employee_id"/>
|
||||
<field name="hours"/>
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
|
||||
<record id="cor_project_report_view_search" model="ir.ui.view">
|
||||
<field name="name">cor.project.report.search</field>
|
||||
<field name="model">cor.project.report</field>
|
||||
<field name="arch" type="xml">
|
||||
<search string="Project Report">
|
||||
<field name="project_id"/>
|
||||
<field name="employee_id"/>
|
||||
<field name="hours"/>
|
||||
</search>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="cor_project_report_view_action" model="ir.actions.act_window">
|
||||
<field name="name">COR Project Report</field>
|
||||
<field name="res_model">cor.project.report</field>
|
||||
<field name="view_mode">graph,tree,pivot</field>
|
||||
<field name="search_view_id" ref="cor_project_report_view_search"/>
|
||||
<field name="context">{}</field>
|
||||
</record>
|
||||
|
||||
<menuitem id="menu_cor_project_report"
|
||||
parent="project.menu_project_report"
|
||||
action="cor_project_report_view_action"
|
||||
name="COR Project Report"
|
||||
sequence="50"/>
|
||||
|
||||
</odoo>
|
|
@ -8,4 +8,7 @@ access_project_create_expense_user,access_project_create_expense_project_user,mo
|
|||
access_project_timeline_report_manager,project.timeline.report,model_project_timeline_report,project.group_project_manager,1,1,1,1
|
||||
access_project_timeline_report_user,project.timeline.report,model_project_timeline_report,project.group_project_user,1,0,0,0
|
||||
access_project_timesheet_report_manager,project.timesheet.report,model_project_timesheet_report,project.group_project_manager,1,1,1,1
|
||||
access_project_timesheet_report_user,project.timesheet.report,model_project_timesheet_report,project.group_project_user,1,0,0,0
|
||||
access_project_timesheet_report_user,project.timesheet.report,model_project_timesheet_report,project.group_project_user,1,0,0,0
|
||||
|
||||
access_cor_project_report_manager,cor.project.report,model_cor_project_report,project.group_project_manager,1,1,1,1
|
||||
access_cor_project_report_user,cor.project.report,model_cor_project_report,project.group_project_user,1,0,0,0
|
|
Loading…
Reference in New Issue