odoo-addon-stock-request 15.0.1.7.0.1__py3-none-any.whl → 15.0.1.8.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 @@ Stock Request
7
7
  !! This file is generated by oca-gen-addon-readme !!
8
8
  !! changes will be overwritten. !!
9
9
  !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
10
- !! source digest: sha256:f7abc85838ce009026d931feb4eeef8b5d7c9fc791db18affe7a3e6e7dcec1ea
10
+ !! source digest: sha256:9922750ed65a20a1bf7665de38bf99f1a0ff2254a2106a9cc19980733827ded9
11
11
  !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
12
12
 
13
13
  .. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png
@@ -4,7 +4,7 @@
4
4
  {
5
5
  "name": "Stock Request",
6
6
  "summary": "Internal request for stock",
7
- "version": "15.0.1.7.0",
7
+ "version": "15.0.1.8.0",
8
8
  "license": "LGPL-3",
9
9
  "website": "https://github.com/OCA/stock-logistics-warehouse",
10
10
  "author": "ForgeFlow, Odoo Community Association (OCA)",
@@ -752,6 +752,7 @@ msgstr ""
752
752
  #. module: stock_request
753
753
  #: model:ir.model.fields,field_description:stock_request.field_stock_request__route_id
754
754
  #: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__route_id
755
+ #: model:ir.model.fields,field_description:stock_request.field_stock_request_order__route_id
755
756
  #: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search
756
757
  msgid "Route"
757
758
  msgstr ""
@@ -759,6 +760,7 @@ msgstr ""
759
760
  #. module: stock_request
760
761
  #: model:ir.model.fields,field_description:stock_request.field_stock_request__route_ids
761
762
  #: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__route_ids
763
+ #: model:ir.model.fields,field_description:stock_request.field_stock_request_order__route_ids
762
764
  msgid "Routes"
763
765
  msgstr ""
764
766
 
@@ -968,6 +970,11 @@ msgstr ""
968
970
  msgid "The picking policy must be equal to the order"
969
971
  msgstr ""
970
972
 
973
+ #. module: stock_request
974
+ #: model:ir.model.fields,help:stock_request.field_stock_request_order__route_id
975
+ msgid "The route related to a stock request order"
976
+ msgstr ""
977
+
971
978
  #. module: stock_request
972
979
  #: code:addons/stock_request/models/stock_request_order.py:0
973
980
  #, python-format
@@ -162,9 +162,15 @@ class StockRequest(models.Model):
162
162
  done_qty = abs(other_qty - incoming_qty)
163
163
  open_qty = sum(request.allocation_ids.mapped("open_product_qty"))
164
164
  uom = request.product_id.uom_id
165
- request.qty_done = uom._compute_quantity(done_qty, request.product_uom_id)
165
+ request.qty_done = uom._compute_quantity(
166
+ done_qty,
167
+ request.product_uom_id,
168
+ rounding_method="HALF-UP",
169
+ )
166
170
  request.qty_in_progress = uom._compute_quantity(
167
- open_qty, request.product_uom_id
171
+ open_qty,
172
+ request.product_uom_id,
173
+ rounding_method="HALF-UP",
168
174
  )
169
175
  request.qty_cancelled = (
170
176
  max(
@@ -172,6 +178,7 @@ class StockRequest(models.Model):
172
178
  uom._compute_quantity(
173
179
  request.product_qty - done_qty - open_qty,
174
180
  request.product_uom_id,
181
+ rounding_method="HALF-UP",
175
182
  ),
176
183
  )
177
184
  if request.allocation_ids
@@ -32,7 +32,9 @@ class StockRequest(models.AbstractModel):
32
32
  def _compute_product_qty(self):
33
33
  for rec in self:
34
34
  rec.product_qty = rec.product_uom_id._compute_quantity(
35
- rec.product_uom_qty, rec.product_id.product_tmpl_id.uom_id
35
+ rec.product_uom_qty,
36
+ rec.product_id.product_tmpl_id.uom_id,
37
+ rounding_method="HALF-UP",
36
38
  )
37
39
 
38
40
  name = fields.Char(copy=False, required=True, readonly=True, default="/")
@@ -69,7 +69,9 @@ class StockRequestAllocation(models.Model):
69
69
  def _compute_requested_product_qty(self):
70
70
  for rec in self:
71
71
  rec.requested_product_qty = rec.product_uom_id._compute_quantity(
72
- rec.requested_product_uom_qty, rec.product_id.uom_id
72
+ rec.requested_product_uom_qty,
73
+ rec.product_id.uom_id,
74
+ rounding_method="HALF-UP",
73
75
  )
74
76
 
75
77
  @api.depends(
@@ -139,10 +139,87 @@ class StockRequestOrder(models.Model):
139
139
  string="Stock requests", compute="_compute_stock_request_count", readonly=True
140
140
  )
141
141
 
142
+ route_ids = fields.Many2many(
143
+ "stock.location.route",
144
+ string="Routes",
145
+ compute="_compute_route_ids",
146
+ readonly=True,
147
+ )
148
+
149
+ route_id = fields.Many2one(
150
+ "stock.location.route",
151
+ compute="_compute_route_id",
152
+ inverse="_inverse_route_id",
153
+ readonly=True,
154
+ states={"draft": [("readonly", False)]},
155
+ store=True,
156
+ help="The route related to a stock request order",
157
+ domain="[('id', 'in', route_ids)]",
158
+ )
159
+
142
160
  _sql_constraints = [
143
161
  ("name_uniq", "unique(name, company_id)", "Stock Request name must be unique")
144
162
  ]
145
163
 
164
+ @api.depends("warehouse_id", "location_id", "stock_request_ids")
165
+ def _compute_route_ids(self):
166
+ route_obj = self.env["stock.location.route"]
167
+ routes = route_obj.search(
168
+ [("warehouse_ids", "in", self.mapped("warehouse_id").ids)]
169
+ )
170
+ routes_by_warehouse = {}
171
+ for route in routes:
172
+ for warehouse in route.warehouse_ids:
173
+ routes_by_warehouse.setdefault(
174
+ warehouse.id, self.env["stock.location.route"]
175
+ )
176
+ routes_by_warehouse[warehouse.id] |= route
177
+ for record in self:
178
+ routes = route_obj
179
+ if record.warehouse_id and routes_by_warehouse.get(record.warehouse_id.id):
180
+ routes |= routes_by_warehouse[record.warehouse_id.id]
181
+ parents = record.get_parents().ids
182
+ filtered_routes = routes.filtered(
183
+ lambda r: any(p.location_id.id in parents for p in r.rule_ids)
184
+ )
185
+ if record.stock_request_ids:
186
+ all_routes = record.stock_request_ids.mapped("route_ids")
187
+ common_routes = all_routes
188
+ for line in record.stock_request_ids:
189
+ common_routes &= line.route_ids
190
+ final_routes = filtered_routes | common_routes
191
+ record.route_ids = [(6, 0, final_routes.ids)]
192
+ else:
193
+ record.route_ids = [(6, 0, filtered_routes.ids)]
194
+
195
+ def get_parents(self):
196
+ location = self.location_id
197
+ result = location
198
+ while location.location_id:
199
+ location = location.location_id
200
+ result |= location
201
+ return result
202
+
203
+ @api.depends("stock_request_ids")
204
+ def _compute_route_id(self):
205
+ for order in self:
206
+ if order.stock_request_ids:
207
+ first_route = order.stock_request_ids[0].route_id or False
208
+ if any(r.route_id != first_route for r in order.stock_request_ids):
209
+ first_route = False
210
+ order.route_id = first_route
211
+
212
+ def _inverse_route_id(self):
213
+ for order in self:
214
+ if order.route_id:
215
+ order.stock_request_ids.write({"route_id": order.route_id.id})
216
+
217
+ @api.onchange("route_id")
218
+ def _onchange_route_id(self):
219
+ if self.route_id:
220
+ for request in self.stock_request_ids:
221
+ request.route_id = self.route_id
222
+
146
223
  @api.depends("stock_request_ids.state")
147
224
  def _compute_state(self):
148
225
  for item in self:
@@ -1,4 +1,3 @@
1
- <?xml version="1.0" encoding="utf-8"?>
2
1
  <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3
2
  <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
4
3
  <head>
@@ -367,7 +366,7 @@ ul.auto-toc {
367
366
  !! This file is generated by oca-gen-addon-readme !!
368
367
  !! changes will be overwritten. !!
369
368
  !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
370
- !! source digest: sha256:f7abc85838ce009026d931feb4eeef8b5d7c9fc791db18affe7a3e6e7dcec1ea
369
+ !! source digest: sha256:9922750ed65a20a1bf7665de38bf99f1a0ff2254a2106a9cc19980733827ded9
371
370
  !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->
372
371
  <p><a class="reference external image-reference" href="https://odoo-community.org/page/development-status"><img alt="Beta" src="https://img.shields.io/badge/maturity-Beta-yellow.png" /></a> <a class="reference external image-reference" href="http://www.gnu.org/licenses/lgpl-3.0-standalone.html"><img alt="License: LGPL-3" src="https://img.shields.io/badge/licence-LGPL--3-blue.png" /></a> <a class="reference external image-reference" href="https://github.com/OCA/stock-logistics-warehouse/tree/15.0/stock_request"><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-15-0/stock-logistics-warehouse-15-0-stock_request"><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=15.0"><img alt="Try me on Runboat" src="https://img.shields.io/badge/runboat-Try%20me-875A7B.png" /></a></p>
373
372
  <p>This module was written to allow users to request products that are
@@ -77,6 +77,9 @@ class TestStockRequest(common.TransactionCase):
77
77
  self.route_2 = self._create_location_route(
78
78
  name="Transfer", company_id=self.company_2.id
79
79
  )
80
+ self.route_3 = self._create_location_route(
81
+ name="Transfer", company_id=self.main_company.id
82
+ )
80
83
  self.uom_dozen = self.env["uom.uom"].create(
81
84
  {
82
85
  "name": "Test-DozenA",
@@ -1335,3 +1338,227 @@ class TestStockRequestOrderState(TestStockRequest):
1335
1338
  self.assertEqual(self.request_a.state, "cancel")
1336
1339
  self.assertEqual(self.request_b.state, "done")
1337
1340
  self.assertEqual(self.order.state, "done")
1341
+
1342
+ def test_rounding_half_up_in_progress_01(self):
1343
+ product_half_up = self._create_product(
1344
+ "HALFUP", "HalfUp Product", self.main_company.id
1345
+ )
1346
+ product_half_up.uom_id.rounding = 1.0
1347
+ vals = {
1348
+ "product_id": product_half_up.id,
1349
+ "product_uom_id": product_half_up.uom_id.id,
1350
+ "product_uom_qty": 0.5,
1351
+ "company_id": self.main_company.id,
1352
+ "warehouse_id": self.warehouse.id,
1353
+ "location_id": self.virtual_loc.id,
1354
+ }
1355
+ stock_request = self.stock_request.create(vals)
1356
+ stock_request.action_confirm()
1357
+ self.assertEqual(
1358
+ stock_request.qty_in_progress,
1359
+ 1,
1360
+ "Quantity in progress should be the rounded up quantity after confirmation",
1361
+ )
1362
+
1363
+ def test_rounding_half_up_in_progress_02(self):
1364
+ product_half_up = self._create_product(
1365
+ "HALFUP", "HalfUp Product", self.main_company.id
1366
+ )
1367
+ product_half_up.uom_id.rounding = 1.0
1368
+ vals = {
1369
+ "product_id": product_half_up.id,
1370
+ "product_uom_id": product_half_up.uom_id.id,
1371
+ "product_uom_qty": 1.49,
1372
+ "company_id": self.main_company.id,
1373
+ "warehouse_id": self.warehouse.id,
1374
+ "location_id": self.virtual_loc.id,
1375
+ }
1376
+ stock_request = self.stock_request.create(vals)
1377
+ stock_request.action_confirm()
1378
+ self.assertEqual(
1379
+ stock_request.qty_in_progress,
1380
+ 1,
1381
+ "Quantity in progress should be the rounded down quantity after confirmation",
1382
+ )
1383
+
1384
+ def test_route_id_propagation_on_creation(self):
1385
+ order_vals = {
1386
+ "company_id": self.main_company.id,
1387
+ "warehouse_id": self.warehouse.id,
1388
+ "location_id": self.warehouse.lot_stock_id.id,
1389
+ "expected_date": fields.Datetime.now(),
1390
+ "route_id": self.route.id,
1391
+ "stock_request_ids": [
1392
+ (
1393
+ 0,
1394
+ 0,
1395
+ {
1396
+ "product_id": self.product.id,
1397
+ "product_uom_id": self.product.uom_id.id,
1398
+ "product_uom_qty": 5.0,
1399
+ },
1400
+ ),
1401
+ (
1402
+ 0,
1403
+ 0,
1404
+ {
1405
+ "product_id": self.product.id,
1406
+ "product_uom_id": self.product.uom_id.id,
1407
+ "product_uom_qty": 10.0,
1408
+ },
1409
+ ),
1410
+ ],
1411
+ }
1412
+ order = self.request_order.create(order_vals)
1413
+ self.assertEqual(len(order.stock_request_ids), 2)
1414
+ order.write({"route_id": self.route_3})
1415
+ for request in order.stock_request_ids:
1416
+ self.assertEqual(
1417
+ request.route_id.id,
1418
+ order.route_id.id,
1419
+ "The route_id from stock.request.order has not "
1420
+ "been set in the associated stock.requests.",
1421
+ )
1422
+
1423
+ def test_compute_route_id_consistency_1(self):
1424
+ order_vals = {
1425
+ "company_id": self.main_company.id,
1426
+ "warehouse_id": self.warehouse.id,
1427
+ "location_id": self.warehouse.lot_stock_id.id,
1428
+ "expected_date": fields.Datetime.now(),
1429
+ "stock_request_ids": [
1430
+ (
1431
+ 0,
1432
+ 0,
1433
+ {
1434
+ "product_id": self.product.id,
1435
+ "product_uom_id": self.product.uom_id.id,
1436
+ "product_uom_qty": 5.0,
1437
+ "route_id": self.route.id,
1438
+ },
1439
+ ),
1440
+ (
1441
+ 0,
1442
+ 0,
1443
+ {
1444
+ "product_id": self.product.id,
1445
+ "product_uom_id": self.product.uom_id.id,
1446
+ "product_uom_qty": 10.0,
1447
+ "route_id": self.route_3.id,
1448
+ },
1449
+ ),
1450
+ ],
1451
+ }
1452
+ order = self.request_order.create(order_vals)
1453
+ order._compute_route_id()
1454
+ self.assertFalse(
1455
+ order.route_id,
1456
+ "Route ID should be False due to inconsistent routes in stock requests.",
1457
+ )
1458
+
1459
+ def test_compute_route_id_consistency_2(self):
1460
+ order_vals = {
1461
+ "company_id": self.main_company.id,
1462
+ "warehouse_id": self.warehouse.id,
1463
+ "location_id": self.warehouse.lot_stock_id.id,
1464
+ "expected_date": fields.Datetime.now(),
1465
+ "stock_request_ids": [
1466
+ (
1467
+ 0,
1468
+ 0,
1469
+ {
1470
+ "product_id": self.product.id,
1471
+ "product_uom_id": self.product.uom_id.id,
1472
+ "product_uom_qty": 5.0,
1473
+ "route_id": self.route.id,
1474
+ },
1475
+ ),
1476
+ (
1477
+ 0,
1478
+ 0,
1479
+ {
1480
+ "product_id": self.product.id,
1481
+ "product_uom_id": self.product.uom_id.id,
1482
+ "product_uom_qty": 10.0,
1483
+ "route_id": self.route.id,
1484
+ },
1485
+ ),
1486
+ ],
1487
+ }
1488
+ order = self.request_order.create(order_vals)
1489
+ order._compute_route_id()
1490
+ self.assertEqual(order.route_id, self.route)
1491
+
1492
+ def test_inverse_route_id_propagation(self):
1493
+ order_vals = {
1494
+ "company_id": self.main_company.id,
1495
+ "warehouse_id": self.warehouse.id,
1496
+ "location_id": self.warehouse.lot_stock_id.id,
1497
+ "expected_date": fields.Datetime.now(),
1498
+ "stock_request_ids": [
1499
+ (
1500
+ 0,
1501
+ 0,
1502
+ {
1503
+ "product_id": self.product.id,
1504
+ "product_uom_id": self.product.uom_id.id,
1505
+ "product_uom_qty": 5.0,
1506
+ },
1507
+ ),
1508
+ (
1509
+ 0,
1510
+ 0,
1511
+ {
1512
+ "product_id": self.product.id,
1513
+ "product_uom_id": self.product.uom_id.id,
1514
+ "product_uom_qty": 10.0,
1515
+ },
1516
+ ),
1517
+ ],
1518
+ }
1519
+ order = self.request_order.create(order_vals)
1520
+ order.route_id = self.route.id
1521
+ order._inverse_route_id()
1522
+ for request in order.stock_request_ids:
1523
+ self.assertEqual(
1524
+ request.route_id.id,
1525
+ self.route.id,
1526
+ "Route ID should propagate to all stock requests.",
1527
+ )
1528
+
1529
+ def test_onchange_route_id_propagation(self):
1530
+ order_vals = {
1531
+ "company_id": self.main_company.id,
1532
+ "warehouse_id": self.warehouse.id,
1533
+ "location_id": self.warehouse.lot_stock_id.id,
1534
+ "expected_date": fields.Datetime.now(),
1535
+ "stock_request_ids": [
1536
+ (
1537
+ 0,
1538
+ 0,
1539
+ {
1540
+ "product_id": self.product.id,
1541
+ "product_uom_id": self.product.uom_id.id,
1542
+ "product_uom_qty": 5.0,
1543
+ },
1544
+ ),
1545
+ (
1546
+ 0,
1547
+ 0,
1548
+ {
1549
+ "product_id": self.product.id,
1550
+ "product_uom_id": self.product.uom_id.id,
1551
+ "product_uom_qty": 10.0,
1552
+ },
1553
+ ),
1554
+ ],
1555
+ }
1556
+ order = self.request_order.create(order_vals)
1557
+ order.route_id = self.route.id
1558
+ order._onchange_route_id()
1559
+ for request in order.stock_request_ids:
1560
+ self.assertEqual(
1561
+ request.route_id.id,
1562
+ self.route.id,
1563
+ "Route ID should update on all stock requests on onchange.",
1564
+ )
@@ -91,6 +91,11 @@
91
91
  name="location_id"
92
92
  groups="stock.group_stock_multi_locations"
93
93
  />
94
+ <field name="route_ids" invisible="1" />
95
+ <field
96
+ name="route_id"
97
+ groups="stock.group_stock_multi_locations"
98
+ />
94
99
  <field name="allow_virtual_location" invisible="1" />
95
100
  <field
96
101
  name="procurement_group_id"
@@ -115,6 +120,7 @@
115
120
  'default_procurement_group_id': procurement_group_id,
116
121
  'default_company_id': company_id,
117
122
  'default_state': state,
123
+ 'default_route_id': route_id,
118
124
  }"
119
125
  attrs="{'readonly': [('state', '!=', 'draft')]}"
120
126
  >
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: odoo-addon-stock-request
3
- Version: 15.0.1.7.0.1
3
+ Version: 15.0.1.8.0
4
4
  Summary: Internal request for stock
5
5
  Home-page: https://github.com/OCA/stock-logistics-warehouse
6
6
  Author: ForgeFlow, Odoo Community Association (OCA)
@@ -23,7 +23,7 @@ Stock Request
23
23
  !! This file is generated by oca-gen-addon-readme !!
24
24
  !! changes will be overwritten. !!
25
25
  !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
26
- !! source digest: sha256:f7abc85838ce009026d931feb4eeef8b5d7c9fc791db18affe7a3e6e7dcec1ea
26
+ !! source digest: sha256:9922750ed65a20a1bf7665de38bf99f1a0ff2254a2106a9cc19980733827ded9
27
27
  !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
28
28
 
29
29
  .. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png
@@ -1,6 +1,6 @@
1
- odoo/addons/stock_request/README.rst,sha256=xoRP8vpqGNLrV-YfY3T-oYWryE7pwVo2B4CydAHS9ng,4874
1
+ odoo/addons/stock_request/README.rst,sha256=6JHog8hD1gwpvKUj0vx2_uIx4ral1KNfhGOU-M72j5Y,4874
2
2
  odoo/addons/stock_request/__init__.py,sha256=X9EJGOE2GtZbS0G82PtSXmWSZ_R8jEM0rlJTDliQjp4,21
3
- odoo/addons/stock_request/__manifest__.py,sha256=n4Vf7BP2cjF8G5Z3tJxupzsIjDOniLi-yaXjXNGc1EU,951
3
+ odoo/addons/stock_request/__manifest__.py,sha256=7Nyl5gsti_k_yHlVmECqjspC0O86K4jD-8p4XKMNStg,951
4
4
  odoo/addons/stock_request/data/stock_request_sequence_data.xml,sha256=MKvzK__cH1gecmyqWK6Vj7yJ0o1-oKbqy2ydNoTUhs0,683
5
5
  odoo/addons/stock_request/i18n/ca.po,sha256=esyDU9Yu0hwPUOtfsHQMXF8rBo9alq627oW4pjKdSz0,45378
6
6
  odoo/addons/stock_request/i18n/de.po,sha256=WJPaIcs1TzXa9HBoH8s2M5j8M-VyBef_ojyvVPc7-64,50346
@@ -25,7 +25,7 @@ odoo/addons/stock_request/i18n/pt_BR.po,sha256=uPjiOnsQLZNC5PQpxhm8Elrc8Elm79xfd
25
25
  odoo/addons/stock_request/i18n/ro.po,sha256=3LwukLo1eYigB6ku6wCTA2qusa5hw-QXmuuGPGGZmrg,45421
26
26
  odoo/addons/stock_request/i18n/ru.po,sha256=mNZxcActc2glKn1p5ON3oIIPGBIsScDbVLatATKEVpk,45537
27
27
  odoo/addons/stock_request/i18n/sl.po,sha256=QCaC_cbubySNNBMQWmTfiGnwcuwGIUOojT1fycmKGR4,45435
28
- odoo/addons/stock_request/i18n/stock_request.pot,sha256=bregg8k_J13v-dhmd1CdyTQbqFC7iQo8Kg4N6Y3phnQ,45074
28
+ odoo/addons/stock_request/i18n/stock_request.pot,sha256=vtAibF7GobhG8hOFsidIMc5LVlbYx4HlF3kaigSfknI,45428
29
29
  odoo/addons/stock_request/i18n/tr.po,sha256=r60U6TJ_vBn0S3dld_FG6paWxyiAYTQQ4mUxjsv-k5A,45375
30
30
  odoo/addons/stock_request/i18n/tr_TR.po,sha256=jJLn7AXZi9P5xYENz1PoMmOZEQUmn_t600deh9pifLw,45393
31
31
  odoo/addons/stock_request/i18n/vi_VN.po,sha256=Gb0X-8J-P_58-9VZySKX_mVhxbfrdevHdmYOOvXGdSs,45398
@@ -41,10 +41,10 @@ odoo/addons/stock_request/models/stock_location_route.py,sha256=ItW4v-ubi1brYvSF
41
41
  odoo/addons/stock_request/models/stock_move.py,sha256=hDQhoO9GHD_-64C0VEcR9csAbldXHI_UtbbEVqVEyfQ,2812
42
42
  odoo/addons/stock_request/models/stock_move_line.py,sha256=yG9lnTjfAdUBdcclnrsB5bzvpItmpV0wrCHIh7hdJDQ,2773
43
43
  odoo/addons/stock_request/models/stock_picking.py,sha256=65XbzhNNeliiaugeI13IxgZkPS5ixHanaXQVds7hhjo,1343
44
- odoo/addons/stock_request/models/stock_request.py,sha256=iKuuej_7TdG-G8egnzdWgC-6-DHjDpxSZIkKZPB5qzM,15727
45
- odoo/addons/stock_request/models/stock_request_abstract.py,sha256=EBdv9gzul_2oYWebyCCRq6vY40AN6j5IyN9pUKkraew,9501
46
- odoo/addons/stock_request/models/stock_request_allocation.py,sha256=1c_OH1oWS-93lc__erTtlGxDr4FlOVffFMXRbRZxhEY,2867
47
- odoo/addons/stock_request/models/stock_request_order.py,sha256=L92fC08rIFDLdEa8Co1wMz2mzvOb3MhBp-J4xLqS3pk,12529
44
+ odoo/addons/stock_request/models/stock_request.py,sha256=Qh4TZQrcHNZX41vUSW9_AT7lGw5ZtpWiuOVi6KU9xOU,15928
45
+ odoo/addons/stock_request/models/stock_request_abstract.py,sha256=7IpAbvJB6jYiIn9ynjSphtRCvcdLceENpmSqxWWceKA,9561
46
+ odoo/addons/stock_request/models/stock_request_allocation.py,sha256=Kqq6VcZgYSbw2OSooeWgzVLBlWyiVJbR71dyKciPzUg,2927
47
+ odoo/addons/stock_request/models/stock_request_order.py,sha256=NOgMY0jNV6n2pMsBIrI6GSG-IoLkJlTOtaFJQG_pgpM,15449
48
48
  odoo/addons/stock_request/models/stock_rule.py,sha256=bo-oD3LubsetGtFs7m3OpZxQ1QIPPBP9EoNByDKgisI,1048
49
49
  odoo/addons/stock_request/models/stock_warehouse.py,sha256=yiJG9Yw2A1dBXwi61ehdlRbyD8PnGJqiyfJxxyN8KQQ,1476
50
50
  odoo/addons/stock_request/readme/CONFIGURE.rst,sha256=oWuZKRYFvcvc6abPWiHAKiTqASkPxbsg1j8rP3MIL20,409
@@ -56,18 +56,18 @@ odoo/addons/stock_request/security/ir.model.access.csv,sha256=dsUwAR79-qQNVwCZhv
56
56
  odoo/addons/stock_request/security/stock_request_security.xml,sha256=VP0gCObFyM2wl0jcsO_J0vt2_jV0BQWtj4UMSqPellA,5978
57
57
  odoo/addons/stock_request/static/description/icon.png,sha256=HZGM_z7Ta3zNQ2924BUiMfDuVSCWqrEwUQMWXBnK7yk,15218
58
58
  odoo/addons/stock_request/static/description/icon.svg,sha256=e3qo4KGYRy7Mfzhb_bCfVA-73Rk2Lx1z9_kz7tTjdO0,9771
59
- odoo/addons/stock_request/static/description/index.html,sha256=FDupl9PmjM8MtD0jWIkz7WbGzHj7X_4Uq25GBzViV-4,16054
59
+ odoo/addons/stock_request/static/description/index.html,sha256=HK-l-ZdO4aMKYUF6RlagtksV6kOxkSjacHfwp7lGtkg,16015
60
60
  odoo/addons/stock_request/tests/__init__.py,sha256=3NQ2fafGprBbsMjR2Y__yzyvFX5Vio1r0j6tT3FTbas,33
61
- odoo/addons/stock_request/tests/test_stock_request.py,sha256=IpNap1gFgqT9IoOq5_BX_Nngd4s4-p0Aty5CFwIATPI,54618
61
+ odoo/addons/stock_request/tests/test_stock_request.py,sha256=t8yCkIWvr1AHU5560QphbnuQCXmlKhECnAw5nR9Y_ZQ,62828
62
62
  odoo/addons/stock_request/views/product.xml,sha256=CJ6RE5uGQLlIMDCPKxw8nhodb_rR3jaj-mF5ozCFUKI,1517
63
63
  odoo/addons/stock_request/views/res_config_settings_views.xml,sha256=-IJlvPYAXkO3P-QOJZlmaJ3yqdfyHdUg_arTvGm5ECo,8513
64
64
  odoo/addons/stock_request/views/stock_move_views.xml,sha256=Z5pNG0WfYz-CTlxgB-rma0BoT08VQDHnm3J_Ksu9BxA,1072
65
65
  odoo/addons/stock_request/views/stock_picking_views.xml,sha256=l0YKqO46QFDdiBoSzOoU7PBrLnNkFxPIHFbBcPWXTVk,1036
66
66
  odoo/addons/stock_request/views/stock_request_allocation_views.xml,sha256=NhoVR2RSOx_OuiKP34g5yzc4U0jNHbVwHySZsIF9BOc,2615
67
67
  odoo/addons/stock_request/views/stock_request_menu.xml,sha256=S_3HPkmYcHC_xtPjusHiZX7RUW5CGrJW3w52ScnJFNw,1308
68
- odoo/addons/stock_request/views/stock_request_order_views.xml,sha256=ErboT5H8T2Yx2kb_72M5fpEPQX9X4hWa-tXURJYcQtg,9931
68
+ odoo/addons/stock_request/views/stock_request_order_views.xml,sha256=YtB8xkt9nxkYN9FexOH1T6e8_FalgQRhA3ZSWMrj1os,10247
69
69
  odoo/addons/stock_request/views/stock_request_views.xml,sha256=k6jts8SJz1WCqaeCod9dHABEC7i3W1fT-zajr-TUWHo,11319
70
- odoo_addon_stock_request-15.0.1.7.0.1.dist-info/METADATA,sha256=NPwyrGV5eLeyNpL2XDSOY76FZRjVJK6Wj4NobkxVGYY,5431
71
- odoo_addon_stock_request-15.0.1.7.0.1.dist-info/WHEEL,sha256=yQN5g4mg4AybRjkgi-9yy4iQEFibGQmlz78Pik5Or-A,92
72
- odoo_addon_stock_request-15.0.1.7.0.1.dist-info/top_level.txt,sha256=qBj40grFkGOfDZ2WDSw3y1RnDlgG0u8rP8pvGNdbz4w,5
73
- odoo_addon_stock_request-15.0.1.7.0.1.dist-info/RECORD,,
70
+ odoo_addon_stock_request-15.0.1.8.0.dist-info/METADATA,sha256=zssGXQ0WqF18047XQ37mHFSx9VQYyqaS78sXeo5J5Xc,5429
71
+ odoo_addon_stock_request-15.0.1.8.0.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
72
+ odoo_addon_stock_request-15.0.1.8.0.dist-info/top_level.txt,sha256=qBj40grFkGOfDZ2WDSw3y1RnDlgG0u8rP8pvGNdbz4w,5
73
+ odoo_addon_stock_request-15.0.1.8.0.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: bdist_wheel (0.41.2)
2
+ Generator: bdist_wheel (0.43.0)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5