diff options
| author | Kevin Baptiste <kba@odoo.com> | 2020-03-11 10:52:14 +0000 |
|---|---|---|
| committer | Kevin Baptiste <kba@odoo.com> | 2020-03-18 14:09:01 +0000 |
| commit | fad3ed7ce4828275e92e8f748dbb7cdc4156fb57 (patch) | |
| tree | 382a3d999fc4f85db7099cd3bba3d3dcc91b5b77 /addons | |
| parent | fd50ba9fb838067fab0b920470cf79b9c94d785c (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.py | 5 | ||||
| -rw-r--r-- | addons/sale_timesheet/models/project.py | 1 | ||||
| -rw-r--r-- | 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 @@ <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"> |
