Skip to content

Commit 1c0eecc

Browse files
Merge pull request #3 from lethuthao2403/16.0-update-stock_release_channel_partner_delivery_window
Release channel partner window exclusion & commitment date
2 parents 78b0cdb + a0d469e commit 1c0eecc

File tree

4 files changed

+38
-4
lines changed

4 files changed

+38
-4
lines changed

stock_release_channel_partner_delivery_window/__manifest__.py

+3-1
Original file line numberDiff line numberDiff line change
@@ -14,5 +14,7 @@
1414
"stock_partner_delivery_window",
1515
"stock_release_channel_shipment_lead_time",
1616
],
17-
"data": [],
17+
"data": [
18+
"views/stock_release_channel_view.xml",
19+
],
1820
}

stock_release_channel_partner_delivery_window/models/stock_picking.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -11,5 +11,5 @@ def _find_release_channel_possible_candidate(self):
1111
:return: release channels
1212
"""
1313
channels = super()._find_release_channel_possible_candidate()
14-
channels = channels.filter_release_channel_partner_window(self.partner_id)
14+
channels = channels.filter_release_channel_partner_window(self, self.partner_id)
1515
return channels

stock_release_channel_partner_delivery_window/models/stock_release_channel.py

+16-2
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,17 @@ class StockReleaseChannel(models.Model):
66

77
_inherit = "stock.release.channel"
88

9-
def filter_release_channel_partner_window(self, partner):
9+
respect_partner_delivery_time_windows = fields.Boolean(
10+
string="Respect Partner Delivery time windows",
11+
default=False,
12+
help=(
13+
"If the delivery has moves linked to SO lines linked to SO that has"
14+
" a commitment_date, then we never respect the partner time window "
15+
"(it is not an exclusion selection criteria anymore)"
16+
),
17+
)
18+
19+
def filter_release_channel_partner_window(self, picking, partner):
1020
channels = self
1121
if (
1222
not partner.delivery_time_preference
@@ -23,6 +33,10 @@ def filter_release_channel_partner_window(self, partner):
2333
hour=channel.process_end_date.hour,
2434
minute=channel.process_end_date.minute,
2535
)
26-
if not partner.is_in_delivery_window(shipment_datetime):
36+
if (
37+
channel.respect_partner_delivery_time_windows
38+
and not picking.sale_id.commitment_date
39+
and not partner.is_in_delivery_window(shipment_datetime)
40+
):
2741
channels -= channel
2842
return channels
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
<?xml version="1.0" encoding="utf-8" ?>
2+
<odoo>
3+
4+
<record id="allo_stock_release_channel_form_view" model="ir.ui.view">
5+
<field name="name">stock.release.channel.form</field>
6+
<field name="model">stock.release.channel</field>
7+
<field
8+
name="inherit_id"
9+
ref="stock_release_channel.stock_release_channel_form_view"
10+
/>
11+
<field name="arch" type="xml">
12+
<field name="rule_domain" position="after">
13+
<field name="respect_partner_delivery_time_windows" />
14+
</field>
15+
</field>
16+
</record>
17+
18+
</odoo>

0 commit comments

Comments
 (0)