diff --git a/addons/sale_project/models/sale_order.py b/addons/sale_project/models/sale_order.py index 8b4b1d8ba30..2feedddd4a0 100644 --- a/addons/sale_project/models/sale_order.py +++ b/addons/sale_project/models/sale_order.py @@ -97,6 +97,11 @@ class SaleOrder(models.Model): } return action + def write(self, values): + if 'state' in values and values['state'] == 'cancel': + self.project_id.sale_line_id = False + return super(SaleOrder, self).write(values) + class SaleOrderLine(models.Model): _inherit = "sale.order.line" diff --git a/addons/sale_timesheet/models/project.py b/addons/sale_timesheet/models/project.py index 6e70d6cfa8a..64053838b11 100644 --- a/addons/sale_timesheet/models/project.py +++ b/addons/sale_timesheet/models/project.py @@ -53,6 +53,7 @@ class Project(models.Model): @api.depends('billable_type', 'allow_billable', 'sale_order_id', 'partner_id') def _compute_display_create_order(self): for project in self: + project._compute_billable_type() show = True if not project.partner_id or project.billable_type != 'no' or project.allow_billable or project.sale_order_id: show = False diff --git a/addons/sale_timesheet/views/project_task_views.xml b/addons/sale_timesheet/views/project_task_views.xml index 064b16676b1..2c069821069 100644 --- a/addons/sale_timesheet/views/project_task_views.xml +++ b/addons/sale_timesheet/views/project_task_views.xml @@ -14,8 +14,8 @@ - - + +