Skip to content

Commit ef15d5c

Browse files
committed
fixup! Add error in case of dependency module version mismatch
1 parent cd48539 commit ef15d5c

File tree

4 files changed

+26
-14
lines changed

4 files changed

+26
-14
lines changed

sale_triple_discount/__init__.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1 +1,2 @@
11
from . import models
2+
from .hooks import post_load

sale_triple_discount/__manifest__.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,4 +16,5 @@
1616
"depends": ["sale_management", "account_invoice_triple_discount"],
1717
"data": ["views/sale_order_report.xml", "views/sale_order_view.xml"],
1818
"installable": True,
19+
"post_load": "post_load",
1920
}

sale_triple_discount/hooks.py

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
# Copyright 2024 Camptocamp SA
2+
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl)
3+
import logging
4+
5+
import pkg_resources
6+
7+
from odoo.modules.module import get_manifest
8+
9+
_logger = logging.getLogger(__name__)
10+
11+
12+
def post_load():
13+
account_invoice_triple_discount_manifest = get_manifest(
14+
"account_invoice_triple_discount"
15+
)
16+
if not pkg_resources.parse_version(
17+
account_invoice_triple_discount_manifest["version"]
18+
) >= pkg_resources.parse_version("16.0.2.0.0"):
19+
msg = (
20+
"Module sale_triple_discount requires module "
21+
"account_invoice_triple_discount >= 16.0.2.0.0"
22+
)
23+
_logger.error(msg)
24+
raise Exception(msg)

sale_triple_discount/models/sale_order_line.py

Lines changed: 0 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -3,15 +3,8 @@
33
# Copyright 2017 Tecnativa - David Vidal
44
# Copyright 2018 Simone Rubino - Agile Business Group
55
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
6-
import logging
7-
import pkg_resources
8-
96
from odoo import _, api, fields, models
107
from odoo.exceptions import ValidationError
11-
from odoo.modules.module import get_manifest
12-
13-
14-
_logger = logging.getLogger(__name__)
158

169

1710
class SaleOrderLine(models.Model):
@@ -167,10 +160,3 @@ def _prepare_invoice_line(self, **kwargs):
167160
else:
168161
res.update({"discount1": self.discount})
169162
return res
170-
171-
def _register_hook(self):
172-
account_invoice_triple_discount_manifest = get_manifest("account_invoice_triple_discount")
173-
if not pkg_resources.parse_version(
174-
account_invoice_triple_discount_manifest["version"]
175-
) >= pkg_resources.parse_version("16.0.2.0.0"):
176-
_logger.error("Module sale_triple_discount requires module account_invoice_triple_discount >= 16.0.2.0.0")

0 commit comments

Comments
 (0)