odoo-addon-sale-blanket-order 16.0.1.0.0.5__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 +116 -64
- 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 +117 -109
- odoo/addons/sale_blanket_order/i18n/es.po +91 -91
- odoo/addons/sale_blanket_order/i18n/fr.po +99 -97
- odoo/addons/sale_blanket_order/i18n/fr_FR.po +91 -91
- odoo/addons/sale_blanket_order/i18n/it.po +69 -80
- odoo/addons/sale_blanket_order/i18n/pt.po +51 -88
- odoo/addons/sale_blanket_order/i18n/sale_blanket_order.pot +26 -67
- odoo/addons/sale_blanket_order/models/blanket_orders.py +84 -146
- odoo/addons/sale_blanket_order/models/sale_config_settings.py +0 -1
- odoo/addons/sale_blanket_order/models/sale_orders.py +20 -7
- 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 +103 -69
- 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 -21
- odoo/addons/sale_blanket_order/views/sale_blanket_order_line_views.xml +17 -28
- odoo/addons/sale_blanket_order/views/sale_blanket_order_views.xml +36 -58
- odoo/addons/sale_blanket_order/views/sale_config_settings.xml +11 -19
- odoo/addons/sale_blanket_order/views/sale_order_views.xml +7 -9
- odoo/addons/sale_blanket_order/wizard/create_sale_orders.py +58 -41
- 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.1.0.0.5.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.1.0.0.5.dist-info/METADATA +0 -167
- odoo_addon_sale_blanket_order-16.0.1.0.0.5.dist-info/RECORD +0 -46
- odoo_addon_sale_blanket_order-16.0.1.0.0.5.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>
|
|
@@ -3,15 +3,16 @@
|
|
|
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>
|
|
6
|
+
<title>README.rst</title>
|
|
7
7
|
<style type="text/css">
|
|
8
8
|
|
|
9
9
|
/*
|
|
10
10
|
:Author: David Goodger (goodger@python.org)
|
|
11
|
-
:Id: $Id: html4css1.css
|
|
11
|
+
:Id: $Id: html4css1.css 9511 2024-01-13 09:50:07Z milde $
|
|
12
12
|
:Copyright: This stylesheet has been placed in the public domain.
|
|
13
13
|
|
|
14
14
|
Default cascading style sheet for the HTML output of Docutils.
|
|
15
|
+
Despite the name, some widely supported CSS2 features are used.
|
|
15
16
|
|
|
16
17
|
See https://docutils.sourceforge.io/docs/howto/html-stylesheets.html for how to
|
|
17
18
|
customize this style sheet.
|
|
@@ -274,7 +275,7 @@ pre.literal-block, pre.doctest-block, pre.math, pre.code {
|
|
|
274
275
|
margin-left: 2em ;
|
|
275
276
|
margin-right: 2em }
|
|
276
277
|
|
|
277
|
-
pre.code .ln { color:
|
|
278
|
+
pre.code .ln { color: gray; } /* line numbers */
|
|
278
279
|
pre.code, code { background-color: #eeeeee }
|
|
279
280
|
pre.code .comment, code .comment { color: #5C6576 }
|
|
280
281
|
pre.code .keyword, code .keyword { color: #3B0D06; font-weight: bold }
|
|
@@ -300,7 +301,7 @@ span.option {
|
|
|
300
301
|
span.pre {
|
|
301
302
|
white-space: pre }
|
|
302
303
|
|
|
303
|
-
span.problematic {
|
|
304
|
+
span.problematic, pre.problematic {
|
|
304
305
|
color: red }
|
|
305
306
|
|
|
306
307
|
span.section-subtitle {
|
|
@@ -359,110 +360,133 @@ ul.auto-toc {
|
|
|
359
360
|
</style>
|
|
360
361
|
</head>
|
|
361
362
|
<body>
|
|
362
|
-
<div class="document"
|
|
363
|
-
<h1 class="title">Sale Blanket Orders</h1>
|
|
363
|
+
<div class="document">
|
|
364
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="sale-blanket-orders">
|
|
370
|
+
<h1>Sale Blanket Orders</h1>
|
|
365
371
|
<!-- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
|
366
372
|
!! This file is generated by oca-gen-addon-readme !!
|
|
367
373
|
!! changes will be overwritten. !!
|
|
368
374
|
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
|
369
|
-
!! source digest: sha256:
|
|
375
|
+
!! source digest: sha256:00fac5d1161a77a5a6a5380509418cd7612e2ed365042549c170804219b62fd0
|
|
370
376
|
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->
|
|
371
|
-
<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/
|
|
372
|
-
<p>A blanket order is a pre-agreement to sell a certain number of
|
|
373
|
-
products at a specific price. From a confirmed blanket
|
|
374
|
-
create new sale orders at such price, until the
|
|
375
|
-
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>
|
|
376
383
|
<p><strong>Table of contents</strong></p>
|
|
377
384
|
<div class="contents local topic" id="contents">
|
|
378
385
|
<ul class="simple">
|
|
379
|
-
<li><a class="reference internal" href="#
|
|
380
|
-
<li><a class="reference internal" href="#
|
|
381
|
-
<li><a class="reference internal" href="#
|
|
382
|
-
<li><a class="reference internal" href="#
|
|
383
|
-
<li><a class="reference internal" href="#
|
|
384
|
-
<li><a class="reference internal" href="#
|
|
385
|
-
<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>
|
|
386
395
|
</ul>
|
|
387
396
|
</li>
|
|
388
397
|
</ul>
|
|
389
398
|
</div>
|
|
390
|
-
<div class="section" id="
|
|
391
|
-
<
|
|
392
|
-
<p>
|
|
393
|
-
<
|
|
394
|
-
|
|
395
|
-
|
|
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>
|
|
396
414
|
</div>
|
|
397
|
-
<
|
|
398
|
-
|
|
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>
|
|
399
424
|
<ul class="simple">
|
|
400
425
|
<li>Vendor</li>
|
|
401
426
|
<li>Salesperson</li>
|
|
402
427
|
<li>Payment Terms</li>
|
|
403
428
|
<li>Validity date</li>
|
|
404
|
-
<li
|
|
405
|
-
<dt>Order lines:</dt>
|
|
406
|
-
<dd><ul class="first last">
|
|
429
|
+
<li>Order lines:<ul>
|
|
407
430
|
<li>Product</li>
|
|
408
431
|
<li>Accorded price</li>
|
|
409
432
|
<li>Original, Ordered, Invoiced, Received and Remaining quantities</li>
|
|
410
433
|
</ul>
|
|
411
|
-
</dd>
|
|
412
|
-
</dl>
|
|
413
434
|
</li>
|
|
414
435
|
<li>Terms and Conditions of the Blanket Order</li>
|
|
415
436
|
</ul>
|
|
416
|
-
<
|
|
417
|
-
<
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
<
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
<p
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
<p
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
</div>
|
|
436
|
-
<p>In the Sale Order form one field is added in the PO lines, the Blanket Order line field. This
|
|
437
|
-
field keeps track to which Blanket Order line the PO line is associated. Upon adding a new product
|
|
438
|
-
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
|
|
439
456
|
factors:</p>
|
|
440
457
|
<ul class="simple">
|
|
441
458
|
<li>Closer Validity date</li>
|
|
442
459
|
<li>Remaining quantity > Quantity introduced in the Sale Order line</li>
|
|
443
460
|
</ul>
|
|
444
|
-
<
|
|
445
|
-
<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>
|
|
446
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>
|
|
447
471
|
</div>
|
|
448
472
|
<div class="section" id="bug-tracker">
|
|
449
|
-
<
|
|
450
|
-
<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>.
|
|
451
475
|
In case of trouble, please check there if your issue has already been reported.
|
|
452
476
|
If you spotted it first, help us to smash it by providing a detailed and welcomed
|
|
453
|
-
<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>
|
|
454
478
|
<p>Do not contact contributors directly about support or help with technical issues.</p>
|
|
455
479
|
</div>
|
|
456
480
|
<div class="section" id="credits">
|
|
457
|
-
<
|
|
481
|
+
<h2><a class="toc-backref" href="#toc-entry-5">Credits</a></h2>
|
|
458
482
|
<div class="section" id="authors">
|
|
459
|
-
<
|
|
483
|
+
<h3><a class="toc-backref" href="#toc-entry-6">Authors</a></h3>
|
|
460
484
|
<ul class="simple">
|
|
461
485
|
<li>Acsone SA/NV</li>
|
|
462
486
|
</ul>
|
|
463
487
|
</div>
|
|
464
488
|
<div class="section" id="contributors">
|
|
465
|
-
<
|
|
489
|
+
<h3><a class="toc-backref" href="#toc-entry-7">Contributors</a></h3>
|
|
466
490
|
<ul>
|
|
467
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>
|
|
468
492
|
</li>
|
|
@@ -472,7 +496,13 @@ If you spotted it first, help us to smash it by providing a detailed and welcome
|
|
|
472
496
|
</li>
|
|
473
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>
|
|
474
498
|
</li>
|
|
475
|
-
<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>
|
|
476
506
|
</li>
|
|
477
507
|
<li><p class="first"><a class="reference external" href="https://trobz.com">Trobz</a>:</p>
|
|
478
508
|
<blockquote>
|
|
@@ -484,20 +514,24 @@ If you spotted it first, help us to smash it by providing a detailed and welcome
|
|
|
484
514
|
</ul>
|
|
485
515
|
</div>
|
|
486
516
|
<div class="section" id="other-credits">
|
|
487
|
-
<
|
|
488
|
-
<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>
|
|
489
520
|
</div>
|
|
490
521
|
<div class="section" id="maintainers">
|
|
491
|
-
<
|
|
522
|
+
<h3><a class="toc-backref" href="#toc-entry-9">Maintainers</a></h3>
|
|
492
523
|
<p>This module is maintained by the OCA.</p>
|
|
493
|
-
<a class="reference external image-reference" href="https://odoo-community.org"
|
|
524
|
+
<a class="reference external image-reference" href="https://odoo-community.org">
|
|
525
|
+
<img alt="Odoo Community Association" src="https://odoo-community.org/logo.png" />
|
|
526
|
+
</a>
|
|
494
527
|
<p>OCA, or the Odoo Community Association, is a nonprofit organization whose
|
|
495
528
|
mission is to support the collaborative development of Odoo features and
|
|
496
529
|
promote its widespread use.</p>
|
|
497
|
-
<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>
|
|
498
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>
|
|
499
532
|
</div>
|
|
500
533
|
</div>
|
|
501
534
|
</div>
|
|
535
|
+
</div>
|
|
502
536
|
</body>
|
|
503
537
|
</html>
|
|
@@ -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
|
+
});
|