add field chargeable

This commit is contained in:
XuanHuyen 2025-01-15 17:30:05 +07:00
parent 9ef444850e
commit 4ea71f8a3b
2 changed files with 12 additions and 1 deletions

View File

@ -304,6 +304,9 @@ class Task(models.Model):
)
link_preview_name = fields.Char(compute='_compute_link_preview_name', export_string_translation=False)
# Non-chargeable or Chargeable
is_chargeable = fields.Boolean(string='Chargable', default=False)
_sql_constraints = [
('recurring_task_has_no_parent', 'CHECK (NOT (recurring_task IS TRUE AND parent_id IS NOT NULL))', "A subtask cannot be recurrent."),
('private_task_has_no_parent', 'CHECK (NOT (project_id IS NULL AND parent_id IS NOT NULL))', "A private task cannot have a parent."),

View File

@ -460,6 +460,8 @@
</div>
<!-- Field needed to trigger its compute in project_enterprise, but will be replaced in an override defined in hr_timesheet module -->
<field name="allocated_hours" invisible="1"/>
<!-- Field Chargeable / Non Chargeable -->
<field name="is_chargeable" string="Chargeable"/>
</group>
</group>
<field name="task_properties" columns="2"/>
@ -665,6 +667,7 @@
<field name="has_late_and_unreached_milestone" />
<field name="allow_milestones" />
<field name="state" />
<field name="is_chargeable"/>
<field name="subtask_count"/>
<progressbar field="state" colors='{"1_done": "success-done", "1_canceled": "danger", "03_approved": "success", "02_changes_requested": "warning", "04_waiting_normal": "info", "01_in_progress": "200" }'/>
<templates>
@ -685,6 +688,9 @@
<field t-if="record.allow_milestones.raw_value and record.milestone_id.raw_value" t-att-class="record.has_late_and_unreached_milestone.raw_value and !record.state.raw_value.startsWith('1_') ? 'text-danger' : ''" name="milestone_id" options="{'no_open': True}"/>
</div>
<field name="tag_ids" widget="many2many_tags" options="{'color_field': 'color'}"/>
<div t-if="record.is_chargeable.raw_value"> <!-- show is_chargeable in mode kanban -->
<span>Chargeable</span>
</div>
<field t-if="record.date_deadline.raw_value" invisible="state in ['1_done', '1_canceled']" name="date_deadline" widget="remaining_days"/>
<field name="task_properties" widget="properties"/>
<field name="displayed_image_id" widget="attachment_image"/>
@ -753,6 +759,7 @@
<field name="company_id" column_invisible="True"/>
<field name="date_deadline" optional="hide" widget="remaining_days" invisible="state in ['1_done', '1_canceled']"/>
<field name="tag_ids" widget="many2many_tags" options="{'color_field': 'color'}" optional="show" context="{'project_id': project_id}"/>
<field name="is_chargeable" optional="show"/> <!-- show is_chargeable in mode list -->
<field name="date_last_stage_update" optional="hide"/>
<field name="stage_id" column_invisible="context.get('set_visible', False)" optional="show"/>
</list>
@ -825,6 +832,7 @@
<field name="partner_id" invisible="not partner_id"/>
<field name="priority" widget="priority"/>
<field name="tag_ids" widget="many2many_tags" options="{'color_field': 'color'}" invisible="not tag_ids"/>
<field name="is_chargeable" invisible="not is_chargeable"/> <!-- show is_chargeable in mode calendar -->
<field name="stage_id" invisible="not project_id or not stage_id" widget="task_stage_with_state_selection"/>
<field name="personal_stage_id" string="Personal Stage" options="{'no_open': True}" invisible="project_id or not personal_stage_id"/>
<field name="task_properties" invisible="not task_properties"/>