odoo-addon-stock-release-channel 18.0.1.1.3.2__py3-none-any.whl → 18.0.1.3.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.
- odoo/addons/stock_release_channel/README.rst +1 -1
- odoo/addons/stock_release_channel/__manifest__.py +1 -1
- odoo/addons/stock_release_channel/i18n/stock_release_channel.pot +1 -0
- odoo/addons/stock_release_channel/models/stock_picking.py +15 -2
- odoo/addons/stock_release_channel/models/stock_release_channel.py +22 -3
- odoo/addons/stock_release_channel/static/description/index.html +1 -1
- odoo/addons/stock_release_channel/tests/test_assign_job.py +4 -10
- odoo/addons/stock_release_channel/views/stock_release_channel_views.xml +7 -1
- {odoo_addon_stock_release_channel-18.0.1.1.3.2.dist-info → odoo_addon_stock_release_channel-18.0.1.3.0.dist-info}/METADATA +2 -2
- {odoo_addon_stock_release_channel-18.0.1.1.3.2.dist-info → odoo_addon_stock_release_channel-18.0.1.3.0.dist-info}/RECORD +12 -12
- {odoo_addon_stock_release_channel-18.0.1.1.3.2.dist-info → odoo_addon_stock_release_channel-18.0.1.3.0.dist-info}/WHEEL +0 -0
- {odoo_addon_stock_release_channel-18.0.1.1.3.2.dist-info → odoo_addon_stock_release_channel-18.0.1.3.0.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:92edc165c7e81433179b9616fde65caf4d63cfafe5277868b621a8c117db4f81
|
|
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.
|
|
8
|
+
"version": "18.0.1.3.0",
|
|
9
9
|
"development_status": "Beta",
|
|
10
10
|
"license": "AGPL-3",
|
|
11
11
|
"author": "Camptocamp, BCIM, ACSONE SA/NV, Odoo Community Association (OCA)",
|
|
@@ -531,6 +531,7 @@ msgstr ""
|
|
|
531
531
|
#: model:ir.model.fields,field_description:stock_release_channel.field_res_users__stock_release_channel_ids
|
|
532
532
|
#: model:ir.ui.menu,name:stock_release_channel.stock_release_channel_config_menu
|
|
533
533
|
#: model:ir.ui.menu,name:stock_release_channel.stock_release_channel_menu
|
|
534
|
+
#: model:ir.ui.menu,name:stock_release_channel.stock_release_channel_menu_section
|
|
534
535
|
#: model_terms:ir.ui.view,arch_db:stock_release_channel.res_partner_form_view
|
|
535
536
|
msgid "Release Channels"
|
|
536
537
|
msgstr ""
|
|
@@ -2,6 +2,8 @@
|
|
|
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
|
+
import io
|
|
6
|
+
|
|
5
7
|
from odoo import api, exceptions, fields, models
|
|
6
8
|
from odoo.osv import expression
|
|
7
9
|
|
|
@@ -81,9 +83,16 @@ class StockPicking(models.Model):
|
|
|
81
83
|
def assign_release_channel(self):
|
|
82
84
|
messages = ""
|
|
83
85
|
for pick in self:
|
|
84
|
-
|
|
86
|
+
log_stream = io.StringIO()
|
|
87
|
+
result = self.env["stock.release.channel"].assign_release_channel(
|
|
88
|
+
pick.with_context(assign_release_channel_log_stream=log_stream)
|
|
89
|
+
)
|
|
85
90
|
if result:
|
|
86
91
|
messages += result + "\n"
|
|
92
|
+
log = log_stream.getvalue()
|
|
93
|
+
if log:
|
|
94
|
+
messages += f"\nDebug:\n{log}\n"
|
|
95
|
+
log_stream.close()
|
|
87
96
|
return messages
|
|
88
97
|
|
|
89
98
|
def release_available_to_promise(self):
|
|
@@ -128,9 +137,13 @@ class StockPicking(models.Model):
|
|
|
128
137
|
:return: release channels
|
|
129
138
|
"""
|
|
130
139
|
self.ensure_one()
|
|
140
|
+
domain = self._release_channel_possible_candidate_domain
|
|
141
|
+
log = self.env.context.get("assign_release_channel_log_stream")
|
|
142
|
+
if log:
|
|
143
|
+
log.write(f"Find possible channels domain: {domain}\n")
|
|
131
144
|
return (
|
|
132
145
|
self.env["stock.release.channel"]
|
|
133
|
-
.search(
|
|
146
|
+
.search(domain)
|
|
134
147
|
.sorted(key=lambda r: (not bool(r.partner_ids), r.sequence))
|
|
135
148
|
)
|
|
136
149
|
|
|
@@ -583,20 +583,40 @@ class StockReleaseChannel(models.Model):
|
|
|
583
583
|
):
|
|
584
584
|
return
|
|
585
585
|
message = ""
|
|
586
|
-
|
|
586
|
+
possible_channels = picking._find_release_channel_possible_candidate()
|
|
587
|
+
log = picking.env.context.get("assign_release_channel_log_stream")
|
|
588
|
+
if log:
|
|
589
|
+
channel_names = ", ".join(possible_channels.mapped("display_name"))
|
|
590
|
+
log.write(f"Candidate channels: {channel_names}\n")
|
|
591
|
+
for channel in possible_channels:
|
|
587
592
|
current = picking
|
|
588
593
|
domain = channel._prepare_domain()
|
|
589
594
|
code = channel.sudo().code
|
|
590
595
|
if domain:
|
|
591
596
|
current = picking.filtered_domain(domain)
|
|
592
597
|
if not current:
|
|
598
|
+
if log:
|
|
599
|
+
log.write(
|
|
600
|
+
f"Channel '{channel.display_name}' excluded by channel "
|
|
601
|
+
"domain\n"
|
|
602
|
+
)
|
|
593
603
|
continue
|
|
594
604
|
if code:
|
|
595
605
|
current = channel._eval_code(current)
|
|
596
606
|
if not current:
|
|
607
|
+
if log:
|
|
608
|
+
log.write(
|
|
609
|
+
f"Channel '{channel.display_name}' excluded by channel "
|
|
610
|
+
"python code\n"
|
|
611
|
+
)
|
|
597
612
|
continue
|
|
598
613
|
current = channel._assign_release_channel_additional_filter(current)
|
|
599
614
|
if not current:
|
|
615
|
+
if log:
|
|
616
|
+
log.write(
|
|
617
|
+
f"Channel '{channel.display_name}' excluded by channel "
|
|
618
|
+
"additional filter\n"
|
|
619
|
+
)
|
|
600
620
|
continue
|
|
601
621
|
if current.release_channel_id != channel:
|
|
602
622
|
current.release_channel_id = channel
|
|
@@ -605,8 +625,7 @@ class StockReleaseChannel(models.Model):
|
|
|
605
625
|
if not picking.release_channel_id:
|
|
606
626
|
# by this point, the picking should have been assigned
|
|
607
627
|
message_template = (
|
|
608
|
-
"Transfer %(picking_name)s could not be assigned to a "
|
|
609
|
-
"channel, you should add a final catch-all rule"
|
|
628
|
+
"Transfer %(picking_name)s could not be assigned to a channel"
|
|
610
629
|
)
|
|
611
630
|
_logger.warning(message_template, {"picking_name": picking.name})
|
|
612
631
|
message = self.env._(message_template, picking_name=picking.name)
|
|
@@ -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:92edc165c7e81433179b9616fde65caf4d63cfafe5277868b621a8c117db4f81
|
|
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>
|
|
@@ -43,24 +43,18 @@ class TestReleaseChannel(ReleaseChannelCase):
|
|
|
43
43
|
move = self._create_single_move(self.product1, 10)
|
|
44
44
|
with trap_jobs() as trap:
|
|
45
45
|
picking = move.picking_id
|
|
46
|
-
message = (
|
|
47
|
-
f"Transfer {picking.name} could not be assigned to a "
|
|
48
|
-
"channel, you should add a final catch-all rule\n"
|
|
49
|
-
)
|
|
50
46
|
picking._delay_assign_release_channel()
|
|
51
47
|
trap.assert_jobs_count(1, only=picking.assign_release_channel)
|
|
52
48
|
enqueued_job = trap.enqueued_jobs[0]
|
|
53
49
|
trap.perform_enqueued_jobs()
|
|
54
|
-
|
|
50
|
+
message = f"Transfer {picking.name} could not be assigned to a channel"
|
|
51
|
+
self.assertRegex(enqueued_job.result, message)
|
|
55
52
|
move = self._create_single_move(self.product2, 10)
|
|
56
53
|
with trap_jobs() as trap:
|
|
57
54
|
picking = move.picking_id
|
|
58
|
-
message = (
|
|
59
|
-
f"Transfer {picking.name} could not be assigned to a "
|
|
60
|
-
"channel, you should add a final catch-all rule\n"
|
|
61
|
-
)
|
|
62
55
|
picking._delay_assign_release_channel()
|
|
63
56
|
trap.assert_jobs_count(1, only=picking.assign_release_channel)
|
|
64
57
|
enqueued_job = trap.enqueued_jobs[0]
|
|
65
58
|
trap.perform_enqueued_jobs()
|
|
66
|
-
|
|
59
|
+
message = f"Transfer {picking.name} could not be assigned to a channel"
|
|
60
|
+
self.assertRegex(enqueued_job.result, message)
|
|
@@ -812,9 +812,15 @@
|
|
|
812
812
|
<field name="code">action = model.assign_pickings()</field>
|
|
813
813
|
</record>
|
|
814
814
|
|
|
815
|
+
<menuitem
|
|
816
|
+
id="stock_release_channel_menu_section"
|
|
817
|
+
name="Release Channels"
|
|
818
|
+
parent="stock.menu_stock_warehouse_mgmt"
|
|
819
|
+
sequence="0"
|
|
820
|
+
/>
|
|
815
821
|
<record model="ir.ui.menu" id="stock_release_channel_menu">
|
|
816
822
|
<field name="name">Release Channels</field>
|
|
817
|
-
<field name="parent_id" ref="
|
|
823
|
+
<field name="parent_id" ref="stock_release_channel_menu_section" />
|
|
818
824
|
<field name="action" ref="stock_release_channel_act_window" />
|
|
819
825
|
<field name="sequence" eval="6" />
|
|
820
826
|
</record>
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: odoo-addon-stock_release_channel
|
|
3
|
-
Version: 18.0.1.
|
|
3
|
+
Version: 18.0.1.3.0
|
|
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:92edc165c7e81433179b9616fde65caf4d63cfafe5277868b621a8c117db4f81
|
|
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=_OyQi8HqptxGZavt3Jw7r-DpIYkEflnNXCX9ASA0Sm4,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=1D9kM-yeccMDVghqow_xXvCveX3Tp3-OHCLOzE9gr_Y,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=67AAR9cCjw0hvhSVc5duJKi8AuQePCHAlRpVqUlq_fw,34056
|
|
8
8
|
odoo/addons/stock_release_channel/i18n/fr.po,sha256=AyLpUw5U16jtM52koco6HUDT3TbAZnGSSCyoVtz87q0,29629
|
|
9
9
|
odoo/addons/stock_release_channel/i18n/it.po,sha256=AFFAae6lXjfsqNw_nFOl6b8DQPTnLVSn6es2XRsejA4,36373
|
|
10
|
-
odoo/addons/stock_release_channel/i18n/stock_release_channel.pot,sha256=
|
|
10
|
+
odoo/addons/stock_release_channel/i18n/stock_release_channel.pot,sha256=rKLaeO3V8HIWf7F9ABwBZxenh19JXwtiYIOp8Lvtruo,28332
|
|
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=e2zuh9XisKk_7arlOlg-bqyNDyql-g7O8RId8uzJjY0,8375
|
|
17
|
+
odoo/addons/stock_release_channel/models/stock_release_channel.py,sha256=5ADIjauYeyVCHCivCl3wum8K0_vnNBA1Cv4OG4zbZMg,39682
|
|
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,12 +22,12 @@ 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=yHuJpoL-hALgINk7soFpbhOxbyR0XnzZL4eeDkGv4iw,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
|
|
29
29
|
odoo/addons/stock_release_channel/tests/common.py,sha256=0o79MEowUitiyyBxWbw45OjxLX8wPySlR-qrO5uvAOs,8756
|
|
30
|
-
odoo/addons/stock_release_channel/tests/test_assign_job.py,sha256=
|
|
30
|
+
odoo/addons/stock_release_channel/tests/test_assign_job.py,sha256=KCs3Bqa--ACosJXbK48YMlIeoLPQ9vMNgJ97MlHpr4w,2663
|
|
31
31
|
odoo/addons/stock_release_channel/tests/test_channel_action.py,sha256=dtaYBCAOyNGyGWpDWDAAxVUgSWXNqR-AznKAq3iOLAI,5466
|
|
32
32
|
odoo/addons/stock_release_channel/tests/test_channel_computed_fields.py,sha256=TbVkrpn5Sq6nt-QRQEi2OisjkwUuvwPJ75a0V77FsM0,4725
|
|
33
33
|
odoo/addons/stock_release_channel/tests/test_channel_release_batch.py,sha256=nvLf6TqcnhaA78gSpmK7Pb9unqxTm0RnY4f1QcqFlkY,2247
|
|
@@ -41,8 +41,8 @@ odoo/addons/stock_release_channel/tests/models/generator_test_impossible.py,sha2
|
|
|
41
41
|
odoo/addons/stock_release_channel/views/res_config_settings.xml,sha256=ehTEpYyfEiyg0KPmU0gjMVhC_3zfW3MFDsY6ADnZYc4,1229
|
|
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
|
-
odoo/addons/stock_release_channel/views/stock_release_channel_views.xml,sha256=
|
|
45
|
-
odoo_addon_stock_release_channel-18.0.1.
|
|
46
|
-
odoo_addon_stock_release_channel-18.0.1.
|
|
47
|
-
odoo_addon_stock_release_channel-18.0.1.
|
|
48
|
-
odoo_addon_stock_release_channel-18.0.1.
|
|
44
|
+
odoo/addons/stock_release_channel/views/stock_release_channel_views.xml,sha256=X2IzTo2VmYJR0K1in2fv2WHeczqaMyhNuRkSJIU24d8,46532
|
|
45
|
+
odoo_addon_stock_release_channel-18.0.1.3.0.dist-info/METADATA,sha256=pAqJCP93v0broxDGbzpCy1mogMqFBquaFKwL6ZNO-D0,7637
|
|
46
|
+
odoo_addon_stock_release_channel-18.0.1.3.0.dist-info/WHEEL,sha256=ZhOvUsYhy81Dx67gN3TV0RchQWBIIzutDZaJODDg2Vo,81
|
|
47
|
+
odoo_addon_stock_release_channel-18.0.1.3.0.dist-info/top_level.txt,sha256=QE6RBQ0QX5f4eFuUcGgU5Kbq1A_qJcDs-e_vpr6pmfU,4
|
|
48
|
+
odoo_addon_stock_release_channel-18.0.1.3.0.dist-info/RECORD,,
|
|
File without changes
|