From fad3ed7ce4828275e92e8f748dbb7cdc4156fb57 Mon Sep 17 00:00:00 2001 From: Kevin Baptiste Date: Wed, 11 Mar 2020 10:52:14 +0000 Subject: [PATCH] [FIX] sale_timesheet: change SO on project The "Create Sales Order" button was not displayed again when the original SO was deleted. Thus, it was not possible to link a new SO to the project. closes odoo/odoo#47397 Taskid: 2206862 Signed-off-by: Yannick Tivisse (yti) --- addons/sale_project/models/sale_order.py | 5 +++++ addons/sale_timesheet/models/project.py | 1 + addons/sale_timesheet/views/project_task_views.xml | 4 ++-- 3 files changed, 8 insertions(+), 2 deletions(-) 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 @@ - - + +