From 2c474e55ca91ca3bdcab39bc2a10ab23d57d9284 Mon Sep 17 00:00:00 2001 From: Carolina Fernandez Date: Tue, 10 Oct 2023 09:09:36 -0300 Subject: [PATCH] [MIG] contract_sale_invoicing: Migration to 15.0 TT45293 Co-Authored-By: Pedro M. Baeza --- contract_sale_invoicing/__init__.py | 1 - contract_sale_invoicing/__manifest__.py | 3 ++- contract_sale_invoicing/models/contract.py | 7 ++----- .../readme/CONTRIBUTORS.rst | 2 ++ .../static/description/index.html | 1 + .../tests/test_contract_sale_invoicing.py | 18 ++++++++++++++++-- 6 files changed, 23 insertions(+), 9 deletions(-) diff --git a/contract_sale_invoicing/__init__.py b/contract_sale_invoicing/__init__.py index c7818ff10..31660d6a9 100644 --- a/contract_sale_invoicing/__init__.py +++ b/contract_sale_invoicing/__init__.py @@ -1,4 +1,3 @@ # License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). from . import models -from . import tests diff --git a/contract_sale_invoicing/__manifest__.py b/contract_sale_invoicing/__manifest__.py index cbd303fe3..76aa1d503 100644 --- a/contract_sale_invoicing/__manifest__.py +++ b/contract_sale_invoicing/__manifest__.py @@ -1,9 +1,10 @@ # Copyright 2018 Tecnativa - Carlos Dauden +# Copyright 2023 Tecnativa - Carolina Fernandez # License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). { "name": "Contract Invoicing of Pending Sales Orders", "summary": "Include sales to invoice in contract invoice creation", - "version": "12.0.1.0.4", + "version": "15.0.1.0.0", "category": "Contract Management", "website": "https://github.com/OCA/contract", "author": "Tecnativa, " "Odoo Community Association (OCA)", diff --git a/contract_sale_invoicing/models/contract.py b/contract_sale_invoicing/models/contract.py index 2cb5c427f..cabdaaaae 100644 --- a/contract_sale_invoicing/models/contract.py +++ b/contract_sale_invoicing/models/contract.py @@ -1,7 +1,7 @@ # Copyright 2018 Tecnativa - Carlos Dauden # License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). -from odoo import api, fields, models +from odoo import fields, models class ContractContract(models.Model): @@ -13,7 +13,6 @@ class ContractContract(models.Model): "in contract invoice creation.", ) - @api.multi def _recurring_create_invoice(self, date_ref=False): invoices = super()._recurring_create_invoice(date_ref) for contract in self: @@ -36,7 +35,5 @@ class ContractContract(models.Model): ] ) if sales: - invoice_ids = sales.action_invoice_create() - invoices |= self.env["account.invoice"].browse(invoice_ids)[:1] - + invoices |= sales._create_invoices() return invoices diff --git a/contract_sale_invoicing/readme/CONTRIBUTORS.rst b/contract_sale_invoicing/readme/CONTRIBUTORS.rst index 0f1979501..f47d6e5bb 100644 --- a/contract_sale_invoicing/readme/CONTRIBUTORS.rst +++ b/contract_sale_invoicing/readme/CONTRIBUTORS.rst @@ -1,4 +1,6 @@ * `Tecnativa `_: * Carlos Dauden + * Carolina Fernandez + * Pedro M. Baeza * Souheil Bejaoui diff --git a/contract_sale_invoicing/static/description/index.html b/contract_sale_invoicing/static/description/index.html index 15b5c24f4..b5940f171 100644 --- a/contract_sale_invoicing/static/description/index.html +++ b/contract_sale_invoicing/static/description/index.html @@ -419,6 +419,7 @@ If you spotted it first, help us to smash it by providing a detailed and welcome
  • Tecnativa:
    • Carlos Dauden
    • +
    • Carolina Fernandez
  • Souheil Bejaoui <souheil.bejaoui@acsone.eu>
  • diff --git a/contract_sale_invoicing/tests/test_contract_sale_invoicing.py b/contract_sale_invoicing/tests/test_contract_sale_invoicing.py index e9eb68f64..f0b7a83c7 100644 --- a/contract_sale_invoicing/tests/test_contract_sale_invoicing.py +++ b/contract_sale_invoicing/tests/test_contract_sale_invoicing.py @@ -1,13 +1,28 @@ # Copyright 2018 Tecnativa - Carlos Dauden +# Copyright 2023 Tecnativa - Carolina Fernandez +# Copyright 2023 Tecnativa - Pedro M. Baeza # License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). +from freezegun import freeze_time + from odoo.addons.contract.tests.test_contract import TestContractBase +@freeze_time("2016-02-28") class TestContractSaleInvoicing(TestContractBase): @classmethod def setUpClass(cls): - super(TestContractSaleInvoicing, cls).setUpClass() + super().setUpClass() + cls.env = cls.env( + context=dict( + cls.env.context, + mail_create_nolog=True, + mail_create_nosubscribe=True, + mail_notrack=True, + no_reset_password=True, + tracking_disable=True, + ) + ) cls.contract.group_id = cls.env["account.analytic.account"].search([], limit=1) cls.product_so = cls.env.ref("product.product_product_1") cls.product_so.invoice_policy = "order" @@ -31,7 +46,6 @@ class TestContractSaleInvoicing(TestContractBase): ], "pricelist_id": cls.partner.property_product_pricelist.id, "analytic_account_id": cls.contract.group_id.id, - "date_order": "2016-02-15", } )