from odoo import models, fields, api class ProjectTask(models.Model): _inherit = 'project.task' gantt_start_date = fields.Date(string="Start Date", default=fields.Date.today) gantt_end_date = fields.Date(string="End Date") task_progress = fields.Float(string="Progress (%)", default=0.0) constraint_type = fields.Selection([ ('asap', 'As Soon As Possible'), ('snet', 'Start No Earlier Than'), ('snlt', 'Start No Later Than'), ('fnet', 'Finish No Earlier Than'), ('fnlt', 'Finish No Later Than'), ], string="Constraint Type", default='asap') constraint_date = fields.Datetime(string="Constraint Date") is_milestone = fields.Boolean(string="Milestone") unschedule = fields.Boolean(string="Unschedule") schedule_mode = fields.Selection([ ('auto', 'Auto'), ('manual', 'Manual') ], string="Schedule Mode", default='manual') # Computed color based on task stage stage_color = fields.Char(string="Stage Color", compute='_compute_stage_color', store=True) @api.depends('stage_id.gantt_stage_color') def _compute_stage_color(self): for task in self: task.stage_color = task.stage_id.gantt_stage_color or '#17a2b8'