Before this commit, the `display_project_id` field was a bit confusing for the user to know what is the goal of this field. Also this field is available when the user wants to import his data into Odoo, if he does not know the goal of this field then he could be lost to know which field he should for his data to import (or even export). This commit removes the display_project_id field and so a task will be private one if the project and the parent fields are not set. The project to set to the timesheet will be the one set on the task or the one set on one of its parent tasks. task-3230063 X-original-commit: 22eda5a5ddcfcda9fa6597d6fe21eb20f525799f Part-of: odoo/odoo#115781
31 lines
1.3 KiB
Python
31 lines
1.3 KiB
Python
# -*- coding: utf-8 -*-
|
|
# Part of Odoo. See LICENSE file for full copyright and licensing details.
|
|
|
|
from odoo import fields, models, _
|
|
from odoo.exceptions import AccessError
|
|
|
|
|
|
class Digest(models.Model):
|
|
_inherit = 'digest.digest'
|
|
|
|
kpi_project_task_opened = fields.Boolean('Open Tasks')
|
|
kpi_project_task_opened_value = fields.Integer(compute='_compute_project_task_opened_value')
|
|
|
|
def _compute_project_task_opened_value(self):
|
|
if not self.env.user.has_group('project.group_project_user'):
|
|
raise AccessError(_("Do not have access, skip this data for user's digest email"))
|
|
for record in self:
|
|
start, end, company = record._get_kpi_compute_parameters()
|
|
record.kpi_project_task_opened_value = self.env['project.task'].search_count([
|
|
('stage_id.fold', '=', False),
|
|
('create_date', '>=', start),
|
|
('create_date', '<', end),
|
|
('company_id', '=', company.id),
|
|
('project_id', '!=', False),
|
|
])
|
|
|
|
def _compute_kpis_actions(self, company, user):
|
|
res = super(Digest, self)._compute_kpis_actions(company, user)
|
|
res['kpi_project_task_opened'] = 'project.open_view_project_all&menu_id=%s' % self.env.ref('project.menu_main_pm').id
|
|
return res
|