diff --git a/addons/mrp/report/mrp_report_mo_overview.py b/addons/mrp/report/mrp_report_mo_overview.py index ec076ea8889..b1367eb2afe 100644 --- a/addons/mrp/report/mrp_report_mo_overview.py +++ b/addons/mrp/report/mrp_report_mo_overview.py @@ -362,6 +362,9 @@ class ReportMoOverview(models.AbstractModel): return currency.round(product.standard_price * uom_id._compute_quantity(quantity, product.uom_id)) def _get_replenishment_receipt(self, doc_in, components): + if doc_in._name == 'stock.picking': + return self._format_receipt_date('expected', doc_in.scheduled_date) + if doc_in._name == 'mrp.production': max_date_start = doc_in.date_start all_available = True diff --git a/addons/mrp/static/src/components/mo_overview_line/mo_overview_colors.js b/addons/mrp/static/src/components/mo_overview_line/mo_overview_colors.js index 2cd2bf6464f..6cec3430d3a 100644 --- a/addons/mrp/static/src/components/mo_overview_line/mo_overview_colors.js +++ b/addons/mrp/static/src/components/mo_overview_line/mo_overview_colors.js @@ -18,6 +18,15 @@ const PURCHASE_DECORATORS = { cancel: "muted", }; +const PICKING_DECORATORS = { + draft: "muted", + waiting: "warning", + confirmed: "warning", + assigned: "info", + done: "success", + cancel: "danger", +}; + const OPERATION_DECORATORS = { pending: "info", waiting: "info", @@ -40,6 +49,9 @@ export function getStateDecorator(model, state) { case "mrp.workorder": decorators = OPERATION_DECORATORS; break; + case "stock.picking": + decorators = PICKING_DECORATORS; + break; case "purchase.order": decorators = PURCHASE_DECORATORS; break;