diff --git a/addons/sale_timesheet/models/project.py b/addons/sale_timesheet/models/project.py index 09475410a90..16dbf838655 100644 --- a/addons/sale_timesheet/models/project.py +++ b/addons/sale_timesheet/models/project.py @@ -56,7 +56,16 @@ class Project(models.Model): class ProjectTask(models.Model): _inherit = "project.task" - sale_line_id = fields.Many2one('sale.order.line', 'Sales Order Item', domain="[('is_service', '=', True), ('order_partner_id', '=', partner_id)]") + @api.model + def _default_sale_line_id(self): + sale_line_id = False + if self._context.get('default_parent_id'): + sale_line_id = self.env['project.task'].browse(self._context['default_parent_id']).sale_line_id.id + if not sale_line_id and self._context.get('default_project_id'): + sale_line_id = self.env['project.project'].browse(self._context['default_project_id']).sale_line_id.id + return sale_line_id + + sale_line_id = fields.Many2one('sale.order.line', 'Sales Order Item', default=_default_sale_line_id, domain="[('is_service', '=', True), ('order_partner_id', '=', partner_id)]") @api.model def create(self, values):