odoo-addon-sale-blanket-order 16.0.2.0.0.2__py3-none-any.whl → 18.0.1.2.1__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 (41) hide show
  1. odoo/addons/sale_blanket_order/README.rst +111 -63
  2. odoo/addons/sale_blanket_order/__manifest__.py +8 -3
  3. odoo/addons/sale_blanket_order/data/ir_cron.xml +0 -2
  4. odoo/addons/sale_blanket_order/i18n/de.po +65 -80
  5. odoo/addons/sale_blanket_order/i18n/es.po +30 -59
  6. odoo/addons/sale_blanket_order/i18n/fr.po +30 -59
  7. odoo/addons/sale_blanket_order/i18n/fr_FR.po +30 -59
  8. odoo/addons/sale_blanket_order/i18n/it.po +68 -88
  9. odoo/addons/sale_blanket_order/i18n/pt.po +15 -59
  10. odoo/addons/sale_blanket_order/i18n/sale_blanket_order.pot +16 -60
  11. odoo/addons/sale_blanket_order/models/blanket_orders.py +77 -143
  12. odoo/addons/sale_blanket_order/models/sale_config_settings.py +0 -1
  13. odoo/addons/sale_blanket_order/models/sale_orders.py +8 -14
  14. odoo/addons/sale_blanket_order/readme/CONTEXT.md +5 -0
  15. odoo/addons/sale_blanket_order/readme/CONTRIBUTORS.md +17 -0
  16. odoo/addons/sale_blanket_order/readme/{CREDITS.rst → CREDITS.md} +2 -1
  17. odoo/addons/sale_blanket_order/readme/DESCRIPTION.md +5 -0
  18. odoo/addons/sale_blanket_order/readme/ROADMAP.md +3 -0
  19. odoo/addons/sale_blanket_order/readme/USAGE.md +58 -0
  20. odoo/addons/sale_blanket_order/report/report.xml +0 -2
  21. odoo/addons/sale_blanket_order/report/templates.xml +32 -35
  22. odoo/addons/sale_blanket_order/static/description/index.html +87 -62
  23. odoo/addons/sale_blanket_order/static/src/js/disable_add_order_line.esm.js +22 -0
  24. odoo/addons/sale_blanket_order/tests/test_blanket_orders.py +99 -50
  25. odoo/addons/sale_blanket_order/tests/test_sale_order.py +7 -80
  26. odoo/addons/sale_blanket_order/views/sale_blanket_order_line_views.xml +7 -16
  27. odoo/addons/sale_blanket_order/views/sale_blanket_order_views.xml +31 -57
  28. odoo/addons/sale_blanket_order/views/sale_config_settings.xml +11 -19
  29. odoo/addons/sale_blanket_order/views/sale_order_views.xml +5 -8
  30. odoo/addons/sale_blanket_order/wizard/create_sale_orders.py +28 -26
  31. odoo/addons/sale_blanket_order/wizard/create_sale_orders.xml +12 -2
  32. odoo_addon_sale_blanket_order-18.0.1.2.1.dist-info/METADATA +216 -0
  33. odoo_addon_sale_blanket_order-18.0.1.2.1.dist-info/RECORD +49 -0
  34. {odoo_addon_sale_blanket_order-16.0.2.0.0.2.dist-info → odoo_addon_sale_blanket_order-18.0.1.2.1.dist-info}/WHEEL +1 -1
  35. odoo_addon_sale_blanket_order-18.0.1.2.1.dist-info/top_level.txt +1 -0
  36. odoo/addons/sale_blanket_order/readme/CONTRIBUTORS.rst +0 -8
  37. odoo/addons/sale_blanket_order/readme/DESCRIPTION.rst +0 -4
  38. odoo/addons/sale_blanket_order/readme/USAGE.rst +0 -53
  39. odoo_addon_sale_blanket_order-16.0.2.0.0.2.dist-info/METADATA +0 -168
  40. odoo_addon_sale_blanket_order-16.0.2.0.0.2.dist-info/RECORD +0 -46
  41. odoo_addon_sale_blanket_order-16.0.2.0.0.2.dist-info/top_level.txt +0 -1
@@ -4,7 +4,7 @@
4
4
  <t t-call="web.external_layout">
5
5
  <t t-set="doc" t-value="doc.with_context({'lang':doc.partner_id.lang})" />
6
6
  <div class="page">
7
- <div class="oe_structure" />
7
+ <div id="oe_structure_div_01" class="oe_structure" />
8
8
  <div class="row">
9
9
  <div class="col-xs-6">
10
10
  <div
@@ -12,8 +12,8 @@
12
12
  t-options='{"widget": "contact", "fields": ["address", "name", "phone", "fax"], "no_marker": True, "phone_icons": True}'
13
13
  />
14
14
  <p t-if="doc.partner_id.vat">VAT: <span
15
- t-field="doc.partner_id.vat"
16
- /></p>
15
+ t-field="doc.partner_id.vat"
16
+ /></p>
17
17
  </div>
18
18
  </div>
19
19
  <h2>
@@ -118,52 +118,49 @@
118
118
  </tbody>
119
119
  </table>
120
120
  <div class="clearfix">
121
- <div class="row">
122
- <div
121
+ <div class="row">
122
+ <div
123
123
  t-attf-class="#{'col-6' if report_type != 'html' else 'col-sm-7 col-md-6'} ms-auto"
124
124
  >
125
-
126
-
127
- <table class="table table-sm">
128
- <tr class="border-black">
129
- <td>
130
- <strong>Subtotal</strong>
131
- </td>
132
- <td class="text-end">
133
- <span
125
+ <table class="table table-sm">
126
+ <tr class="border-black">
127
+ <td>
128
+ <strong>Subtotal</strong>
129
+ </td>
130
+ <td class="text-end">
131
+ <span
134
132
  t-field="doc.amount_untaxed"
135
133
  t-options='{"widget": "monetary", "display_currency": doc.currency_id}'
136
134
  />
137
- </td>
138
- </tr>
139
- <tr>
140
- <td>Taxes</td>
141
- <td class="text-end">
142
- <span
135
+ </td>
136
+ </tr>
137
+ <tr>
138
+ <td>Taxes</td>
139
+ <td class="text-end">
140
+ <span
143
141
  t-field="doc.amount_tax"
144
142
  t-options='{"widget": "monetary", "display_currency": doc.currency_id}'
145
143
  />
146
- </td>
147
- </tr>
148
- <tr class="border-black">
149
- <td>
150
- <strong>Total</strong>
151
- </td>
152
- <td class="text-end">
153
- <span
144
+ </td>
145
+ </tr>
146
+ <tr class="border-black">
147
+ <td>
148
+ <strong>Total</strong>
149
+ </td>
150
+ <td class="text-end">
151
+ <span
154
152
  t-field="doc.amount_total"
155
153
  t-options='{"widget": "monetary", "display_currency": doc.currency_id}'
156
154
  />
157
- </td>
158
- </tr>
159
- </table>
160
-
161
- </div>
162
- </div>
155
+ </td>
156
+ </tr>
157
+ </table>
158
+ </div>
159
+ </div>
163
160
  </div>
164
161
 
165
162
  <p t-field="doc.note" />
166
- <div class="oe_structure" />
163
+ <div id="oe_structure_div_02" class="oe_structure" />
167
164
  </div>
168
165
  </t>
169
166
  </template>
@@ -372,103 +372,121 @@ ul.auto-toc {
372
372
  !! This file is generated by oca-gen-addon-readme !!
373
373
  !! changes will be overwritten. !!
374
374
  !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
375
- !! source digest: sha256:7ca292796265497470ef2eed25173e2b365b0438ba918c471ddd3dc0c40e9ad5
375
+ !! source digest: sha256:00fac5d1161a77a5a6a5380509418cd7612e2ed365042549c170804219b62fd0
376
376
  !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->
377
- <p><a class="reference external image-reference" href="https://odoo-community.org/page/development-status"><img alt="Beta" src="https://img.shields.io/badge/maturity-Beta-yellow.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/sale-workflow/tree/16.0/sale_blanket_order"><img alt="OCA/sale-workflow" src="https://img.shields.io/badge/github-OCA%2Fsale--workflow-lightgray.png?logo=github" /></a> <a class="reference external image-reference" href="https://translation.odoo-community.org/projects/sale-workflow-16-0/sale-workflow-16-0-sale_blanket_order"><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/sale-workflow&amp;target_branch=16.0"><img alt="Try me on Runboat" src="https://img.shields.io/badge/runboat-Try%20me-875A7B.png" /></a></p>
378
- <p>A blanket order is a pre-agreement to sell a certain number of quantities of
379
- products at a specific price. From a confirmed blanket order, the users can
380
- create new sale orders at such price, until the blanket order expires, either
381
- due to reaching the validity date or exhausting all the quantities of products.</p>
377
+ <p><a class="reference external image-reference" href="https://odoo-community.org/page/development-status"><img alt="Beta" src="https://img.shields.io/badge/maturity-Beta-yellow.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/sale-blanket/tree/18.0/sale_blanket_order"><img alt="OCA/sale-blanket" src="https://img.shields.io/badge/github-OCA%2Fsale--blanket-lightgray.png?logo=github" /></a> <a class="reference external image-reference" href="https://translation.odoo-community.org/projects/sale-blanket-18-0/sale-blanket-18-0-sale_blanket_order"><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/sale-blanket&amp;target_branch=18.0"><img alt="Try me on Runboat" src="https://img.shields.io/badge/runboat-Try%20me-875A7B.png" /></a></p>
378
+ <p>A blanket order is a pre-agreement to sell a certain number of
379
+ quantities of products at a specific price. From a confirmed blanket
380
+ order, the users can create new sale orders at such price, until the
381
+ blanket order expires, either due to reaching the validity date or
382
+ exhausting all the quantities of products.</p>
382
383
  <p><strong>Table of contents</strong></p>
383
384
  <div class="contents local topic" id="contents">
384
385
  <ul class="simple">
385
- <li><a class="reference internal" href="#usage" id="toc-entry-1">Usage</a></li>
386
- <li><a class="reference internal" href="#bug-tracker" id="toc-entry-2">Bug Tracker</a></li>
387
- <li><a class="reference internal" href="#credits" id="toc-entry-3">Credits</a><ul>
388
- <li><a class="reference internal" href="#authors" id="toc-entry-4">Authors</a></li>
389
- <li><a class="reference internal" href="#contributors" id="toc-entry-5">Contributors</a></li>
390
- <li><a class="reference internal" href="#other-credits" id="toc-entry-6">Other credits</a></li>
391
- <li><a class="reference internal" href="#maintainers" id="toc-entry-7">Maintainers</a></li>
386
+ <li><a class="reference internal" href="#use-cases-context" id="toc-entry-1">Use Cases / Context</a></li>
387
+ <li><a class="reference internal" href="#usage" id="toc-entry-2">Usage</a></li>
388
+ <li><a class="reference internal" href="#known-issues-roadmap" id="toc-entry-3">Known issues / Roadmap</a></li>
389
+ <li><a class="reference internal" href="#bug-tracker" id="toc-entry-4">Bug Tracker</a></li>
390
+ <li><a class="reference internal" href="#credits" id="toc-entry-5">Credits</a><ul>
391
+ <li><a class="reference internal" href="#authors" id="toc-entry-6">Authors</a></li>
392
+ <li><a class="reference internal" href="#contributors" id="toc-entry-7">Contributors</a></li>
393
+ <li><a class="reference internal" href="#other-credits" id="toc-entry-8">Other credits</a></li>
394
+ <li><a class="reference internal" href="#maintainers" id="toc-entry-9">Maintainers</a></li>
392
395
  </ul>
393
396
  </li>
394
397
  </ul>
395
398
  </div>
396
- <div class="section" id="usage">
397
- <h2><a class="toc-backref" href="#toc-entry-1">Usage</a></h2>
398
- <p>A new menu in the Sales area is created, allowing users to create new blanket orders.</p>
399
- <p>To create a new Sale Blanket Order go to the sale menu in the Sales section:</p>
400
- <div class="figure">
401
- <img alt="Blanket Orders menu" src="https://raw.githubusercontent.com/OCA/sale-workflow/16.0/sale_blanket_order/static/description/BO_menu.png" />
399
+ <div class="section" id="use-cases-context">
400
+ <h2><a class="toc-backref" href="#toc-entry-1">Use Cases / Context</a></h2>
401
+ <p>Others modules provide similar features. The module
402
+ (sale_order_blanket_order)[<a class="reference external" href="https://pypi.org/project/odoo-addon-sale-order-blanket-order">https://pypi.org/project/odoo-addon-sale-order-blanket-order</a>]
403
+ also defines the concept of sale blanket order. The main differences
404
+ are:</p>
405
+ <ul class="simple">
406
+ <li>This module integrates Blanket Orders and Call-Off Orders into the
407
+ sale.blanket.order object, whereas the other module extends the
408
+ sale.order object. This means that any extensions made to the sale
409
+ order model can also apply to blanket orders.</li>
410
+ <li>In the other module, you can deliver and invoice directly from the
411
+ blanket order. You can also create a separate call-off order to
412
+ partially deliver the blanket order.</li>
413
+ </ul>
402
414
  </div>
403
- <p>Hitting the button create will open the form view in which we can introduce the following
404
- information:</p>
415
+ <div class="section" id="usage">
416
+ <h2><a class="toc-backref" href="#toc-entry-2">Usage</a></h2>
417
+ <p>A new menu in the Sales area is created, allowing users to create new
418
+ blanket orders.</p>
419
+ <p>To create a new Sale Blanket Order go to the sale menu in the Sales
420
+ section:</p>
421
+ <p><img alt="image1" src="https://raw.githubusercontent.com/OCA/sale-blanket/18.0/sale_blanket_order/static/description/BO_menu.png" /></p>
422
+ <p>Hitting the button create will open the form view in which we can
423
+ introduce the following information:</p>
405
424
  <ul class="simple">
406
425
  <li>Vendor</li>
407
426
  <li>Salesperson</li>
408
427
  <li>Payment Terms</li>
409
428
  <li>Validity date</li>
410
- <li><dl class="first docutils">
411
- <dt>Order lines:</dt>
412
- <dd><ul class="first last">
429
+ <li>Order lines:<ul>
413
430
  <li>Product</li>
414
431
  <li>Accorded price</li>
415
432
  <li>Original, Ordered, Invoiced, Received and Remaining quantities</li>
416
433
  </ul>
417
- </dd>
418
- </dl>
419
434
  </li>
420
435
  <li>Terms and Conditions of the Blanket Order</li>
421
436
  </ul>
422
- <div class="figure">
423
- <img alt="Blanket Orders form" src="https://raw.githubusercontent.com/OCA/sale-workflow/16.0/sale_blanket_order/static/description/BO_form.png" />
424
- </div>
425
- <p>From the form, once the Blanket Order has been confirmed and its state is open, the user can
426
- create a Sale Order, check the Sale Orders associated to the Blanket Order and/or
427
- see the Blanket Order lines associated to the BO.</p>
428
- <div class="figure">
429
- <img alt="Actions that can be done from Blanket Order" src="https://raw.githubusercontent.com/OCA/sale-workflow/16.0/sale_blanket_order/static/description/BO_actions.png" />
430
- </div>
431
- <p>Hitting the button Create Sale Order will open a wizard that will ask for the amount of each
432
- product in the BO lines for which the Sale Order will be created.</p>
433
- <div class="figure">
434
- <img alt="Create Sale Order from Blanket Order" src="https://raw.githubusercontent.com/OCA/sale-workflow/16.0/sale_blanket_order/static/description/PO_from_BO.png" />
435
- </div>
436
- <p>Installing this module will add an additional menu which will show all the blanket order lines
437
- currently defined in the system. From this list the user can create customized Sale Orders
438
- selecting the lines for which the PO (or POs if the customers are different) is (are) created.</p>
439
- <div class="figure">
440
- <img alt="Blanket Order lines and actions" src="https://raw.githubusercontent.com/OCA/sale-workflow/16.0/sale_blanket_order/static/description/BO_lines.png" />
441
- </div>
442
- <p>In the Sale Order form one field is added in the PO lines, the Blanket Order line field. This
443
- field keeps track to which Blanket Order line the PO line is associated. Upon adding a new product
444
- in a newly created Sale Order a blanket order line will be suggested depending on the following
437
+ <p><img alt="image2" src="https://raw.githubusercontent.com/OCA/sale-blanket/18.0/sale_blanket_order/static/description/BO_form.png" /></p>
438
+ <p>From the form, once the Blanket Order has been confirmed and its state
439
+ is open, the user can create a Sale Order, check the Sale Orders
440
+ associated to the Blanket Order and/or see the Blanket Order lines
441
+ associated to the BO.</p>
442
+ <p><img alt="image3" src="https://raw.githubusercontent.com/OCA/sale-blanket/18.0/sale_blanket_order/static/description/BO_actions.png" /></p>
443
+ <p>Hitting the button Create Sale Order will open a wizard that will ask
444
+ for the amount of each product in the BO lines for which the Sale Order
445
+ will be created.</p>
446
+ <p><img alt="image4" src="https://raw.githubusercontent.com/OCA/sale-blanket/18.0/sale_blanket_order/static/description/PO_from_BO.png" /></p>
447
+ <p>Installing this module will add an additional menu which will show all
448
+ the blanket order lines currently defined in the system. From this list
449
+ the user can create customized Sale Orders selecting the lines for which
450
+ the PO (or POs if the customers are different) is (are) created.</p>
451
+ <p><img alt="image5" src="https://raw.githubusercontent.com/OCA/sale-blanket/18.0/sale_blanket_order/static/description/BO_lines.png" /></p>
452
+ <p>In the Sale Order form one field is added in the PO lines, the Blanket
453
+ Order line field. This field keeps track to which Blanket Order line the
454
+ PO line is associated. Upon adding a new product in a newly created Sale
455
+ Order a blanket order line will be suggested depending on the following
445
456
  factors:</p>
446
457
  <ul class="simple">
447
458
  <li>Closer Validity date</li>
448
459
  <li>Remaining quantity &gt; Quantity introduced in the Sale Order line</li>
449
460
  </ul>
450
- <div class="figure">
451
- <img alt="New field added in Sale Order Line" src="https://raw.githubusercontent.com/OCA/sale-workflow/16.0/sale_blanket_order/static/description/PO_BOLine.png" />
461
+ <p><img alt="image6" src="https://raw.githubusercontent.com/OCA/sale-blanket/18.0/sale_blanket_order/static/description/PO_BOLine.png" /></p>
452
462
  </div>
463
+ <div class="section" id="known-issues-roadmap">
464
+ <h2><a class="toc-backref" href="#toc-entry-3">Known issues / Roadmap</a></h2>
465
+ <ul class="simple">
466
+ <li>Currently, combo products are not supported in blanket orders nor
467
+ blanket order lines, they are treated as regular products. Future
468
+ versions of the module should include support for these types of
469
+ products.</li>
470
+ </ul>
453
471
  </div>
454
472
  <div class="section" id="bug-tracker">
455
- <h2><a class="toc-backref" href="#toc-entry-2">Bug Tracker</a></h2>
456
- <p>Bugs are tracked on <a class="reference external" href="https://github.com/OCA/sale-workflow/issues">GitHub Issues</a>.
473
+ <h2><a class="toc-backref" href="#toc-entry-4">Bug Tracker</a></h2>
474
+ <p>Bugs are tracked on <a class="reference external" href="https://github.com/OCA/sale-blanket/issues">GitHub Issues</a>.
457
475
  In case of trouble, please check there if your issue has already been reported.
458
476
  If you spotted it first, help us to smash it by providing a detailed and welcomed
459
- <a class="reference external" href="https://github.com/OCA/sale-workflow/issues/new?body=module:%20sale_blanket_order%0Aversion:%2016.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**">feedback</a>.</p>
477
+ <a class="reference external" href="https://github.com/OCA/sale-blanket/issues/new?body=module:%20sale_blanket_order%0Aversion:%2018.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**">feedback</a>.</p>
460
478
  <p>Do not contact contributors directly about support or help with technical issues.</p>
461
479
  </div>
462
480
  <div class="section" id="credits">
463
- <h2><a class="toc-backref" href="#toc-entry-3">Credits</a></h2>
481
+ <h2><a class="toc-backref" href="#toc-entry-5">Credits</a></h2>
464
482
  <div class="section" id="authors">
465
- <h3><a class="toc-backref" href="#toc-entry-4">Authors</a></h3>
483
+ <h3><a class="toc-backref" href="#toc-entry-6">Authors</a></h3>
466
484
  <ul class="simple">
467
485
  <li>Acsone SA/NV</li>
468
486
  </ul>
469
487
  </div>
470
488
  <div class="section" id="contributors">
471
- <h3><a class="toc-backref" href="#toc-entry-5">Contributors</a></h3>
489
+ <h3><a class="toc-backref" href="#toc-entry-7">Contributors</a></h3>
472
490
  <ul>
473
491
  <li><p class="first">André Pereira &lt;<a class="reference external" href="mailto:github&#64;andreparames.com">github&#64;andreparames.com</a>&gt; (<a class="reference external" href="https://www.acsone.eu/">https://www.acsone.eu/</a>)</p>
474
492
  </li>
@@ -478,7 +496,13 @@ If you spotted it first, help us to smash it by providing a detailed and welcome
478
496
  </li>
479
497
  <li><p class="first">Alex Comba &lt;<a class="reference external" href="mailto:alex.comba&#64;agilebg.com">alex.comba&#64;agilebg.com</a>&gt; (<a class="reference external" href="https://www.agilebg.com/">https://www.agilebg.com/</a>)</p>
480
498
  </li>
481
- <li><p class="first">Jasper Jumelet &lt;<a class="reference external" href="mailto:jasper.jumelet&#64;codeforward.nl">jasper.jumelet&#64;codeforward.nl</a>&gt; (<a class="reference external" href="https://www.codeforward.nl/">https://www.codeforward.nl/</a>)</p>
499
+ <li><p class="first">Codeforward (<a class="reference external" href="https://www.codeforward.nl/">https://www.codeforward.nl/</a>):</p>
500
+ <blockquote>
501
+ <ul class="simple">
502
+ <li>Jasper Jumelet &lt;<a class="reference external" href="mailto:jasper.jumelet&#64;codeforward.nl">jasper.jumelet&#64;codeforward.nl</a>&gt;</li>
503
+ <li>Chris Bergman &lt;<a class="reference external" href="mailto:chris.bergman&#64;codeforward.nl">chris.bergman&#64;codeforward.nl</a>&gt;</li>
504
+ </ul>
505
+ </blockquote>
482
506
  </li>
483
507
  <li><p class="first"><a class="reference external" href="https://trobz.com">Trobz</a>:</p>
484
508
  <blockquote>
@@ -490,11 +514,12 @@ If you spotted it first, help us to smash it by providing a detailed and welcome
490
514
  </ul>
491
515
  </div>
492
516
  <div class="section" id="other-credits">
493
- <h3><a class="toc-backref" href="#toc-entry-6">Other credits</a></h3>
494
- <p>The migration of this module from 15.0 to 16.0 was financially supported by Camptocamp</p>
517
+ <h3><a class="toc-backref" href="#toc-entry-8">Other credits</a></h3>
518
+ <p>The migration of this module from 15.0 to 16.0 was financially supported
519
+ by Camptocamp</p>
495
520
  </div>
496
521
  <div class="section" id="maintainers">
497
- <h3><a class="toc-backref" href="#toc-entry-7">Maintainers</a></h3>
522
+ <h3><a class="toc-backref" href="#toc-entry-9">Maintainers</a></h3>
498
523
  <p>This module is maintained by the OCA.</p>
499
524
  <a class="reference external image-reference" href="https://odoo-community.org">
500
525
  <img alt="Odoo Community Association" src="https://odoo-community.org/logo.png" />
@@ -502,7 +527,7 @@ If you spotted it first, help us to smash it by providing a detailed and welcome
502
527
  <p>OCA, or the Odoo Community Association, is a nonprofit organization whose
503
528
  mission is to support the collaborative development of Odoo features and
504
529
  promote its widespread use.</p>
505
- <p>This module is part of the <a class="reference external" href="https://github.com/OCA/sale-workflow/tree/16.0/sale_blanket_order">OCA/sale-workflow</a> project on GitHub.</p>
530
+ <p>This module is part of the <a class="reference external" href="https://github.com/OCA/sale-blanket/tree/18.0/sale_blanket_order">OCA/sale-blanket</a> project on GitHub.</p>
506
531
  <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>
507
532
  </div>
508
533
  </div>
@@ -0,0 +1,22 @@
1
+ import {ListRenderer} from "@web/views/list/list_renderer";
2
+ import {SaleOrderLineOne2Many} from "@sale/js/sale_order_line_field/sale_order_line_field";
3
+ import {patch} from "@web/core/utils/patch";
4
+
5
+ patch(ListRenderer.prototype, {
6
+ get canCreate() {
7
+ const parentRecord = this.props.list.model.root;
8
+ const disableAddingLines = parentRecord?.data?.disable_adding_lines;
9
+ return !disableAddingLines && super.canCreate;
10
+ },
11
+ });
12
+
13
+ patch(SaleOrderLineOne2Many.prototype, {
14
+ get displayControlPanelButtons() {
15
+ const fieldName = this.props.name;
16
+ if (this.props.viewMode === "kanban" && fieldName === "order_line") {
17
+ const disabled = this.props.record?.data?.disable_adding_lines;
18
+ return !disabled && super.displayControlPanelButtons;
19
+ }
20
+ return super.displayControlPanelButtons;
21
+ },
22
+ });