[IMP] project_working_time_task_portal: add total_billable_effective_hours field in task model

This commit is contained in:
Stéphan Sainléger
2025-07-08 15:33:13 +02:00
parent ff07b3aa17
commit ee339a01e8
3 changed files with 88 additions and 27 deletions

View File

@@ -1,4 +1,4 @@
from odoo import models, fields, api, _
from odoo import api, fields, models
from odoo.tools.float_utils import float_compare
@@ -40,6 +40,13 @@ class Task(models.Model):
recursive=True,
)
total_billable_effective_hours = fields.Float(
compute="_compute_total_billable_effective_hours",
string="Total Billable Effective Hours",
store=True,
compute_sudo=True,
)
@api.depends("timesheet_ids.unit_amount")
def _compute_billable_effective_hours(self):
if not any(self._ids):
@@ -120,3 +127,10 @@ class Task(models.Model):
)
else:
task.billable_progress = 0.0
@api.depends("billable_effective_hours", "subtask_billable_effective_hours")
def _compute_total_billable_effective_hours(self):
for task in self:
task.total_billable_effective_hours = (
task.billable_effective_hours + task.subtask_billable_effective_hours
)