From 54dd83f6ba7c6fe99257162be8cd6ecc83d4de41 Mon Sep 17 00:00:00 2001 From: Nikul Chaudhary Date: Tue, 17 Dec 2019 15:23:18 +0530 Subject: [PATCH] [FIX] Fixed contract code --- contract_sale/__manifest__.py | 1 + contract_sale/models/contract.py | 6 ++++-- contract_sale/models/sale_order.py | 18 +----------------- contract_sale/views/sale_order.xml | 15 +++++++++++++++ 4 files changed, 21 insertions(+), 19 deletions(-) create mode 100644 contract_sale/views/sale_order.xml diff --git a/contract_sale/__manifest__.py b/contract_sale/__manifest__.py index 3c011617..2bc6ba36 100644 --- a/contract_sale/__manifest__.py +++ b/contract_sale/__manifest__.py @@ -20,6 +20,7 @@ 'views/contract_line.xml', 'views/contract_template.xml', 'views/res_partner_view.xml', + 'views/sale_order.xml', ], 'license': 'AGPL-3', 'installable': True, diff --git a/contract_sale/models/contract.py b/contract_sale/models/contract.py index 173e7e74..3ff50095 100644 --- a/contract_sale/models/contract.py +++ b/contract_sale/models/contract.py @@ -11,10 +11,12 @@ class ContractContract(models.Model): _prepare_recurring_invoices_values(date_ref=date_ref) return invoices_values + @api.depends('contract_line_ids') def _compute_sale_order_count(self): super(ContractContract, self)._compute_sale_order_count() - contract_count = self.contract_line_ids.\ - mapped('sale_order_line_id.order_id.contract_id') + contract_count = len( + self.contract_line_ids. + mapped('sale_order_line_id.order_id.contract_id')) or 0 self.sale_order_count += contract_count @api.multi diff --git a/contract_sale/models/sale_order.py b/contract_sale/models/sale_order.py index 6c362ae7..b2a5b9c4 100644 --- a/contract_sale/models/sale_order.py +++ b/contract_sale/models/sale_order.py @@ -7,21 +7,5 @@ class SaleOrder(models.Model): contract_id = fields.Many2one( comodel_name="contract.contract", - string="Contract" + string="Contract", ) - - @api.multi - def action_confirm(self): - res = super(SaleOrder, self).action_confirm() - invoice_ids = self.env['account.invoice'].search([ - ('partner_id', '=', self.partner_id.id), - ('old_contract_id', '=', self.contract_id.id), - ('state', '=', 'draft')]) - - for invoice_id in invoice_ids: - for order_line in self.order_line: - for invoice_line in invoice_id.invoice_line_ids: - if order_line.product_id.id == invoice_line.product_id.id: - invoice_line.quantity += order_line.product_uom_qty - self.action_invoice_create() - return res diff --git a/contract_sale/views/sale_order.xml b/contract_sale/views/sale_order.xml new file mode 100644 index 00000000..76598696 --- /dev/null +++ b/contract_sale/views/sale_order.xml @@ -0,0 +1,15 @@ + + + + + sale.order.form.view + sale.order + + + + + + + + + \ No newline at end of file