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.
- odoo/addons/contract_line_successor/README.rst +168 -0
- odoo/addons/contract_line_successor/__init__.py +2 -0
- odoo/addons/contract_line_successor/__manifest__.py +24 -0
- odoo/addons/contract_line_successor/data/contract_renew_cron.xml +12 -0
- odoo/addons/contract_line_successor/i18n/contract_line_successor.pot +532 -0
- odoo/addons/contract_line_successor/models/__init__.py +5 -0
- odoo/addons/contract_line_successor/models/contract_contract.py +25 -0
- odoo/addons/contract_line_successor/models/contract_line.py +835 -0
- odoo/addons/contract_line_successor/models/contract_line_constraints.py +429 -0
- odoo/addons/contract_line_successor/models/contract_template_line.py +35 -0
- odoo/addons/contract_line_successor/models/res_company.py +15 -0
- odoo/addons/contract_line_successor/models/res_config_settings.py +18 -0
- odoo/addons/contract_line_successor/readme/CONFIGURE.md +10 -0
- odoo/addons/contract_line_successor/readme/CONTRIBUTORS.md +1 -0
- odoo/addons/contract_line_successor/readme/DESCRIPTION.md +40 -0
- odoo/addons/contract_line_successor/readme/USAGE.md +6 -0
- odoo/addons/contract_line_successor/security/ir.model.access.csv +2 -0
- odoo/addons/contract_line_successor/static/description/icon.png +0 -0
- odoo/addons/contract_line_successor/static/description/index.html +523 -0
- odoo/addons/contract_line_successor/tests/__init__.py +1 -0
- odoo/addons/contract_line_successor/tests/test_contract.py +847 -0
- odoo/addons/contract_line_successor/views/contract_contract.xml +73 -0
- odoo/addons/contract_line_successor/views/contract_line.xml +134 -0
- odoo/addons/contract_line_successor/views/contract_template.xml +19 -0
- odoo/addons/contract_line_successor/views/contract_template_line.xml +50 -0
- odoo/addons/contract_line_successor/views/res_config_settings.xml +16 -0
- odoo/addons/contract_line_successor/wizards/__init__.py +1 -0
- odoo/addons/contract_line_successor/wizards/contract_line_wizard.py +53 -0
- odoo/addons/contract_line_successor/wizards/contract_line_wizard.xml +110 -0
- odoo_addon_contract_line_successor-18.0.1.0.0.2.dist-info/METADATA +185 -0
- odoo_addon_contract_line_successor-18.0.1.0.0.2.dist-info/RECORD +33 -0
- odoo_addon_contract_line_successor-18.0.1.0.0.2.dist-info/WHEEL +5 -0
- 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,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>
|