Skip to content

Commit d74dc49

Browse files
committed
[IMP] delivery_driver_stock_picking_batch: Show only name in drivers
- Assign the driver's user in batch if batch isn't wave. - Show only name in drivers MT-5232 @moduon
1 parent d19cd50 commit d74dc49

File tree

3 files changed

+38
-4
lines changed

3 files changed

+38
-4
lines changed

delivery_driver_stock_picking_batch/models/stock_picking_batch.py

+11
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,19 @@ class StockPickingBatch(models.Model):
1515
store=True,
1616
domain="[('is_company', '=', False)]",
1717
)
18+
user_id = fields.Many2one(
19+
compute="_compute_user_id",
20+
store=True,
21+
)
1822

1923
@api.depends("picking_ids.driver_id")
2024
def _compute_driver_ids(self):
2125
for batch in self:
2226
batch.driver_ids = batch.picking_ids.mapped("driver_id")
27+
28+
@api.depends("driver_ids")
29+
def _compute_user_id(self):
30+
for batch in self.filtered(lambda b: not b.is_wave):
31+
users = batch.mapped("driver_ids.user_ids")
32+
if users:
33+
batch.user_id = users[0]

delivery_driver_stock_picking_batch/tests/test_delivery_driver_stock_picking_batch.py

+8-1
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
# License LGPL-3.0 or later (https://www.gnu.org/licenses/lgpl-3.0)
33

44

5+
from odoo.tests import new_test_user
56
from odoo.tests.common import TransactionCase
67

78

@@ -11,7 +12,10 @@ def setUpClass(cls):
1112
super().setUpClass()
1213
cls.partner_test = cls.env["res.partner"].create({"name": "My Test Customer"})
1314
cls.driver_test_1 = cls.env["res.partner"].create({"name": "My Test Driver 1"})
14-
cls.driver_test_2 = cls.env["res.partner"].create({"name": "My Test Driver 2"})
15+
cls.driver_user = new_test_user(
16+
cls.env, login="internal_user", groups="base.group_user", name="Driver User"
17+
)
18+
cls.driver_test_2 = cls.driver_user.partner_id
1519
cls.product_test = cls.env["product.product"].create(
1620
{"name": "A product to deliver"}
1721
)
@@ -106,8 +110,11 @@ def test_delivery_driver_stock_picking_batch(self):
106110
}
107111
)
108112
self.assertEqual(batch.driver_ids, self.driver_test_1 | self.driver_test_2)
113+
self.assertEqual(batch.user_id, self.driver_user)
109114
batch.write({"picking_ids": [(3, picking_2.id)]})
110115
self.assertEqual(batch.driver_ids, self.driver_test_1)
111116
batch.write({"picking_ids": [(4, picking_2.id)]})
117+
self.assertEqual(batch.user_id, self.driver_user)
112118
picking_2.write({"carrier_id": self.delivery_test_1.id})
113119
self.assertEqual(batch.driver_ids, self.driver_test_1)
120+
self.assertEqual(batch.user_id, self.driver_user)

delivery_driver_stock_picking_batch/views/stock_picking_batch.xml

+19-3
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,12 @@
88
<field name="inherit_id" ref="stock_picking_batch.view_picking_tree_batch" />
99
<field name="arch" type="xml">
1010
<xpath expr="//field[@name='scheduled_date']" position="after">
11-
<field name="driver_id" optional="hide" />
11+
<field
12+
name="driver_id"
13+
optional="hide"
14+
context="{'show_driver': True}"
15+
options='{"always_reload": True}'
16+
/>
1217
</xpath>
1318
</field>
1419
</record>
@@ -18,7 +23,12 @@
1823
<field name="inherit_id" ref="stock_picking_batch.stock_picking_batch_form" />
1924
<field name="arch" type="xml">
2025
<xpath expr="//field[@name='scheduled_date']" position="after">
21-
<field name="driver_ids" widget="many2many_tags" />
26+
<field
27+
name="driver_ids"
28+
widget="many2many_tags"
29+
context="{'show_driver': True}"
30+
options='{"always_reload": True}'
31+
/>
2232
</xpath>
2333
</field>
2434
</record>
@@ -28,7 +38,13 @@
2838
<field name="inherit_id" ref="stock_picking_batch.stock_picking_batch_tree" />
2939
<field name="arch" type="xml">
3040
<xpath expr="//field[@name='scheduled_date']" position="after">
31-
<field name="driver_ids" widget="many2many_tags" optional="hide" />
41+
<field
42+
name="driver_ids"
43+
widget="many2many_tags"
44+
optional="hide"
45+
context="{'show_driver': True}"
46+
options='{"always_reload": True}'
47+
/>
3248
</xpath>
3349
</field>
3450
</record>

0 commit comments

Comments
 (0)