odoo-addon-contract 17.0.1.4.5.1__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 (57) 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/contract.pot +141 -823
  8. odoo/addons/contract/migrations/18.0.2.0.0/pre-migrate.py +90 -0
  9. odoo/addons/contract/models/__init__.py +2 -6
  10. odoo/addons/contract/models/account_move.py +0 -8
  11. odoo/addons/contract/models/account_move_line.py +14 -0
  12. odoo/addons/contract/models/contract.py +266 -308
  13. odoo/addons/contract/models/contract_line.py +34 -861
  14. odoo/addons/contract/models/{contract_recurrency_mixin.py → contract_recurring_mixin.py} +101 -82
  15. odoo/addons/contract/models/contract_tag.py +1 -3
  16. odoo/addons/contract/models/contract_template.py +81 -2
  17. odoo/addons/contract/models/contract_template_line.py +249 -3
  18. odoo/addons/contract/report/contract_views.xml +0 -2
  19. odoo/addons/contract/report/report_contract.xml +13 -13
  20. odoo/addons/contract/security/contract_security.xml +6 -15
  21. odoo/addons/contract/security/contract_tag.xml +1 -3
  22. odoo/addons/contract/security/ir.model.access.csv +0 -2
  23. odoo/addons/contract/static/description/index.html +24 -18
  24. odoo/addons/contract/static/src/js/contract_portal_tour.esm.js +6 -3
  25. odoo/addons/contract/tests/test_contract.py +42 -927
  26. odoo/addons/contract/tests/test_multicompany.py +5 -4
  27. odoo/addons/contract/tests/test_portal.py +6 -3
  28. odoo/addons/contract/views/contract.xml +91 -234
  29. odoo/addons/contract/views/contract_line.xml +48 -117
  30. odoo/addons/contract/views/contract_portal_templates.xml +181 -222
  31. odoo/addons/contract/views/contract_tag.xml +3 -3
  32. odoo/addons/contract/views/contract_template.xml +100 -72
  33. odoo/addons/contract/views/contract_template_line.xml +76 -5
  34. odoo/addons/contract/views/res_config_settings.xml +5 -6
  35. odoo/addons/contract/views/res_partner_view.xml +0 -5
  36. odoo/addons/contract/wizards/__init__.py +0 -2
  37. odoo/addons/contract/wizards/contract_manually_create_invoice.py +6 -6
  38. odoo/addons/contract/wizards/contract_manually_create_invoice.xml +2 -3
  39. {odoo_addon_contract-17.0.1.4.5.1.dist-info → odoo_addon_contract-18.0.2.0.0.8.dist-info}/METADATA +17 -13
  40. {odoo_addon_contract-17.0.1.4.5.1.dist-info → odoo_addon_contract-18.0.2.0.0.8.dist-info}/RECORD +42 -55
  41. odoo/addons/contract/data/contract_renew_cron.xml +0 -14
  42. odoo/addons/contract/models/abstract_contract.py +0 -82
  43. odoo/addons/contract/models/abstract_contract_line.py +0 -271
  44. odoo/addons/contract/models/contract_line_constraints.py +0 -429
  45. odoo/addons/contract/models/contract_terminate_reason.py +0 -14
  46. odoo/addons/contract/models/res_company.py +0 -15
  47. odoo/addons/contract/models/res_config_settings.py +0 -18
  48. odoo/addons/contract/security/contract_terminate_reason.xml +0 -23
  49. odoo/addons/contract/security/groups.xml +0 -9
  50. odoo/addons/contract/views/abstract_contract_line.xml +0 -117
  51. odoo/addons/contract/views/contract_terminate_reason.xml +0 -38
  52. odoo/addons/contract/wizards/contract_contract_terminate.py +0 -42
  53. odoo/addons/contract/wizards/contract_contract_terminate.xml +0 -33
  54. odoo/addons/contract/wizards/contract_line_wizard.py +0 -53
  55. odoo/addons/contract/wizards/contract_line_wizard.xml +0 -111
  56. {odoo_addon_contract-17.0.1.4.5.1.dist-info → odoo_addon_contract-18.0.2.0.0.8.dist-info}/WHEEL +0 -0
  57. {odoo_addon_contract-17.0.1.4.5.1.dist-info → odoo_addon_contract-18.0.2.0.0.8.dist-info}/top_level.txt +0 -0
@@ -14,7 +14,7 @@
14
14
  <p t-if="o.partner_id.vat">VAT: <span t-field="o.partner_id.vat" /></p>
15
15
  </t>
16
16
  <div class="page">
17
- <div class="oe_structure" />
17
+ <div class="oe_structure" id="oe_structure_contract" />
18
18
  <div class="row" id="header_info">
19
19
  <div class="col-3">
20
20
  <strong>Responsible: </strong>
@@ -35,16 +35,16 @@
35
35
  <th>
36
36
  <strong>Description</strong>
37
37
  </th>
38
- <th class="text-right">
38
+ <th class="text-end">
39
39
  <strong>Quantity</strong>
40
40
  </th>
41
- <th class="text-right">
41
+ <th class="text-end">
42
42
  <strong>Unit Price</strong>
43
43
  </th>
44
- <th class="text-right">
44
+ <th class="text-end">
45
45
  <strong>Price</strong>
46
46
  </th>
47
- <th class="text-right">
47
+ <th class="text-end">
48
48
  <strong>Date Start</strong>
49
49
  </th>
50
50
  </tr>
@@ -63,22 +63,22 @@
63
63
  <td>
64
64
  <span t-field="l.name" />
65
65
  </td>
66
- <td class="text-right">
66
+ <td class="text-end">
67
67
  <span t-field="l.quantity" />
68
68
  </td>
69
- <td class="text-right">
69
+ <td class="text-end">
70
70
  <span
71
71
  t-field="l.price_unit"
72
72
  t-options='{"widget": "monetary", "display_currency": o.currency_id}'
73
73
  />
74
74
  </td>
75
- <td class="text-right">
75
+ <td class="text-end">
76
76
  <span
77
77
  t-field="l.price_subtotal"
78
78
  t-options='{"widget": "monetary", "display_currency": o.currency_id}'
79
79
  />
80
80
  </td>
81
- <td class="text-right">
81
+ <td class="text-end">
82
82
  <span t-field="l.date_start" />
83
83
  </td>
84
84
  <t
@@ -102,7 +102,7 @@
102
102
  <t
103
103
  t-if="current_section and (l_last or o.contract_line_ids[l_index+1].display_type == 'line_section')"
104
104
  >
105
- <tr class="is-subtotal text-right">
105
+ <tr class="is-subtotal text-end">
106
106
  <td colspan="99">
107
107
  <strong class="mr16">Subtotal</strong>
108
108
  <span
@@ -128,7 +128,7 @@
128
128
  <th name="th_date">Date</th>
129
129
  <th
130
130
  name="th_description"
131
- class="text-right"
131
+ class="text-end"
132
132
  >Description</th>
133
133
  </tr>
134
134
  </thead>
@@ -141,7 +141,7 @@
141
141
  <td name="td_date">
142
142
  <span t-field="notification_id.date" />
143
143
  </td>
144
- <td name="td_description" class="text-right">
144
+ <td name="td_description" class="text-end">
145
145
  <div
146
146
  t-field="notification_id.description"
147
147
  />
@@ -159,7 +159,7 @@
159
159
  <td>
160
160
  <strong>Total</strong>
161
161
  </td>
162
- <td class="text-right">
162
+ <td class="text-end">
163
163
  <span
164
164
  t-esc="total"
165
165
  t-options='{"widget": "monetary", "display_currency": o.currency_id}'
@@ -4,9 +4,7 @@
4
4
  <field name="name">Contract contract multi-company</field>
5
5
  <field name="model_id" ref="model_contract_contract" />
6
6
  <field name="global" eval="True" />
7
- <field
8
- name="domain_force"
9
- >['|',('company_id','=',False),('company_id','in',company_ids)]</field>
7
+ <field name="domain_force">[('company_id', 'in', company_ids + [False])]</field>
10
8
  </record>
11
9
  <record id="rule_contract_contract_portal" model="ir.rule">
12
10
  <field name="name">Contract contract portal</field>
@@ -14,31 +12,25 @@
14
12
  <field
15
13
  name="domain_force"
16
14
  >[('message_partner_ids', 'in', [user.partner_id.id])]</field>
17
- <field name="groups" eval="[(4, ref('base.group_portal'))]" />
15
+ <field name="groups" eval="[Command.link(ref('base.group_portal'))]" />
18
16
  </record>
19
17
  <record id="rule_contract_line_multi_company" model="ir.rule">
20
18
  <field name="name">Contract line multi-company</field>
21
19
  <field name="model_id" ref="model_contract_line" />
22
20
  <field name="global" eval="True" />
23
- <field
24
- name="domain_force"
25
- >['|',('company_id','=',False),('company_id','in',company_ids)]</field>
21
+ <field name="domain_force">[('company_id', 'in', company_ids + [False])]</field>
26
22
  </record>
27
23
  <record id="rule_contract_template_multi_company" model="ir.rule">
28
24
  <field name="name">Contract template multi-company</field>
29
25
  <field name="model_id" ref="model_contract_template" />
30
26
  <field name="global" eval="True" />
31
- <field
32
- name="domain_force"
33
- >['|',('company_id','=',False),('company_id','in',company_ids)]</field>
27
+ <field name="domain_force">[('company_id', 'in', company_ids + [False])]</field>
34
28
  </record>
35
29
  <record id="rule_contract_template_line_multi_company" model="ir.rule">
36
30
  <field name="name">Contract template line multi-company</field>
37
31
  <field name="model_id" ref="model_contract_template_line" />
38
32
  <field name="global" eval="True" />
39
- <field
40
- name="domain_force"
41
- >['|',('company_id','=',False),('company_id','in',company_ids)]</field>
33
+ <field name="domain_force">[('company_id', 'in', company_ids + [False])]</field>
42
34
  </record>
43
35
  <!-- For the sake of the OCA ecosystem, please do not remove this rule, as
44
36
  it is used in other modules as contract_sale and maintenance_equipment_contract-->
@@ -48,8 +40,7 @@
48
40
  <field name="domain_force">[(1,'=',1)]</field>
49
41
  <field
50
42
  name="groups"
51
- eval="[
52
- (4,ref('account.group_account_invoice'))]"
43
+ eval="[Command.link(ref('account.group_account_invoice'))]"
53
44
  />
54
45
  </record>
55
46
  </odoo>
@@ -14,8 +14,6 @@
14
14
  <record id="contract_tag_multi_company_rule" model="ir.rule">
15
15
  <field name="name">Contract tag multi-company</field>
16
16
  <field name="model_id" ref="model_contract_tag" />
17
- <field
18
- name="domain_force"
19
- >['|',('company_id','=',False),('company_id','in',company_ids)]</field>
17
+ <field name="domain_force">[('company_id', 'in', company_ids + [False])]</field>
20
18
  </record>
21
19
  </odoo>
@@ -11,6 +11,4 @@
11
11
  "contract_template_line_user","Recurring user","model_contract_template_line","account.group_account_invoice",1,0,0,0
12
12
  "contract_modification_user","Contract modifications - User","model_contract_modification","account.group_account_invoice",1,1,1,1
13
13
  "contract_modification_portal","Contract modifications - Portal","model_contract_modification","base.group_portal",1,0,0,0
14
- "contract_line_wizard","contract_line_wizard","model_contract_line_wizard","account.group_account_manager",1,1,1,1
15
14
  "contract_manually_create_invoice_wizard","contract_manually_create_invoice_wizard","model_contract_manually_create_invoice","account.group_account_invoice",1,1,1,1
16
- "contract_contract_terminate_wizard","contract_contract_terminate_wizard","model_contract_contract_terminate","contract.can_terminate_contract",1,1,1,1
@@ -3,7 +3,7 @@
3
3
  <head>
4
4
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
5
5
  <meta name="generator" content="Docutils: https://docutils.sourceforge.io/" />
6
- <title>Recurring - Contracts Management</title>
6
+ <title>README.rst</title>
7
7
  <style type="text/css">
8
8
 
9
9
  /*
@@ -360,16 +360,21 @@ ul.auto-toc {
360
360
  </style>
361
361
  </head>
362
362
  <body>
363
- <div class="document" id="recurring-contracts-management">
364
- <h1 class="title">Recurring - Contracts Management</h1>
363
+ <div class="document">
365
364
 
365
+
366
+ <a class="reference external image-reference" href="https://odoo-community.org/get-involved?utm_source=readme">
367
+ <img alt="Odoo Community Association" src="https://odoo-community.org/readme-banner-image" />
368
+ </a>
369
+ <div class="section" id="recurring-contracts-management">
370
+ <h1>Recurring - Contracts Management</h1>
366
371
  <!-- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
367
372
  !! This file is generated by oca-gen-addon-readme !!
368
373
  !! changes will be overwritten. !!
369
374
  !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
370
- !! source digest: sha256:94f5661d170fda1b1e3e527f86ac31ec808d3d86ac60d476f5856a7fdb1e69c7
375
+ !! source digest: sha256:ccbb4509a485eac9301e998d560f6b7092c3998a0a88ab2cc153eb299dd91dc3
371
376
  !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->
372
- <p><a class="reference external image-reference" href="https://odoo-community.org/page/development-status"><img alt="Production/Stable" src="https://img.shields.io/badge/maturity-Production%2FStable-green.png" /></a> <a class="reference external image-reference" href="http://www.gnu.org/licenses/agpl-3.0-standalone.html"><img alt="License: AGPL-3" src="https://img.shields.io/badge/licence-AGPL--3-blue.png" /></a> <a class="reference external image-reference" href="https://github.com/OCA/contract/tree/17.0/contract"><img alt="OCA/contract" src="https://img.shields.io/badge/github-OCA%2Fcontract-lightgray.png?logo=github" /></a> <a class="reference external image-reference" href="https://translation.odoo-community.org/projects/contract-17-0/contract-17-0-contract"><img alt="Translate me on Weblate" src="https://img.shields.io/badge/weblate-Translate%20me-F47D42.png" /></a> <a class="reference external image-reference" href="https://runboat.odoo-community.org/builds?repo=OCA/contract&amp;target_branch=17.0"><img alt="Try me on Runboat" src="https://img.shields.io/badge/runboat-Try%20me-875A7B.png" /></a></p>
377
+ <p><a class="reference external image-reference" href="https://odoo-community.org/page/development-status"><img alt="Production/Stable" src="https://img.shields.io/badge/maturity-Production%2FStable-green.png" /></a> <a class="reference external image-reference" href="http://www.gnu.org/licenses/agpl-3.0-standalone.html"><img alt="License: AGPL-3" src="https://img.shields.io/badge/license-AGPL--3-blue.png" /></a> <a class="reference external image-reference" href="https://github.com/OCA/contract/tree/18.0/contract"><img alt="OCA/contract" src="https://img.shields.io/badge/github-OCA%2Fcontract-lightgray.png?logo=github" /></a> <a class="reference external image-reference" href="https://translation.odoo-community.org/projects/contract-18-0/contract-18-0-contract"><img alt="Translate me on Weblate" src="https://img.shields.io/badge/weblate-Translate%20me-F47D42.png" /></a> <a class="reference external image-reference" href="https://runboat.odoo-community.org/builds?repo=OCA/contract&amp;target_branch=18.0"><img alt="Try me on Runboat" src="https://img.shields.io/badge/runboat-Try%20me-875A7B.png" /></a></p>
373
378
  <p>This module enables contracts management with recurring invoicing
374
379
  functions. Also you can print and send by email contract report.</p>
375
380
  <p>It works for customer contract and supplier contracts.</p>
@@ -390,14 +395,14 @@ functions. Also you can print and send by email contract report.</p>
390
395
  </ul>
391
396
  </div>
392
397
  <div class="section" id="configuration">
393
- <h1><a class="toc-backref" href="#toc-entry-1">Configuration</a></h1>
398
+ <h2><a class="toc-backref" href="#toc-entry-1">Configuration</a></h2>
394
399
  <p>To view discount field in contract line, you need to set <em>Discount on
395
400
  lines</em> in user access rights.</p>
396
401
  <p>Contracts can be viewed on the portal (list and detail) if the user
397
402
  logged into the portal is a follower of the contract.</p>
398
403
  </div>
399
404
  <div class="section" id="usage">
400
- <h1><a class="toc-backref" href="#toc-entry-2">Usage</a></h1>
405
+ <h2><a class="toc-backref" href="#toc-entry-2">Usage</a></h2>
401
406
  <ol class="arabic simple">
402
407
  <li>Contracts are in Invoicing -&gt; Customers -&gt; Customer and Invoicing -&gt;
403
408
  Vendors -&gt; Supplier Contracts</li>
@@ -436,36 +441,36 @@ the template on the contract and fields will be filled automatically.</li>
436
441
  <ul class="simple">
437
442
  <li>Contracts appear in portal to following users in every contract:</li>
438
443
  </ul>
439
- <p><img alt="image" src="https://raw.githubusercontent.com/OCA/contract/17.0/contract/static/src/screenshots/portal-my.png" /></p>
440
- <p><img alt="image1" src="https://raw.githubusercontent.com/OCA/contract/17.0/contract/static/src/screenshots/portal-list.png" /></p>
441
- <p><img alt="image2" src="https://raw.githubusercontent.com/OCA/contract/17.0/contract/static/src/screenshots/portal-detail.png" /></p>
444
+ <p><img alt="image" src="https://raw.githubusercontent.com/OCA/contract/18.0/contract/static/src/screenshots/portal-my.png" /></p>
445
+ <p><img alt="image1" src="https://raw.githubusercontent.com/OCA/contract/18.0/contract/static/src/screenshots/portal-list.png" /></p>
446
+ <p><img alt="image2" src="https://raw.githubusercontent.com/OCA/contract/18.0/contract/static/src/screenshots/portal-detail.png" /></p>
442
447
  </div>
443
448
  <div class="section" id="known-issues-roadmap">
444
- <h1><a class="toc-backref" href="#toc-entry-3">Known issues / Roadmap</a></h1>
449
+ <h2><a class="toc-backref" href="#toc-entry-3">Known issues / Roadmap</a></h2>
445
450
  <ul class="simple">
446
451
  <li>Recover states and others functional fields in Contracts.</li>
447
452
  <li>Add recurrence flag at template level.</li>
448
453
  </ul>
449
454
  </div>
450
455
  <div class="section" id="bug-tracker">
451
- <h1><a class="toc-backref" href="#toc-entry-4">Bug Tracker</a></h1>
456
+ <h2><a class="toc-backref" href="#toc-entry-4">Bug Tracker</a></h2>
452
457
  <p>Bugs are tracked on <a class="reference external" href="https://github.com/OCA/contract/issues">GitHub Issues</a>.
453
458
  In case of trouble, please check there if your issue has already been reported.
454
459
  If you spotted it first, help us to smash it by providing a detailed and welcomed
455
- <a class="reference external" href="https://github.com/OCA/contract/issues/new?body=module:%20contract%0Aversion:%2017.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**">feedback</a>.</p>
460
+ <a class="reference external" href="https://github.com/OCA/contract/issues/new?body=module:%20contract%0Aversion:%2018.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**">feedback</a>.</p>
456
461
  <p>Do not contact contributors directly about support or help with technical issues.</p>
457
462
  </div>
458
463
  <div class="section" id="credits">
459
- <h1><a class="toc-backref" href="#toc-entry-5">Credits</a></h1>
464
+ <h2><a class="toc-backref" href="#toc-entry-5">Credits</a></h2>
460
465
  <div class="section" id="authors">
461
- <h2><a class="toc-backref" href="#toc-entry-6">Authors</a></h2>
466
+ <h3><a class="toc-backref" href="#toc-entry-6">Authors</a></h3>
462
467
  <ul class="simple">
463
468
  <li>Tecnativa</li>
464
469
  <li>ACSONE SA/NV</li>
465
470
  </ul>
466
471
  </div>
467
472
  <div class="section" id="contributors">
468
- <h2><a class="toc-backref" href="#toc-entry-7">Contributors</a></h2>
473
+ <h3><a class="toc-backref" href="#toc-entry-7">Contributors</a></h3>
469
474
  <ul>
470
475
  <li><p class="first">Angel Moya &lt;<a class="reference external" href="mailto:angel.moya&#64;domatix.com">angel.moya&#64;domatix.com</a>&gt;</p>
471
476
  </li>
@@ -504,7 +509,7 @@ If you spotted it first, help us to smash it by providing a detailed and welcome
504
509
  </ul>
505
510
  </div>
506
511
  <div class="section" id="maintainers">
507
- <h2><a class="toc-backref" href="#toc-entry-8">Maintainers</a></h2>
512
+ <h3><a class="toc-backref" href="#toc-entry-8">Maintainers</a></h3>
508
513
  <p>This module is maintained by the OCA.</p>
509
514
  <a class="reference external image-reference" href="https://odoo-community.org">
510
515
  <img alt="Odoo Community Association" src="https://odoo-community.org/logo.png" />
@@ -512,10 +517,11 @@ If you spotted it first, help us to smash it by providing a detailed and welcome
512
517
  <p>OCA, or the Odoo Community Association, is a nonprofit organization whose
513
518
  mission is to support the collaborative development of Odoo features and
514
519
  promote its widespread use.</p>
515
- <p>This module is part of the <a class="reference external" href="https://github.com/OCA/contract/tree/17.0/contract">OCA/contract</a> project on GitHub.</p>
520
+ <p>This module is part of the <a class="reference external" href="https://github.com/OCA/contract/tree/18.0/contract">OCA/contract</a> project on GitHub.</p>
516
521
  <p>You are welcome to contribute. To learn how please visit <a class="reference external" href="https://odoo-community.org/page/Contribute">https://odoo-community.org/page/Contribute</a>.</p>
517
522
  </div>
518
523
  </div>
519
524
  </div>
525
+ </div>
520
526
  </body>
521
527
  </html>
@@ -1,18 +1,21 @@
1
- /** @odoo-module **/
2
-
3
1
  import {registry} from "@web/core/registry";
2
+ import {redirect} from "@web/core/utils/urls";
4
3
 
5
4
  registry.category("web_tour.tours").add("contract_portal_tour", {
6
5
  test: true,
7
6
  url: "/my",
7
+ wait_for: Promise.resolve(odoo.__TipTemplateDef),
8
8
  steps: () => [
9
9
  {
10
10
  content: "Go /my/contracts url",
11
11
  trigger: 'a[href*="/my/contracts"]',
12
+ run: function () {
13
+ redirect("/my/contracts");
14
+ },
12
15
  },
13
16
  {
14
17
  content: "Go to Contract item",
15
- trigger: ".tr_contract_link:eq(0)",
18
+ trigger: "table.o_portal_my_doc_table tr:eq(0)",
16
19
  },
17
20
  ],
18
21
  });