odoo-addon-sale-blanket-order 17.0.1.1.0.6__py3-none-any.whl → 17.0.1.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.

@@ -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:3ed0d98f6c7baa76799bdb56bea83ceacdd6dd8f33e5050b56cd1c602d366edb
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
- - Vendor
56
+ - Vendor
57
57
 
58
- - Salesperson
58
+ - Salesperson
59
59
 
60
- - Payment Terms
60
+ - Payment Terms
61
61
 
62
- - Validity date
62
+ - Validity date
63
63
 
64
- - Order lines:
64
+ - Order lines:
65
65
 
66
- - Product
67
- - Accorded price
68
- - Original, Ordered, Invoiced, Received and Remaining quantities
66
+ - Product
67
+ - Accorded price
68
+ - Original, Ordered, Invoiced, Received and Remaining quantities
69
69
 
70
- - Terms and Conditions of the Blanket Order
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
- - Closer Validity date
101
- - Remaining quantity > Quantity introduced in the Sale Order line
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
- - André Pereira <github@andreparames.com> (https://www.acsone.eu/)
133
+ - André Pereira <github@andreparames.com> (https://www.acsone.eu/)
134
134
 
135
- - Adrià Gil Sorribes <adria.gil@eficent.com> (https://www.eficent.com/)
135
+ - Adrià Gil Sorribes <adria.gil@eficent.com> (https://www.eficent.com/)
136
136
 
137
- - Jordi Ballester Alomar <jordi.ballester@eficent.com>
137
+ - Jordi Ballester Alomar <jordi.ballester@eficent.com>
138
138
 
139
- - Alex Comba <alex.comba@agilebg.com> (https://www.agilebg.com/)
139
+ - Alex Comba <alex.comba@agilebg.com> (https://www.agilebg.com/)
140
140
 
141
- - Codeforward (https://www.codeforward.nl/):
141
+ - Codeforward (https://www.codeforward.nl/):
142
142
 
143
- - Jasper Jumelet <jasper.jumelet@codeforward.nl>
144
- - Chris Bergman <chris.bergman@codeforward.nl>
143
+ - Jasper Jumelet <jasper.jumelet@codeforward.nl>
144
+ - Chris Bergman <chris.bergman@codeforward.nl>
145
145
 
146
- - `Trobz <https://trobz.com>`__:
146
+ - `Trobz <https://trobz.com>`__:
147
147
 
148
- - Nguyễn Minh Chiến <chien@trobz.com>
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.0",
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"],
@@ -138,16 +138,19 @@ msgstr ""
138
138
 
139
139
  #. module: sale_blanket_order
140
140
  #: model:ir.model.fields,field_description:sale_blanket_order.field_sale_blanket_order_line__analytic_distribution
141
+ #: model:ir.model.fields,field_description:sale_blanket_order.field_sale_blanket_order_wizard_line__analytic_distribution
141
142
  msgid "Analytic Distribution"
142
143
  msgstr ""
143
144
 
144
145
  #. module: sale_blanket_order
145
146
  #: model:ir.model.fields,field_description:sale_blanket_order.field_sale_blanket_order_line__analytic_distribution_search
147
+ #: model:ir.model.fields,field_description:sale_blanket_order.field_sale_blanket_order_wizard_line__analytic_distribution_search
146
148
  msgid "Analytic Distribution Search"
147
149
  msgstr ""
148
150
 
149
151
  #. module: sale_blanket_order
150
152
  #: model:ir.model.fields,field_description:sale_blanket_order.field_sale_blanket_order_line__analytic_precision
153
+ #: model:ir.model.fields,field_description:sale_blanket_order.field_sale_blanket_order_wizard_line__analytic_precision
151
154
  msgid "Analytic Precision"
152
155
  msgstr ""
153
156
 
@@ -354,6 +357,7 @@ msgstr ""
354
357
 
355
358
  #. module: sale_blanket_order
356
359
  #: model:ir.model.fields,field_description:sale_blanket_order.field_sale_blanket_order_line__distribution_analytic_account_ids
360
+ #: model:ir.model.fields,field_description:sale_blanket_order.field_sale_blanket_order_wizard_line__distribution_analytic_account_ids
357
361
  msgid "Distribution Analytic Account"
358
362
  msgstr ""
359
363
 
@@ -146,16 +146,19 @@ msgstr "Cuenta Analítica"
146
146
 
147
147
  #. module: sale_blanket_order
148
148
  #: model:ir.model.fields,field_description:sale_blanket_order.field_sale_blanket_order_line__analytic_distribution
149
+ #: model:ir.model.fields,field_description:sale_blanket_order.field_sale_blanket_order_wizard_line__analytic_distribution
149
150
  msgid "Analytic Distribution"
150
151
  msgstr ""
151
152
 
152
153
  #. module: sale_blanket_order
153
154
  #: model:ir.model.fields,field_description:sale_blanket_order.field_sale_blanket_order_line__analytic_distribution_search
155
+ #: model:ir.model.fields,field_description:sale_blanket_order.field_sale_blanket_order_wizard_line__analytic_distribution_search
154
156
  msgid "Analytic Distribution Search"
155
157
  msgstr ""
156
158
 
157
159
  #. module: sale_blanket_order
158
160
  #: model:ir.model.fields,field_description:sale_blanket_order.field_sale_blanket_order_line__analytic_precision
161
+ #: model:ir.model.fields,field_description:sale_blanket_order.field_sale_blanket_order_wizard_line__analytic_precision
159
162
  msgid "Analytic Precision"
160
163
  msgstr ""
161
164
 
@@ -359,6 +362,7 @@ msgstr "Mostrar Tipo"
359
362
 
360
363
  #. module: sale_blanket_order
361
364
  #: model:ir.model.fields,field_description:sale_blanket_order.field_sale_blanket_order_line__distribution_analytic_account_ids
365
+ #: model:ir.model.fields,field_description:sale_blanket_order.field_sale_blanket_order_wizard_line__distribution_analytic_account_ids
362
366
  msgid "Distribution Analytic Account"
363
367
  msgstr ""
364
368
 
@@ -145,16 +145,19 @@ msgstr "Compte Analytique"
145
145
 
146
146
  #. module: sale_blanket_order
147
147
  #: model:ir.model.fields,field_description:sale_blanket_order.field_sale_blanket_order_line__analytic_distribution
148
+ #: model:ir.model.fields,field_description:sale_blanket_order.field_sale_blanket_order_wizard_line__analytic_distribution
148
149
  msgid "Analytic Distribution"
149
150
  msgstr ""
150
151
 
151
152
  #. module: sale_blanket_order
152
153
  #: model:ir.model.fields,field_description:sale_blanket_order.field_sale_blanket_order_line__analytic_distribution_search
154
+ #: model:ir.model.fields,field_description:sale_blanket_order.field_sale_blanket_order_wizard_line__analytic_distribution_search
153
155
  msgid "Analytic Distribution Search"
154
156
  msgstr ""
155
157
 
156
158
  #. module: sale_blanket_order
157
159
  #: model:ir.model.fields,field_description:sale_blanket_order.field_sale_blanket_order_line__analytic_precision
160
+ #: model:ir.model.fields,field_description:sale_blanket_order.field_sale_blanket_order_wizard_line__analytic_precision
158
161
  msgid "Analytic Precision"
159
162
  msgstr ""
160
163
 
@@ -360,6 +363,7 @@ msgstr "Type d'affichage"
360
363
 
361
364
  #. module: sale_blanket_order
362
365
  #: model:ir.model.fields,field_description:sale_blanket_order.field_sale_blanket_order_line__distribution_analytic_account_ids
366
+ #: model:ir.model.fields,field_description:sale_blanket_order.field_sale_blanket_order_wizard_line__distribution_analytic_account_ids
363
367
  msgid "Distribution Analytic Account"
364
368
  msgstr ""
365
369
 
@@ -144,16 +144,19 @@ msgstr "Compte Analytique"
144
144
 
145
145
  #. module: sale_blanket_order
146
146
  #: model:ir.model.fields,field_description:sale_blanket_order.field_sale_blanket_order_line__analytic_distribution
147
+ #: model:ir.model.fields,field_description:sale_blanket_order.field_sale_blanket_order_wizard_line__analytic_distribution
147
148
  msgid "Analytic Distribution"
148
149
  msgstr ""
149
150
 
150
151
  #. module: sale_blanket_order
151
152
  #: model:ir.model.fields,field_description:sale_blanket_order.field_sale_blanket_order_line__analytic_distribution_search
153
+ #: model:ir.model.fields,field_description:sale_blanket_order.field_sale_blanket_order_wizard_line__analytic_distribution_search
152
154
  msgid "Analytic Distribution Search"
153
155
  msgstr ""
154
156
 
155
157
  #. module: sale_blanket_order
156
158
  #: model:ir.model.fields,field_description:sale_blanket_order.field_sale_blanket_order_line__analytic_precision
159
+ #: model:ir.model.fields,field_description:sale_blanket_order.field_sale_blanket_order_wizard_line__analytic_precision
157
160
  msgid "Analytic Precision"
158
161
  msgstr ""
159
162
 
@@ -359,6 +362,7 @@ msgstr "Type d'affichage"
359
362
 
360
363
  #. module: sale_blanket_order
361
364
  #: model:ir.model.fields,field_description:sale_blanket_order.field_sale_blanket_order_line__distribution_analytic_account_ids
365
+ #: model:ir.model.fields,field_description:sale_blanket_order.field_sale_blanket_order_wizard_line__distribution_analytic_account_ids
362
366
  msgid "Distribution Analytic Account"
363
367
  msgstr ""
364
368
 
@@ -144,16 +144,19 @@ msgstr "Conto analitico"
144
144
 
145
145
  #. module: sale_blanket_order
146
146
  #: model:ir.model.fields,field_description:sale_blanket_order.field_sale_blanket_order_line__analytic_distribution
147
+ #: model:ir.model.fields,field_description:sale_blanket_order.field_sale_blanket_order_wizard_line__analytic_distribution
147
148
  msgid "Analytic Distribution"
148
149
  msgstr "Distribuzione analitica"
149
150
 
150
151
  #. module: sale_blanket_order
151
152
  #: model:ir.model.fields,field_description:sale_blanket_order.field_sale_blanket_order_line__analytic_distribution_search
153
+ #: model:ir.model.fields,field_description:sale_blanket_order.field_sale_blanket_order_wizard_line__analytic_distribution_search
152
154
  msgid "Analytic Distribution Search"
153
155
  msgstr "Ricerca distribuzione analitica"
154
156
 
155
157
  #. module: sale_blanket_order
156
158
  #: model:ir.model.fields,field_description:sale_blanket_order.field_sale_blanket_order_line__analytic_precision
159
+ #: model:ir.model.fields,field_description:sale_blanket_order.field_sale_blanket_order_wizard_line__analytic_precision
157
160
  msgid "Analytic Precision"
158
161
  msgstr "Precisione analitica"
159
162
 
@@ -359,6 +362,7 @@ msgstr "Tipo visualizzazione"
359
362
 
360
363
  #. module: sale_blanket_order
361
364
  #: model:ir.model.fields,field_description:sale_blanket_order.field_sale_blanket_order_line__distribution_analytic_account_ids
365
+ #: model:ir.model.fields,field_description:sale_blanket_order.field_sale_blanket_order_wizard_line__distribution_analytic_account_ids
362
366
  msgid "Distribution Analytic Account"
363
367
  msgstr "Conto distribuzione analitica"
364
368
 
@@ -955,8 +959,8 @@ msgid ""
955
959
  "control\n"
956
960
  " the products delivered and control the vendor bills."
957
961
  msgstr ""
958
- "Usa questo menu per ricercare nel tuo ordine quadro. Per ogni ordine quadro,"
959
- "\n"
962
+ "Usa questo menu per ricercare nel tuo ordine quadro. Per ogni ordine "
963
+ "quadro,\n"
960
964
  " puoi tracciare le relative conversazioni con il cliente, "
961
965
  "controllare\n"
962
966
  " i prodotti spediti e controllare le fatture del venditore."
@@ -136,16 +136,19 @@ msgstr ""
136
136
 
137
137
  #. module: sale_blanket_order
138
138
  #: model:ir.model.fields,field_description:sale_blanket_order.field_sale_blanket_order_line__analytic_distribution
139
+ #: model:ir.model.fields,field_description:sale_blanket_order.field_sale_blanket_order_wizard_line__analytic_distribution
139
140
  msgid "Analytic Distribution"
140
141
  msgstr ""
141
142
 
142
143
  #. module: sale_blanket_order
143
144
  #: model:ir.model.fields,field_description:sale_blanket_order.field_sale_blanket_order_line__analytic_distribution_search
145
+ #: model:ir.model.fields,field_description:sale_blanket_order.field_sale_blanket_order_wizard_line__analytic_distribution_search
144
146
  msgid "Analytic Distribution Search"
145
147
  msgstr ""
146
148
 
147
149
  #. module: sale_blanket_order
148
150
  #: model:ir.model.fields,field_description:sale_blanket_order.field_sale_blanket_order_line__analytic_precision
151
+ #: model:ir.model.fields,field_description:sale_blanket_order.field_sale_blanket_order_wizard_line__analytic_precision
149
152
  msgid "Analytic Precision"
150
153
  msgstr ""
151
154
 
@@ -345,6 +348,7 @@ msgstr ""
345
348
 
346
349
  #. module: sale_blanket_order
347
350
  #: model:ir.model.fields,field_description:sale_blanket_order.field_sale_blanket_order_line__distribution_analytic_account_ids
351
+ #: model:ir.model.fields,field_description:sale_blanket_order.field_sale_blanket_order_wizard_line__distribution_analytic_account_ids
348
352
  msgid "Distribution Analytic Account"
349
353
  msgstr ""
350
354
 
@@ -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:3ed0d98f6c7baa76799bdb56bea83ceacdd6dd8f33e5050b56cd1c602d366edb
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&amp;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": [(6, 0, line.taxes_id.ids)],
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.0.6
3
+ Version: 17.0.1.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:3ed0d98f6c7baa76799bdb56bea83ceacdd6dd8f33e5050b56cd1c602d366edb
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
- - Vendor
71
+ - Vendor
72
72
 
73
- - Salesperson
73
+ - Salesperson
74
74
 
75
- - Payment Terms
75
+ - Payment Terms
76
76
 
77
- - Validity date
77
+ - Validity date
78
78
 
79
- - Order lines:
79
+ - Order lines:
80
80
 
81
- - Product
82
- - Accorded price
83
- - Original, Ordered, Invoiced, Received and Remaining quantities
81
+ - Product
82
+ - Accorded price
83
+ - Original, Ordered, Invoiced, Received and Remaining quantities
84
84
 
85
- - Terms and Conditions of the Blanket Order
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
- - Closer Validity date
116
- - Remaining quantity > Quantity introduced in the Sale Order line
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
- - André Pereira <github@andreparames.com> (https://www.acsone.eu/)
148
+ - André Pereira <github@andreparames.com> (https://www.acsone.eu/)
149
149
 
150
- - Adrià Gil Sorribes <adria.gil@eficent.com> (https://www.eficent.com/)
150
+ - Adrià Gil Sorribes <adria.gil@eficent.com> (https://www.eficent.com/)
151
151
 
152
- - Jordi Ballester Alomar <jordi.ballester@eficent.com>
152
+ - Jordi Ballester Alomar <jordi.ballester@eficent.com>
153
153
 
154
- - Alex Comba <alex.comba@agilebg.com> (https://www.agilebg.com/)
154
+ - Alex Comba <alex.comba@agilebg.com> (https://www.agilebg.com/)
155
155
 
156
- - Codeforward (https://www.codeforward.nl/):
156
+ - Codeforward (https://www.codeforward.nl/):
157
157
 
158
- - Jasper Jumelet <jasper.jumelet@codeforward.nl>
159
- - Chris Bergman <chris.bergman@codeforward.nl>
158
+ - Jasper Jumelet <jasper.jumelet@codeforward.nl>
159
+ - Chris Bergman <chris.bergman@codeforward.nl>
160
160
 
161
- - `Trobz <https://trobz.com>`__:
161
+ - `Trobz <https://trobz.com>`__:
162
162
 
163
- - Nguyễn Minh Chiến <chien@trobz.com>
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=QcPtemW9XBCSsZmcVpD_tw_XfMvKlcOX4DlkcuEVG58,6092
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=7omPRPYmeDvu2qtYzpnFSWDJQUTNqelnXJzTB9H2fks,856
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
- odoo/addons/sale_blanket_order/i18n/de.po,sha256=E-XKxTPNqxYmmA3YX2lmXcEInXM8cg34EYGqBC3pdvw,44026
7
- odoo/addons/sale_blanket_order/i18n/es.po,sha256=Zn28Mp-q9uPRrI_BaThlX0_O9ePlViYgbbcQG-Xh9OY,44266
8
- odoo/addons/sale_blanket_order/i18n/fr.po,sha256=19v5XO5y3R-tQ6PSR5CXzU8oGqsEkqXRxNV6xN3hhWw,43949
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=YnEXiCcXkzL2IhGCy8rIz09AXxHHIiG42w8MsvuxzxU,43720
11
- odoo/addons/sale_blanket_order/i18n/pt.po,sha256=AzKziG0DEj8tO7rArtpPM9AOMY67MRcKen1D72Moed8,38651
12
- odoo/addons/sale_blanket_order/i18n/sale_blanket_order.pot,sha256=OwVvreyUm_VnAbDXqIjPCf58fIdxAVz3uYTCIjA8uTM,38576
6
+ odoo/addons/sale_blanket_order/i18n/de.po,sha256=BF5MCjEKcdHUVVZY1Jk7pXh19Q2MjYKsRXUhpE8KQZw,44530
7
+ odoo/addons/sale_blanket_order/i18n/es.po,sha256=vp4cQnmzD38mnZ7YiL65yWMeqa6RZm5HWHTwoh3iY4k,44770
8
+ odoo/addons/sale_blanket_order/i18n/fr.po,sha256=7grGC0MkhOoK1hq0ALTFDis3MIUA619Km477gHJKjyI,44453
9
+ odoo/addons/sale_blanket_order/i18n/fr_FR.po,sha256=bmuyuJ9eoz_Y4xPzWrW8HNK8bYpGQD3ehXWmirfhYq4,44420
10
+ odoo/addons/sale_blanket_order/i18n/it.po,sha256=8bKpoaaGOINDqKH5riwqH3nPF4iWEp0KHlj7vUt-0qI,44224
11
+ odoo/addons/sale_blanket_order/i18n/pt.po,sha256=Pw0XwrqoF2_3BDpSpHG1sN02Qy0zLjyiBQePpKrgKBk,39155
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=2WR20YTnd77JS-cWOgLm3HVION6sAPA-xjW8_0orw9A,17010
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=WfTjqHRZ9QTldo2YlEw0nUozhQzmZx2aCzE0LF7ufdw,16322
35
- odoo/addons/sale_blanket_order/tests/test_sale_order.py,sha256=2U-s3VZ3Dqbr8o3n4ncWALfY4xWpRWwccWGnN6Hu0-g,7449
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=5sZsHVi-Cvz4y9eee5iEqZbiAnbEMu53BGkY2H4medQ,8149
42
- odoo/addons/sale_blanket_order/wizard/create_sale_orders.xml,sha256=GjPlsYRKvN45F7ZSR-j7yJCW0U9OfBi-dIhRV8YqM8M,2091
43
- odoo_addon_sale_blanket_order-17.0.1.1.0.6.dist-info/METADATA,sha256=okWkFssHjHReTKPsXrxCGGKHZZ0yPFerxb_YdgLvt9U,6604
44
- odoo_addon_sale_blanket_order-17.0.1.1.0.6.dist-info/WHEEL,sha256=9fEMia4zL7ZuZbnCOrcYogUhmn4XFIVaJ8G4YGI31xc,81
45
- odoo_addon_sale_blanket_order-17.0.1.1.0.6.dist-info/top_level.txt,sha256=QE6RBQ0QX5f4eFuUcGgU5Kbq1A_qJcDs-e_vpr6pmfU,4
46
- odoo_addon_sale_blanket_order-17.0.1.1.0.6.dist-info/RECORD,,
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.1.dist-info/METADATA,sha256=zN5UYWe8oQGlfEQNCvogtQS9oIelWO-BAvahD-nh6Q8,6578
44
+ odoo_addon_sale_blanket_order-17.0.1.1.1.1.dist-info/WHEEL,sha256=9fEMia4zL7ZuZbnCOrcYogUhmn4XFIVaJ8G4YGI31xc,81
45
+ odoo_addon_sale_blanket_order-17.0.1.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.1.dist-info/RECORD,,