odoo-addon-sale-blanket-order 17.0.1.1.0.5__py3-none-any.whl → 17.0.1.1.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.
Potentially problematic release.
This version of odoo-addon-sale-blanket-order might be problematic. Click here for more details.
- odoo/addons/sale_blanket_order/README.rst +21 -21
- odoo/addons/sale_blanket_order/__manifest__.py +1 -1
- odoo/addons/sale_blanket_order/i18n/it.po +28 -28
- odoo/addons/sale_blanket_order/i18n/sale_blanket_order.pot +4 -0
- odoo/addons/sale_blanket_order/static/description/index.html +1 -1
- odoo/addons/sale_blanket_order/tests/test_blanket_orders.py +24 -42
- odoo/addons/sale_blanket_order/tests/test_sale_order.py +6 -18
- odoo/addons/sale_blanket_order/wizard/create_sale_orders.py +5 -9
- odoo/addons/sale_blanket_order/wizard/create_sale_orders.xml +10 -0
- {odoo_addon_sale_blanket_order-17.0.1.1.0.5.dist-info → odoo_addon_sale_blanket_order-17.0.1.1.1.dist-info}/METADATA +22 -22
- {odoo_addon_sale_blanket_order-17.0.1.1.0.5.dist-info → odoo_addon_sale_blanket_order-17.0.1.1.1.dist-info}/RECORD +13 -13
- {odoo_addon_sale_blanket_order-17.0.1.1.0.5.dist-info → odoo_addon_sale_blanket_order-17.0.1.1.1.dist-info}/WHEEL +0 -0
- {odoo_addon_sale_blanket_order-17.0.1.1.0.5.dist-info → odoo_addon_sale_blanket_order-17.0.1.1.1.dist-info}/top_level.txt +0 -0
|
@@ -7,7 +7,7 @@ Sale Blanket Orders
|
|
|
7
7
|
!! This file is generated by oca-gen-addon-readme !!
|
|
8
8
|
!! changes will be overwritten. !!
|
|
9
9
|
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
|
10
|
-
!! source digest: sha256:
|
|
10
|
+
!! source digest: sha256:5178e51a963c99ad1ecb6d86824f618914adc9efbf32c3208d3a872d3328c257
|
|
11
11
|
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
|
12
12
|
|
|
13
13
|
.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png
|
|
@@ -53,21 +53,21 @@ section:
|
|
|
53
53
|
Hitting the button create will open the form view in which we can
|
|
54
54
|
introduce the following information:
|
|
55
55
|
|
|
56
|
-
-
|
|
56
|
+
- Vendor
|
|
57
57
|
|
|
58
|
-
-
|
|
58
|
+
- Salesperson
|
|
59
59
|
|
|
60
|
-
-
|
|
60
|
+
- Payment Terms
|
|
61
61
|
|
|
62
|
-
-
|
|
62
|
+
- Validity date
|
|
63
63
|
|
|
64
|
-
-
|
|
64
|
+
- Order lines:
|
|
65
65
|
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
66
|
+
- Product
|
|
67
|
+
- Accorded price
|
|
68
|
+
- Original, Ordered, Invoiced, Received and Remaining quantities
|
|
69
69
|
|
|
70
|
-
-
|
|
70
|
+
- Terms and Conditions of the Blanket Order
|
|
71
71
|
|
|
72
72
|
|image2|
|
|
73
73
|
|
|
@@ -97,8 +97,8 @@ PO line is associated. Upon adding a new product in a newly created Sale
|
|
|
97
97
|
Order a blanket order line will be suggested depending on the following
|
|
98
98
|
factors:
|
|
99
99
|
|
|
100
|
-
-
|
|
101
|
-
-
|
|
100
|
+
- Closer Validity date
|
|
101
|
+
- Remaining quantity > Quantity introduced in the Sale Order line
|
|
102
102
|
|
|
103
103
|
|image6|
|
|
104
104
|
|
|
@@ -130,22 +130,22 @@ Authors
|
|
|
130
130
|
Contributors
|
|
131
131
|
------------
|
|
132
132
|
|
|
133
|
-
-
|
|
133
|
+
- André Pereira <github@andreparames.com> (https://www.acsone.eu/)
|
|
134
134
|
|
|
135
|
-
-
|
|
135
|
+
- Adrià Gil Sorribes <adria.gil@eficent.com> (https://www.eficent.com/)
|
|
136
136
|
|
|
137
|
-
-
|
|
137
|
+
- Jordi Ballester Alomar <jordi.ballester@eficent.com>
|
|
138
138
|
|
|
139
|
-
-
|
|
139
|
+
- Alex Comba <alex.comba@agilebg.com> (https://www.agilebg.com/)
|
|
140
140
|
|
|
141
|
-
-
|
|
141
|
+
- Codeforward (https://www.codeforward.nl/):
|
|
142
142
|
|
|
143
|
-
|
|
144
|
-
|
|
143
|
+
- Jasper Jumelet <jasper.jumelet@codeforward.nl>
|
|
144
|
+
- Chris Bergman <chris.bergman@codeforward.nl>
|
|
145
145
|
|
|
146
|
-
-
|
|
146
|
+
- `Trobz <https://trobz.com>`__:
|
|
147
147
|
|
|
148
|
-
|
|
148
|
+
- Nguyễn Minh Chiến <chien@trobz.com>
|
|
149
149
|
|
|
150
150
|
Other credits
|
|
151
151
|
-------------
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
"category": "Sale",
|
|
6
6
|
"license": "AGPL-3",
|
|
7
7
|
"author": "Acsone SA/NV, Odoo Community Association (OCA)",
|
|
8
|
-
"version": "17.0.1.1.
|
|
8
|
+
"version": "17.0.1.1.1",
|
|
9
9
|
"website": "https://github.com/OCA/sale-workflow",
|
|
10
10
|
"summary": "Blanket Orders",
|
|
11
11
|
"depends": ["uom", "sale_management"],
|
|
@@ -6,7 +6,7 @@ msgid ""
|
|
|
6
6
|
msgstr ""
|
|
7
7
|
"Project-Id-Version: Odoo Server 16.0\n"
|
|
8
8
|
"Report-Msgid-Bugs-To: \n"
|
|
9
|
-
"PO-Revision-Date: 2025-
|
|
9
|
+
"PO-Revision-Date: 2025-04-14 13:24+0000\n"
|
|
10
10
|
"Last-Translator: mymage <stefano.consolaro@mymage.it>\n"
|
|
11
11
|
"Language-Team: none\n"
|
|
12
12
|
"Language: it\n"
|
|
@@ -14,7 +14,7 @@ msgstr ""
|
|
|
14
14
|
"Content-Type: text/plain; charset=UTF-8\n"
|
|
15
15
|
"Content-Transfer-Encoding: \n"
|
|
16
16
|
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
|
17
|
-
"X-Generator: Weblate 5.10.
|
|
17
|
+
"X-Generator: Weblate 5.10.4\n"
|
|
18
18
|
|
|
19
19
|
#. module: sale_blanket_order
|
|
20
20
|
#. odoo-python
|
|
@@ -38,12 +38,12 @@ msgstr ""
|
|
|
38
38
|
#. module: sale_blanket_order
|
|
39
39
|
#: model:ir.actions.report,print_report_name:sale_blanket_order.report_blanket_order
|
|
40
40
|
msgid "'Blanket Order - %s' % object.name"
|
|
41
|
-
msgstr "'Ordine
|
|
41
|
+
msgstr "'Ordine quadro - %s' % object.name"
|
|
42
42
|
|
|
43
43
|
#. module: sale_blanket_order
|
|
44
44
|
#: model_terms:ir.ui.view,arch_db:sale_blanket_order.report_blanketorder_document
|
|
45
45
|
msgid "<span>Blanket Order # </span>"
|
|
46
|
-
msgstr "<span>Ordine
|
|
46
|
+
msgstr "<span>Ordine quadro #</span>"
|
|
47
47
|
|
|
48
48
|
#. module: sale_blanket_order
|
|
49
49
|
#: model_terms:ir.ui.view,arch_db:sale_blanket_order.report_blanketorder_document
|
|
@@ -174,40 +174,40 @@ msgstr "Riga ordine aperto"
|
|
|
174
174
|
#: model:ir.model.fields,field_description:sale_blanket_order.field_sale_blanket_order_wizard__blanket_order_id
|
|
175
175
|
#: model_terms:ir.ui.view,arch_db:sale_blanket_order.view_blanket_order_form
|
|
176
176
|
msgid "Blanket Order"
|
|
177
|
-
msgstr "Ordine
|
|
177
|
+
msgstr "Ordine quadro"
|
|
178
178
|
|
|
179
179
|
#. module: sale_blanket_order
|
|
180
180
|
#: model:ir.model,name:sale_blanket_order.model_sale_blanket_order_line
|
|
181
181
|
msgid "Blanket Order Line"
|
|
182
|
-
msgstr "Riga ordine
|
|
182
|
+
msgstr "Riga ordine quadro"
|
|
183
183
|
|
|
184
184
|
#. module: sale_blanket_order
|
|
185
185
|
#: model:ir.actions.act_window,name:sale_blanket_order.act_open_sale_blanket_order_lines_view_tree
|
|
186
186
|
#: model:ir.ui.menu,name:sale_blanket_order.menu_sale_blanket_order_line
|
|
187
187
|
msgid "Blanket Order Lines"
|
|
188
|
-
msgstr "Righe ordine
|
|
188
|
+
msgstr "Righe ordine quadro"
|
|
189
189
|
|
|
190
190
|
#. module: sale_blanket_order
|
|
191
191
|
#: model:ir.model.fields,field_description:sale_blanket_order.field_sale_order_line__blanket_order_line
|
|
192
192
|
msgid "Blanket Order line"
|
|
193
|
-
msgstr "Riga ordine
|
|
193
|
+
msgstr "Riga ordine quadro"
|
|
194
194
|
|
|
195
195
|
#. module: sale_blanket_order
|
|
196
196
|
#: model:ir.actions.act_window,name:sale_blanket_order.act_open_blanket_order_view
|
|
197
197
|
#: model:ir.ui.menu,name:sale_blanket_order.menu_blanket_order_config
|
|
198
198
|
#: model_terms:ir.ui.view,arch_db:sale_blanket_order.sale_config_settings_form_view
|
|
199
199
|
msgid "Blanket Orders"
|
|
200
|
-
msgstr "Ordini
|
|
200
|
+
msgstr "Ordini quadro"
|
|
201
201
|
|
|
202
202
|
#. module: sale_blanket_order
|
|
203
203
|
#: model:ir.model,name:sale_blanket_order.model_sale_blanket_order_wizard
|
|
204
204
|
msgid "Blanket order wizard"
|
|
205
|
-
msgstr "Procedura guidata ordine
|
|
205
|
+
msgstr "Procedura guidata ordine quadro"
|
|
206
206
|
|
|
207
207
|
#. module: sale_blanket_order
|
|
208
208
|
#: model:ir.model,name:sale_blanket_order.model_sale_blanket_order_wizard_line
|
|
209
209
|
msgid "Blanket order wizard line"
|
|
210
|
-
msgstr "Riga procedura guidata ordine
|
|
210
|
+
msgstr "Riga procedura guidata ordine quadro"
|
|
211
211
|
|
|
212
212
|
#. module: sale_blanket_order
|
|
213
213
|
#. odoo-python
|
|
@@ -216,7 +216,7 @@ msgstr "Riga procedura guidata ordine aperto"
|
|
|
216
216
|
msgid ""
|
|
217
217
|
"Can not create Sale Order from Blanket Order lines with different currencies"
|
|
218
218
|
msgstr ""
|
|
219
|
-
"Non si possono creare ordini di vendita da righe ordine
|
|
219
|
+
"Non si possono creare ordini di vendita da righe ordine quadro con valute "
|
|
220
220
|
"diverse"
|
|
221
221
|
|
|
222
222
|
#. module: sale_blanket_order
|
|
@@ -234,14 +234,14 @@ msgid ""
|
|
|
234
234
|
"has no remaining quantity."
|
|
235
235
|
msgstr ""
|
|
236
236
|
"Non è possibile confermare l'ordine %s in quanto una delle righe si "
|
|
237
|
-
"riferisce ad un ordine
|
|
237
|
+
"riferisce ad un ordine quadro che non ha quantità rimanenti."
|
|
238
238
|
|
|
239
239
|
#. module: sale_blanket_order
|
|
240
240
|
#: model_terms:ir.actions.act_window,help:sale_blanket_order.act_open_blanket_order_view
|
|
241
241
|
msgid ""
|
|
242
242
|
"Click to create a blanket order that can be converted into a sale order."
|
|
243
243
|
msgstr ""
|
|
244
|
-
"Cliccare per creare un ordine
|
|
244
|
+
"Cliccare per creare un ordine quadro che può essere convertito in un ordine "
|
|
245
245
|
"di vendita."
|
|
246
246
|
|
|
247
247
|
#. module: sale_blanket_order
|
|
@@ -342,7 +342,7 @@ msgstr "Disabilita l'aggiunta di altre righe negli OV"
|
|
|
342
342
|
#: model:res.groups,name:sale_blanket_order.blanket_orders_disable_adding_lines
|
|
343
343
|
#: model_terms:ir.ui.view,arch_db:sale_blanket_order.sale_config_settings_form_view
|
|
344
344
|
msgid "Disable adding more lines to SOs from Blanket Orders"
|
|
345
|
-
msgstr "Disabilita l'aggiunta di altre righe negli OV da ordini
|
|
345
|
+
msgstr "Disabilita l'aggiunta di altre righe negli OV da ordini quadro"
|
|
346
346
|
|
|
347
347
|
#. module: sale_blanket_order
|
|
348
348
|
#: model:ir.model.fields,field_description:sale_blanket_order.field_sale_blanket_order__display_name
|
|
@@ -375,7 +375,7 @@ msgstr "Bozza"
|
|
|
375
375
|
#. module: sale_blanket_order
|
|
376
376
|
#: model:ir.actions.server,name:sale_blanket_order.expired_blanket_orders_cron_ir_actions_server
|
|
377
377
|
msgid "Expire Blanket Orders"
|
|
378
|
-
msgstr "Scadenza ordini
|
|
378
|
+
msgstr "Scadenza ordini quadro"
|
|
379
379
|
|
|
380
380
|
#. module: sale_blanket_order
|
|
381
381
|
#: model:ir.model.fields.selection,name:sale_blanket_order.selection__sale_blanket_order__state__expired
|
|
@@ -616,7 +616,7 @@ msgstr "Quantità ordinata"
|
|
|
616
616
|
#. module: sale_blanket_order
|
|
617
617
|
#: model:ir.model.fields,field_description:sale_blanket_order.field_sale_order__blanket_order_id
|
|
618
618
|
msgid "Origin blanket order"
|
|
619
|
-
msgstr "Origine ordine
|
|
619
|
+
msgstr "Origine ordine quadro"
|
|
620
620
|
|
|
621
621
|
#. module: sale_blanket_order
|
|
622
622
|
#: model_terms:ir.ui.view,arch_db:sale_blanket_order.report_blanketorder_document
|
|
@@ -743,17 +743,17 @@ msgstr "Utente responsabile"
|
|
|
743
743
|
#: code:addons/sale_blanket_order/wizard/create_sale_orders.py:0
|
|
744
744
|
#, python-format
|
|
745
745
|
msgid "Sale Blanket Order %s is not open"
|
|
746
|
-
msgstr "L'ordine di vendita
|
|
746
|
+
msgstr "L'ordine quadro di vendita %s non è aperto"
|
|
747
747
|
|
|
748
748
|
#. module: sale_blanket_order
|
|
749
749
|
#: model_terms:ir.ui.view,arch_db:sale_blanket_order.sale_blanket_order_line_form
|
|
750
750
|
msgid "Sale Blanket Order Line"
|
|
751
|
-
msgstr "Riga ordine di vendita
|
|
751
|
+
msgstr "Riga ordine quadro di vendita"
|
|
752
752
|
|
|
753
753
|
#. module: sale_blanket_order
|
|
754
754
|
#: model:ir.model.fields,field_description:sale_blanket_order.field_sale_blanket_order__line_count
|
|
755
755
|
msgid "Sale Blanket Order Line count"
|
|
756
|
-
msgstr "Numero righe ordine di vendita
|
|
756
|
+
msgstr "Numero righe ordine quadro di vendita"
|
|
757
757
|
|
|
758
758
|
#. module: sale_blanket_order
|
|
759
759
|
#: model:ir.model.fields,field_description:sale_blanket_order.field_sale_blanket_order__sale_count
|
|
@@ -817,7 +817,7 @@ msgstr "Data schedulata"
|
|
|
817
817
|
#. module: sale_blanket_order
|
|
818
818
|
#: model_terms:ir.ui.view,arch_db:sale_blanket_order.sale_blanket_order_line_search
|
|
819
819
|
msgid "Search Sale Blanket Order Line"
|
|
820
|
-
msgstr "Cerca riga ordine di vendita
|
|
820
|
+
msgstr "Cerca riga ordine quadro di vendita"
|
|
821
821
|
|
|
822
822
|
#. module: sale_blanket_order
|
|
823
823
|
#: model:ir.model.fields.selection,name:sale_blanket_order.selection__sale_blanket_order_line__display_type__line_section
|
|
@@ -889,7 +889,7 @@ msgstr "Termini e condizioni"
|
|
|
889
889
|
msgid ""
|
|
890
890
|
"The currency of the blanket order must match with that of the sale order."
|
|
891
891
|
msgstr ""
|
|
892
|
-
"La valuta dell'ordine
|
|
892
|
+
"La valuta dell'ordine quadro deve corrispondere con quella dell'ordine di "
|
|
893
893
|
"vendita."
|
|
894
894
|
|
|
895
895
|
#. module: sale_blanket_order
|
|
@@ -897,7 +897,7 @@ msgstr ""
|
|
|
897
897
|
#: code:addons/sale_blanket_order/models/sale_orders.py:0
|
|
898
898
|
#, python-format
|
|
899
899
|
msgid "The customer must be equal to the blanket order lines customer"
|
|
900
|
-
msgstr "Il cliente deve essere lo stesso delle righe dell'ordine
|
|
900
|
+
msgstr "Il cliente deve essere lo stesso delle righe dell'ordine quadro"
|
|
901
901
|
|
|
902
902
|
#. module: sale_blanket_order
|
|
903
903
|
#. odoo-python
|
|
@@ -905,7 +905,7 @@ msgstr "Il cliente deve essere lo stesso delle righe dell'ordine aperto"
|
|
|
905
905
|
#, python-format
|
|
906
906
|
msgid "The product in the blanket order and in the sales order must match"
|
|
907
907
|
msgstr ""
|
|
908
|
-
"Il prodotto nell'ordine
|
|
908
|
+
"Il prodotto nell'ordine quadro e nell'ordine di vendita deve corrispondere"
|
|
909
909
|
|
|
910
910
|
#. module: sale_blanket_order
|
|
911
911
|
#. odoo-python
|
|
@@ -955,8 +955,8 @@ msgid ""
|
|
|
955
955
|
"control\n"
|
|
956
956
|
" the products delivered and control the vendor bills."
|
|
957
957
|
msgstr ""
|
|
958
|
-
"Usa questo menu per ricercare nel tuo ordine
|
|
959
|
-
"
|
|
958
|
+
"Usa questo menu per ricercare nel tuo ordine quadro. Per ogni ordine quadro,"
|
|
959
|
+
"\n"
|
|
960
960
|
" puoi tracciare le relative conversazioni con il cliente, "
|
|
961
961
|
"controllare\n"
|
|
962
962
|
" i prodotti spediti e controllare le fatture del venditore."
|
|
@@ -1015,7 +1015,7 @@ msgid ""
|
|
|
1015
1015
|
"You can not delete a blanket order with opened sale orders! Try to cancel "
|
|
1016
1016
|
"them before."
|
|
1017
1017
|
msgstr ""
|
|
1018
|
-
"Non puoi annullare un ordine
|
|
1018
|
+
"Non puoi annullare un ordine quadro con ordini di vendita aperti! Prova ad "
|
|
1019
1019
|
"annullarli prima."
|
|
1020
1020
|
|
|
1021
1021
|
#. module: sale_blanket_order
|
|
@@ -1034,7 +1034,7 @@ msgstr ""
|
|
|
1034
1034
|
#: code:addons/sale_blanket_order/wizard/create_sale_orders.py:0
|
|
1035
1035
|
#, python-format
|
|
1036
1036
|
msgid "You can't create a sale order from an expired blanket order!"
|
|
1037
|
-
msgstr "Non puoi creare un ordine di vendita da un ordine
|
|
1037
|
+
msgstr "Non puoi creare un ordine di vendita da un ordine quadro scaduto!"
|
|
1038
1038
|
|
|
1039
1039
|
#. module: sale_blanket_order
|
|
1040
1040
|
#. odoo-python
|
|
@@ -134,16 +134,19 @@ msgstr ""
|
|
|
134
134
|
|
|
135
135
|
#. module: sale_blanket_order
|
|
136
136
|
#: model:ir.model.fields,field_description:sale_blanket_order.field_sale_blanket_order_line__analytic_distribution
|
|
137
|
+
#: model:ir.model.fields,field_description:sale_blanket_order.field_sale_blanket_order_wizard_line__analytic_distribution
|
|
137
138
|
msgid "Analytic Distribution"
|
|
138
139
|
msgstr ""
|
|
139
140
|
|
|
140
141
|
#. module: sale_blanket_order
|
|
141
142
|
#: model:ir.model.fields,field_description:sale_blanket_order.field_sale_blanket_order_line__analytic_distribution_search
|
|
143
|
+
#: model:ir.model.fields,field_description:sale_blanket_order.field_sale_blanket_order_wizard_line__analytic_distribution_search
|
|
142
144
|
msgid "Analytic Distribution Search"
|
|
143
145
|
msgstr ""
|
|
144
146
|
|
|
145
147
|
#. module: sale_blanket_order
|
|
146
148
|
#: model:ir.model.fields,field_description:sale_blanket_order.field_sale_blanket_order_line__analytic_precision
|
|
149
|
+
#: model:ir.model.fields,field_description:sale_blanket_order.field_sale_blanket_order_wizard_line__analytic_precision
|
|
147
150
|
msgid "Analytic Precision"
|
|
148
151
|
msgstr ""
|
|
149
152
|
|
|
@@ -343,6 +346,7 @@ msgstr ""
|
|
|
343
346
|
|
|
344
347
|
#. module: sale_blanket_order
|
|
345
348
|
#: model:ir.model.fields,field_description:sale_blanket_order.field_sale_blanket_order_line__distribution_analytic_account_ids
|
|
349
|
+
#: model:ir.model.fields,field_description:sale_blanket_order.field_sale_blanket_order_wizard_line__distribution_analytic_account_ids
|
|
346
350
|
msgid "Distribution Analytic Account"
|
|
347
351
|
msgstr ""
|
|
348
352
|
|
|
@@ -367,7 +367,7 @@ ul.auto-toc {
|
|
|
367
367
|
!! This file is generated by oca-gen-addon-readme !!
|
|
368
368
|
!! changes will be overwritten. !!
|
|
369
369
|
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
|
370
|
-
!! source digest: sha256:
|
|
370
|
+
!! source digest: sha256:5178e51a963c99ad1ecb6d86824f618914adc9efbf32c3208d3a872d3328c257
|
|
371
371
|
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->
|
|
372
372
|
<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/licence-AGPL--3-blue.png" /></a> <a class="reference external image-reference" href="https://github.com/OCA/sale-workflow/tree/17.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-17-0/sale-workflow-17-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&target_branch=17.0"><img alt="Try me on Runboat" src="https://img.shields.io/badge/runboat-Try%20me-875A7B.png" /></a></p>
|
|
373
373
|
<p>A blanket order is a pre-agreement to sell a certain number of
|
|
@@ -63,6 +63,9 @@ class TestSaleBlanketOrders(common.TransactionCase):
|
|
|
63
63
|
|
|
64
64
|
cls.yesterday = date.today() - timedelta(days=1)
|
|
65
65
|
cls.tomorrow = date.today() + timedelta(days=1)
|
|
66
|
+
cls.analytic_distribution = {
|
|
67
|
+
str(cls.env.ref("analytic.analytic_internal").id): 100,
|
|
68
|
+
}
|
|
66
69
|
|
|
67
70
|
def test_01_create_blanket_order(self):
|
|
68
71
|
"""We create a blanket order and check constrains to confirm BO"""
|
|
@@ -73,9 +76,7 @@ class TestSaleBlanketOrders(common.TransactionCase):
|
|
|
73
76
|
"payment_term_id": self.payment_term.id,
|
|
74
77
|
"pricelist_id": self.sale_pricelist.id,
|
|
75
78
|
"line_ids": [
|
|
76
|
-
(
|
|
77
|
-
0,
|
|
78
|
-
0,
|
|
79
|
+
fields.Command.create(
|
|
79
80
|
{
|
|
80
81
|
"product_id": self.product.id,
|
|
81
82
|
"product_uom": self.product.uom_id.id,
|
|
@@ -83,9 +84,7 @@ class TestSaleBlanketOrders(common.TransactionCase):
|
|
|
83
84
|
"price_unit": 0.0, # will be updated later
|
|
84
85
|
},
|
|
85
86
|
),
|
|
86
|
-
(
|
|
87
|
-
0,
|
|
88
|
-
0,
|
|
87
|
+
fields.Command.create(
|
|
89
88
|
{
|
|
90
89
|
"name": "My section",
|
|
91
90
|
"display_type": "line_section",
|
|
@@ -128,9 +127,7 @@ class TestSaleBlanketOrders(common.TransactionCase):
|
|
|
128
127
|
"payment_term_id": self.payment_term.id,
|
|
129
128
|
"pricelist_id": self.sale_pricelist.id,
|
|
130
129
|
"line_ids": [
|
|
131
|
-
(
|
|
132
|
-
0,
|
|
133
|
-
0,
|
|
130
|
+
fields.Command.create(
|
|
134
131
|
{
|
|
135
132
|
"product_id": False,
|
|
136
133
|
"product_uom": False,
|
|
@@ -138,10 +135,9 @@ class TestSaleBlanketOrders(common.TransactionCase):
|
|
|
138
135
|
"display_type": "line_section",
|
|
139
136
|
},
|
|
140
137
|
),
|
|
141
|
-
(
|
|
142
|
-
0,
|
|
143
|
-
0,
|
|
138
|
+
fields.Command.create(
|
|
144
139
|
{
|
|
140
|
+
"analytic_distribution": self.analytic_distribution,
|
|
145
141
|
"product_id": self.product.id,
|
|
146
142
|
"product_uom": self.product.uom_id.id,
|
|
147
143
|
"original_uom_qty": 20.0,
|
|
@@ -178,6 +174,12 @@ class TestSaleBlanketOrders(common.TransactionCase):
|
|
|
178
174
|
for so in sos:
|
|
179
175
|
self.assertEqual(so.origin, blanket_order.name)
|
|
180
176
|
|
|
177
|
+
# Analytic distribution is propagated to the sale line
|
|
178
|
+
self.assertEqual(
|
|
179
|
+
sos[0].order_line.filtered("product_id").analytic_distribution,
|
|
180
|
+
self.analytic_distribution,
|
|
181
|
+
)
|
|
182
|
+
|
|
181
183
|
def test_03_create_sale_orders_from_blanket_order_line(self):
|
|
182
184
|
"""We create a blanket order and create two sale orders
|
|
183
185
|
from the blanket order lines"""
|
|
@@ -188,9 +190,7 @@ class TestSaleBlanketOrders(common.TransactionCase):
|
|
|
188
190
|
"payment_term_id": self.payment_term.id,
|
|
189
191
|
"pricelist_id": self.sale_pricelist.id,
|
|
190
192
|
"line_ids": [
|
|
191
|
-
(
|
|
192
|
-
0,
|
|
193
|
-
0,
|
|
193
|
+
fields.Command.create(
|
|
194
194
|
{
|
|
195
195
|
"product_id": self.product.id,
|
|
196
196
|
"product_uom": self.product.uom_id.id,
|
|
@@ -198,9 +198,7 @@ class TestSaleBlanketOrders(common.TransactionCase):
|
|
|
198
198
|
"price_unit": 30.0,
|
|
199
199
|
},
|
|
200
200
|
),
|
|
201
|
-
(
|
|
202
|
-
0,
|
|
203
|
-
0,
|
|
201
|
+
fields.Command.create(
|
|
204
202
|
{
|
|
205
203
|
"product_id": self.product2.id,
|
|
206
204
|
"product_uom": self.product2.uom_id.id,
|
|
@@ -239,9 +237,7 @@ class TestSaleBlanketOrders(common.TransactionCase):
|
|
|
239
237
|
"pricelist_id": self.sale_pricelist.id,
|
|
240
238
|
"currency_id": self.sale_pricelist.currency_id.id,
|
|
241
239
|
"line_ids": [
|
|
242
|
-
(
|
|
243
|
-
0,
|
|
244
|
-
0,
|
|
240
|
+
fields.Command.create(
|
|
245
241
|
{
|
|
246
242
|
"product_id": self.product.id,
|
|
247
243
|
"product_uom": self.product.uom_id.id,
|
|
@@ -249,9 +245,7 @@ class TestSaleBlanketOrders(common.TransactionCase):
|
|
|
249
245
|
"price_unit": 30.0,
|
|
250
246
|
},
|
|
251
247
|
),
|
|
252
|
-
(
|
|
253
|
-
0,
|
|
254
|
-
0,
|
|
248
|
+
fields.Command.create(
|
|
255
249
|
{
|
|
256
250
|
"product_id": self.product2.id,
|
|
257
251
|
"product_uom": self.product2.uom_id.id,
|
|
@@ -273,9 +267,7 @@ class TestSaleBlanketOrders(common.TransactionCase):
|
|
|
273
267
|
"payment_term_id": self.payment_term.id,
|
|
274
268
|
"pricelist_id": self.sale_pricelist.id,
|
|
275
269
|
"order_line": [
|
|
276
|
-
(
|
|
277
|
-
0,
|
|
278
|
-
0,
|
|
270
|
+
fields.Command.create(
|
|
279
271
|
{
|
|
280
272
|
"product_id": self.product.id,
|
|
281
273
|
"product_uom": self.product.uom_id.id,
|
|
@@ -283,9 +275,7 @@ class TestSaleBlanketOrders(common.TransactionCase):
|
|
|
283
275
|
"price_unit": 30.0,
|
|
284
276
|
},
|
|
285
277
|
),
|
|
286
|
-
(
|
|
287
|
-
0,
|
|
288
|
-
0,
|
|
278
|
+
fields.Command.create(
|
|
289
279
|
{
|
|
290
280
|
"product_id": self.product2.id,
|
|
291
281
|
"product_uom": self.product2.uom_id.id,
|
|
@@ -310,9 +300,7 @@ class TestSaleBlanketOrders(common.TransactionCase):
|
|
|
310
300
|
"payment_term_id": self.payment_term.id,
|
|
311
301
|
"pricelist_id": self.sale_pricelist.id,
|
|
312
302
|
"line_ids": [
|
|
313
|
-
(
|
|
314
|
-
0,
|
|
315
|
-
0,
|
|
303
|
+
fields.Command.create(
|
|
316
304
|
{
|
|
317
305
|
"product_id": self.product.id,
|
|
318
306
|
"product_uom": self.uom_dozen.id,
|
|
@@ -332,9 +320,7 @@ class TestSaleBlanketOrders(common.TransactionCase):
|
|
|
332
320
|
"payment_term_id": self.payment_term.id,
|
|
333
321
|
"pricelist_id": self.sale_pricelist.id,
|
|
334
322
|
"order_line": [
|
|
335
|
-
(
|
|
336
|
-
0,
|
|
337
|
-
0,
|
|
323
|
+
fields.Command.create(
|
|
338
324
|
{
|
|
339
325
|
"product_id": self.product.id,
|
|
340
326
|
"product_uom": self.product.uom_id.id,
|
|
@@ -361,9 +347,7 @@ class TestSaleBlanketOrders(common.TransactionCase):
|
|
|
361
347
|
"payment_term_id": self.payment_term.id,
|
|
362
348
|
"pricelist_id": self.sale_pricelist.id,
|
|
363
349
|
"line_ids": [
|
|
364
|
-
(
|
|
365
|
-
0,
|
|
366
|
-
0,
|
|
350
|
+
fields.Command.create(
|
|
367
351
|
{
|
|
368
352
|
"product_id": self.product.id,
|
|
369
353
|
"product_uom": self.product.uom_id.id,
|
|
@@ -371,9 +355,7 @@ class TestSaleBlanketOrders(common.TransactionCase):
|
|
|
371
355
|
"price_unit": 30.0,
|
|
372
356
|
},
|
|
373
357
|
),
|
|
374
|
-
(
|
|
375
|
-
0,
|
|
376
|
-
0,
|
|
358
|
+
fields.Command.create(
|
|
377
359
|
{
|
|
378
360
|
"product_id": self.product2.id,
|
|
379
361
|
"product_uom": self.product2.uom_id.id,
|
|
@@ -52,9 +52,7 @@ class TestSaleOrder(common.TransactionCase):
|
|
|
52
52
|
"payment_term_id": self.payment_term.id,
|
|
53
53
|
"pricelist_id": self.sale_pricelist.id,
|
|
54
54
|
"line_ids": [
|
|
55
|
-
(
|
|
56
|
-
0,
|
|
57
|
-
0,
|
|
55
|
+
fields.Command.create(
|
|
58
56
|
{
|
|
59
57
|
"product_id": self.product.id,
|
|
60
58
|
"product_uom": self.product.uom_id.id,
|
|
@@ -65,9 +63,7 @@ class TestSaleOrder(common.TransactionCase):
|
|
|
65
63
|
"price_unit": 30.0,
|
|
66
64
|
},
|
|
67
65
|
),
|
|
68
|
-
(
|
|
69
|
-
0,
|
|
70
|
-
0,
|
|
66
|
+
fields.Command.create(
|
|
71
67
|
{
|
|
72
68
|
"product_id": self.product.id,
|
|
73
69
|
"product_uom": self.product.uom_id.id,
|
|
@@ -92,9 +88,7 @@ class TestSaleOrder(common.TransactionCase):
|
|
|
92
88
|
"payment_term_id": self.payment_term.id,
|
|
93
89
|
"pricelist_id": self.sale_pricelist.id,
|
|
94
90
|
"line_ids": [
|
|
95
|
-
(
|
|
96
|
-
0,
|
|
97
|
-
0,
|
|
91
|
+
fields.Command.create(
|
|
98
92
|
{
|
|
99
93
|
"product_id": self.product.id,
|
|
100
94
|
"product_uom": self.product.uom_id.id,
|
|
@@ -102,9 +96,7 @@ class TestSaleOrder(common.TransactionCase):
|
|
|
102
96
|
"price_unit": 30.0,
|
|
103
97
|
},
|
|
104
98
|
),
|
|
105
|
-
(
|
|
106
|
-
0,
|
|
107
|
-
0,
|
|
99
|
+
fields.Command.create(
|
|
108
100
|
{
|
|
109
101
|
"product_id": self.product_2.id,
|
|
110
102
|
"product_uom": self.product.uom_id.id,
|
|
@@ -130,9 +122,7 @@ class TestSaleOrder(common.TransactionCase):
|
|
|
130
122
|
{
|
|
131
123
|
"partner_id": self.partner.id,
|
|
132
124
|
"order_line": [
|
|
133
|
-
(
|
|
134
|
-
0,
|
|
135
|
-
0,
|
|
125
|
+
fields.Command.create(
|
|
136
126
|
{
|
|
137
127
|
"name": self.product.name,
|
|
138
128
|
"product_id": self.product.id,
|
|
@@ -164,9 +154,7 @@ class TestSaleOrder(common.TransactionCase):
|
|
|
164
154
|
{
|
|
165
155
|
"partner_id": self.partner.id,
|
|
166
156
|
"order_line": [
|
|
167
|
-
(
|
|
168
|
-
0,
|
|
169
|
-
0,
|
|
157
|
+
fields.Command.create(
|
|
170
158
|
{
|
|
171
159
|
"name": self.product.name,
|
|
172
160
|
"product_id": self.product.id,
|
|
@@ -64,18 +64,11 @@ class BlanketOrderWizard(models.TransientModel):
|
|
|
64
64
|
self._check_valid_blanket_order_line(bo_lines)
|
|
65
65
|
|
|
66
66
|
lines = [
|
|
67
|
-
(
|
|
68
|
-
0,
|
|
69
|
-
0,
|
|
67
|
+
fields.Command.create(
|
|
70
68
|
{
|
|
71
69
|
"blanket_line_id": bol.id,
|
|
72
|
-
"product_id": bol.product_id.id,
|
|
73
70
|
"date_schedule": bol.date_schedule,
|
|
74
|
-
"remaining_uom_qty": bol.remaining_uom_qty,
|
|
75
|
-
"price_unit": bol.price_unit,
|
|
76
|
-
"product_uom": bol.product_uom,
|
|
77
71
|
"qty": bol.remaining_uom_qty,
|
|
78
|
-
"partner_id": bol.partner_id,
|
|
79
72
|
},
|
|
80
73
|
)
|
|
81
74
|
for bol in bo_lines.filtered(
|
|
@@ -102,6 +95,7 @@ class BlanketOrderWizard(models.TransientModel):
|
|
|
102
95
|
|
|
103
96
|
def _prepare_so_line_vals(self, line):
|
|
104
97
|
return {
|
|
98
|
+
"analytic_distribution": line.analytic_distribution,
|
|
105
99
|
"product_id": line.product_id.id,
|
|
106
100
|
"name": line.product_id.name,
|
|
107
101
|
"product_uom": line.product_uom.id,
|
|
@@ -109,7 +103,7 @@ class BlanketOrderWizard(models.TransientModel):
|
|
|
109
103
|
"price_unit": line.blanket_line_id.price_unit,
|
|
110
104
|
"blanket_order_line": line.blanket_line_id.id,
|
|
111
105
|
"product_uom_qty": line.qty,
|
|
112
|
-
"tax_id": [(
|
|
106
|
+
"tax_id": [fields.Command.set(line.taxes_id.ids)],
|
|
113
107
|
}
|
|
114
108
|
|
|
115
109
|
def _prepare_so_vals(
|
|
@@ -199,11 +193,13 @@ class BlanketOrderWizard(models.TransientModel):
|
|
|
199
193
|
|
|
200
194
|
|
|
201
195
|
class BlanketOrderWizardLine(models.TransientModel):
|
|
196
|
+
_inherit = "analytic.mixin"
|
|
202
197
|
_name = "sale.blanket.order.wizard.line"
|
|
203
198
|
_description = "Blanket order wizard line"
|
|
204
199
|
|
|
205
200
|
wizard_id = fields.Many2one("sale.blanket.order.wizard")
|
|
206
201
|
blanket_line_id = fields.Many2one("sale.blanket.order.line")
|
|
202
|
+
analytic_distribution = fields.Json(related="blanket_line_id.analytic_distribution")
|
|
207
203
|
product_id = fields.Many2one(
|
|
208
204
|
"product.product", related="blanket_line_id.product_id", string="Product"
|
|
209
205
|
)
|
|
@@ -20,6 +20,16 @@
|
|
|
20
20
|
<field name="remaining_uom_qty" />
|
|
21
21
|
<field name="product_uom" groups="uom.group_uom" />
|
|
22
22
|
<field name="qty" />
|
|
23
|
+
<field
|
|
24
|
+
name="analytic_distribution"
|
|
25
|
+
widget="analytic_distribution"
|
|
26
|
+
optional="hide"
|
|
27
|
+
groups="analytic.group_analytic_accounting"
|
|
28
|
+
options="{
|
|
29
|
+
'product_field': 'product_id',
|
|
30
|
+
'business_domain': 'sale_order'
|
|
31
|
+
}"
|
|
32
|
+
/>
|
|
23
33
|
</tree>
|
|
24
34
|
</field>
|
|
25
35
|
</group>
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: odoo-addon-sale_blanket_order
|
|
3
|
-
Version: 17.0.1.1.
|
|
3
|
+
Version: 17.0.1.1.1
|
|
4
4
|
Requires-Python: >=3.10
|
|
5
5
|
Requires-Dist: odoo>=17.0a,<17.1dev
|
|
6
6
|
Summary: Blanket Orders
|
|
@@ -22,7 +22,7 @@ Sale Blanket Orders
|
|
|
22
22
|
!! This file is generated by oca-gen-addon-readme !!
|
|
23
23
|
!! changes will be overwritten. !!
|
|
24
24
|
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
|
25
|
-
!! source digest: sha256:
|
|
25
|
+
!! source digest: sha256:5178e51a963c99ad1ecb6d86824f618914adc9efbf32c3208d3a872d3328c257
|
|
26
26
|
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
|
27
27
|
|
|
28
28
|
.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png
|
|
@@ -68,21 +68,21 @@ section:
|
|
|
68
68
|
Hitting the button create will open the form view in which we can
|
|
69
69
|
introduce the following information:
|
|
70
70
|
|
|
71
|
-
-
|
|
71
|
+
- Vendor
|
|
72
72
|
|
|
73
|
-
-
|
|
73
|
+
- Salesperson
|
|
74
74
|
|
|
75
|
-
-
|
|
75
|
+
- Payment Terms
|
|
76
76
|
|
|
77
|
-
-
|
|
77
|
+
- Validity date
|
|
78
78
|
|
|
79
|
-
-
|
|
79
|
+
- Order lines:
|
|
80
80
|
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
81
|
+
- Product
|
|
82
|
+
- Accorded price
|
|
83
|
+
- Original, Ordered, Invoiced, Received and Remaining quantities
|
|
84
84
|
|
|
85
|
-
-
|
|
85
|
+
- Terms and Conditions of the Blanket Order
|
|
86
86
|
|
|
87
87
|
|image2|
|
|
88
88
|
|
|
@@ -112,8 +112,8 @@ PO line is associated. Upon adding a new product in a newly created Sale
|
|
|
112
112
|
Order a blanket order line will be suggested depending on the following
|
|
113
113
|
factors:
|
|
114
114
|
|
|
115
|
-
-
|
|
116
|
-
-
|
|
115
|
+
- Closer Validity date
|
|
116
|
+
- Remaining quantity > Quantity introduced in the Sale Order line
|
|
117
117
|
|
|
118
118
|
|image6|
|
|
119
119
|
|
|
@@ -145,22 +145,22 @@ Authors
|
|
|
145
145
|
Contributors
|
|
146
146
|
------------
|
|
147
147
|
|
|
148
|
-
-
|
|
148
|
+
- André Pereira <github@andreparames.com> (https://www.acsone.eu/)
|
|
149
149
|
|
|
150
|
-
-
|
|
150
|
+
- Adrià Gil Sorribes <adria.gil@eficent.com> (https://www.eficent.com/)
|
|
151
151
|
|
|
152
|
-
-
|
|
152
|
+
- Jordi Ballester Alomar <jordi.ballester@eficent.com>
|
|
153
153
|
|
|
154
|
-
-
|
|
154
|
+
- Alex Comba <alex.comba@agilebg.com> (https://www.agilebg.com/)
|
|
155
155
|
|
|
156
|
-
-
|
|
156
|
+
- Codeforward (https://www.codeforward.nl/):
|
|
157
157
|
|
|
158
|
-
|
|
159
|
-
|
|
158
|
+
- Jasper Jumelet <jasper.jumelet@codeforward.nl>
|
|
159
|
+
- Chris Bergman <chris.bergman@codeforward.nl>
|
|
160
160
|
|
|
161
|
-
-
|
|
161
|
+
- `Trobz <https://trobz.com>`__:
|
|
162
162
|
|
|
163
|
-
|
|
163
|
+
- Nguyễn Minh Chiến <chien@trobz.com>
|
|
164
164
|
|
|
165
165
|
Other credits
|
|
166
166
|
-------------
|
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
odoo/addons/sale_blanket_order/README.rst,sha256=
|
|
1
|
+
odoo/addons/sale_blanket_order/README.rst,sha256=8CUvQsI3pg1ysqc0Ct7b78jX2IG3FLgumqjkJ4gqDwI,6066
|
|
2
2
|
odoo/addons/sale_blanket_order/__init__.py,sha256=rKfzYX9RhkkCxgh2f0PJLYN45Kw8T8-fwxw1pbjLuug,108
|
|
3
|
-
odoo/addons/sale_blanket_order/__manifest__.py,sha256=
|
|
3
|
+
odoo/addons/sale_blanket_order/__manifest__.py,sha256=GBDSJQjJpJ3AHJv2qeHcT9iHlurq6EHpYfLcxOM_XC8,856
|
|
4
4
|
odoo/addons/sale_blanket_order/data/ir_cron.xml,sha256=B6mIBP7TGt_V0-2tb-GtXQrOXr_FY4D7B0qvvCf3qXc,837
|
|
5
5
|
odoo/addons/sale_blanket_order/data/sequence.xml,sha256=xsEzImnYlOTADfACH_eBMFFjdy6nM_WqJTWJ3MN1_eM,416
|
|
6
6
|
odoo/addons/sale_blanket_order/i18n/de.po,sha256=E-XKxTPNqxYmmA3YX2lmXcEInXM8cg34EYGqBC3pdvw,44026
|
|
7
7
|
odoo/addons/sale_blanket_order/i18n/es.po,sha256=Zn28Mp-q9uPRrI_BaThlX0_O9ePlViYgbbcQG-Xh9OY,44266
|
|
8
8
|
odoo/addons/sale_blanket_order/i18n/fr.po,sha256=19v5XO5y3R-tQ6PSR5CXzU8oGqsEkqXRxNV6xN3hhWw,43949
|
|
9
9
|
odoo/addons/sale_blanket_order/i18n/fr_FR.po,sha256=JTz8P_yfKIjO3AoXMbSam_GnKrAy2_cuT0aQbk3Ghyc,43916
|
|
10
|
-
odoo/addons/sale_blanket_order/i18n/it.po,sha256=
|
|
10
|
+
odoo/addons/sale_blanket_order/i18n/it.po,sha256=YnEXiCcXkzL2IhGCy8rIz09AXxHHIiG42w8MsvuxzxU,43720
|
|
11
11
|
odoo/addons/sale_blanket_order/i18n/pt.po,sha256=AzKziG0DEj8tO7rArtpPM9AOMY67MRcKen1D72Moed8,38651
|
|
12
|
-
odoo/addons/sale_blanket_order/i18n/sale_blanket_order.pot,sha256=
|
|
12
|
+
odoo/addons/sale_blanket_order/i18n/sale_blanket_order.pot,sha256=hsJsWtBmoCTalboZpxK3epFgHepcw39wTQN-lA_MeGU,39080
|
|
13
13
|
odoo/addons/sale_blanket_order/models/__init__.py,sha256=7adrBSDps9-KQKNJjoCBKeoWgeF21I62H9yqyQVcZGM,90
|
|
14
14
|
odoo/addons/sale_blanket_order/models/blanket_orders.py,sha256=rSCT2yeOKKSyCg6q6KuQKRiqpHb5ZLXKqaQAmJ8q7qo,26842
|
|
15
15
|
odoo/addons/sale_blanket_order/models/sale_config_settings.py,sha256=zYTEVPXYmCUp8p-OYyIiGdZajGl07HGNBrrIkxB1GwQ,410
|
|
@@ -29,18 +29,18 @@ odoo/addons/sale_blanket_order/static/description/BO_menu.png,sha256=TWKnQPgzBgN
|
|
|
29
29
|
odoo/addons/sale_blanket_order/static/description/PO_BOLine.png,sha256=O8dfvlVOqDcmrKrHtWw5J1gm76fOQ53YCtu9_ujb4bs,37234
|
|
30
30
|
odoo/addons/sale_blanket_order/static/description/PO_from_BO.png,sha256=lmRWLs1DYkXmZfRVn_Hg2X8nEfazH2eVZ8unVlcdj-0,27671
|
|
31
31
|
odoo/addons/sale_blanket_order/static/description/icon.png,sha256=6xBPJauaFOF0KDHfHgQopSc28kKvxMaeoQFQWZtfZDo,9455
|
|
32
|
-
odoo/addons/sale_blanket_order/static/description/index.html,sha256
|
|
32
|
+
odoo/addons/sale_blanket_order/static/description/index.html,sha256=-EhXKOrrL-CM2ZgCbdloibUZuIsyeq5JEgxBRV8oT4s,17010
|
|
33
33
|
odoo/addons/sale_blanket_order/tests/__init__.py,sha256=0z5WGDe8esOreObf1dM01uMp-O3GmL20PeIvqK0usXY,130
|
|
34
|
-
odoo/addons/sale_blanket_order/tests/test_blanket_orders.py,sha256=
|
|
35
|
-
odoo/addons/sale_blanket_order/tests/test_sale_order.py,sha256=
|
|
34
|
+
odoo/addons/sale_blanket_order/tests/test_blanket_orders.py,sha256=xcQttiI9tD5BymsC_8IpRj4H1epa-pSNUGnUdiEVv5I,16273
|
|
35
|
+
odoo/addons/sale_blanket_order/tests/test_sale_order.py,sha256=N40dy7MTXFcaOCoJ30b-UCEk0k8DwehKrE9bliTdrFg,7251
|
|
36
36
|
odoo/addons/sale_blanket_order/views/sale_blanket_order_line_views.xml,sha256=i_QyeuodE8MJ13InfS-DJLZ8uOl5n2nGH5_nuz6lSHU,7741
|
|
37
37
|
odoo/addons/sale_blanket_order/views/sale_blanket_order_views.xml,sha256=E7dp0mCDWByTCvCB0w9On1rhd_sWVNeldeED2KJIQpc,17626
|
|
38
38
|
odoo/addons/sale_blanket_order/views/sale_config_settings.xml,sha256=h9cVMWvDbnZZszQU7BrIKuUtxw-vQvth8PXCvkWfxUw,1116
|
|
39
39
|
odoo/addons/sale_blanket_order/views/sale_order_views.xml,sha256=SvYFH0wPdjrSM12hWgut6-dbionc0Af88jRApUwOnMM,1683
|
|
40
40
|
odoo/addons/sale_blanket_order/wizard/__init__.py,sha256=4P5jq1IlE7JDNFP0ly3-alAHbqdIYf6fLjQjotKrG08,99
|
|
41
|
-
odoo/addons/sale_blanket_order/wizard/create_sale_orders.py,sha256=
|
|
42
|
-
odoo/addons/sale_blanket_order/wizard/create_sale_orders.xml,sha256=
|
|
43
|
-
odoo_addon_sale_blanket_order-17.0.1.1.
|
|
44
|
-
odoo_addon_sale_blanket_order-17.0.1.1.
|
|
45
|
-
odoo_addon_sale_blanket_order-17.0.1.1.
|
|
46
|
-
odoo_addon_sale_blanket_order-17.0.1.1.
|
|
41
|
+
odoo/addons/sale_blanket_order/wizard/create_sale_orders.py,sha256=dWXhWxY0y920p0Wa8c3E9sw6rMOT2XhJkFk0UacsEgE,8061
|
|
42
|
+
odoo/addons/sale_blanket_order/wizard/create_sale_orders.xml,sha256=nh0uzoJn6P_Wx0WNYgruxN5P3JDGOhMluzMGOO3uXJQ,2637
|
|
43
|
+
odoo_addon_sale_blanket_order-17.0.1.1.1.dist-info/METADATA,sha256=UlBrawzpQ779-A5xNCm5CaQx7cBL54NdoQjV5yGhP-A,6576
|
|
44
|
+
odoo_addon_sale_blanket_order-17.0.1.1.1.dist-info/WHEEL,sha256=9fEMia4zL7ZuZbnCOrcYogUhmn4XFIVaJ8G4YGI31xc,81
|
|
45
|
+
odoo_addon_sale_blanket_order-17.0.1.1.1.dist-info/top_level.txt,sha256=QE6RBQ0QX5f4eFuUcGgU5Kbq1A_qJcDs-e_vpr6pmfU,4
|
|
46
|
+
odoo_addon_sale_blanket_order-17.0.1.1.1.dist-info/RECORD,,
|
|
File without changes
|