diff --git a/__manifest__.py b/__manifest__.py index 406d5a5..f522471 100644 --- a/__manifest__.py +++ b/__manifest__.py @@ -13,5 +13,6 @@ ], "data": [ 'security/ir.model.access.csv', + 'report/sale_report.xml' ] } diff --git a/models/sale_order.py b/models/sale_order.py index 835332a..8b90aa6 100644 --- a/models/sale_order.py +++ b/models/sale_order.py @@ -12,3 +12,22 @@ class SaleOrder(models.Model): self.website_order_line = self.order_line.filtered( lambda t: not t.pack_parent_line_id.exists(), ) + + +class SaleOrderLine(models.Model): + _inherit = "sale.order.line" + + @api.multi + def invoice_line_create(self, invoice_id, qty): + invoice_lines = self.env['account.invoice.line'] + for line in self: + # Check if line has a pack_parent_line_id + if self.pack_parent_line_id.exists(): + # Get the ref of parent pack + sale_id_ref = self.env['sale.order.line'].search([('id', '=', self.pack_parent_line_id.id)]) + # Check if product is Pack detailed and option Totalized + if sale_id_ref.product_id.product_tmpl_id.pack_type == 'detailed' and sale_id_ref.product_id.product_tmpl_id.pack_component_price == 'totalized': + return invoice_lines + invoice_lines = super(SaleOrderLine, self).invoice_line_create( + invoice_id, qty) + return invoice_lines \ No newline at end of file diff --git a/report/sale_report.xml b/report/sale_report.xml new file mode 100644 index 0000000..d352677 --- /dev/null +++ b/report/sale_report.xml @@ -0,0 +1,66 @@ + + + + +