From 05d3290bfd337bae48bd2ddaa93b5f4c0ede5a09 Mon Sep 17 00:00:00 2001 From: zainab2097 <149927291+zainab2097@users.noreply.github.com> Date: Wed, 16 Oct 2024 09:59:23 +0300 Subject: [PATCH] Update project.py --- odex25_project/project_base/models/project.py | 29 ++++++++++++------- 1 file changed, 18 insertions(+), 11 deletions(-) diff --git a/odex25_project/project_base/models/project.py b/odex25_project/project_base/models/project.py index 69de67714..b152611dd 100644 --- a/odex25_project/project_base/models/project.py +++ b/odex25_project/project_base/models/project.py @@ -233,17 +233,24 @@ class Project(models.Model): """ line_ids = [] res = super(Project, self).write(vals) - if self.type != 'internal' and vals.get('project_phase_ids') and self.invoice_method == 'per_stage': - phase_ids = self.invoice_ids.mapped('phase_id').ids - for line in self.sudo().sale_order_id.order_line: - line_ids.append( - (0, 0, - {'order_line_id': line.id, 'product_id': line.product_id.id, 'product_uom': line.product_uom.id, - 'price_unit': line.price_unit, 'discount': line.discount, 'tax_id': [(6, 0, line.tax_id.ids)]})) - self.invoice_ids = [(0, 0, - {'name': phase.display_name, 'phase_id': phase.id, 'project_invline_ids': line_ids}) - for phase in - self.project_phase_ids.filtered(lambda x: x.id not in phase_ids)] + for project in self: + if project.type != 'internal' and vals.get('project_phase_ids') and project.invoice_method == 'per_stage': + line_ids = [] + phase_ids = project.invoice_ids.mapped('phase_id').ids + for line in project.sudo().sale_order_id.order_line: + line_ids.append((0, 0, { + 'order_line_id': line.id, + 'product_id': line.product_id.id, + 'product_uom': line.product_uom.id, + 'price_unit': line.price_unit, + 'discount': line.discount, + 'tax_id': [(6, 0, line.tax_id.ids)], + })) + project.invoice_ids = [(0, 0, { + 'name': phase.display_name, + 'phase_id': phase.id, + 'project_invline_ids': line_ids, + }) for phase in project.project_phase_ids.filtered(lambda x: x.id not in phase_ids)] return res def name_get(self):