odoo-addon-stock-release-channel 16.0.2.18.1__py3-none-any.whl → 16.0.2.18.3__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 Release Channels
7
7
  !! This file is generated by oca-gen-addon-readme !!
8
8
  !! changes will be overwritten. !!
9
9
  !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
10
- !! source digest: sha256:1f678385ba79e02430011840b76dc14d61dbd236d4aeaa23b10586014bf0225e
10
+ !! source digest: sha256:81e70fd0a07ba0482a2b5123e1ef27186d947dbf5c7934f9b6453998838f208f
11
11
  !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
12
12
 
13
13
  .. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png
@@ -5,7 +5,7 @@
5
5
  {
6
6
  "name": "Stock Release Channels",
7
7
  "summary": "Manage workload in WMS with release channels",
8
- "version": "16.0.2.18.1",
8
+ "version": "16.0.2.18.3",
9
9
  "development_status": "Beta",
10
10
  "license": "AGPL-3",
11
11
  "author": "Camptocamp, BCIM, ACSONE SA/NV, Odoo Community Association (OCA)",
@@ -6,11 +6,13 @@
6
6
  import logging
7
7
  from collections import defaultdict
8
8
  from copy import deepcopy
9
+ from operator import itemgetter
9
10
 
10
11
  from pytz import timezone
11
12
 
12
13
  from odoo import _, api, exceptions, fields, models
13
14
  from odoo.osv.expression import NEGATIVE_TERM_OPERATORS
15
+ from odoo.tools import groupby
14
16
  from odoo.tools.safe_eval import (
15
17
  datetime as safe_datetime,
16
18
  dateutil as safe_dateutil,
@@ -460,15 +462,18 @@ class StockReleaseChannel(models.Model):
460
462
  WITH RECURSIVE
461
463
  pickings AS (
462
464
  SELECT move.picking_id,
465
+ stock_picking.release_channel_id,
463
466
  true as outgoing,
464
467
  ''::varchar as state, -- no need it, we exclude outgoing
465
468
  move.id as move_orig_id
466
469
  FROM stock_move move
470
+ INNER JOIN stock_picking ON move.picking_id = stock_picking.id
467
471
  WHERE move.picking_id in %s
468
472
 
469
473
  UNION
470
474
 
471
475
  SELECT move.picking_id,
476
+ pickings.release_channel_id,
472
477
  false as outgoing,
473
478
  picking.state,
474
479
  rel.move_orig_id
@@ -480,7 +485,7 @@ class StockReleaseChannel(models.Model):
480
485
  INNER JOIN stock_picking picking
481
486
  ON picking.id = move.picking_id
482
487
  )
483
- SELECT DISTINCT picking_id, state FROM pickings
488
+ SELECT DISTINCT release_channel_id, picking_id, state FROM pickings
484
489
  WHERE outgoing is false;
485
490
  """
486
491
  return (query, (tuple(pickings.ids),))
@@ -490,20 +495,24 @@ class StockReleaseChannel(models.Model):
490
495
  ["move_dest_ids", "move_orig_ids", "picking_id"]
491
496
  )
492
497
  self.env["stock.picking"].flush_model(["state"])
493
- for channel in self:
494
- domain = self._field_picking_domains()["released"]
495
- domain += [("release_channel_id", "=", channel.id)]
496
- released = self.env["stock.picking"].search(domain)
497
498
 
498
- if not released:
499
+ domain = self._field_picking_domains()["released"]
500
+ domain += [("release_channel_id", "in", self.ids)]
501
+ released = self.env["stock.picking"].search(domain)
502
+
503
+ if not released:
504
+ for channel in self:
499
505
  channel.picking_chain_ids = False
500
506
  channel.count_picking_chain = 0
501
507
  channel.count_picking_chain_in_progress = 0
502
508
  channel.count_picking_chain_done = 0
503
- continue
509
+ return
504
510
 
505
- self.env.cr.execute(*self._query_get_chain(released))
506
- rows = self.env.cr.dictfetchall()
511
+ self.env.cr.execute(*self._query_get_chain(released))
512
+ rows = self.env.cr.dictfetchall()
513
+ rows_by_channel = dict(groupby(rows, key=itemgetter("release_channel_id")))
514
+ for channel in self:
515
+ rows = rows_by_channel.get(channel.id, [])
507
516
  channel.picking_chain_ids = [row["picking_id"] for row in rows]
508
517
  channel.count_picking_chain_in_progress = sum(
509
518
  [1 for row in rows if row["state"] not in ("cancel", "done")]
@@ -751,7 +760,12 @@ class StockReleaseChannel(models.Model):
751
760
 
752
761
  @staticmethod
753
762
  def _pickings_sort_key(picking):
754
- return (-int(picking.priority or 1), picking.date_priority, picking.id)
763
+ return (
764
+ -int(picking.priority or 1),
765
+ picking.scheduled_date,
766
+ picking.date_priority or picking.create_date,
767
+ picking.id,
768
+ )
755
769
 
756
770
  def _get_next_pickings(self):
757
771
  return getattr(self, "_get_next_pickings_{}".format(self.batch_mode))()
@@ -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:1f678385ba79e02430011840b76dc14d61dbd236d4aeaa23b10586014bf0225e
370
+ !! source digest: sha256:81e70fd0a07ba0482a2b5123e1ef27186d947dbf5c7934f9b6453998838f208f
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/wms/tree/16.0/stock_release_channel"><img alt="OCA/wms" src="https://img.shields.io/badge/github-OCA%2Fwms-lightgray.png?logo=github" /></a> <a class="reference external image-reference" href="https://translation.odoo-community.org/projects/wms-16-0/wms-16-0-stock_release_channel"><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/wms&amp;target_branch=16.0"><img alt="Try me on Runboat" src="https://img.shields.io/badge/runboat-Try%20me-875A7B.png" /></a></p>
373
373
  <p>Release channels are:</p>
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: odoo-addon-stock_release_channel
3
- Version: 16.0.2.18.1
3
+ Version: 16.0.2.18.3
4
4
  Summary: Manage workload in WMS with release channels
5
5
  Home-page: https://github.com/OCA/wms
6
6
  Author: Camptocamp, BCIM, ACSONE SA/NV, Odoo Community Association (OCA)
@@ -25,7 +25,7 @@ Stock Release Channels
25
25
  !! This file is generated by oca-gen-addon-readme !!
26
26
  !! changes will be overwritten. !!
27
27
  !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
28
- !! source digest: sha256:1f678385ba79e02430011840b76dc14d61dbd236d4aeaa23b10586014bf0225e
28
+ !! source digest: sha256:81e70fd0a07ba0482a2b5123e1ef27186d947dbf5c7934f9b6453998838f208f
29
29
  !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
30
30
 
31
31
  .. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png
@@ -1,6 +1,6 @@
1
- odoo/addons/stock_release_channel/README.rst,sha256=V-ER85n39s_XAvNVI6rn8IiT4H2YX3K6eY6FN2kodVs,6403
1
+ odoo/addons/stock_release_channel/README.rst,sha256=9AwDnnlSwDROWY1VT2CXa_aiMbNOLaH9pmYyApF0T0k,6403
2
2
  odoo/addons/stock_release_channel/__init__.py,sha256=X9EJGOE2GtZbS0G82PtSXmWSZ_R8jEM0rlJTDliQjp4,21
3
- odoo/addons/stock_release_channel/__manifest__.py,sha256=Uzzzy35Sf94jbdE6Qg4rzvInq2EPn3wCKzlWyxLODhQ,1296
3
+ odoo/addons/stock_release_channel/__manifest__.py,sha256=Hasy7kpnM3_wEHQy4nvyZZ1r3SuuaX_NNEN3rfo6ix8,1296
4
4
  odoo/addons/stock_release_channel/data/ir_cron_data.xml,sha256=Fs0se4lPKelUpNvJnfEde32718SRlKCt0hEqQWQ-tQg,639
5
5
  odoo/addons/stock_release_channel/data/queue_job_data.xml,sha256=MyCGOSZNti3sgtwtco1_EBCM246w2JG8F478tczgbtA,592
6
6
  odoo/addons/stock_release_channel/demo/stock_release_channel.xml,sha256=vV4B7aykN0VNn0xxubIHikwVi0RPMhZDWcYn5BH68ck,334
@@ -15,7 +15,7 @@ odoo/addons/stock_release_channel/models/res_config_settings.py,sha256=-oh2L7FWf
15
15
  odoo/addons/stock_release_channel/models/res_partner.py,sha256=WAXmL3C_ghueQ2jsXIpWTLojf8ANcUNZ8_xd_yoos2w,521
16
16
  odoo/addons/stock_release_channel/models/stock_move.py,sha256=iaPhHbzM12YtUjexaCU6MMTQcPPntJ0FJS_BX8NKRHE,1592
17
17
  odoo/addons/stock_release_channel/models/stock_picking.py,sha256=kicXUKEUV8YxdzL10QDaAiQRMebbhpOLb7KL6LVQe4M,5653
18
- odoo/addons/stock_release_channel/models/stock_release_channel.py,sha256=0cABwkmXtbg8IvxKxgzwJpwK9xKqyGPn0wMy55Yb5sY,34037
18
+ odoo/addons/stock_release_channel/models/stock_release_channel.py,sha256=DBuC6Za6ppGtacDlPXeLV5BRJnUOZjFWfhsmsvdOVho,34544
19
19
  odoo/addons/stock_release_channel/readme/CONFIGURE.rst,sha256=foUMWWFytuVRVkV1V4uA4FvsW2I5izyrcR1CzZ6mQTI,93
20
20
  odoo/addons/stock_release_channel/readme/CONTRIBUTORS.rst,sha256=q95yj-6flBF2N4IB-vbF_p06ClGmIrCySl2bfz9ExPA,414
21
21
  odoo/addons/stock_release_channel/readme/CREDITS.rst,sha256=-JppA6kiiAVqptoc7ytAB6vOqf_0W5uJrZLh70XGE3w,50
@@ -23,7 +23,7 @@ odoo/addons/stock_release_channel/readme/DESCRIPTION.rst,sha256=LJj2UQ3g5NteOFkf
23
23
  odoo/addons/stock_release_channel/readme/USAGE.rst,sha256=uKImsGjEDoJdmYBbgXcDLcBQ8eh4wZzPE8kGfAQvyDA,1588
24
24
  odoo/addons/stock_release_channel/security/stock_release_channel.xml,sha256=U0WfLbMKR4mnNdI4mfN8e7UTxLnyd17eVNhsBy-dMSc,1471
25
25
  odoo/addons/stock_release_channel/static/description/icon.png,sha256=6xBPJauaFOF0KDHfHgQopSc28kKvxMaeoQFQWZtfZDo,9455
26
- odoo/addons/stock_release_channel/static/description/index.html,sha256=tuHMbdKkwkU11auxdub_mOTsmA6iKvxB3MrvtvwLiMA,17424
26
+ odoo/addons/stock_release_channel/static/description/index.html,sha256=HhoUelucDW0BA2kOc3ucT4rmZfLk89lX75PxvR7tsA0,17424
27
27
  odoo/addons/stock_release_channel/static/src/js/progressbar_fractional_widget.js,sha256=sZBSmKdZSR1GFeu04iOH72h7FX5CqujgfTRmFYhh5z0,3184
28
28
  odoo/addons/stock_release_channel/static/src/scss/stock_release_channel.scss,sha256=DK0Azc8Gk3FlxeKzjZpLhRZzCQmgXdfLNmfz1CbNN0g,975
29
29
  odoo/addons/stock_release_channel/tests/__init__.py,sha256=kjERz9Kti9xbMmP0MgbNnnSDUdMRzZqH78VLjFn3xfk,226
@@ -39,7 +39,7 @@ odoo/addons/stock_release_channel/views/res_config_settings.xml,sha256=-7hoXY3H-
39
39
  odoo/addons/stock_release_channel/views/res_partner.xml,sha256=_eJwfkaXRVNSVcg62MyTg7EJjA4fxQdCujMkDylio0Q,995
40
40
  odoo/addons/stock_release_channel/views/stock_picking_views.xml,sha256=mtspBuMsNlkKoSUw3-SR16PVxIaSj7JTQ1JfvAGwG5c,2824
41
41
  odoo/addons/stock_release_channel/views/stock_release_channel_views.xml,sha256=XmTz3w6VpJ0Rxhp9HGwTPB6Y4bb5maE2hPVT-9JBZ9Y,48468
42
- odoo_addon_stock_release_channel-16.0.2.18.1.dist-info/METADATA,sha256=F0746CkVb_so6qX3DbsYB44l-u0jVyTG9y0_YWs2l1w,7131
43
- odoo_addon_stock_release_channel-16.0.2.18.1.dist-info/WHEEL,sha256=eOLhNAGa2EW3wWl_TU484h7q1UNgy0JXjjoqKoxAAQc,92
44
- odoo_addon_stock_release_channel-16.0.2.18.1.dist-info/top_level.txt,sha256=qBj40grFkGOfDZ2WDSw3y1RnDlgG0u8rP8pvGNdbz4w,5
45
- odoo_addon_stock_release_channel-16.0.2.18.1.dist-info/RECORD,,
42
+ odoo_addon_stock_release_channel-16.0.2.18.3.dist-info/METADATA,sha256=t8TW5UwZ6AY5vaADaBAZO5dMz3BsAJuCvQ2zxxMFxzE,7131
43
+ odoo_addon_stock_release_channel-16.0.2.18.3.dist-info/WHEEL,sha256=tZoeGjtWxWRfdplE7E3d45VPlLNQnvbKiYnx7gwAy8A,92
44
+ odoo_addon_stock_release_channel-16.0.2.18.3.dist-info/top_level.txt,sha256=qBj40grFkGOfDZ2WDSw3y1RnDlgG0u8rP8pvGNdbz4w,5
45
+ odoo_addon_stock_release_channel-16.0.2.18.3.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: bdist_wheel (0.44.0)
2
+ Generator: bdist_wheel (0.45.1)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5