odoo-addon-stock-move-location 16.0.1.3.1__py3-none-any.whl → 16.0.1.4.0__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.
@@ -7,7 +7,7 @@ Move Stock Location
7
7
  !! This file is generated by oca-gen-addon-readme !!
8
8
  !! changes will be overwritten. !!
9
9
  !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
10
- !! source digest: sha256:1bbc0d0f6cd9c8298d132633b14522ed340f1f669c6fec8170f9f5347c3138e5
10
+ !! source digest: sha256:b188235583d8ffee97982515cd164a26620734c9758c886ffae1b371d3843acc
11
11
  !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
12
12
 
13
13
  .. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png
@@ -62,8 +62,8 @@ If you want to transfer a full quant:
62
62
  - Select the quantities which you want move to another location
63
63
 
64
64
  If you go to the Inventory Dashboard you can see the button "Move from
65
- location" in each of the picking types (only applicable to internal
66
- transfers). Press it and you will be directed to the wizard.
65
+ location" in each of the picking types (only applicable to internal and
66
+ outgoing transfers). Press it and you will be directed to the wizard.
67
67
 
68
68
  |image1|
69
69
 
@@ -143,6 +143,8 @@ Contributors
143
143
 
144
144
  - Aung Ko Ko Lin
145
145
 
146
+ - Laurent Mignon <laurent.mignon@acsone.eu>
147
+
146
148
  Maintainers
147
149
  -----------
148
150
 
@@ -5,7 +5,7 @@
5
5
 
6
6
  {
7
7
  "name": "Move Stock Location",
8
- "version": "16.0.1.3.1",
8
+ "version": "16.0.1.4.0",
9
9
  "author": "Julius Network Solutions, "
10
10
  "BCIM,"
11
11
  "Camptocamp,"
@@ -69,7 +69,6 @@ msgstr ""
69
69
 
70
70
  #. module: stock_move_location
71
71
  #: model:ir.model.fields,field_description:stock_move_location.field_wiz_stock_move_location__edit_locations
72
- #: model_terms:ir.ui.view,arch_db:stock_move_location.view_wiz_stock_move_location_form_stock_move_location
73
72
  msgid "Edit Locations"
74
73
  msgstr ""
75
74
 
@@ -13,3 +13,4 @@
13
13
  - Abraham Anes \<<abraham@studio73.es>\>
14
14
  - Quartile \<<https://www.quartile.co>\>
15
15
  - Aung Ko Ko Lin
16
+ - Laurent Mignon \<<laurent.mignon@acsone.eu>\>
@@ -1,43 +1,37 @@
1
- - A new menu item Operations \> Move from location... opens a wizard
2
- where 2 locations can be specified.
3
- - Select origin and destination locations and press "IMMEDIATE TRANSFER"
4
- or "PLANNED TRANSFER"
1
+ - A new menu item Operations \> Move from location... opens a wizard where 2 locations
2
+ can be specified.
3
+ - Select origin and destination locations and press "IMMEDIATE TRANSFER" or "PLANNED
4
+ TRANSFER"
5
5
  - Press ADD ALL button to add all products available
6
- - Those lines can be edited. Move quantity can't be more than a max
7
- available quantity
6
+ - Those lines can be edited. Move quantity can't be more than a max available quantity
8
7
  - Move doesn't care about the reservations and will move stuff anyway
9
- - If during your operation with the wizard the real quantity will change
10
- it will move only the available quantity at the button press
11
- - Products will be moved and a form view of picking that did that will
12
- show up
13
- - If "PLANNED TRANSFER" is used - the picking won't be validated
14
- automatically
8
+ - If during your operation with the wizard the real quantity will change it will move
9
+ only the available quantity at the button press
10
+ - Products will be moved and a form view of picking that did that will show up
11
+ - If "PLANNED TRANSFER" is used - the picking won't be validated automatically
15
12
 
16
13
  If you want to transfer a full quant:
17
14
 
18
- - Go to Inventory \> Products \> Products and click "On hand" smart
19
- button or Inventory \> Reporting \> Inventory, the quants view will be
20
- opened.
15
+ - Go to Inventory \> Products \> Products and click "On hand" smart button or Inventory
16
+ \> Reporting \> Inventory, the quants view will be opened.
21
17
  - Select the quantities which you want move to another location
22
18
 
23
- If you go to the Inventory Dashboard you can see the button "Move from
24
- location" in each of the picking types (only applicable to internal
25
- transfers). Press it and you will be directed to the wizard.
19
+ If you go to the Inventory Dashboard you can see the button "Move from location" in each
20
+ of the picking types (only applicable to internal and outgoing transfers). Press it and
21
+ you will be directed to the wizard.
26
22
 
27
23
  ![](https://user-images.githubusercontent.com/147538094/281480833-208ea309-0bad-43e7-bd6f-8384520afe00.png)
28
24
 
29
- To enable this option, check "Show Move On Hand Stock" in the Picking Type configuration.
25
+ To enable this option, check "Show Move On Hand Stock" in the Picking Type
26
+ configuration.
30
27
 
31
28
  ![](https://user-images.githubusercontent.com/147538094/281479487-45fa4bde-36be-4ba1-8d54-8e707b89459e.png)
32
29
 
33
30
  If you want transfer everything from stock.location
34
31
 
35
- On a draft picking, add a button to fill with moves lines for all
36
- products in the source destination. This allows to create a picking to
37
- move all the content of a location. The Origin Location must have stock.
38
- The Destination Location has to be a final location.
39
- If some quants are not available
40
- (i.e. reserved) the picking will be in partially available state and
41
- reserved moves won't be listed in the operations. Use barcode interface
42
- to scan a location and create an empty picking. Then use the fill with
43
- stock button.
32
+ On a draft picking, add a button to fill with moves lines for all products in the source
33
+ destination. This allows to create a picking to move all the content of a location. The
34
+ Origin Location must have stock. The Destination Location has to be a final location. If
35
+ some quants are not available (i.e. reserved) the picking will be in partially available
36
+ state and reserved moves won't be listed in the operations. Use barcode interface to
37
+ scan a location and create an empty picking. Then use the fill with stock button.
@@ -8,10 +8,11 @@
8
8
 
9
9
  /*
10
10
  :Author: David Goodger (goodger@python.org)
11
- :Id: $Id: html4css1.css 8954 2022-01-20 10:10:25Z milde $
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: grey; } /* line numbers */
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 {
@@ -366,7 +367,7 @@ ul.auto-toc {
366
367
  !! This file is generated by oca-gen-addon-readme !!
367
368
  !! changes will be overwritten. !!
368
369
  !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
369
- !! source digest: sha256:1bbc0d0f6cd9c8298d132633b14522ed340f1f669c6fec8170f9f5347c3138e5
370
+ !! source digest: sha256:b188235583d8ffee97982515cd164a26620734c9758c886ffae1b371d3843acc
370
371
  !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->
371
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/stock-logistics-warehouse/tree/16.0/stock_move_location"><img alt="OCA/stock-logistics-warehouse" src="https://img.shields.io/badge/github-OCA%2Fstock--logistics--warehouse-lightgray.png?logo=github" /></a> <a class="reference external image-reference" href="https://translation.odoo-community.org/projects/stock-logistics-warehouse-16-0/stock-logistics-warehouse-16-0-stock_move_location"><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/stock-logistics-warehouse&amp;target_branch=16.0"><img alt="Try me on Runboat" src="https://img.shields.io/badge/runboat-Try%20me-875A7B.png" /></a></p>
372
373
  <p>This module allows to move entire location of products from one place to
@@ -411,8 +412,8 @@ opened.</li>
411
412
  <li>Select the quantities which you want move to another location</li>
412
413
  </ul>
413
414
  <p>If you go to the Inventory Dashboard you can see the button “Move from
414
- location” in each of the picking types (only applicable to internal
415
- transfers). Press it and you will be directed to the wizard.</p>
415
+ location” in each of the picking types (only applicable to internal and
416
+ outgoing transfers). Press it and you will be directed to the wizard.</p>
416
417
  <p><img alt="image1" src="https://user-images.githubusercontent.com/147538094/281480833-208ea309-0bad-43e7-bd6f-8384520afe00.png" /></p>
417
418
  <p>To enable this option, check “Show Move On Hand Stock” in the Picking
418
419
  Type configuration.</p>
@@ -482,12 +483,15 @@ If you spotted it first, help us to smash it by providing a detailed and welcome
482
483
  <li>Aung Ko Ko Lin</li>
483
484
  </ul>
484
485
  </li>
486
+ <li>Laurent Mignon &lt;<a class="reference external" href="mailto:laurent.mignon&#64;acsone.eu">laurent.mignon&#64;acsone.eu</a>&gt;</li>
485
487
  </ul>
486
488
  </div>
487
489
  <div class="section" id="maintainers">
488
490
  <h2><a class="toc-backref" href="#toc-entry-7">Maintainers</a></h2>
489
491
  <p>This module is maintained by the OCA.</p>
490
- <a class="reference external image-reference" href="https://odoo-community.org"><img alt="Odoo Community Association" src="https://odoo-community.org/logo.png" /></a>
492
+ <a class="reference external image-reference" href="https://odoo-community.org">
493
+ <img alt="Odoo Community Association" src="https://odoo-community.org/logo.png" />
494
+ </a>
491
495
  <p>OCA, or the Odoo Community Association, is a nonprofit organization whose
492
496
  mission is to support the collaborative development of Odoo features and
493
497
  promote its widespread use.</p>
@@ -92,46 +92,49 @@ class TestsCommon(common.TransactionCase):
92
92
  )
93
93
  cls.package = cls.env["stock.quant.package"].create({})
94
94
  cls.package1 = cls.env["stock.quant.package"].create({})
95
+
95
96
  cls.package2 = cls.env["stock.quant.package"].create({})
96
97
 
97
- def setup_product_amounts(self):
98
- self.set_product_amount(self.product_no_lots, self.internal_loc_1, 123)
99
- self.set_product_amount(
100
- self.product_lots, self.internal_loc_1, 1.0, lot_id=self.lot1
98
+ @classmethod
99
+ def setup_product_amounts(cls):
100
+ cls.set_product_amount(cls.product_no_lots, cls.internal_loc_1, 123)
101
+ cls.set_product_amount(
102
+ cls.product_lots, cls.internal_loc_1, 1.0, lot_id=cls.lot1
101
103
  )
102
- self.set_product_amount(
103
- self.product_lots, self.internal_loc_1, 1.0, lot_id=self.lot2
104
+ cls.set_product_amount(
105
+ cls.product_lots, cls.internal_loc_1, 1.0, lot_id=cls.lot2
104
106
  )
105
- self.set_product_amount(
106
- self.product_lots, self.internal_loc_1, 1.0, lot_id=self.lot3
107
+ cls.set_product_amount(
108
+ cls.product_lots, cls.internal_loc_1, 1.0, lot_id=cls.lot3
107
109
  )
108
- self.set_product_amount(
109
- self.product_package,
110
- self.internal_loc_1,
110
+ cls.set_product_amount(
111
+ cls.product_package,
112
+ cls.internal_loc_1,
111
113
  1.0,
112
- lot_id=self.lot4,
113
- package_id=self.package,
114
+ lot_id=cls.lot4,
115
+ package_id=cls.package,
114
116
  )
115
- self.set_product_amount(
116
- self.product_package,
117
- self.internal_loc_1,
117
+ cls.set_product_amount(
118
+ cls.product_package,
119
+ cls.internal_loc_1,
118
120
  1.0,
119
- lot_id=self.lot4,
120
- package_id=self.package1,
121
+ lot_id=cls.lot4,
122
+ package_id=cls.package1,
121
123
  )
122
- self.set_product_amount(
123
- self.product_package,
124
- self.internal_loc_1,
124
+ cls.set_product_amount(
125
+ cls.product_package,
126
+ cls.internal_loc_1,
125
127
  1.0,
126
- lot_id=self.lot5,
127
- package_id=self.package2,
128
- owner_id=self.partner,
128
+ lot_id=cls.lot5,
129
+ package_id=cls.package2,
130
+ owner_id=cls.partner,
129
131
  )
130
132
 
133
+ @classmethod
131
134
  def set_product_amount(
132
- self, product, location, amount, lot_id=None, package_id=None, owner_id=None
135
+ cls, product, location, amount, lot_id=None, package_id=None, owner_id=None
133
136
  ):
134
- self.env["stock.quant"]._update_available_quantity(
137
+ cls.env["stock.quant"]._update_available_quantity(
135
138
  product,
136
139
  location,
137
140
  amount,
@@ -8,9 +8,10 @@ from .test_common import TestsCommon
8
8
 
9
9
 
10
10
  class TestMoveLocation(TestsCommon):
11
- def setUp(self):
12
- super().setUp()
13
- self.setup_product_amounts()
11
+ @classmethod
12
+ def setUpClass(cls):
13
+ super().setUpClass()
14
+ cls.setup_product_amounts()
14
15
 
15
16
  def test_move_location_wizard(self):
16
17
  """Test a simple move."""
@@ -151,6 +152,77 @@ class TestMoveLocation(TestsCommon):
151
152
  [1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 123.0],
152
153
  )
153
154
 
155
+ def test_planned_transfer_strict(self):
156
+ product = self.env["product.product"].create(
157
+ {"name": "Test", "type": "product", "tracking": "lot"}
158
+ )
159
+ lot = self.env["stock.lot"].create(
160
+ {
161
+ "name": "Test lot",
162
+ "product_id": product.id,
163
+ }
164
+ )
165
+ self.set_product_amount(
166
+ product,
167
+ self.internal_loc_1,
168
+ 10.0,
169
+ )
170
+ self.set_product_amount(
171
+ product,
172
+ self.internal_loc_1,
173
+ 10.0,
174
+ lot_id=lot,
175
+ )
176
+ wizard = self._create_wizard(self.internal_loc_1, self.internal_loc_2)
177
+ wizard.onchange_origin_location()
178
+ wizard = wizard.with_context(planned=True)
179
+ location_lines = wizard.stock_move_location_line_ids.filtered(
180
+ lambda r: r.product_id.id != product.id or r.lot_id.id != lot.id
181
+ )
182
+ location_lines.unlink()
183
+ wizard.action_move_location()
184
+ picking = wizard.picking_id
185
+ self.assertEqual(picking.state, "assigned")
186
+ self.assertEqual(
187
+ len(wizard.stock_move_location_line_ids), len(picking.move_line_ids)
188
+ )
189
+ location_line = wizard.stock_move_location_line_ids
190
+ wizard_lines = [
191
+ location_line.product_id.id,
192
+ location_line.lot_id.id,
193
+ location_line.move_quantity,
194
+ ]
195
+ line = picking.move_line_ids
196
+ picking_lines = [line.product_id.id, line.lot_id.id, line.reserved_uom_qty]
197
+ self.assertEqual(
198
+ wizard_lines,
199
+ picking_lines,
200
+ "Mismatch between move location lines and move lines",
201
+ )
202
+ self.assertEqual(
203
+ picking.move_line_ids.reserved_uom_qty,
204
+ 10.0,
205
+ )
206
+
207
+ # Create planned transfer for same quant
208
+ wizard = self._create_wizard(self.internal_loc_1, self.internal_loc_2)
209
+ wizard.onchange_origin_location()
210
+ wizard = wizard.with_context(planned=True)
211
+ location_lines = wizard.stock_move_location_line_ids.filtered(
212
+ lambda r: r.product_id.id != product.id or r.lot_id.id != lot.id
213
+ )
214
+ location_lines.unlink()
215
+ wizard.action_move_location()
216
+ picking = wizard.picking_id
217
+ self.assertEqual(picking.state, "assigned")
218
+ self.assertEqual(
219
+ len(wizard.stock_move_location_line_ids), len(picking.move_line_ids)
220
+ )
221
+ self.assertEqual(
222
+ picking.move_line_ids.mapped("reserved_uom_qty"),
223
+ [0.0],
224
+ )
225
+
154
226
  def test_quant_transfer(self):
155
227
  """Test quants transfer."""
156
228
  quants = self.product_lots.stock_quant_ids
@@ -8,7 +8,7 @@
8
8
  <field name="show_operations" position="after">
9
9
  <field
10
10
  name="show_move_onhand"
11
- attrs='{"invisible": [("code", "not in", ["internal"])]}'
11
+ attrs='{"invisible": [("code", "not in", ["internal", "outgoing"])]}'
12
12
  />
13
13
  </field>
14
14
  </field>
@@ -71,7 +71,7 @@ class StockMoveLocationWizard(models.TransientModel):
71
71
  for rec in self:
72
72
  picking_type = self.env["stock.picking.type"]
73
73
  base_domain = [
74
- ("code", "=", "internal"),
74
+ ("code", "in", ("internal", "outgoing")),
75
75
  ("warehouse_id.company_id", "=", company_id),
76
76
  ]
77
77
  if rec.origin_location_id:
@@ -230,7 +230,7 @@ class StockMoveLocationWizard(models.TransientModel):
230
230
  lot_id=line.lot_id,
231
231
  package_id=line.package_id,
232
232
  owner_id=line.owner_id,
233
- strict=False,
233
+ strict=True,
234
234
  )
235
235
  move._update_reserved_quantity(
236
236
  line.move_quantity,
@@ -239,7 +239,7 @@ class StockMoveLocationWizard(models.TransientModel):
239
239
  lot_id=line.lot_id,
240
240
  package_id=line.package_id,
241
241
  owner_id=line.owner_id,
242
- strict=False,
242
+ strict=True,
243
243
  )
244
244
  # Force the state to be assigned, instead of _action_assign,
245
245
  # to avoid discarding the selected move_location_line.
@@ -303,25 +303,32 @@ class StockMoveLocationWizard(models.TransientModel):
303
303
  )
304
304
  return action
305
305
 
306
+ def _get_quants_domain(self):
307
+ return [("location_id", "=", self.origin_location_id.id)]
308
+
306
309
  def _get_group_quants(self):
307
- location_id = self.origin_location_id
308
- # Using sql as search_group doesn't support aggregation functions
309
- # leading to overhead in queries to DB
310
- query = """
311
- SELECT product_id, lot_id, package_id, owner_id, SUM(quantity) AS quantity,
312
- SUM(reserved_quantity) AS reserved_quantity
313
- FROM stock_quant
314
- WHERE location_id = %s
315
- GROUP BY product_id, lot_id, package_id, owner_id
316
- """
317
- self.env.cr.execute(query, (location_id.id,))
318
- return self.env.cr.dictfetchall()
310
+ domain = self._get_quants_domain()
311
+ result = self.env["stock.quant"].read_group(
312
+ domain=domain,
313
+ fields=[
314
+ "product_id",
315
+ "lot_id",
316
+ "package_id",
317
+ "owner_id",
318
+ "quantity:sum",
319
+ "reserved_quantity:sum",
320
+ ],
321
+ groupby=["product_id", "lot_id", "package_id", "owner_id"],
322
+ orderby="id",
323
+ lazy=False,
324
+ )
325
+ return result
319
326
 
320
327
  def _get_stock_move_location_lines_values(self):
321
328
  product_obj = self.env["product.product"]
322
329
  product_data = []
323
330
  for group in self._get_group_quants():
324
- product = product_obj.browse(group.get("product_id")).exists()
331
+ product = product_obj.browse(group["product_id"][0]).exists()
325
332
  # Apply the putaway strategy
326
333
  location_dest_id = (
327
334
  self.apply_putaway_strategy
@@ -337,15 +344,33 @@ class StockMoveLocationWizard(models.TransientModel):
337
344
  "origin_location_id": self.origin_location_id.id,
338
345
  "destination_location_id": location_dest_id,
339
346
  # cursor returns None instead of False
340
- "lot_id": group.get("lot_id") or False,
341
- "package_id": group.get("package_id") or False,
342
- "owner_id": group.get("owner_id") or False,
347
+ "lot_id": group["lot_id"][0] if group.get("lot_id") else False,
348
+ "package_id": group["package_id"][0]
349
+ if group.get("package_id")
350
+ else False,
351
+ "owner_id": group["owner_id"][0]
352
+ if group.get("owner_id")
353
+ else False,
343
354
  "product_uom_id": product.uom_id.id,
344
355
  "custom": False,
345
356
  }
346
357
  )
347
358
  return product_data
348
359
 
360
+ def _reset_stock_move_location_lines(self):
361
+ lines = []
362
+ line_model = self.env["wiz.stock.move.location.line"]
363
+ for line_val in self._get_stock_move_location_lines_values():
364
+ if line_val.get("max_quantity") <= 0:
365
+ continue
366
+ line = line_model.create(line_val)
367
+ line.max_quantity = line.get_max_quantity()
368
+ line.reserved_quantity = line.reserved_quantity
369
+ lines.append(line)
370
+ self.update(
371
+ {"stock_move_location_line_ids": [(6, 0, [line.id for line in lines])]}
372
+ )
373
+
349
374
  @api.onchange("origin_location_id")
350
375
  def onchange_origin_location(self):
351
376
  # Get origin_location_disable context key to prevent load all origin
@@ -355,18 +380,7 @@ class StockMoveLocationWizard(models.TransientModel):
355
380
  not self.env.context.get("origin_location_disable")
356
381
  and self.origin_location_id
357
382
  ):
358
- lines = []
359
- line_model = self.env["wiz.stock.move.location.line"]
360
- for line_val in self._get_stock_move_location_lines_values():
361
- if line_val.get("max_quantity") <= 0:
362
- continue
363
- line = line_model.create(line_val)
364
- line.max_quantity = line.get_max_quantity()
365
- line.reserved_quantity = line.reserved_quantity
366
- lines.append(line)
367
- self.update(
368
- {"stock_move_location_line_ids": [(6, 0, [line.id for line in lines])]}
369
- )
383
+ self._reset_stock_move_location_lines()
370
384
 
371
385
  def clear_lines(self):
372
386
  self._clear_lines()
@@ -10,18 +10,15 @@
10
10
  <form>
11
11
  <sheet>
12
12
  <div class="oe_button_box" name="button_box" />
13
- <div>
14
- <label for="edit_locations">
15
- Edit Locations
16
- </label>
13
+ <group name="options">
17
14
  <field name="edit_locations" widget="boolean_toggle" />
18
- </div>
19
- <div groups="stock.group_stock_multi_locations">
20
- <label for="apply_putaway_strategy">
21
- Apply putaway strategy for moving products
22
- </label>
23
- <field name="apply_putaway_strategy" widget="boolean_toggle" />
24
- </div>
15
+ <field
16
+ name="apply_putaway_strategy"
17
+ string="Apply putaway strategy for moving products"
18
+ widget="boolean_toggle"
19
+ groups="stock.group_stock_multi_locations"
20
+ />
21
+ </group>
25
22
  <group name="picking_type">
26
23
  <field name="picking_type_id" />
27
24
  </group>
@@ -37,6 +34,8 @@
37
34
  attrs="{'readonly': [('destination_location_disable', '=', True)]}"
38
35
  />
39
36
  </group>
37
+ <group name="filters">
38
+ </group>
40
39
  <group name="lines">
41
40
  <field
42
41
  name="stock_move_location_line_ids"
@@ -1,12 +1,11 @@
1
1
  Metadata-Version: 2.1
2
- Name: odoo-addon-stock-move-location
3
- Version: 16.0.1.3.1
2
+ Name: odoo-addon-stock_move_location
3
+ Version: 16.0.1.4.0
4
4
  Summary: This module allows to move all stock in a stock location to an other one.
5
5
  Home-page: https://github.com/OCA/stock-logistics-warehouse
6
6
  Author: Julius Network Solutions, BCIM,Camptocamp,Odoo Community Association (OCA)
7
7
  Author-email: support@odoo-community.org
8
8
  License: AGPL-3
9
- Platform: UNKNOWN
10
9
  Classifier: Programming Language :: Python
11
10
  Classifier: Framework :: Odoo
12
11
  Classifier: Framework :: Odoo :: 16.0
@@ -23,7 +22,7 @@ Move Stock Location
23
22
  !! This file is generated by oca-gen-addon-readme !!
24
23
  !! changes will be overwritten. !!
25
24
  !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
26
- !! source digest: sha256:1bbc0d0f6cd9c8298d132633b14522ed340f1f669c6fec8170f9f5347c3138e5
25
+ !! source digest: sha256:b188235583d8ffee97982515cd164a26620734c9758c886ffae1b371d3843acc
27
26
  !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
28
27
 
29
28
  .. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png
@@ -78,8 +77,8 @@ If you want to transfer a full quant:
78
77
  - Select the quantities which you want move to another location
79
78
 
80
79
  If you go to the Inventory Dashboard you can see the button "Move from
81
- location" in each of the picking types (only applicable to internal
82
- transfers). Press it and you will be directed to the wizard.
80
+ location" in each of the picking types (only applicable to internal and
81
+ outgoing transfers). Press it and you will be directed to the wizard.
83
82
 
84
83
  |image1|
85
84
 
@@ -159,6 +158,8 @@ Contributors
159
158
 
160
159
  - Aung Ko Ko Lin
161
160
 
161
+ - Laurent Mignon <laurent.mignon@acsone.eu>
162
+
162
163
  Maintainers
163
164
  -----------
164
165
 
@@ -175,5 +176,3 @@ promote its widespread use.
175
176
  This module is part of the `OCA/stock-logistics-warehouse <https://github.com/OCA/stock-logistics-warehouse/tree/16.0/stock_move_location>`_ project on GitHub.
176
177
 
177
178
  You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.
178
-
179
-
@@ -1,6 +1,6 @@
1
- odoo/addons/stock_move_location/README.rst,sha256=IW0eY6yncuvUhCA3zgtPonbaL3hKuSnOH6JZCKrdy_c,6280
1
+ odoo/addons/stock_move_location/README.rst,sha256=44MKjDpGX9hHXKDPYK8bk8ykyH2q63OP5Vti9FyRsOk,6339
2
2
  odoo/addons/stock_move_location/__init__.py,sha256=a529MU97ndMyMZsToYJmFXUHanvFmTyIZL9lmHsflPM,88
3
- odoo/addons/stock_move_location/__manifest__.py,sha256=wRHqVHvgT0At-KfVivpAJvjVLqhcFcALTIwe5cSBq7c,901
3
+ odoo/addons/stock_move_location/__manifest__.py,sha256=SyxTE2a6wrGnqZrgFUVrUx3yuDRUfQorMXCSBT8xITM,901
4
4
  odoo/addons/stock_move_location/init_hook.py,sha256=iIIjLsKG3z1Esn7A_tiIQZ9jXPvVs6EIhtNICdv-FQA,419
5
5
  odoo/addons/stock_move_location/data/stock_quant_view.xml,sha256=g7KS13Q9jEIZTKiNHjWrFcggfYyfK2ZW2VONnCLSZaI,635
6
6
  odoo/addons/stock_move_location/i18n/de.po,sha256=fS9Z6po8XinTgKYyVhcPgld_LU8F4U-86YxWLqj7610,11196
@@ -12,29 +12,29 @@ odoo/addons/stock_move_location/i18n/it.po,sha256=kUcJfbX6NOe6xrSARECRFTV5oD24zA
12
12
  odoo/addons/stock_move_location/i18n/ja.po,sha256=tnLPccZjpuZi46x7JnLbAuIr4AaZ6lvdmqkMRzMXUU4,11530
13
13
  odoo/addons/stock_move_location/i18n/ja_JP.po,sha256=B1EN_vEiSVrNqbwdOTWYZzoG5qYS-otAeeJIw_FeN1k,10141
14
14
  odoo/addons/stock_move_location/i18n/pt.po,sha256=nDAjA6dW-AHS626GH92MOZMoW91VNRU7HC3frCwQBJo,10704
15
- odoo/addons/stock_move_location/i18n/stock_move_location.pot,sha256=l-tLeYUry-gbmhiQUaPCN38M8MeWzKoqNGnvaXhQ-P8,10073
15
+ odoo/addons/stock_move_location/i18n/stock_move_location.pot,sha256=iGhgMOAPhzmrqWGb2C7sHif2US073Vp25fCUzWr_7DU,9965
16
16
  odoo/addons/stock_move_location/models/__init__.py,sha256=UrroaZ7L0mQgueiSi7qJ-maQp61uMedod-xbfhGNBMI,181
17
17
  odoo/addons/stock_move_location/models/stock_move.py,sha256=UxsvfgwL_bfAEDrMdu_HGLlabPyZCjnf4MfeFzNPPI0,604
18
18
  odoo/addons/stock_move_location/models/stock_picking.py,sha256=zaUHgEKdL9SjbkhiMwbkptKc3JzqXjeA-djbMjJ2KWc,1662
19
19
  odoo/addons/stock_move_location/models/stock_picking_type.py,sha256=9czGhJxYbgoB9umbf3Vw2TuyGWDC_cBXhaDq_cSN0t0,962
20
- odoo/addons/stock_move_location/readme/CONTRIBUTORS.md,sha256=g2l7L5LbvIulu-WXtursmsqPbMajtXwESFojI0wPVqo,609
20
+ odoo/addons/stock_move_location/readme/CONTRIBUTORS.md,sha256=jdLKIMJmyc-wsmVXUXjkcxlGwFGlfzXSt5wC_qrRcOY,657
21
21
  odoo/addons/stock_move_location/readme/DESCRIPTION.md,sha256=cVmKIDWpKU3Ep66adAVRrNkMQB-yeJ-8QTRayNHTX1M,116
22
22
  odoo/addons/stock_move_location/readme/ROADMAP.md,sha256=HW9tNWBGh6oAjRj8qWMlXPc0XQu7325gRxcs9jeR4ZM,487
23
- odoo/addons/stock_move_location/readme/USAGE.md,sha256=sT_tcsfaJ6sG7y1ogNpTQzTBh8qzx2t5vbgjV_zW_Cw,2055
23
+ odoo/addons/stock_move_location/readme/USAGE.md,sha256=FmTEwq9m_kuygbtWl4syvjA8ieqNAksH8Vol5Mtqyqg,2060
24
24
  odoo/addons/stock_move_location/security/ir.model.access.csv,sha256=sLpkI9b3t8YdWBbYPjzlQrCbmv-_C0bUwzd10cMF14M,338
25
25
  odoo/addons/stock_move_location/static/description/icon.png,sha256=6xBPJauaFOF0KDHfHgQopSc28kKvxMaeoQFQWZtfZDo,9455
26
- odoo/addons/stock_move_location/static/description/index.html,sha256=vS96Uj9zpXoOTG5dMt_Ewv8CDJdyNj_iAJN20_zJVwg,17050
26
+ odoo/addons/stock_move_location/static/description/index.html,sha256=1P3c-WOXybwDIIl5S6yEUuRaGB2_Rx0I3ayf0aeWmB4,17284
27
27
  odoo/addons/stock_move_location/tests/__init__.py,sha256=gDGhCnhTYQONkRkGhPtOhgWTJ8sj6zs-sl2YRRvqGvQ,98
28
- odoo/addons/stock_move_location/tests/test_common.py,sha256=YiCuKwGt6Tt5vli0Iiwgv3gmGb2xU0irK87K1hCimQQ,6112
29
- odoo/addons/stock_move_location/tests/test_move_location.py,sha256=_HjZ0Gy4UXPNUlG-SJAG4WQpc_zvTitkOv1LitWHDNE,12447
28
+ odoo/addons/stock_move_location/tests/test_common.py,sha256=c7N7wfMZ-lTtLzINgdDggJDmAlt7GT01pmzhnpfE0LM,6113
29
+ odoo/addons/stock_move_location/tests/test_move_location.py,sha256=OJFkAHjtEFduV7Ka3in07TTJsQfK5QFjnBZKPMJuEgY,15036
30
30
  odoo/addons/stock_move_location/tests/test_stock_fillwithstock.py,sha256=BvMF_7nubCdd_o337qjQxJMdZ3WzGd8--DyDkkv6c-g,2838
31
31
  odoo/addons/stock_move_location/views/stock_picking.xml,sha256=isH25PIq7A2rfCUzk9_HFYA8WIoGm5HNDu-N3CJazRQ,730
32
- odoo/addons/stock_move_location/views/stock_picking_type_views.xml,sha256=V8_fzqt7ga3O8U81JNbb8NOuT0JHsXwC2bG1jqJvmAk,1483
32
+ odoo/addons/stock_move_location/views/stock_picking_type_views.xml,sha256=2eDNXl4eg9WRcyoMHEf3OKBy5-rZJue3reSXWCDNxbI,1495
33
33
  odoo/addons/stock_move_location/wizard/__init__.py,sha256=0YXi68VJIkwZDO1-ZFirM2ANY3Mi7PEPdYW0Gg46lmY,239
34
- odoo/addons/stock_move_location/wizard/stock_move_location.py,sha256=zwd6wJeJzQH4ZVyf6-z2oMoSpsSotj2mUMb2VR3AWe8,15107
35
- odoo/addons/stock_move_location/wizard/stock_move_location.xml,sha256=6DjFtlJJuJM31rrPjpu1hGrRdrj2iHGvDbRnUozRiSg,7878
34
+ odoo/addons/stock_move_location/wizard/stock_move_location.py,sha256=iGdx_9E9eGl-hfizNYb9JyoBYlNRm3rgNp22o6ua7aw,15362
35
+ odoo/addons/stock_move_location/wizard/stock_move_location.xml,sha256=cYLFIvZ7VDUGOHqbG31mcqrj6Ec_jS2sAgk8MHrsAYQ,7834
36
36
  odoo/addons/stock_move_location/wizard/stock_move_location_line.py,sha256=7ORteDfC0RzWBEYuzlr6yn7_XN__VdyfJ31OkJ_mIwM,6323
37
- odoo_addon_stock_move_location-16.0.1.3.1.dist-info/METADATA,sha256=jR13cpc4odETqTHt1LPikkfgHbnsB2fMVVTDVj5zAVs,6911
38
- odoo_addon_stock_move_location-16.0.1.3.1.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
39
- odoo_addon_stock_move_location-16.0.1.3.1.dist-info/top_level.txt,sha256=qBj40grFkGOfDZ2WDSw3y1RnDlgG0u8rP8pvGNdbz4w,5
40
- odoo_addon_stock_move_location-16.0.1.3.1.dist-info/RECORD,,
37
+ odoo_addon_stock_move_location-16.0.1.4.0.dist-info/METADATA,sha256=1-aeViZg1UV84vY7tLdX8yjrX2uzcS34YGeS9KqZxic,6950
38
+ odoo_addon_stock_move_location-16.0.1.4.0.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
39
+ odoo_addon_stock_move_location-16.0.1.4.0.dist-info/top_level.txt,sha256=qBj40grFkGOfDZ2WDSw3y1RnDlgG0u8rP8pvGNdbz4w,5
40
+ odoo_addon_stock_move_location-16.0.1.4.0.dist-info/RECORD,,