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,532 @@
1
+ # Translation of Odoo Server.
2
+ # This file contains the translation of the following modules:
3
+ # * contract_line_successor
4
+ #
5
+ msgid ""
6
+ msgstr ""
7
+ "Project-Id-Version: Odoo Server 18.0\n"
8
+ "Report-Msgid-Bugs-To: \n"
9
+ "Last-Translator: \n"
10
+ "Language-Team: \n"
11
+ "MIME-Version: 1.0\n"
12
+ "Content-Type: text/plain; charset=UTF-8\n"
13
+ "Content-Transfer-Encoding: \n"
14
+ "Plural-Forms: \n"
15
+
16
+ #. module: contract_line_successor
17
+ #. odoo-python
18
+ #: code:addons/contract_line_successor/models/contract_line.py:0
19
+ msgid "A canceled contract line can't be set to auto-renew"
20
+ msgstr ""
21
+
22
+ #. module: contract_line_successor
23
+ #. odoo-python
24
+ #: code:addons/contract_line_successor/models/contract_line.py:0
25
+ msgid "A contract line with a successor can't be set to auto-renew"
26
+ msgstr ""
27
+
28
+ #. module: contract_line_successor
29
+ #. odoo-python
30
+ #: code:addons/contract_line_successor/models/contract_line.py:0
31
+ msgid "A contract line with a successor must have a end date"
32
+ msgstr ""
33
+
34
+ #. module: contract_line_successor
35
+ #. odoo-python
36
+ #: code:addons/contract_line_successor/models/contract_line.py:0
37
+ msgid "An auto-renew line must have a end date"
38
+ msgstr ""
39
+
40
+ #. module: contract_line_successor
41
+ #: model_terms:ir.ui.view,arch_db:contract_line_successor.contract_contract_form_view
42
+ #: model_terms:ir.ui.view,arch_db:contract_line_successor.contract_line_tree_view
43
+ msgid "Are you sure you want to cancel this line"
44
+ msgstr ""
45
+
46
+ #. module: contract_line_successor
47
+ #: model:ir.model.fields,field_description:contract_line_successor.field_contract_line__is_auto_renew
48
+ #: model:ir.model.fields,field_description:contract_line_successor.field_contract_template_line__is_auto_renew
49
+ msgid "Auto Renew"
50
+ msgstr ""
51
+
52
+ #. module: contract_line_successor
53
+ #. odoo-python
54
+ #: code:addons/contract_line_successor/models/contract_line.py:0
55
+ msgid "Auto renew interval should be different then 0"
56
+ msgstr ""
57
+
58
+ #. module: contract_line_successor
59
+ #: model_terms:ir.ui.view,arch_db:contract_line_successor.contract_line_search_view
60
+ msgid "Auto-renew"
61
+ msgstr ""
62
+
63
+ #. module: contract_line_successor
64
+ #: model_terms:ir.ui.view,arch_db:contract_line_successor.contract_contract_form_view
65
+ #: model_terms:ir.ui.view,arch_db:contract_line_successor.contract_line_tree_view
66
+ #: model_terms:ir.ui.view,arch_db:contract_line_successor.contract_line_wizard_plan_successor_form_view
67
+ #: model_terms:ir.ui.view,arch_db:contract_line_successor.contract_line_wizard_stop_form_view
68
+ #: model_terms:ir.ui.view,arch_db:contract_line_successor.contract_line_wizard_stop_plan_successor_form_view
69
+ #: model_terms:ir.ui.view,arch_db:contract_line_successor.contract_line_wizard_uncancel_form_view
70
+ msgid "Cancel"
71
+ msgstr ""
72
+
73
+ #. module: contract_line_successor
74
+ #: model:ir.model.fields,field_description:contract_line_successor.field_contract_line__is_cancel_allowed
75
+ msgid "Cancel allowed?"
76
+ msgstr ""
77
+
78
+ #. module: contract_line_successor
79
+ #. odoo-python
80
+ #: code:addons/contract_line_successor/models/contract_line.py:0
81
+ msgid "Cancel not allowed for this line"
82
+ msgstr ""
83
+
84
+ #. module: contract_line_successor
85
+ #: model:ir.model.fields.selection,name:contract_line_successor.selection__contract_line__state__canceled
86
+ #: model_terms:ir.ui.view,arch_db:contract_line_successor.contract_line_search_view
87
+ msgid "Canceled"
88
+ msgstr ""
89
+
90
+ #. module: contract_line_successor
91
+ #: model:ir.model.fields,help:contract_line_successor.field_contract_contract__line_recurrence
92
+ msgid ""
93
+ "Check this if you want to control recurrence at the line level instead of "
94
+ "for the whole contract."
95
+ msgstr ""
96
+
97
+ #. module: contract_line_successor
98
+ #: model:ir.model.fields.selection,name:contract_line_successor.selection__contract_line__state__closed
99
+ msgid "Closed"
100
+ msgstr ""
101
+
102
+ #. module: contract_line_successor
103
+ #: model:ir.model,name:contract_line_successor.model_res_company
104
+ msgid "Companies"
105
+ msgstr ""
106
+
107
+ #. module: contract_line_successor
108
+ #: model:ir.model,name:contract_line_successor.model_res_config_settings
109
+ msgid "Config Settings"
110
+ msgstr ""
111
+
112
+ #. module: contract_line_successor
113
+ #: model:ir.model,name:contract_line_successor.model_contract_contract
114
+ msgid "Contract"
115
+ msgstr ""
116
+
117
+ #. module: contract_line_successor
118
+ #: model:ir.model,name:contract_line_successor.model_contract_line
119
+ #: model:ir.model.fields,field_description:contract_line_successor.field_contract_line_wizard__contract_line_id
120
+ msgid "Contract Line"
121
+ msgstr ""
122
+
123
+ #. module: contract_line_successor
124
+ #: model:ir.model,name:contract_line_successor.model_contract_line_wizard
125
+ msgid "Contract Line Wizard"
126
+ msgstr ""
127
+
128
+ #. module: contract_line_successor
129
+ #: model:ir.model.fields,help:contract_line_successor.field_contract_line__predecessor_contract_line_id
130
+ msgid "Contract Line origin of this one."
131
+ msgstr ""
132
+
133
+ #. module: contract_line_successor
134
+ #: model:ir.model,name:contract_line_successor.model_contract_template_line
135
+ msgid "Contract Template Line"
136
+ msgstr ""
137
+
138
+ #. module: contract_line_successor
139
+ #. odoo-python
140
+ #: code:addons/contract_line_successor/models/contract_line.py:0
141
+ msgid "Contract line Un-canceled: %s"
142
+ msgstr ""
143
+
144
+ #. module: contract_line_successor
145
+ #. odoo-python
146
+ #: code:addons/contract_line_successor/models/contract_line.py:0
147
+ msgid "Contract line and its predecessor overlapped"
148
+ msgstr ""
149
+
150
+ #. module: contract_line_successor
151
+ #. odoo-python
152
+ #: code:addons/contract_line_successor/models/contract_line.py:0
153
+ msgid "Contract line and its successor overlapped"
154
+ msgstr ""
155
+
156
+ #. module: contract_line_successor
157
+ #. odoo-python
158
+ #: code:addons/contract_line_successor/models/contract_line.py:0
159
+ msgid "Contract line canceled: %s"
160
+ msgstr ""
161
+
162
+ #. module: contract_line_successor
163
+ #. odoo-python
164
+ #: code:addons/contract_line_successor/models/contract_line.py:0
165
+ msgid ""
166
+ "Contract line for <strong>%(product)s</strong>\n"
167
+ " stopped: <br/>\n"
168
+ " - <strong>End</strong>: %(old_end)s -- %(new_end)s\n"
169
+ " "
170
+ msgstr ""
171
+
172
+ #. module: contract_line_successor
173
+ #. odoo-python
174
+ #: code:addons/contract_line_successor/models/contract_line.py:0
175
+ msgid ""
176
+ "Contract line for <strong>%(product)s</strong>\n"
177
+ " planned a successor: <br/>\n"
178
+ " - <strong>Start</strong>: %(new_date_start)s\n"
179
+ " <br/>\n"
180
+ " - <strong>End</strong>: %(new_date_end)s\n"
181
+ " "
182
+ msgstr ""
183
+
184
+ #. module: contract_line_successor
185
+ #. odoo-python
186
+ #: code:addons/contract_line_successor/models/contract_line.py:0
187
+ msgid ""
188
+ "Contract line for <strong>%(product)s</strong>\n"
189
+ " renewed: <br/>\n"
190
+ " - <strong>Start</strong>: %(new_date_start)s\n"
191
+ " <br/>\n"
192
+ " - <strong>End</strong>: %(new_date_end)s\n"
193
+ " "
194
+ msgstr ""
195
+
196
+ #. module: contract_line_successor
197
+ #. odoo-python
198
+ #: code:addons/contract_line_successor/models/contract_line.py:0
199
+ msgid ""
200
+ "Contract line for <strong>%(product)s</strong>\n"
201
+ " suspended: <br/>\n"
202
+ " - <strong>Suspension Start</strong>: %(new_date_start)s\n"
203
+ " <br/>\n"
204
+ " - <strong>Suspension End</strong>: %(new_date_end)s\n"
205
+ " "
206
+ msgstr ""
207
+
208
+ #. module: contract_line_successor
209
+ #. odoo-python
210
+ #: code:addons/contract_line_successor/models/contract_line.py:0
211
+ msgid "Contract line must be canceled before delete"
212
+ msgstr ""
213
+
214
+ #. module: contract_line_successor
215
+ #: model:ir.model.fields,field_description:contract_line_successor.field_res_company__create_new_line_at_contract_line_renew
216
+ #: model:ir.model.fields,field_description:contract_line_successor.field_res_config_settings__create_new_line_at_contract_line_renew
217
+ msgid "Create New Line At Contract Line Renew"
218
+ msgstr ""
219
+
220
+ #. module: contract_line_successor
221
+ #: model:ir.model.fields,field_description:contract_line_successor.field_contract_line_wizard__create_uid
222
+ msgid "Created by"
223
+ msgstr ""
224
+
225
+ #. module: contract_line_successor
226
+ #: model:ir.model.fields,field_description:contract_line_successor.field_contract_line_wizard__create_date
227
+ msgid "Created on"
228
+ msgstr ""
229
+
230
+ #. module: contract_line_successor
231
+ #: model:ir.model.fields,field_description:contract_line_successor.field_contract_line_wizard__date_end
232
+ msgid "Date End"
233
+ msgstr ""
234
+
235
+ #. module: contract_line_successor
236
+ #: model:ir.model.fields,field_description:contract_line_successor.field_contract_line_wizard__date_start
237
+ msgid "Date Start"
238
+ msgstr ""
239
+
240
+ #. module: contract_line_successor
241
+ #: model:ir.model.fields.selection,name:contract_line_successor.selection__contract_line__auto_renew_rule_type__daily
242
+ #: model:ir.model.fields.selection,name:contract_line_successor.selection__contract_line__termination_notice_rule_type__daily
243
+ #: model:ir.model.fields.selection,name:contract_line_successor.selection__contract_template_line__auto_renew_rule_type__daily
244
+ #: model:ir.model.fields.selection,name:contract_line_successor.selection__contract_template_line__termination_notice_rule_type__daily
245
+ msgid "Day(s)"
246
+ msgstr ""
247
+
248
+ #. module: contract_line_successor
249
+ #: model:ir.model.fields,field_description:contract_line_successor.field_contract_line_wizard__display_name
250
+ msgid "Display Name"
251
+ msgstr ""
252
+
253
+ #. module: contract_line_successor
254
+ #: model:ir.model.fields,field_description:contract_line_successor.field_contract_line_wizard__id
255
+ msgid "ID"
256
+ msgstr ""
257
+
258
+ #. module: contract_line_successor
259
+ #: model:ir.model.fields,help:contract_line_successor.field_res_company__create_new_line_at_contract_line_renew
260
+ #: model:ir.model.fields,help:contract_line_successor.field_res_config_settings__create_new_line_at_contract_line_renew
261
+ msgid ""
262
+ "If checked, a new line will be generated at contract line renew and linked "
263
+ "to the original one as successor. The default behavior is to extend the end "
264
+ "date of the contract by a new subscription period"
265
+ msgstr ""
266
+
267
+ #. module: contract_line_successor
268
+ #: model:ir.model.fields,help:contract_line_successor.field_contract_line__successor_contract_line_id
269
+ msgid ""
270
+ "In case of restart after suspension, this field contain the new contract "
271
+ "line created."
272
+ msgstr ""
273
+
274
+ #. module: contract_line_successor
275
+ #: model:ir.model.fields.selection,name:contract_line_successor.selection__contract_line__state__in-progress
276
+ msgid "In-progress"
277
+ msgstr ""
278
+
279
+ #. module: contract_line_successor
280
+ #: model:ir.model.fields,field_description:contract_line_successor.field_contract_line_wizard__is_auto_renew
281
+ msgid "Is Auto Renew"
282
+ msgstr ""
283
+
284
+ #. module: contract_line_successor
285
+ #: model_terms:ir.ui.view,arch_db:contract_line_successor.contract_line_wizard_stop_form_view
286
+ msgid "Is suspension without end date"
287
+ msgstr ""
288
+
289
+ #. module: contract_line_successor
290
+ #: model:ir.model.fields,field_description:contract_line_successor.field_contract_line_wizard__write_uid
291
+ msgid "Last Updated by"
292
+ msgstr ""
293
+
294
+ #. module: contract_line_successor
295
+ #: model:ir.model.fields,field_description:contract_line_successor.field_contract_line_wizard__write_date
296
+ msgid "Last Updated on"
297
+ msgstr ""
298
+
299
+ #. module: contract_line_successor
300
+ #: model:ir.model.fields,field_description:contract_line_successor.field_contract_line__manual_renew_needed
301
+ #: model:ir.model.fields,field_description:contract_line_successor.field_contract_line_wizard__manual_renew_needed
302
+ msgid "Manual Renew Needed"
303
+ msgstr ""
304
+
305
+ #. module: contract_line_successor
306
+ #: model:ir.model.fields.selection,name:contract_line_successor.selection__contract_line__auto_renew_rule_type__monthly
307
+ #: model:ir.model.fields.selection,name:contract_line_successor.selection__contract_line__termination_notice_rule_type__monthly
308
+ #: model:ir.model.fields.selection,name:contract_line_successor.selection__contract_template_line__auto_renew_rule_type__monthly
309
+ #: model:ir.model.fields.selection,name:contract_line_successor.selection__contract_template_line__termination_notice_rule_type__monthly
310
+ msgid "Month(s)"
311
+ msgstr ""
312
+
313
+ #. module: contract_line_successor
314
+ #: model:ir.model.fields,field_description:contract_line_successor.field_contract_line_wizard__recurring_next_date
315
+ msgid "Next Invoice Date"
316
+ msgstr ""
317
+
318
+ #. module: contract_line_successor
319
+ #: model_terms:ir.ui.view,arch_db:contract_line_successor.contract_contract_form_view
320
+ #: model_terms:ir.ui.view,arch_db:contract_line_successor.contract_line_tree_view
321
+ msgid "Plan Start"
322
+ msgstr ""
323
+
324
+ #. module: contract_line_successor
325
+ #: model:ir.model.fields,field_description:contract_line_successor.field_contract_line__is_plan_successor_allowed
326
+ msgid "Plan successor allowed?"
327
+ msgstr ""
328
+
329
+ #. module: contract_line_successor
330
+ #. odoo-python
331
+ #: code:addons/contract_line_successor/models/contract_line.py:0
332
+ msgid "Plan successor not allowed for this line"
333
+ msgstr ""
334
+
335
+ #. module: contract_line_successor
336
+ #: model_terms:ir.ui.view,arch_db:contract_line_successor.contract_line_form_view
337
+ msgid "Predecessor & Successor Lines"
338
+ msgstr ""
339
+
340
+ #. module: contract_line_successor
341
+ #: model:ir.model.fields,field_description:contract_line_successor.field_contract_line__predecessor_contract_line_id
342
+ msgid "Predecessor Contract Line"
343
+ msgstr ""
344
+
345
+ #. module: contract_line_successor
346
+ #: model:ir.model.fields,field_description:contract_line_successor.field_contract_contract__line_recurrence
347
+ msgid "Recurrence at line level?"
348
+ msgstr ""
349
+
350
+ #. module: contract_line_successor
351
+ #: model_terms:ir.ui.view,arch_db:contract_line_successor.contract_contract_form_view
352
+ #: model_terms:ir.ui.view,arch_db:contract_line_successor.contract_line_tree_view
353
+ msgid "Renew"
354
+ msgstr ""
355
+
356
+ #. module: contract_line_successor
357
+ #: model:ir.actions.server,name:contract_line_successor.contract_line_cron_for_renew_ir_actions_server
358
+ msgid "Renew Contract lines"
359
+ msgstr ""
360
+
361
+ #. module: contract_line_successor
362
+ #: model:ir.model.fields,field_description:contract_line_successor.field_contract_line__auto_renew_interval
363
+ #: model:ir.model.fields,field_description:contract_line_successor.field_contract_template_line__auto_renew_interval
364
+ msgid "Renew Every"
365
+ msgstr ""
366
+
367
+ #. module: contract_line_successor
368
+ #: model:ir.model.fields,help:contract_line_successor.field_contract_line__auto_renew_interval
369
+ #: model:ir.model.fields,help:contract_line_successor.field_contract_template_line__auto_renew_interval
370
+ msgid "Renew every (Days/Weeks/Months/Years)"
371
+ msgstr ""
372
+
373
+ #. module: contract_line_successor
374
+ #: model_terms:ir.ui.view,arch_db:contract_line_successor.contract_template_line_form_view
375
+ msgid "Renewal"
376
+ msgstr ""
377
+
378
+ #. module: contract_line_successor
379
+ #: model:ir.model.fields,field_description:contract_line_successor.field_contract_line__auto_renew_rule_type
380
+ #: model:ir.model.fields,field_description:contract_line_successor.field_contract_template_line__auto_renew_rule_type
381
+ msgid "Renewal type"
382
+ msgstr ""
383
+
384
+ #. module: contract_line_successor
385
+ #: model:ir.model.fields,help:contract_line_successor.field_contract_line__auto_renew_rule_type
386
+ #: model:ir.model.fields,help:contract_line_successor.field_contract_template_line__auto_renew_rule_type
387
+ msgid "Specify interval for automatic renewal."
388
+ msgstr ""
389
+
390
+ #. module: contract_line_successor
391
+ #: model:ir.model.fields,field_description:contract_line_successor.field_contract_line__state
392
+ msgid "State"
393
+ msgstr ""
394
+
395
+ #. module: contract_line_successor
396
+ #: model_terms:ir.ui.view,arch_db:contract_line_successor.contract_contract_form_view
397
+ #: model_terms:ir.ui.view,arch_db:contract_line_successor.contract_line_tree_view
398
+ msgid "Stop"
399
+ msgstr ""
400
+
401
+ #. module: contract_line_successor
402
+ #: model_terms:ir.ui.view,arch_db:contract_line_successor.contract_line_wizard_stop_form_view
403
+ msgid "Stop Date"
404
+ msgstr ""
405
+
406
+ #. module: contract_line_successor
407
+ #: model_terms:ir.ui.view,arch_db:contract_line_successor.contract_contract_form_view
408
+ #: model_terms:ir.ui.view,arch_db:contract_line_successor.contract_line_tree_view
409
+ msgid "Stop Plan Successor"
410
+ msgstr ""
411
+
412
+ #. module: contract_line_successor
413
+ #: model:ir.model.fields,field_description:contract_line_successor.field_contract_line__is_stop_allowed
414
+ msgid "Stop allowed?"
415
+ msgstr ""
416
+
417
+ #. module: contract_line_successor
418
+ #. odoo-python
419
+ #: code:addons/contract_line_successor/models/contract_line.py:0
420
+ msgid "Stop not allowed for this line"
421
+ msgstr ""
422
+
423
+ #. module: contract_line_successor
424
+ #: model:ir.model.fields,field_description:contract_line_successor.field_contract_line__is_stop_plan_successor_allowed
425
+ msgid "Stop/Plan successor allowed?"
426
+ msgstr ""
427
+
428
+ #. module: contract_line_successor
429
+ #. odoo-python
430
+ #: code:addons/contract_line_successor/models/contract_line.py:0
431
+ msgid "Stop/Plan successor not allowed for this line"
432
+ msgstr ""
433
+
434
+ #. module: contract_line_successor
435
+ #: model:ir.model.fields,field_description:contract_line_successor.field_contract_line__successor_contract_line_id
436
+ msgid "Successor Contract Line"
437
+ msgstr ""
438
+
439
+ #. module: contract_line_successor
440
+ #: model_terms:ir.ui.view,arch_db:contract_line_successor.contract_line_wizard_stop_plan_successor_form_view
441
+ msgid "Suspension End Date"
442
+ msgstr ""
443
+
444
+ #. module: contract_line_successor
445
+ #: model_terms:ir.ui.view,arch_db:contract_line_successor.contract_line_wizard_stop_plan_successor_form_view
446
+ msgid "Suspension Start Date"
447
+ msgstr ""
448
+
449
+ #. module: contract_line_successor
450
+ #: model:ir.model.fields,field_description:contract_line_successor.field_contract_line__termination_notice_interval
451
+ #: model:ir.model.fields,field_description:contract_line_successor.field_contract_template_line__termination_notice_interval
452
+ msgid "Termination Notice Before"
453
+ msgstr ""
454
+
455
+ #. module: contract_line_successor
456
+ #: model:ir.model.fields,field_description:contract_line_successor.field_contract_line__termination_notice_date
457
+ msgid "Termination Notice Date"
458
+ msgstr ""
459
+
460
+ #. module: contract_line_successor
461
+ #: model:ir.model.fields,field_description:contract_line_successor.field_contract_line__termination_notice_rule_type
462
+ #: model:ir.model.fields,field_description:contract_line_successor.field_contract_template_line__termination_notice_rule_type
463
+ msgid "Termination Notice type"
464
+ msgstr ""
465
+
466
+ #. module: contract_line_successor
467
+ #: model:ir.model.fields,help:contract_line_successor.field_contract_line__manual_renew_needed
468
+ #: model:ir.model.fields,help:contract_line_successor.field_contract_line_wizard__manual_renew_needed
469
+ msgid ""
470
+ "This flag is used to make a difference between a definitive stopand "
471
+ "temporary one for which a user is not able to plan asuccessor in advance"
472
+ msgstr ""
473
+
474
+ #. module: contract_line_successor
475
+ #: model:ir.model.fields.selection,name:contract_line_successor.selection__contract_line__state__to-renew
476
+ msgid "To renew"
477
+ msgstr ""
478
+
479
+ #. module: contract_line_successor
480
+ #: model:ir.model.fields,field_description:contract_line_successor.field_contract_line__is_un_cancel_allowed
481
+ msgid "Un-Cancel allowed?"
482
+ msgstr ""
483
+
484
+ #. module: contract_line_successor
485
+ #: model_terms:ir.ui.view,arch_db:contract_line_successor.contract_contract_form_view
486
+ #: model_terms:ir.ui.view,arch_db:contract_line_successor.contract_line_tree_view
487
+ msgid "Un-cancel"
488
+ msgstr ""
489
+
490
+ #. module: contract_line_successor
491
+ #. odoo-python
492
+ #: code:addons/contract_line_successor/models/contract_line.py:0
493
+ msgid "Un-cancel not allowed for this line"
494
+ msgstr ""
495
+
496
+ #. module: contract_line_successor
497
+ #: model:ir.model.fields.selection,name:contract_line_successor.selection__contract_line__state__upcoming
498
+ msgid "Upcoming"
499
+ msgstr ""
500
+
501
+ #. module: contract_line_successor
502
+ #: model:ir.model.fields.selection,name:contract_line_successor.selection__contract_line__state__upcoming-close
503
+ msgid "Upcoming Close"
504
+ msgstr ""
505
+
506
+ #. module: contract_line_successor
507
+ #: model_terms:ir.ui.view,arch_db:contract_line_successor.contract_line_wizard_plan_successor_form_view
508
+ #: model_terms:ir.ui.view,arch_db:contract_line_successor.contract_line_wizard_stop_form_view
509
+ #: model_terms:ir.ui.view,arch_db:contract_line_successor.contract_line_wizard_stop_plan_successor_form_view
510
+ #: model_terms:ir.ui.view,arch_db:contract_line_successor.contract_line_wizard_uncancel_form_view
511
+ msgid "Validate"
512
+ msgstr ""
513
+
514
+ #. module: contract_line_successor
515
+ #: model:ir.model.fields.selection,name:contract_line_successor.selection__contract_line__auto_renew_rule_type__weekly
516
+ #: model:ir.model.fields.selection,name:contract_line_successor.selection__contract_line__termination_notice_rule_type__weekly
517
+ #: model:ir.model.fields.selection,name:contract_line_successor.selection__contract_template_line__auto_renew_rule_type__weekly
518
+ #: model:ir.model.fields.selection,name:contract_line_successor.selection__contract_template_line__termination_notice_rule_type__weekly
519
+ msgid "Week(s)"
520
+ msgstr ""
521
+
522
+ #. module: contract_line_successor
523
+ #: model:ir.model.fields.selection,name:contract_line_successor.selection__contract_line__auto_renew_rule_type__yearly
524
+ #: model:ir.model.fields.selection,name:contract_line_successor.selection__contract_template_line__auto_renew_rule_type__yearly
525
+ msgid "Year(s)"
526
+ msgstr ""
527
+
528
+ #. module: contract_line_successor
529
+ #. odoo-python
530
+ #: code:addons/contract_line_successor/models/contract_line.py:0
531
+ msgid "You can't delay a contract line invoiced at least one time."
532
+ msgstr ""
@@ -0,0 +1,5 @@
1
+ from . import contract_contract
2
+ from . import contract_line
3
+ from . import contract_template_line
4
+ from . import res_company
5
+ from . import res_config_settings
@@ -0,0 +1,25 @@
1
+ # Copyright 2025 ACSONE SA/NV
2
+ # License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
3
+
4
+ from odoo import api, fields, models
5
+
6
+
7
+ class ContractContract(models.Model):
8
+ _inherit = "contract.contract"
9
+
10
+ line_recurrence = fields.Boolean(default=True)
11
+
12
+ @api.depends("contract_line_ids.date_end", "contract_line_ids.is_canceled")
13
+ def _compute_date_end(self):
14
+ for contract in self:
15
+ contract.date_end = False
16
+ date_end = contract.contract_line_ids.filtered(
17
+ lambda line: not line.is_canceled
18
+ ).mapped("date_end")
19
+ if date_end and all(date_end):
20
+ contract.date_end = max(date_end)
21
+
22
+ def _convert_contract_lines(self, contract):
23
+ new_lines = super()._convert_contract_lines(contract)
24
+ new_lines._onchange_is_auto_renew()
25
+ return new_lines