odoo-addon-contract 17.0.1.4.5.1__py3-none-any.whl → 18.0.2.0.0.9__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- odoo/addons/contract/README.rst +14 -10
- odoo/addons/contract/__manifest__.py +3 -10
- odoo/addons/contract/controllers/main.py +1 -8
- odoo/addons/contract/data/contract_cron.xml +0 -2
- odoo/addons/contract/data/mail_template.xml +18 -17
- odoo/addons/contract/data/template_mail_notification.xml +1 -1
- odoo/addons/contract/i18n/contract.pot +141 -823
- odoo/addons/contract/migrations/18.0.2.0.0/pre-migrate.py +92 -0
- odoo/addons/contract/models/__init__.py +2 -6
- odoo/addons/contract/models/account_move.py +0 -8
- odoo/addons/contract/models/account_move_line.py +14 -0
- odoo/addons/contract/models/contract.py +266 -308
- odoo/addons/contract/models/contract_line.py +34 -861
- odoo/addons/contract/models/{contract_recurrency_mixin.py → contract_recurring_mixin.py} +101 -82
- odoo/addons/contract/models/contract_tag.py +1 -3
- odoo/addons/contract/models/contract_template.py +81 -2
- odoo/addons/contract/models/contract_template_line.py +249 -3
- odoo/addons/contract/report/contract_views.xml +0 -2
- odoo/addons/contract/report/report_contract.xml +13 -13
- odoo/addons/contract/security/contract_security.xml +6 -15
- odoo/addons/contract/security/contract_tag.xml +1 -3
- odoo/addons/contract/security/ir.model.access.csv +0 -2
- odoo/addons/contract/static/description/index.html +24 -18
- odoo/addons/contract/static/src/js/contract_portal_tour.esm.js +6 -3
- odoo/addons/contract/tests/test_contract.py +42 -927
- odoo/addons/contract/tests/test_multicompany.py +5 -4
- odoo/addons/contract/tests/test_portal.py +6 -3
- odoo/addons/contract/views/contract.xml +91 -234
- odoo/addons/contract/views/contract_line.xml +48 -117
- odoo/addons/contract/views/contract_portal_templates.xml +181 -222
- odoo/addons/contract/views/contract_tag.xml +3 -3
- odoo/addons/contract/views/contract_template.xml +100 -72
- odoo/addons/contract/views/contract_template_line.xml +76 -5
- odoo/addons/contract/views/res_config_settings.xml +5 -6
- odoo/addons/contract/views/res_partner_view.xml +0 -5
- odoo/addons/contract/wizards/__init__.py +0 -2
- odoo/addons/contract/wizards/contract_manually_create_invoice.py +6 -6
- odoo/addons/contract/wizards/contract_manually_create_invoice.xml +2 -3
- {odoo_addon_contract-17.0.1.4.5.1.dist-info → odoo_addon_contract-18.0.2.0.0.9.dist-info}/METADATA +17 -13
- {odoo_addon_contract-17.0.1.4.5.1.dist-info → odoo_addon_contract-18.0.2.0.0.9.dist-info}/RECORD +42 -55
- odoo/addons/contract/data/contract_renew_cron.xml +0 -14
- odoo/addons/contract/models/abstract_contract.py +0 -82
- odoo/addons/contract/models/abstract_contract_line.py +0 -271
- odoo/addons/contract/models/contract_line_constraints.py +0 -429
- odoo/addons/contract/models/contract_terminate_reason.py +0 -14
- odoo/addons/contract/models/res_company.py +0 -15
- odoo/addons/contract/models/res_config_settings.py +0 -18
- odoo/addons/contract/security/contract_terminate_reason.xml +0 -23
- odoo/addons/contract/security/groups.xml +0 -9
- odoo/addons/contract/views/abstract_contract_line.xml +0 -117
- odoo/addons/contract/views/contract_terminate_reason.xml +0 -38
- odoo/addons/contract/wizards/contract_contract_terminate.py +0 -42
- odoo/addons/contract/wizards/contract_contract_terminate.xml +0 -33
- odoo/addons/contract/wizards/contract_line_wizard.py +0 -53
- odoo/addons/contract/wizards/contract_line_wizard.xml +0 -111
- {odoo_addon_contract-17.0.1.4.5.1.dist-info → odoo_addon_contract-18.0.2.0.0.9.dist-info}/WHEEL +0 -0
- {odoo_addon_contract-17.0.1.4.5.1.dist-info → odoo_addon_contract-18.0.2.0.0.9.dist-info}/top_level.txt +0 -0
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
# Copyright 2025 ACSONE SA/NV
|
|
2
|
+
# License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl).
|
|
3
|
+
from openupgradelib import openupgrade
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
@openupgrade.migrate()
|
|
7
|
+
def migrate(env, version):
|
|
8
|
+
env.cr.execute(
|
|
9
|
+
"""
|
|
10
|
+
DELETE FROM ir_model
|
|
11
|
+
WHERE model IN
|
|
12
|
+
('contract.abstract.contract',
|
|
13
|
+
'contract.abstract.contract.line',
|
|
14
|
+
'contract.recurrency.mixin',
|
|
15
|
+
'contract.recurrency.basic.mixin'
|
|
16
|
+
);
|
|
17
|
+
"""
|
|
18
|
+
)
|
|
19
|
+
views_to_delete = ["contract.contract_template_line_form_view"]
|
|
20
|
+
openupgrade.delete_records_safely_by_xml_id(env, views_to_delete, True)
|
|
21
|
+
all_moved_fields = {
|
|
22
|
+
"contract_line_successor": {
|
|
23
|
+
"contract.line": [
|
|
24
|
+
"termination_notice_date",
|
|
25
|
+
"successor_contract_line_id",
|
|
26
|
+
"predecessor_contract_line_id",
|
|
27
|
+
"manual_renew_needed",
|
|
28
|
+
"is_plan_successor_allowed",
|
|
29
|
+
"is_stop_plan_successor_allowed",
|
|
30
|
+
"is_stop_allowed",
|
|
31
|
+
"is_cancel_allowed",
|
|
32
|
+
"is_un_cancel_allowed",
|
|
33
|
+
"state",
|
|
34
|
+
"is_auto_renew",
|
|
35
|
+
"auto_renew_interval",
|
|
36
|
+
"auto_renew_rule_type",
|
|
37
|
+
"termination_notice_interval",
|
|
38
|
+
"termination_notice_rule_type",
|
|
39
|
+
],
|
|
40
|
+
"contract.template.line": [
|
|
41
|
+
"is_auto_renew",
|
|
42
|
+
"auto_renew_interval",
|
|
43
|
+
"auto_renew_rule_type",
|
|
44
|
+
"termination_notice_interval",
|
|
45
|
+
"termination_notice_rule_type",
|
|
46
|
+
],
|
|
47
|
+
},
|
|
48
|
+
"contract_termination": {
|
|
49
|
+
"contract.contract": [
|
|
50
|
+
"is_terminated",
|
|
51
|
+
"terminate_reason_id",
|
|
52
|
+
"terminate_comment",
|
|
53
|
+
"terminate_date",
|
|
54
|
+
]
|
|
55
|
+
},
|
|
56
|
+
}
|
|
57
|
+
for module_name, moved_fields_by_model in all_moved_fields.items():
|
|
58
|
+
for model_name, moved_fields in moved_fields_by_model.items():
|
|
59
|
+
openupgrade.update_module_moved_fields(
|
|
60
|
+
env.cr, model_name, moved_fields, "contract", module_name
|
|
61
|
+
)
|
|
62
|
+
all_moved_models = {
|
|
63
|
+
"contract_line_successor": ["contract.line.wizard"],
|
|
64
|
+
"contract_termination": [
|
|
65
|
+
"contract.terminate.reason",
|
|
66
|
+
"contract.contract.terminate",
|
|
67
|
+
],
|
|
68
|
+
}
|
|
69
|
+
for new_module, moved_models in all_moved_models.items():
|
|
70
|
+
for moved_model in moved_models:
|
|
71
|
+
openupgrade.update_module_moved_models(
|
|
72
|
+
env.cr, moved_model, "contract", new_module
|
|
73
|
+
)
|
|
74
|
+
all_moved_xml_ids = {
|
|
75
|
+
"contract_line_successor": ["contract_line_wizard"],
|
|
76
|
+
"contract_termination": [
|
|
77
|
+
"contract_terminate_reason_access_manager",
|
|
78
|
+
"contract_terminate_reason_access_user",
|
|
79
|
+
"can_terminate_contract",
|
|
80
|
+
"can_terminate_contract",
|
|
81
|
+
"contract_contract_terminate_wizard",
|
|
82
|
+
],
|
|
83
|
+
}
|
|
84
|
+
xmlids_spec = []
|
|
85
|
+
for new_module, moved_xml_ids in all_moved_xml_ids.items():
|
|
86
|
+
xmlids_spec.extend(
|
|
87
|
+
[
|
|
88
|
+
(f"contract.{xml_id}", f"{new_module}.{xml_id}")
|
|
89
|
+
for xml_id in moved_xml_ids
|
|
90
|
+
]
|
|
91
|
+
)
|
|
92
|
+
openupgrade.rename_xmlids(env.cr, xmlids_spec=xmlids_spec)
|
|
@@ -1,16 +1,12 @@
|
|
|
1
1
|
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
|
|
2
2
|
|
|
3
|
-
from . import
|
|
4
|
-
from . import abstract_contract
|
|
5
|
-
from . import abstract_contract_line
|
|
3
|
+
from . import contract_recurring_mixin
|
|
6
4
|
from . import contract_template
|
|
7
5
|
from . import contract
|
|
8
6
|
from . import contract_template_line
|
|
9
7
|
from . import contract_line
|
|
10
8
|
from . import contract_modification
|
|
11
9
|
from . import account_move
|
|
10
|
+
from . import account_move_line
|
|
12
11
|
from . import res_partner
|
|
13
12
|
from . import contract_tag
|
|
14
|
-
from . import res_company
|
|
15
|
-
from . import res_config_settings
|
|
16
|
-
from . import contract_terminate_reason
|
|
@@ -11,11 +11,3 @@ class AccountMove(models.Model):
|
|
|
11
11
|
|
|
12
12
|
# We keep this field for migration purpose
|
|
13
13
|
old_contract_id = fields.Many2one("contract.contract")
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
class AccountMoveLine(models.Model):
|
|
17
|
-
_inherit = "account.move.line"
|
|
18
|
-
|
|
19
|
-
contract_line_id = fields.Many2one(
|
|
20
|
-
"contract.line", string="Contract Line", index=True
|
|
21
|
-
)
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
# Copyright 2016 Tecnativa - Carlos Dauden
|
|
2
|
+
# Copyright 2018 ACSONE SA/NV.
|
|
3
|
+
# Copyright 2020 Tecnativa - Pedro M. Baeza
|
|
4
|
+
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
|
|
5
|
+
|
|
6
|
+
from odoo import fields, models
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
class AccountMoveLine(models.Model):
|
|
10
|
+
_inherit = "account.move.line"
|
|
11
|
+
|
|
12
|
+
contract_line_id = fields.Many2one(
|
|
13
|
+
"contract.line", string="Contract Line", index=True
|
|
14
|
+
)
|