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
@@ -1,42 +0,0 @@
1
- # Copyright 2020 ACSONE SA/NV
2
- # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
3
-
4
- from odoo import fields, models
5
-
6
-
7
- class ContractContractTerminate(models.TransientModel):
8
- _name = "contract.contract.terminate"
9
- _description = "Terminate Contract Wizard"
10
-
11
- contract_id = fields.Many2one(
12
- comodel_name="contract.contract",
13
- string="Contract",
14
- required=True,
15
- ondelete="cascade",
16
- )
17
- terminate_reason_id = fields.Many2one(
18
- comodel_name="contract.terminate.reason",
19
- string="Termination Reason",
20
- required=True,
21
- ondelete="cascade",
22
- )
23
- terminate_comment = fields.Text(string="Termination Comment")
24
- terminate_date = fields.Date(string="Termination Date", required=True)
25
- terminate_comment_required = fields.Boolean(
26
- related="terminate_reason_id.terminate_comment_required"
27
- )
28
- terminate_with_last_date_invoiced = fields.Boolean(
29
- string="Terminate lines with last date invoiced",
30
- help="Terminate the contract lines with the last invoiced date if they cannot "
31
- "be terminated with the date reported in the wizard.",
32
- )
33
-
34
- def terminate_contract(self):
35
- for wizard in self:
36
- wizard.contract_id._terminate_contract(
37
- wizard.terminate_reason_id,
38
- wizard.terminate_comment,
39
- wizard.terminate_date,
40
- wizard.terminate_with_last_date_invoiced,
41
- )
42
- return True
@@ -1,33 +0,0 @@
1
- <?xml version="1.0" encoding="utf-8" ?>
2
- <!-- Copyright 2020 ACSONE SA/NV
3
- License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). -->
4
- <odoo>
5
- <record model="ir.ui.view" id="contract_contract_terminate_form_view">
6
- <field name="model">contract.contract.terminate</field>
7
- <field name="arch" type="xml">
8
- <form string="Contract Contract Terminate">
9
- <group>
10
- <field name="contract_id" invisible="True" />
11
- <field name="terminate_comment_required" invisible="True" />
12
- <field name="terminate_date" />
13
- <field name="terminate_reason_id" widget="selection" />
14
- <field
15
- name="terminate_comment"
16
- required="terminate_comment_required"
17
- />
18
- <field name="terminate_with_last_date_invoiced" />
19
- </group>
20
- <footer>
21
- <button
22
- name="terminate_contract"
23
- string="Terminate Contract"
24
- class="btn-primary"
25
- confirm="Are you sure you want to terminate this contract?"
26
- type="object"
27
- />
28
- <button string="Cancel" class="btn-default" special="cancel" />
29
- </footer>
30
- </form>
31
- </field>
32
- </record>
33
- </odoo>
@@ -1,53 +0,0 @@
1
- # Copyright 2018 ACSONE SA/NV
2
- # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
3
-
4
- from odoo import fields, models
5
-
6
-
7
- class ContractLineWizard(models.TransientModel):
8
- _name = "contract.line.wizard"
9
- _description = "Contract Line Wizard"
10
-
11
- date_start = fields.Date()
12
- date_end = fields.Date()
13
- recurring_next_date = fields.Date(string="Next Invoice Date")
14
- is_auto_renew = fields.Boolean(default=False)
15
- manual_renew_needed = fields.Boolean(
16
- default=False,
17
- help="This flag is used to make a difference between a definitive stop"
18
- "and temporary one for which a user is not able to plan a"
19
- "successor in advance",
20
- )
21
- contract_line_id = fields.Many2one(
22
- comodel_name="contract.line",
23
- string="Contract Line",
24
- required=True,
25
- index=True,
26
- ondelete="cascade",
27
- )
28
-
29
- def stop(self):
30
- for wizard in self:
31
- wizard.contract_line_id.stop(
32
- wizard.date_end, manual_renew_needed=wizard.manual_renew_needed
33
- )
34
- return True
35
-
36
- def plan_successor(self):
37
- for wizard in self:
38
- wizard.contract_line_id.plan_successor(
39
- wizard.date_start, wizard.date_end, wizard.is_auto_renew
40
- )
41
- return True
42
-
43
- def stop_plan_successor(self):
44
- for wizard in self:
45
- wizard.contract_line_id.stop_plan_successor(
46
- wizard.date_start, wizard.date_end, wizard.is_auto_renew
47
- )
48
- return True
49
-
50
- def uncancel(self):
51
- for wizard in self:
52
- wizard.contract_line_id.uncancel(wizard.recurring_next_date)
53
- return True
@@ -1,111 +0,0 @@
1
- <?xml version="1.0" encoding="utf-8" ?>
2
- <!-- Copyright 2018 ACSONE SA/NV
3
- License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). -->
4
- <odoo>
5
- <record model="ir.ui.view" id="contract_line_wizard_stop_form_view">
6
- <field name="name">contract.line.stop.wizard.form (in contract)</field>
7
- <field name="model">contract.line.wizard</field>
8
- <field name="arch" type="xml">
9
- <form>
10
- <group>
11
- <field name="contract_line_id" invisible="True" />
12
- <field string="Stop Date" name="date_end" required="True" />
13
- <field
14
- string="Is suspension without end date"
15
- name="manual_renew_needed"
16
- />
17
- </group>
18
- <footer>
19
- <button
20
- name="stop"
21
- string="Validate"
22
- class="btn-primary"
23
- type="object"
24
- />
25
- <button string="Cancel" class="btn-default" special="cancel" />
26
- </footer>
27
- </form>
28
- </field>
29
- </record>
30
- <record model="ir.ui.view" id="contract_line_wizard_plan_successor_form_view">
31
- <field
32
- name="name"
33
- >contract.line.plan_successor.wizard.form (in contract)</field>
34
- <field name="model">contract.line.wizard</field>
35
- <field name="arch" type="xml">
36
- <form>
37
- <group>
38
- <field name="contract_line_id" invisible="True" />
39
- <field name="date_start" required="True" />
40
- <field name="date_end" required="is_auto_renew" />
41
- <field name="is_auto_renew" />
42
- </group>
43
- <footer>
44
- <button
45
- name="plan_successor"
46
- string="Validate"
47
- class="btn-primary"
48
- type="object"
49
- />
50
- <button string="Cancel" class="btn-default" special="cancel" />
51
- </footer>
52
- </form>
53
- </field>
54
- </record>
55
- <record model="ir.ui.view" id="contract_line_wizard_stop_plan_successor_form_view">
56
- <field
57
- name="name"
58
- >contract.line.stop_plan_successor.wizard.form (in contract)</field>
59
- <field name="model">contract.line.wizard</field>
60
- <field name="arch" type="xml">
61
- <form>
62
- <group>
63
- <field name="contract_line_id" invisible="True" />
64
- <field
65
- string="Suspension Start Date"
66
- name="date_start"
67
- required="True"
68
- />
69
- <field
70
- string="Suspension End Date"
71
- name="date_end"
72
- required="True"
73
- />
74
- <field name="is_auto_renew" invisible="1" />
75
- </group>
76
- <footer>
77
- <button
78
- name="stop_plan_successor"
79
- string="Validate"
80
- class="btn-primary"
81
- type="object"
82
- />
83
- <button string="Cancel" class="btn-default" special="cancel" />
84
- </footer>
85
- </form>
86
- </field>
87
- </record>
88
- <record model="ir.ui.view" id="contract_line_wizard_uncancel_form_view">
89
- <field
90
- name="name"
91
- >contract.line.stop_plan_successor.wizard.form (in contract)</field>
92
- <field name="model">contract.line.wizard</field>
93
- <field name="arch" type="xml">
94
- <form>
95
- <group>
96
- <field name="contract_line_id" invisible="True" />
97
- <field name="recurring_next_date" required="True" />
98
- </group>
99
- <footer>
100
- <button
101
- name="uncancel"
102
- string="Validate"
103
- class="btn-primary"
104
- type="object"
105
- />
106
- <button string="Cancel" class="btn-default" special="cancel" />
107
- </footer>
108
- </form>
109
- </field>
110
- </record>
111
- </odoo>