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.
Files changed (57) hide show
  1. odoo/addons/contract/README.rst +14 -10
  2. odoo/addons/contract/__manifest__.py +3 -10
  3. odoo/addons/contract/controllers/main.py +1 -8
  4. odoo/addons/contract/data/contract_cron.xml +0 -2
  5. odoo/addons/contract/data/mail_template.xml +18 -17
  6. odoo/addons/contract/data/template_mail_notification.xml +1 -1
  7. odoo/addons/contract/i18n/contract.pot +141 -823
  8. odoo/addons/contract/migrations/18.0.2.0.0/pre-migrate.py +92 -0
  9. odoo/addons/contract/models/__init__.py +2 -6
  10. odoo/addons/contract/models/account_move.py +0 -8
  11. odoo/addons/contract/models/account_move_line.py +14 -0
  12. odoo/addons/contract/models/contract.py +266 -308
  13. odoo/addons/contract/models/contract_line.py +34 -861
  14. odoo/addons/contract/models/{contract_recurrency_mixin.py → contract_recurring_mixin.py} +101 -82
  15. odoo/addons/contract/models/contract_tag.py +1 -3
  16. odoo/addons/contract/models/contract_template.py +81 -2
  17. odoo/addons/contract/models/contract_template_line.py +249 -3
  18. odoo/addons/contract/report/contract_views.xml +0 -2
  19. odoo/addons/contract/report/report_contract.xml +13 -13
  20. odoo/addons/contract/security/contract_security.xml +6 -15
  21. odoo/addons/contract/security/contract_tag.xml +1 -3
  22. odoo/addons/contract/security/ir.model.access.csv +0 -2
  23. odoo/addons/contract/static/description/index.html +24 -18
  24. odoo/addons/contract/static/src/js/contract_portal_tour.esm.js +6 -3
  25. odoo/addons/contract/tests/test_contract.py +42 -927
  26. odoo/addons/contract/tests/test_multicompany.py +5 -4
  27. odoo/addons/contract/tests/test_portal.py +6 -3
  28. odoo/addons/contract/views/contract.xml +91 -234
  29. odoo/addons/contract/views/contract_line.xml +48 -117
  30. odoo/addons/contract/views/contract_portal_templates.xml +181 -222
  31. odoo/addons/contract/views/contract_tag.xml +3 -3
  32. odoo/addons/contract/views/contract_template.xml +100 -72
  33. odoo/addons/contract/views/contract_template_line.xml +76 -5
  34. odoo/addons/contract/views/res_config_settings.xml +5 -6
  35. odoo/addons/contract/views/res_partner_view.xml +0 -5
  36. odoo/addons/contract/wizards/__init__.py +0 -2
  37. odoo/addons/contract/wizards/contract_manually_create_invoice.py +6 -6
  38. odoo/addons/contract/wizards/contract_manually_create_invoice.xml +2 -3
  39. {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
  40. {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
  41. odoo/addons/contract/data/contract_renew_cron.xml +0 -14
  42. odoo/addons/contract/models/abstract_contract.py +0 -82
  43. odoo/addons/contract/models/abstract_contract_line.py +0 -271
  44. odoo/addons/contract/models/contract_line_constraints.py +0 -429
  45. odoo/addons/contract/models/contract_terminate_reason.py +0 -14
  46. odoo/addons/contract/models/res_company.py +0 -15
  47. odoo/addons/contract/models/res_config_settings.py +0 -18
  48. odoo/addons/contract/security/contract_terminate_reason.xml +0 -23
  49. odoo/addons/contract/security/groups.xml +0 -9
  50. odoo/addons/contract/views/abstract_contract_line.xml +0 -117
  51. odoo/addons/contract/views/contract_terminate_reason.xml +0 -38
  52. odoo/addons/contract/wizards/contract_contract_terminate.py +0 -42
  53. odoo/addons/contract/wizards/contract_contract_terminate.xml +0 -33
  54. odoo/addons/contract/wizards/contract_line_wizard.py +0 -53
  55. odoo/addons/contract/wizards/contract_line_wizard.xml +0 -111
  56. {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
  57. {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 contract_recurrency_mixin # should be first
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
+ )