Files
odoo_source/addons/sale_project/__init__.py
T
Xavier Bol (xbo) 59cf3c9e7c [FIX] {sale_}project: make project billable if one of its tasks has partner
Before this commit, when the user installs `sale_project` and some
of his projects has no partner set but a partner is set on some
tasks of those projects then the user will no longer see the partner
field in those tasks because the project is not billable.

This commit checks if one of the tasks has a partner set to make the
project linked billable if it is not yet the case.

closes odoo/odoo#126880

X-original-commit: b0cb255577a7a0c49c2c764dbad715d3842b9508
Related: odoo/enterprise#43384
Signed-off-by: Xavier Bol (xbo) <xbo@odoo.com>
2023-06-30 01:33:07 +02:00

19 lines
626 B
Python

# -*- coding: utf-8 -*-
# Part of Odoo. See LICENSE file for full copyright and licensing details.
from . import models
from . import controllers
from . import report
def _set_allow_billable_in_project(env):
Project = env['project.project']
Task = env['project.task']
projects = Project.search(Project._get_projects_to_make_billable_domain())
non_billable_projects, = Task._read_group(
Task._get_projects_to_make_billable_domain([('project_id', 'not in', projects.ids)]),
[],
['project_id:recordset'],
)[0]
projects += non_billable_projects
projects.allow_billable = True