odoo-addon-contract 17.0.1.4.5__py3-none-any.whl → 18.0.2.0.0.8__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 (58) 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/ca.po +120 -33
  8. odoo/addons/contract/i18n/contract.pot +141 -823
  9. odoo/addons/contract/migrations/18.0.2.0.0/pre-migrate.py +90 -0
  10. odoo/addons/contract/models/__init__.py +2 -6
  11. odoo/addons/contract/models/account_move.py +0 -8
  12. odoo/addons/contract/models/account_move_line.py +14 -0
  13. odoo/addons/contract/models/contract.py +266 -308
  14. odoo/addons/contract/models/contract_line.py +34 -861
  15. odoo/addons/contract/models/{contract_recurrency_mixin.py → contract_recurring_mixin.py} +101 -82
  16. odoo/addons/contract/models/contract_tag.py +1 -3
  17. odoo/addons/contract/models/contract_template.py +81 -2
  18. odoo/addons/contract/models/contract_template_line.py +249 -3
  19. odoo/addons/contract/report/contract_views.xml +0 -2
  20. odoo/addons/contract/report/report_contract.xml +13 -13
  21. odoo/addons/contract/security/contract_security.xml +6 -15
  22. odoo/addons/contract/security/contract_tag.xml +1 -3
  23. odoo/addons/contract/security/ir.model.access.csv +0 -2
  24. odoo/addons/contract/static/description/index.html +24 -18
  25. odoo/addons/contract/static/src/js/contract_portal_tour.esm.js +6 -3
  26. odoo/addons/contract/tests/test_contract.py +42 -927
  27. odoo/addons/contract/tests/test_multicompany.py +5 -4
  28. odoo/addons/contract/tests/test_portal.py +6 -3
  29. odoo/addons/contract/views/contract.xml +91 -234
  30. odoo/addons/contract/views/contract_line.xml +48 -117
  31. odoo/addons/contract/views/contract_portal_templates.xml +181 -222
  32. odoo/addons/contract/views/contract_tag.xml +3 -3
  33. odoo/addons/contract/views/contract_template.xml +100 -72
  34. odoo/addons/contract/views/contract_template_line.xml +76 -5
  35. odoo/addons/contract/views/res_config_settings.xml +5 -6
  36. odoo/addons/contract/views/res_partner_view.xml +0 -5
  37. odoo/addons/contract/wizards/__init__.py +0 -2
  38. odoo/addons/contract/wizards/contract_manually_create_invoice.py +6 -6
  39. odoo/addons/contract/wizards/contract_manually_create_invoice.xml +2 -3
  40. {odoo_addon_contract-17.0.1.4.5.dist-info → odoo_addon_contract-18.0.2.0.0.8.dist-info}/METADATA +17 -13
  41. {odoo_addon_contract-17.0.1.4.5.dist-info → odoo_addon_contract-18.0.2.0.0.8.dist-info}/RECORD +43 -56
  42. odoo/addons/contract/data/contract_renew_cron.xml +0 -14
  43. odoo/addons/contract/models/abstract_contract.py +0 -82
  44. odoo/addons/contract/models/abstract_contract_line.py +0 -271
  45. odoo/addons/contract/models/contract_line_constraints.py +0 -429
  46. odoo/addons/contract/models/contract_terminate_reason.py +0 -14
  47. odoo/addons/contract/models/res_company.py +0 -15
  48. odoo/addons/contract/models/res_config_settings.py +0 -18
  49. odoo/addons/contract/security/contract_terminate_reason.xml +0 -23
  50. odoo/addons/contract/security/groups.xml +0 -9
  51. odoo/addons/contract/views/abstract_contract_line.xml +0 -117
  52. odoo/addons/contract/views/contract_terminate_reason.xml +0 -38
  53. odoo/addons/contract/wizards/contract_contract_terminate.py +0 -42
  54. odoo/addons/contract/wizards/contract_contract_terminate.xml +0 -33
  55. odoo/addons/contract/wizards/contract_line_wizard.py +0 -53
  56. odoo/addons/contract/wizards/contract_line_wizard.xml +0 -111
  57. {odoo_addon_contract-17.0.1.4.5.dist-info → odoo_addon_contract-18.0.2.0.0.8.dist-info}/WHEEL +0 -0
  58. {odoo_addon_contract-17.0.1.4.5.dist-info → odoo_addon_contract-18.0.2.0.0.8.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,90 @@
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
+ all_moved_fields = {
20
+ "contract_line_successor": {
21
+ "contract.line": [
22
+ "termination_notice_date",
23
+ "successor_contract_line_id",
24
+ "predecessor_contract_line_id",
25
+ "manual_renew_needed",
26
+ "is_plan_successor_allowed",
27
+ "is_stop_plan_successor_allowed",
28
+ "is_stop_allowed",
29
+ "is_cancel_allowed",
30
+ "is_un_cancel_allowed",
31
+ "state",
32
+ "is_auto_renew",
33
+ "auto_renew_interval",
34
+ "auto_renew_rule_type",
35
+ "termination_notice_interval",
36
+ "termination_notice_rule_type",
37
+ ],
38
+ "contract.template.line": [
39
+ "is_auto_renew",
40
+ "auto_renew_interval",
41
+ "auto_renew_rule_type",
42
+ "termination_notice_interval",
43
+ "termination_notice_rule_type",
44
+ ],
45
+ },
46
+ "contract_termination": {
47
+ "contract.contract": [
48
+ "is_terminated",
49
+ "terminate_reason_id",
50
+ "terminate_comment",
51
+ "terminate_date",
52
+ ]
53
+ },
54
+ }
55
+ for module_name, moved_fields_by_model in all_moved_fields.items():
56
+ for model_name, moved_fields in moved_fields_by_model.items():
57
+ openupgrade.update_module_moved_fields(
58
+ env.cr, model_name, moved_fields, "contract", module_name
59
+ )
60
+ all_moved_models = {
61
+ "contract_line_successor": ["contract.line.wizard"],
62
+ "contract_termination": [
63
+ "contract.terminate.reason",
64
+ "contract.contract.terminate",
65
+ ],
66
+ }
67
+ for new_module, moved_models in all_moved_models.items():
68
+ for moved_model in moved_models:
69
+ openupgrade.update_module_moved_models(
70
+ env.cr, moved_model, "contract", new_module
71
+ )
72
+ all_moved_xml_ids = {
73
+ "contract_line_successor": ["contract_line_wizard"],
74
+ "contract_termination": [
75
+ "contract_terminate_reason_access_manager",
76
+ "contract_terminate_reason_access_user",
77
+ "can_terminate_contract",
78
+ "can_terminate_contract",
79
+ "contract_contract_terminate_wizard",
80
+ ],
81
+ }
82
+ xmlids_spec = []
83
+ for new_module, moved_xml_ids in all_moved_xml_ids.items():
84
+ xmlids_spec.extend(
85
+ [
86
+ (f"contract.{xml_id}", f"{new_module}.{xml_id}")
87
+ for xml_id in moved_xml_ids
88
+ ]
89
+ )
90
+ 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
+ )