diff --git a/shopfloor/actions/data.py b/shopfloor/actions/data.py
index be234fd92a..e0c3e63b07 100644
--- a/shopfloor/actions/data.py
+++ b/shopfloor/actions/data.py
@@ -13,7 +13,7 @@ class DataAction(Component):
def location(self, record, **kw):
parser = self._location_parser
data = self._jsonify(record.with_context(location=record.id), parser, **kw)
- if "with_operation_progress" in kw:
+ if kw.get("with_operation_progress"):
lines_blacklist = (
kw.get("progress_lines_blacklist")
or self.env["stock.move.line"].browse()
@@ -46,7 +46,7 @@ def _get_picking_parser(self, record, **kw):
# and it may reduce performance significatively
# when dealing with a large number of pickings.
# Thus, we make it optional.
- if "with_progress" in kw:
+ if kw.get("with_progress"):
parser.append("progress")
return parser
@@ -72,6 +72,7 @@ def _picking_parser(self, **kw):
"bulk_line_count",
"total_weight:weight",
"scheduled_date",
+ "priority",
]
@ensure_model("stock.quant.package")
diff --git a/shopfloor/actions/schema.py b/shopfloor/actions/schema.py
index bfa0fdba4e..e474fe35de 100644
--- a/shopfloor/actions/schema.py
+++ b/shopfloor/actions/schema.py
@@ -27,6 +27,7 @@ def picking(self):
"scheduled_date": {"type": "string", "nullable": False, "required": True},
"progress": {"type": "float", "nullable": True},
"location_dest": self._schema_dict_of(self.location(), required=False),
+ "priority": {"type": "string", "nullable": True, "required": False},
}
def move_line(self, with_packaging=False, with_picking=False):
diff --git a/shopfloor/services/checkout.py b/shopfloor/services/checkout.py
index 2bd94878ac..34297735d6 100644
--- a/shopfloor/services/checkout.py
+++ b/shopfloor/services/checkout.py
@@ -360,7 +360,7 @@ def _domain_for_list_stock_picking(self):
]
def _order_for_list_stock_picking(self):
- return "scheduled_date asc, id asc"
+ return "priority desc, scheduled_date asc, id asc"
def list_stock_picking(self):
"""List stock.picking records available
diff --git a/shopfloor/tests/test_actions_data.py b/shopfloor/tests/test_actions_data.py
index f6b1d8a5b2..19209347cd 100644
--- a/shopfloor/tests/test_actions_data.py
+++ b/shopfloor/tests/test_actions_data.py
@@ -155,6 +155,7 @@ def test_data_picking(self):
"partner": {"id": self.customer.id, "name": self.customer.name},
"carrier": {"id": carrier.id, "name": carrier.name},
"ship_carrier": None,
+ "priority": "0",
}
self.assertEqual(data.pop("scheduled_date").split("T")[0], "2020-08-03")
self.assertDictEqual(data, expected)
@@ -179,6 +180,7 @@ def test_data_picking_with_progress(self):
"carrier": {"id": carrier.id, "name": carrier.name},
"ship_carrier": None,
"progress": 0.0,
+ "priority": "0",
}
self.assertEqual(data.pop("scheduled_date").split("T")[0], "2020-08-03")
self.assertDictEqual(data, expected)
diff --git a/shopfloor/views/shopfloor_menu.xml b/shopfloor/views/shopfloor_menu.xml
index 868dc85c6c..5617de5f9e 100644
--- a/shopfloor/views/shopfloor_menu.xml
+++ b/shopfloor/views/shopfloor_menu.xml
@@ -112,6 +112,7 @@
name="scan_location_or_pack_first"
attrs="{'invisible': [('scan_location_or_pack_first_is_possible', '=', False)]}"
>
+