diff --git a/addons/sale_timesheet/models/sale_order.py b/addons/sale_timesheet/models/sale_order.py index 2fbf310a615..365118bdeb0 100644 --- a/addons/sale_timesheet/models/sale_order.py +++ b/addons/sale_timesheet/models/sale_order.py @@ -126,7 +126,7 @@ class SaleOrderLine(models.Model): :param start_date: the start date of the period :param end_date: the end date of the period """ - lines_by_timesheet = self.filtered(lambda sol: sol.product_id._is_delivered_timesheet()) + lines_by_timesheet = self.filtered(lambda sol: sol.product_id and sol.product_id._is_delivered_timesheet()) domain = lines_by_timesheet._timesheet_compute_delivered_quantity_domain() domain = expression.AND([domain, [ '|', @@ -139,5 +139,4 @@ class SaleOrderLine(models.Model): mapping = lines_by_timesheet.sudo()._get_delivered_quantity_by_analytic(domain) for line in lines_by_timesheet: - if line.product_id._is_delivered_timesheet(): - line.qty_to_invoice = mapping.get(line.id, 0.0) + line.qty_to_invoice = mapping.get(line.id, 0.0) diff --git a/addons/sale_timesheet/tests/test_sale_timesheet.py b/addons/sale_timesheet/tests/test_sale_timesheet.py index 28c8a50abe3..8ba937d7121 100644 --- a/addons/sale_timesheet/tests/test_sale_timesheet.py +++ b/addons/sale_timesheet/tests/test_sale_timesheet.py @@ -393,6 +393,12 @@ class TestSaleTimesheet(TestCommonSaleTimesheet): 'partner_shipping_id': self.partner_a.id, 'pricelist_id': self.company_data['default_pricelist'].id, }) + # Section Line + so_line_ordered_project_only = self.env['sale.order.line'].create({ + 'name': "Section Name", + 'order_id': sale_order.id, + 'display_type': 'line_section', + }) so_line_deliver_global_project = self.env['sale.order.line'].create({ 'name': self.product_delivery_timesheet2.name, 'product_id': self.product_delivery_timesheet2.id,