Files
enterprise-addons/helpdesk_timesheet/report/helpdesk_ticket_report_analysis.py

46 lines
1.5 KiB
Python

# Part of Odoo. See LICENSE file for full copyright and licensing details.
from odoo import fields, models
class HelpdeskTicketReportAnalysis(models.Model):
_inherit = 'helpdesk.ticket.report.analysis'
total_hours_spent = fields.Float(
"Hours Spent (Timesheets)",
aggregator="avg",
readonly=True,
groups="hr_timesheet.group_hr_timesheet_user",
)
employee_parent_id = fields.Many2one('hr.employee', string='Manager', readonly=True)
department_id = fields.Many2one('hr.department', string='Department', readonly=True)
employee_id = fields.Many2one('hr.employee', string='Employee', readonly=True)
def _select(self):
select_str = super()._select()
select_str += """,
NULLIF(T.total_hours_spent, 0) AS total_hours_spent,
EMP.parent_id AS employee_parent_id,
DEP.id AS department_id,
EMP.id AS employee_id
"""
return select_str
def _group_by(self):
return super()._group_by() + """ ,
DEP.id,
EMP.parent_id,
EMP.id,
T.total_hours_spent
"""
def _from(self):
from_str = super()._from()
from_str += """
LEFT JOIN res_users U ON T.user_id = U.id
LEFT JOIN hr_employee EMP ON EMP.user_id = U.id AND T.company_id = EMP.company_id
LEFT JOIN hr_version VER ON VER.id = EMP.current_version_id
LEFT JOIN hr_department DEP ON VER.department_id = DEP.id
"""
return from_str