summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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">