Odoo Mindscape. Understand Odoo faster. Explore modules, fields, dependencies and version differences in one place instead of digging through the source code.

Module: Sales - Project

Entity: project.task

Compute Method: _compute_sale_order_id

Inputs Method Outputs
for task in self:
            if not (task.allow_billable and task.sale_line_id):
                task.sale_order_id = False
                continue
            sale_order = (
                task.sale_line_id.order_id
                or task.project_id.sale_order_id
                or task.sale_order_id
            )
            so_partners = (
                sale_order.partner_id
                | sale_order.partner_invoice_id
                | sale_order.partner_shipping_id
            )
            if task.partner_id.commercial_partner_id in so_partners.commercial_partner_id:
                task.sale_order_id = sale_order
            else:
                task.sale_order_id = False

Back to entity