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.
- odoo/addons/sale_blanket_order/README.rst +111 -63
- odoo/addons/sale_blanket_order/__manifest__.py +8 -3
- odoo/addons/sale_blanket_order/data/ir_cron.xml +0 -2
- odoo/addons/sale_blanket_order/i18n/de.po +65 -80
- odoo/addons/sale_blanket_order/i18n/es.po +30 -59
- odoo/addons/sale_blanket_order/i18n/fr.po +30 -59
- odoo/addons/sale_blanket_order/i18n/fr_FR.po +30 -59
- odoo/addons/sale_blanket_order/i18n/it.po +68 -88
- odoo/addons/sale_blanket_order/i18n/pt.po +15 -59
- odoo/addons/sale_blanket_order/i18n/sale_blanket_order.pot +16 -60
- odoo/addons/sale_blanket_order/models/blanket_orders.py +77 -143
- odoo/addons/sale_blanket_order/models/sale_config_settings.py +0 -1
- odoo/addons/sale_blanket_order/models/sale_orders.py +8 -14
- odoo/addons/sale_blanket_order/readme/CONTEXT.md +5 -0
- odoo/addons/sale_blanket_order/readme/CONTRIBUTORS.md +17 -0
- odoo/addons/sale_blanket_order/readme/{CREDITS.rst → CREDITS.md} +2 -1
- odoo/addons/sale_blanket_order/readme/DESCRIPTION.md +5 -0
- odoo/addons/sale_blanket_order/readme/ROADMAP.md +3 -0
- odoo/addons/sale_blanket_order/readme/USAGE.md +58 -0
- odoo/addons/sale_blanket_order/report/report.xml +0 -2
- odoo/addons/sale_blanket_order/report/templates.xml +32 -35
- odoo/addons/sale_blanket_order/static/description/index.html +87 -62
- odoo/addons/sale_blanket_order/static/src/js/disable_add_order_line.esm.js +22 -0
- odoo/addons/sale_blanket_order/tests/test_blanket_orders.py +99 -50
- odoo/addons/sale_blanket_order/tests/test_sale_order.py +7 -80
- odoo/addons/sale_blanket_order/views/sale_blanket_order_line_views.xml +7 -16
- odoo/addons/sale_blanket_order/views/sale_blanket_order_views.xml +31 -57
- odoo/addons/sale_blanket_order/views/sale_config_settings.xml +11 -19
- odoo/addons/sale_blanket_order/views/sale_order_views.xml +5 -8
- odoo/addons/sale_blanket_order/wizard/create_sale_orders.py +28 -26
- odoo/addons/sale_blanket_order/wizard/create_sale_orders.xml +12 -2
- odoo_addon_sale_blanket_order-18.0.1.2.1.dist-info/METADATA +216 -0
- odoo_addon_sale_blanket_order-18.0.1.2.1.dist-info/RECORD +49 -0
- {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
- odoo_addon_sale_blanket_order-18.0.1.2.1.dist-info/top_level.txt +1 -0
- odoo/addons/sale_blanket_order/readme/CONTRIBUTORS.rst +0 -8
- odoo/addons/sale_blanket_order/readme/DESCRIPTION.rst +0 -4
- odoo/addons/sale_blanket_order/readme/USAGE.rst +0 -53
- odoo_addon_sale_blanket_order-16.0.2.0.0.2.dist-info/METADATA +0 -168
- odoo_addon_sale_blanket_order-16.0.2.0.0.2.dist-info/RECORD +0 -46
- 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
|
-
|
|
16
|
-
|
|
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
|
-
|
|
122
|
-
|
|
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
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
<
|
|
131
|
-
|
|
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
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
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
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
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
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
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:
|
|
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-
|
|
378
|
-
<p>A blanket order is a pre-agreement to sell a certain number of
|
|
379
|
-
products at a specific price. From a confirmed blanket
|
|
380
|
-
create new sale orders at such price, until the
|
|
381
|
-
due to reaching the validity date or
|
|
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&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="#
|
|
386
|
-
<li><a class="reference internal" href="#
|
|
387
|
-
<li><a class="reference internal" href="#
|
|
388
|
-
<li><a class="reference internal" href="#
|
|
389
|
-
<li><a class="reference internal" href="#
|
|
390
|
-
<li><a class="reference internal" href="#
|
|
391
|
-
<li><a class="reference internal" href="#
|
|
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="
|
|
397
|
-
<h2><a class="toc-backref" href="#toc-entry-1">
|
|
398
|
-
<p>
|
|
399
|
-
<
|
|
400
|
-
|
|
401
|
-
|
|
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
|
-
<
|
|
404
|
-
|
|
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
|
|
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
|
-
<
|
|
423
|
-
<
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
<
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
<p
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
<p
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
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 > Quantity introduced in the Sale Order line</li>
|
|
449
460
|
</ul>
|
|
450
|
-
<
|
|
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-
|
|
456
|
-
<p>Bugs are tracked on <a class="reference external" href="https://github.com/OCA/sale-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
489
|
+
<h3><a class="toc-backref" href="#toc-entry-7">Contributors</a></h3>
|
|
472
490
|
<ul>
|
|
473
491
|
<li><p class="first">André Pereira <<a class="reference external" href="mailto:github@andreparames.com">github@andreparames.com</a>> (<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 <<a class="reference external" href="mailto:alex.comba@agilebg.com">alex.comba@agilebg.com</a>> (<a class="reference external" href="https://www.agilebg.com/">https://www.agilebg.com/</a>)</p>
|
|
480
498
|
</li>
|
|
481
|
-
<li><p class="first">
|
|
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 <<a class="reference external" href="mailto:jasper.jumelet@codeforward.nl">jasper.jumelet@codeforward.nl</a>></li>
|
|
503
|
+
<li>Chris Bergman <<a class="reference external" href="mailto:chris.bergman@codeforward.nl">chris.bergman@codeforward.nl</a>></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-
|
|
494
|
-
<p>The migration of this module from 15.0 to 16.0 was financially supported
|
|
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-
|
|
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-
|
|
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
|
+
});
|