odoo-addon-stock-release-channel 18.0.1.1.2__py3-none-any.whl → 18.0.1.1.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.
- odoo/addons/stock_release_channel/README.rst +1 -1
- odoo/addons/stock_release_channel/__manifest__.py +1 -1
- odoo/addons/stock_release_channel/i18n/it.po +10 -3
- odoo/addons/stock_release_channel/i18n/stock_release_channel.pot +5 -0
- odoo/addons/stock_release_channel/models/stock_picking.py +27 -1
- odoo/addons/stock_release_channel/models/stock_release_channel.py +12 -6
- odoo/addons/stock_release_channel/static/description/index.html +1 -1
- {odoo_addon_stock_release_channel-18.0.1.1.2.dist-info → odoo_addon_stock_release_channel-18.0.1.1.3.dist-info}/METADATA +2 -2
- {odoo_addon_stock_release_channel-18.0.1.1.2.dist-info → odoo_addon_stock_release_channel-18.0.1.1.3.dist-info}/RECORD +11 -11
- {odoo_addon_stock_release_channel-18.0.1.1.2.dist-info → odoo_addon_stock_release_channel-18.0.1.1.3.dist-info}/WHEEL +0 -0
- {odoo_addon_stock_release_channel-18.0.1.1.2.dist-info → odoo_addon_stock_release_channel-18.0.1.1.3.dist-info}/top_level.txt +0 -0
|
@@ -11,7 +11,7 @@ Stock Release Channels
|
|
|
11
11
|
!! This file is generated by oca-gen-addon-readme !!
|
|
12
12
|
!! changes will be overwritten. !!
|
|
13
13
|
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
|
14
|
-
!! source digest: sha256:
|
|
14
|
+
!! source digest: sha256:be2c1914df0053b04555f7eef121dae055b237ac986cd144925b365f1fff7fc4
|
|
15
15
|
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
|
16
16
|
|
|
17
17
|
.. |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": "18.0.1.1.
|
|
8
|
+
"version": "18.0.1.1.3",
|
|
9
9
|
"development_status": "Beta",
|
|
10
10
|
"license": "AGPL-3",
|
|
11
11
|
"author": "Camptocamp, BCIM, ACSONE SA/NV, Odoo Community Association (OCA)",
|
|
@@ -6,7 +6,7 @@ msgid ""
|
|
|
6
6
|
msgstr ""
|
|
7
7
|
"Project-Id-Version: Odoo Server 16.0\n"
|
|
8
8
|
"Report-Msgid-Bugs-To: \n"
|
|
9
|
-
"PO-Revision-Date:
|
|
9
|
+
"PO-Revision-Date: 2025-09-03 11:43+0000\n"
|
|
10
10
|
"Last-Translator: mymage <stefano.consolaro@mymage.it>\n"
|
|
11
11
|
"Language-Team: none\n"
|
|
12
12
|
"Language: it\n"
|
|
@@ -14,7 +14,7 @@ msgstr ""
|
|
|
14
14
|
"Content-Type: text/plain; charset=UTF-8\n"
|
|
15
15
|
"Content-Transfer-Encoding: \n"
|
|
16
16
|
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
|
17
|
-
"X-Generator: Weblate 5.
|
|
17
|
+
"X-Generator: Weblate 5.10.4\n"
|
|
18
18
|
|
|
19
19
|
#. module: stock_release_channel
|
|
20
20
|
#: model_terms:ir.ui.view,arch_db:stock_release_channel.stock_release_channel_kanban_view
|
|
@@ -677,6 +677,13 @@ msgid ""
|
|
|
677
677
|
"* Asleep: Assigned pickings not processed are unassigned from the release "
|
|
678
678
|
"channel.\n"
|
|
679
679
|
msgstr ""
|
|
680
|
+
"Lo stato consenti di controllare la disponibilità del canale di rilascio.\n"
|
|
681
|
+
" * Aperto: assegnazione manuale e automatica del prelievo al rilascio è "
|
|
682
|
+
"attiva e le operazioni di rilascio sono consentite.\n"
|
|
683
|
+
"* Bloccato: le operazioni di rilascio sono vietate. (i processi di "
|
|
684
|
+
"assegnazione sono ancora in lavoro)\n"
|
|
685
|
+
"* Sospeso: i prelievi assegnati e non elaborati vengono revocati dal canale "
|
|
686
|
+
"di rilascio.\n"
|
|
680
687
|
|
|
681
688
|
#. module: stock_release_channel
|
|
682
689
|
#: model:ir.model.fields,help:stock_release_channel.field_stock_release_channel__state_at_wakeup
|
|
@@ -798,7 +805,7 @@ msgstr ""
|
|
|
798
805
|
#. module: stock_release_channel
|
|
799
806
|
#: model_terms:ir.ui.view,arch_db:stock_release_channel.stock_release_channel_kanban_view
|
|
800
807
|
msgid "state"
|
|
801
|
-
msgstr ""
|
|
808
|
+
msgstr "Stato"
|
|
802
809
|
|
|
803
810
|
#~ msgid ""
|
|
804
811
|
#~ "<i class=\"fa fa-ellipsis-v\" role=\"img\" aria-label=\"Details\" "
|
|
@@ -211,6 +211,11 @@ msgstr ""
|
|
|
211
211
|
msgid "Deliveries"
|
|
212
212
|
msgstr ""
|
|
213
213
|
|
|
214
|
+
#. module: stock_release_channel
|
|
215
|
+
#: model:ir.model.fields,field_description:stock_release_channel.field_stock_picking__delivery_date
|
|
216
|
+
msgid "Delivery Date"
|
|
217
|
+
msgstr ""
|
|
218
|
+
|
|
214
219
|
#. module: stock_release_channel
|
|
215
220
|
#: model:ir.model.fields,field_description:stock_release_channel.field_stock_release_channel__display_name
|
|
216
221
|
msgid "Display Name"
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
# Copyright 2024 Jacques-Etienne Baudoux (BCIM) <je@bcim.be>
|
|
3
3
|
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html)
|
|
4
4
|
|
|
5
|
-
from odoo import exceptions, fields, models
|
|
5
|
+
from odoo import api, exceptions, fields, models
|
|
6
6
|
from odoo.osv import expression
|
|
7
7
|
|
|
8
8
|
from odoo.addons.queue_job.job import identity_exact
|
|
@@ -20,6 +20,10 @@ class StockPicking(models.Model):
|
|
|
20
20
|
inverse="_inverse_release_channel_id",
|
|
21
21
|
)
|
|
22
22
|
|
|
23
|
+
delivery_date = fields.Date(
|
|
24
|
+
compute="_compute_delivery_date",
|
|
25
|
+
)
|
|
26
|
+
|
|
23
27
|
def _inverse_release_channel_id(self):
|
|
24
28
|
"""When the release channel is modified, update the expected date
|
|
25
29
|
|
|
@@ -45,6 +49,28 @@ class StockPicking(models.Model):
|
|
|
45
49
|
all_moves = moves.browse(move_chain_ids)
|
|
46
50
|
all_moves._release_set_expected_date(new_date)
|
|
47
51
|
|
|
52
|
+
@api.depends("release_channel_id", "need_release", "partner_id")
|
|
53
|
+
def _compute_delivery_date(self):
|
|
54
|
+
# compute the earliest delivery date from the scheduled date
|
|
55
|
+
for picking in self:
|
|
56
|
+
channel = picking.release_channel_id
|
|
57
|
+
if not channel or not picking.partner_id or picking.need_release:
|
|
58
|
+
picking.delivery_date = False
|
|
59
|
+
continue
|
|
60
|
+
# Use the scheduled date as preparation end date
|
|
61
|
+
steps = channel._delivery_date_steps
|
|
62
|
+
# skip any step until preparation included
|
|
63
|
+
for i, step in enumerate(steps):
|
|
64
|
+
if step == "preparation":
|
|
65
|
+
steps = steps[i + 1 :]
|
|
66
|
+
break
|
|
67
|
+
delivery_dt = channel._get_earliest_delivery_date(
|
|
68
|
+
picking.partner_id,
|
|
69
|
+
picking.scheduled_date,
|
|
70
|
+
steps=steps,
|
|
71
|
+
)
|
|
72
|
+
picking.delivery_date = channel._localize(delivery_dt).date()
|
|
73
|
+
|
|
48
74
|
def _delay_assign_release_channel(self):
|
|
49
75
|
for picking in self:
|
|
50
76
|
picking.with_delay(
|
|
@@ -952,7 +952,7 @@ class StockReleaseChannel(models.Model):
|
|
|
952
952
|
"""
|
|
953
953
|
return defaultdict(list)
|
|
954
954
|
|
|
955
|
-
def _get_earliest_delivery_date(self, partner,
|
|
955
|
+
def _get_earliest_delivery_date(self, partner, start_dt, steps=None):
|
|
956
956
|
"""Compute the earliest delivery date for this channel
|
|
957
957
|
|
|
958
958
|
Go through each steps. All generators of a step must agree on a date.
|
|
@@ -963,13 +963,14 @@ class StockReleaseChannel(models.Model):
|
|
|
963
963
|
This algorithm performs a quick convergence to a date.
|
|
964
964
|
"""
|
|
965
965
|
self.ensure_one()
|
|
966
|
-
best_dt =
|
|
967
|
-
limit_dt =
|
|
968
|
-
|
|
966
|
+
best_dt = start_dt
|
|
967
|
+
limit_dt = start_dt + timedelta(days=DELIVERY_DATE_COMPUTATION_LIMIT_DAYS)
|
|
968
|
+
_logger.debug(f"Compute earliest delivery date starting from {best_dt}")
|
|
969
|
+
steps = steps or self._delivery_date_steps
|
|
970
|
+
for step in steps:
|
|
969
971
|
funcs = self._delivery_date_generators.get(step)
|
|
970
972
|
if not funcs:
|
|
971
973
|
continue
|
|
972
|
-
_logger.debug(f"Compute earliest delivery date for {step}")
|
|
973
974
|
generators = []
|
|
974
975
|
best_generators = []
|
|
975
976
|
start_dt = best_dt
|
|
@@ -980,6 +981,7 @@ class StockReleaseChannel(models.Model):
|
|
|
980
981
|
new_dt = next(gen)
|
|
981
982
|
if new_dt > best_dt:
|
|
982
983
|
best_dt = new_dt
|
|
984
|
+
_logger.debug(f" new {step} date {best_dt} from {gen.__name__}")
|
|
983
985
|
best_generators = [gen]
|
|
984
986
|
elif new_dt == best_dt:
|
|
985
987
|
best_generators.append(gen)
|
|
@@ -996,10 +998,14 @@ class StockReleaseChannel(models.Model):
|
|
|
996
998
|
continue
|
|
997
999
|
best_dt = gen.send(previous_dt := best_dt)
|
|
998
1000
|
if best_dt != previous_dt:
|
|
999
|
-
_logger.debug(
|
|
1001
|
+
_logger.debug(
|
|
1002
|
+
f" new {step} date {best_dt} from {gen.__name__}"
|
|
1003
|
+
)
|
|
1000
1004
|
best_generators = [gen]
|
|
1001
1005
|
else:
|
|
1002
1006
|
best_generators.append(gen)
|
|
1007
|
+
gen_names = ",".join(gen.__name__ for gen in generators)
|
|
1008
|
+
_logger.debug(f" {step} date {best_dt} agreed by {gen_names}")
|
|
1003
1009
|
for gen in generators:
|
|
1004
1010
|
gen.close()
|
|
1005
1011
|
if best_dt is None:
|
|
@@ -372,7 +372,7 @@ ul.auto-toc {
|
|
|
372
372
|
!! This file is generated by oca-gen-addon-readme !!
|
|
373
373
|
!! changes will be overwritten. !!
|
|
374
374
|
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
|
375
|
-
!! source digest: sha256:
|
|
375
|
+
!! source digest: sha256:be2c1914df0053b04555f7eef121dae055b237ac986cd144925b365f1fff7fc4
|
|
376
376
|
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->
|
|
377
377
|
<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/license-AGPL--3-blue.png" /></a> <a class="reference external image-reference" href="https://github.com/OCA/stock-logistics-release-channel/tree/18.0/stock_release_channel"><img alt="OCA/stock-logistics-release-channel" src="https://img.shields.io/badge/github-OCA%2Fstock--logistics--release--channel-lightgray.png?logo=github" /></a> <a class="reference external image-reference" href="https://translation.odoo-community.org/projects/stock-logistics-release-channel-18-0/stock-logistics-release-channel-18-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/stock-logistics-release-channel&target_branch=18.0"><img alt="Try me on Runboat" src="https://img.shields.io/badge/runboat-Try%20me-875A7B.png" /></a></p>
|
|
378
378
|
<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: 18.0.1.1.
|
|
3
|
+
Version: 18.0.1.1.3
|
|
4
4
|
Requires-Python: >=3.10
|
|
5
5
|
Requires-Dist: odoo-addon-queue_job==18.0.*
|
|
6
6
|
Requires-Dist: odoo-addon-stock_available_to_promise_release==18.0.*
|
|
@@ -30,7 +30,7 @@ Stock Release Channels
|
|
|
30
30
|
!! This file is generated by oca-gen-addon-readme !!
|
|
31
31
|
!! changes will be overwritten. !!
|
|
32
32
|
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
|
33
|
-
!! source digest: sha256:
|
|
33
|
+
!! source digest: sha256:be2c1914df0053b04555f7eef121dae055b237ac986cd144925b365f1fff7fc4
|
|
34
34
|
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
|
35
35
|
|
|
36
36
|
.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png
|
|
@@ -1,20 +1,20 @@
|
|
|
1
|
-
odoo/addons/stock_release_channel/README.rst,sha256=
|
|
1
|
+
odoo/addons/stock_release_channel/README.rst,sha256=2Vyu3451mhqm3hJlpytBP5jVNUzP1DGjw5fh3cNs8mE,6873
|
|
2
2
|
odoo/addons/stock_release_channel/__init__.py,sha256=X9EJGOE2GtZbS0G82PtSXmWSZ_R8jEM0rlJTDliQjp4,21
|
|
3
|
-
odoo/addons/stock_release_channel/__manifest__.py,sha256=
|
|
3
|
+
odoo/addons/stock_release_channel/__manifest__.py,sha256=aicagPNK5cSKHtJd4c10bL8Akz4-4vyunyfabk_baZQ,1351
|
|
4
4
|
odoo/addons/stock_release_channel/data/ir_cron_data.xml,sha256=XILvZIvmn14uZApFNSzzhtzI-M45fV711k5e9D0iN2g,593
|
|
5
5
|
odoo/addons/stock_release_channel/data/queue_job_data.xml,sha256=brhyhM8YU_TKfSumeJtiGw_CxdQzm4H2tnZUJo3ze04,590
|
|
6
6
|
odoo/addons/stock_release_channel/demo/stock_release_channel.xml,sha256=mFDJ2j1nbmAOGbQwFFbT0xrAjW8n893R2MdXTyNhL2c,332
|
|
7
7
|
odoo/addons/stock_release_channel/i18n/es.po,sha256=-RVBDUvnzsyPtGpMxexS4g8-4ijlQrzVB-4dOBvjWuk,33890
|
|
8
8
|
odoo/addons/stock_release_channel/i18n/fr.po,sha256=3_eGxskC46cEYoJwP4zkqFDyePOtbiTbRS1NA-47PFw,29463
|
|
9
|
-
odoo/addons/stock_release_channel/i18n/it.po,sha256=
|
|
10
|
-
odoo/addons/stock_release_channel/i18n/stock_release_channel.pot,sha256=
|
|
9
|
+
odoo/addons/stock_release_channel/i18n/it.po,sha256=clCZnQs8fvF26lDb1ps49avn4EDcao42s1HC-j16by0,36194
|
|
10
|
+
odoo/addons/stock_release_channel/i18n/stock_release_channel.pot,sha256=B4m9Cn_vu1QoLv7fvgm0KNxzdU_TvhRboKyyYTJCw_8,28250
|
|
11
11
|
odoo/addons/stock_release_channel/models/__init__.py,sha256=7bzf3wef0yG6SnmE67xQwGn1EM4phSOfm0o4t8k6-oU,175
|
|
12
12
|
odoo/addons/stock_release_channel/models/res_company.py,sha256=Vj27CcrLlr8vsgMelp9ix5z8IkJYhfEb7FBdO23r2VI,616
|
|
13
13
|
odoo/addons/stock_release_channel/models/res_config_settings.py,sha256=-oh2L7FWf60ACuqY5ojgRvlrqNBr9XXMCd78XVN_w9c,571
|
|
14
14
|
odoo/addons/stock_release_channel/models/res_partner.py,sha256=P4gpRYE8euQzk7TuOPwCp-pvJfMUfVzZqwR5B7oe1Fk,877
|
|
15
15
|
odoo/addons/stock_release_channel/models/stock_move.py,sha256=iaPhHbzM12YtUjexaCU6MMTQcPPntJ0FJS_BX8NKRHE,1592
|
|
16
|
-
odoo/addons/stock_release_channel/models/stock_picking.py,sha256=
|
|
17
|
-
odoo/addons/stock_release_channel/models/stock_release_channel.py,sha256=
|
|
16
|
+
odoo/addons/stock_release_channel/models/stock_picking.py,sha256=mkBSCoE6p-_35J-fGjWohWSbtwWb2hwr56hAg-mWk3s,7904
|
|
17
|
+
odoo/addons/stock_release_channel/models/stock_release_channel.py,sha256=qQQ9dXzVCNRqqIVYWy4F0vhlBiSJl4YLncQxB3hDdWs,38864
|
|
18
18
|
odoo/addons/stock_release_channel/readme/CONFIGURE.md,sha256=0I_Dh2FtDqoO6y0tHxjwnY5j5SEeGK7_xjURpODgWSg,95
|
|
19
19
|
odoo/addons/stock_release_channel/readme/CONTRIBUTORS.md,sha256=xrrJ3yIkmq6TyzXgi_Uu_C5WhkBmYPMgh46h9kuyCDg,426
|
|
20
20
|
odoo/addons/stock_release_channel/readme/CREDITS.md,sha256=Q-HpCW3wq96Eb9WSup9SZYdgfKNTKnwMcOgCzALQ7jE,50
|
|
@@ -22,7 +22,7 @@ odoo/addons/stock_release_channel/readme/DESCRIPTION.md,sha256=fxYLZyWH-ndmc1VGz
|
|
|
22
22
|
odoo/addons/stock_release_channel/readme/USAGE.md,sha256=EQWkBSmQwzakAkciBlkSek32TTkSVDSNRG1pRg7cB84,1600
|
|
23
23
|
odoo/addons/stock_release_channel/security/stock_release_channel.xml,sha256=tSwRdeAVTiScbTCMLOiCJNbYcywepNPZy9rRv2b1SoY,1469
|
|
24
24
|
odoo/addons/stock_release_channel/static/description/icon.png,sha256=6xBPJauaFOF0KDHfHgQopSc28kKvxMaeoQFQWZtfZDo,9455
|
|
25
|
-
odoo/addons/stock_release_channel/static/description/index.html,sha256=
|
|
25
|
+
odoo/addons/stock_release_channel/static/description/index.html,sha256=tmkG0bSMnkuTlzOGiCUAdnfY3V9mcAxsn6HTT-JxEA8,17933
|
|
26
26
|
odoo/addons/stock_release_channel/static/src/js/progressbar_fractional_widget.esm.js,sha256=GNoV3ZbDZXTLxRTyKkp0jwRL99Dr2EgH3TNuBWW80u0,1859
|
|
27
27
|
odoo/addons/stock_release_channel/static/src/scss/stock_release_channel.scss,sha256=TvyOGHzF7XuxZlTPBmf4aUj3b_quOHPFalpZ0LW5vfM,977
|
|
28
28
|
odoo/addons/stock_release_channel/tests/__init__.py,sha256=GKpdQIuWCHiN-e1yatgmy07kzgmlrXm8M66uTWfUjIk,266
|
|
@@ -42,7 +42,7 @@ odoo/addons/stock_release_channel/views/res_config_settings.xml,sha256=ehTEpYyfE
|
|
|
42
42
|
odoo/addons/stock_release_channel/views/res_partner.xml,sha256=01rh7UBBsNqDokHzXsPt7rZKtpT03YKy-e8DHctdbZI,993
|
|
43
43
|
odoo/addons/stock_release_channel/views/stock_picking_views.xml,sha256=LesPS6bpRomZBpXX84b7ehO5cQvz-DuK6UF73nu1FLA,2963
|
|
44
44
|
odoo/addons/stock_release_channel/views/stock_release_channel_views.xml,sha256=lirRheO0-JuQBmZ2qiE8GL4mLEZQ2lq8ijZdYY7YwXU,46358
|
|
45
|
-
odoo_addon_stock_release_channel-18.0.1.1.
|
|
46
|
-
odoo_addon_stock_release_channel-18.0.1.1.
|
|
47
|
-
odoo_addon_stock_release_channel-18.0.1.1.
|
|
48
|
-
odoo_addon_stock_release_channel-18.0.1.1.
|
|
45
|
+
odoo_addon_stock_release_channel-18.0.1.1.3.dist-info/METADATA,sha256=5Ru6fw5QQGBFtcmZa0yll27iKmm7cj1ac3yoawsyGVc,7637
|
|
46
|
+
odoo_addon_stock_release_channel-18.0.1.1.3.dist-info/WHEEL,sha256=ZhOvUsYhy81Dx67gN3TV0RchQWBIIzutDZaJODDg2Vo,81
|
|
47
|
+
odoo_addon_stock_release_channel-18.0.1.1.3.dist-info/top_level.txt,sha256=QE6RBQ0QX5f4eFuUcGgU5Kbq1A_qJcDs-e_vpr6pmfU,4
|
|
48
|
+
odoo_addon_stock_release_channel-18.0.1.1.3.dist-info/RECORD,,
|
|
File without changes
|