From de6b1636818423b2d2b82f900c3b30515af73279 Mon Sep 17 00:00:00 2001
From: "Nasreddin Boulif (bon)" <bon@odoo.com>
Date: Mon, 9 Aug 2021 12:06:36 +0000
Subject: [PATCH] [FIX] stock: use docids as product_id in report

Steps to reproduce:

  - Install Inventory and Studio modules
  - Go to Inventory -> Products -> Products
  - Open Studio
  - Click on Reports tab
  - Select `Product Routes Report`

Issue:

  Traceback is raised.

Cause:

  No 'product_id' provided in data while getting report values.

Solution:

  If no `product_id` key or value in data, set `docids` (or an empty
  list if no docids) as product_id and set 'warehouse_ids'
  to an empty list.

opw-2619142

closes odoo/odoo#74860

Signed-off-by: William Henrotin <Whenrow@users.noreply.github.com>
---
 addons/stock/report/report_stock_rule.py | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/addons/stock/report/report_stock_rule.py b/addons/stock/report/report_stock_rule.py
index 529eef486810..32d5e03307f1 100644
--- a/addons/stock/report/report_stock_rule.py
+++ b/addons/stock/report/report_stock_rule.py
@@ -11,6 +11,10 @@ class ReportStockRule(models.AbstractModel):
 
     @api.model
     def _get_report_values(self, docids, data=None):
+        # Overriding data values here since used also in _get_routes.
+        data['product_id'] = data.get('product_id', docids)
+        data['warehouse_ids'] = data.get('warehouse_ids', [])
+
         product = self.env['product.product'].browse(data['product_id'])
         warehouses = self.env['stock.warehouse'].browse(data['warehouse_ids'])
 
-- 
GitLab