summaryrefslogtreecommitdiff
path: root/addons
diff options
context:
space:
mode:
authorKevin Baptiste <kba@odoo.com>2020-03-11 10:52:14 +0000
committerKevin Baptiste <kba@odoo.com>2020-03-18 14:09:01 +0000
commitfad3ed7ce4828275e92e8f748dbb7cdc4156fb57 (patch)
tree382a3d999fc4f85db7099cd3bba3d3dcc91b5b77 /addons
parentfd50ba9fb838067fab0b920470cf79b9c94d785c (diff)
[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) <yti@odoo.com>
Diffstat (limited to 'addons')
-rw-r--r--addons/sale_project/models/sale_order.py5
-rw-r--r--addons/sale_timesheet/models/project.py1
-rw-r--r--addons/sale_timesheet/views/project_task_views.xml4
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 @@
<group>
<field name="display_create_order" invisible="1"/>
<field name="billable_type" invisible="1"/>
- <field name="sale_order_id" attrs="{'invisible': [('billable_type', '=', 'no')]}"/>
- <field name="sale_line_id" attrs="{'invisible': [('billable_type', '=', 'no')]}" context="{'create': False, 'edit': False, 'delete': False}"/>
+ <field name="sale_order_id" attrs="{'invisible': [('billable_type', '=', 'no')], 'readonly': [('sale_order_id', '!=', False)]}" context="{'default_partner_id': partner_id}"/>
+ <field name="sale_line_id" attrs="{'invisible': [('billable_type', '=', 'no')], 'readonly': [('sale_order_id', '=', False)]}" options="{'no_create': True, 'no_edit': True, 'delete': False}"/>
</group>
<field name="sale_line_employee_ids">
<tree editable="top">