odoo-addon-contract-line-successor 18.0.1.0.0.2__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 (33) hide show
  1. odoo/addons/contract_line_successor/README.rst +168 -0
  2. odoo/addons/contract_line_successor/__init__.py +2 -0
  3. odoo/addons/contract_line_successor/__manifest__.py +24 -0
  4. odoo/addons/contract_line_successor/data/contract_renew_cron.xml +12 -0
  5. odoo/addons/contract_line_successor/i18n/contract_line_successor.pot +532 -0
  6. odoo/addons/contract_line_successor/models/__init__.py +5 -0
  7. odoo/addons/contract_line_successor/models/contract_contract.py +25 -0
  8. odoo/addons/contract_line_successor/models/contract_line.py +835 -0
  9. odoo/addons/contract_line_successor/models/contract_line_constraints.py +429 -0
  10. odoo/addons/contract_line_successor/models/contract_template_line.py +35 -0
  11. odoo/addons/contract_line_successor/models/res_company.py +15 -0
  12. odoo/addons/contract_line_successor/models/res_config_settings.py +18 -0
  13. odoo/addons/contract_line_successor/readme/CONFIGURE.md +10 -0
  14. odoo/addons/contract_line_successor/readme/CONTRIBUTORS.md +1 -0
  15. odoo/addons/contract_line_successor/readme/DESCRIPTION.md +40 -0
  16. odoo/addons/contract_line_successor/readme/USAGE.md +6 -0
  17. odoo/addons/contract_line_successor/security/ir.model.access.csv +2 -0
  18. odoo/addons/contract_line_successor/static/description/icon.png +0 -0
  19. odoo/addons/contract_line_successor/static/description/index.html +523 -0
  20. odoo/addons/contract_line_successor/tests/__init__.py +1 -0
  21. odoo/addons/contract_line_successor/tests/test_contract.py +847 -0
  22. odoo/addons/contract_line_successor/views/contract_contract.xml +73 -0
  23. odoo/addons/contract_line_successor/views/contract_line.xml +134 -0
  24. odoo/addons/contract_line_successor/views/contract_template.xml +19 -0
  25. odoo/addons/contract_line_successor/views/contract_template_line.xml +50 -0
  26. odoo/addons/contract_line_successor/views/res_config_settings.xml +16 -0
  27. odoo/addons/contract_line_successor/wizards/__init__.py +1 -0
  28. odoo/addons/contract_line_successor/wizards/contract_line_wizard.py +53 -0
  29. odoo/addons/contract_line_successor/wizards/contract_line_wizard.xml +110 -0
  30. odoo_addon_contract_line_successor-18.0.1.0.0.2.dist-info/METADATA +185 -0
  31. odoo_addon_contract_line_successor-18.0.1.0.0.2.dist-info/RECORD +33 -0
  32. odoo_addon_contract_line_successor-18.0.1.0.0.2.dist-info/WHEEL +5 -0
  33. odoo_addon_contract_line_successor-18.0.1.0.0.2.dist-info/top_level.txt +1 -0
@@ -0,0 +1,168 @@
1
+ .. image:: https://odoo-community.org/readme-banner-image
2
+ :target: https://odoo-community.org/get-involved?utm_source=readme
3
+ :alt: Odoo Community Association
4
+
5
+ =======================
6
+ Contract Line Successor
7
+ =======================
8
+
9
+ ..
10
+ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
11
+ !! This file is generated by oca-gen-addon-readme !!
12
+ !! changes will be overwritten. !!
13
+ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
14
+ !! source digest: sha256:8e82b783a2b08e6cd099e1709b74f04fb704bec1cafd7770c03eccc682f828a2
15
+ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
16
+
17
+ .. |badge1| image:: https://img.shields.io/badge/maturity-Production%2FStable-green.png
18
+ :target: https://odoo-community.org/page/development-status
19
+ :alt: Production/Stable
20
+ .. |badge2| image:: https://img.shields.io/badge/license-AGPL--3-blue.png
21
+ :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html
22
+ :alt: License: AGPL-3
23
+ .. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fcontract-lightgray.png?logo=github
24
+ :target: https://github.com/OCA/contract/tree/18.0/contract_line_successor
25
+ :alt: OCA/contract
26
+ .. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png
27
+ :target: https://translation.odoo-community.org/projects/contract-18-0/contract-18-0-contract_line_successor
28
+ :alt: Translate me on Weblate
29
+ .. |badge5| image:: https://img.shields.io/badge/runboat-Try%20me-875A7B.png
30
+ :target: https://runboat.odoo-community.org/builds?repo=OCA/contract&target_branch=18.0
31
+ :alt: Try me on Runboat
32
+
33
+ |badge1| |badge2| |badge3| |badge4| |badge5|
34
+
35
+ | **Contract Line Successor** extends ``contract.line`` model to support
36
+ advanced contract lifecycle management, including suspension,
37
+ successor planning, cancellation, and renewal.
38
+ | It provides a flexible and robust framework for managing complex
39
+ contract line scenarios in a clean and structured way.
40
+
41
+ Features
42
+ --------
43
+
44
+ - **Successor and Predecessor Management**
45
+
46
+ - Link contract lines with successor and predecessor lines.
47
+ - Plan successors automatically or manually after a stop or
48
+ suspension.
49
+
50
+ - **Contract Line Lifecycle States**
51
+
52
+ - Manage contract lines with the following computed states:
53
+
54
+ - ``Upcoming``
55
+ - ``In-Progress``
56
+ - ``To Renew``
57
+ - ``Upcoming Close``
58
+ - ``Closed``
59
+ - ``Canceled``
60
+
61
+ - **Lifecycle Operations**
62
+
63
+ - Stop a contract line.
64
+ - Plan a successor for a contract line.
65
+ - Stop and plan a successor in one operation (useful for suspensions).
66
+ - Cancel and un-cancel contract lines.
67
+ - Renew contract lines automatically (new line or extension).
68
+
69
+ - **Auto-Renewal Handling**
70
+
71
+ - Auto-renewal based on company settings (extend existing line or
72
+ create a new one).
73
+ - Cron job to automate renewal of eligible contract lines.
74
+
75
+ - **Data Integrity and Validation**
76
+
77
+ - Prevent invalid successor or predecessor configurations.
78
+ - Validate state transitions and date overlaps.
79
+ - Ensure clean renewal and cancellation workflows.
80
+
81
+ - **Audit Trail**
82
+
83
+ - Automatic posting of chatter messages for lifecycle events like
84
+ stops, renewals, suspensions, cancellations, etc.
85
+
86
+ **Table of contents**
87
+
88
+ .. contents::
89
+ :local:
90
+
91
+ Configuration
92
+ =============
93
+
94
+ - | **Auto-Renewal Strategy**
95
+ | In the company settings, define whether renewing a contract line:
96
+
97
+ - Extends the current line (updates ``date_end``),
98
+ - or creates a new successor contract line.
99
+
100
+ | Field:
101
+ | ``Company > Configuration > Contracts > Create new contract line at renewal``
102
+
103
+ - | **Scheduled Actions**
104
+ | Ensure the scheduled action ``Contract Line: Auto Renew`` is
105
+ activated if you want automatic renewal without manual intervention.
106
+
107
+ Usage
108
+ =====
109
+
110
+ 1. **Select a contract** and enable the option **"Recurrence at line
111
+ level?"**.
112
+ 2. Once enabled, you will have access to several actions at the contract
113
+ line level:
114
+
115
+ - **Stop** a contract line and optionally **plan a successor**.
116
+ - **Handle temporary suspensions** and **resume** the contract line
117
+ after the suspension period.
118
+ - **Cancel** and **un-cancel** contract lines if necessary.
119
+ - **Renew** contract lines either by **extending** the current line
120
+ or by **creating a new successor line** automatically.
121
+
122
+ Bug Tracker
123
+ ===========
124
+
125
+ Bugs are tracked on `GitHub Issues <https://github.com/OCA/contract/issues>`_.
126
+ In case of trouble, please check there if your issue has already been reported.
127
+ If you spotted it first, help us to smash it by providing a detailed and welcomed
128
+ `feedback <https://github.com/OCA/contract/issues/new?body=module:%20contract_line_successor%0Aversion:%2018.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_.
129
+
130
+ Do not contact contributors directly about support or help with technical issues.
131
+
132
+ Credits
133
+ =======
134
+
135
+ Authors
136
+ -------
137
+
138
+ * ACSONE SA/NV
139
+
140
+ Contributors
141
+ ------------
142
+
143
+ - Souheil Bejaoui souheil.bejaoui@acsone.eu (ACSONE SA/NV)
144
+
145
+ Maintainers
146
+ -----------
147
+
148
+ This module is maintained by the OCA.
149
+
150
+ .. image:: https://odoo-community.org/logo.png
151
+ :alt: Odoo Community Association
152
+ :target: https://odoo-community.org
153
+
154
+ OCA, or the Odoo Community Association, is a nonprofit organization whose
155
+ mission is to support the collaborative development of Odoo features and
156
+ promote its widespread use.
157
+
158
+ .. |maintainer-sbejaoui| image:: https://github.com/sbejaoui.png?size=40px
159
+ :target: https://github.com/sbejaoui
160
+ :alt: sbejaoui
161
+
162
+ Current `maintainer <https://odoo-community.org/page/maintainer-role>`__:
163
+
164
+ |maintainer-sbejaoui|
165
+
166
+ This module is part of the `OCA/contract <https://github.com/OCA/contract/tree/18.0/contract_line_successor>`_ project on GitHub.
167
+
168
+ You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.
@@ -0,0 +1,2 @@
1
+ from . import models
2
+ from . import wizards
@@ -0,0 +1,24 @@
1
+ # Copyright 2018 ACSONE SA/NV
2
+ # License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
3
+
4
+ {
5
+ "name": "Contract Line Successor",
6
+ "version": "18.0.1.0.0",
7
+ "license": "AGPL-3",
8
+ "author": "ACSONE SA/NV,Odoo Community Association (OCA)",
9
+ "website": "https://github.com/OCA/contract",
10
+ "depends": ["contract"],
11
+ "development_status": "Production/Stable",
12
+ "maintainers": ["sbejaoui"],
13
+ "data": [
14
+ "data/contract_renew_cron.xml",
15
+ "security/ir.model.access.csv",
16
+ "views/contract_template.xml",
17
+ "views/contract_contract.xml",
18
+ "views/contract_template_line.xml",
19
+ "views/contract_line.xml",
20
+ "wizards/contract_line_wizard.xml",
21
+ "views/res_config_settings.xml",
22
+ ],
23
+ "demo": [],
24
+ }
@@ -0,0 +1,12 @@
1
+ <?xml version="1.0" encoding="utf-8" ?>
2
+ <odoo noupdate="1">
3
+ <record model="ir.cron" id="contract_line_cron_for_renew">
4
+ <field name="name">Renew Contract lines</field>
5
+ <field name="model_id" ref="model_contract_line" />
6
+ <field name="state">code</field>
7
+ <field name="code">model.cron_renew_contract_line()</field>
8
+ <field name="user_id" ref="base.user_root" />
9
+ <field name="interval_number">1</field>
10
+ <field name="interval_type">days</field>
11
+ </record>
12
+ </odoo>