summaryrefslogtreecommitdiff
path: root/addons
diff options
context:
space:
mode:
authorsvs-odoo <svs@odoo.com>2020-08-12 15:19:55 +0000
committersvs-odoo <svs@odoo.com>2020-08-20 15:32:14 +0000
commit8a7cf5045f25203ed209223d1bf0321de2cb9ea7 (patch)
tree0567e8bbac9c86b9286de9cb4e047c5cc0c59824 /addons
parent1d256d7a7c359551966b839bf7d80e7cf3188e8f (diff)
[FIX] stock: display forecast btn only for product
The `forecast_widget` will display the forecast report button only for lines with a storable product. closes odoo/odoo#55826 Signed-off-by: Arnold Moyaux <amoyaux@users.noreply.github.com>
Diffstat (limited to 'addons')
-rw-r--r--addons/stock/models/stock_move.py11
-rw-r--r--addons/stock/static/src/js/forecast_widget.js2
2 files changed, 6 insertions, 7 deletions
diff --git a/addons/stock/models/stock_move.py b/addons/stock/models/stock_move.py
index 1070049fdeb..308415f0ecc 100644
--- a/addons/stock/models/stock_move.py
+++ b/addons/stock/models/stock_move.py
@@ -412,15 +412,12 @@ class StockMove(models.Model):
return
# compute
precision = self.env['decimal.precision'].precision_get('Product Unit of Measure')
- consu_moves = self.filtered(lambda move: move.product_id.type == 'consu')
- for move in consu_moves:
+ not_product_moves = self.filtered(lambda move: move.product_id.type == 'product')
+ for move in not_product_moves:
reserved_availability = float_repr(move.reserved_availability, precision)
- move.json_forecast = json.dumps({
- 'reservedAvailability': reserved_availability,
- 'hideReportButton': True,
- })
+ move.json_forecast = json.dumps({'reservedAvailability': reserved_availability})
outgoing_unreserved_moves_per_warehouse = defaultdict(lambda: self.env['stock.move'])
- for move in (self - consu_moves):
+ for move in (self - not_product_moves):
picking_type = move.picking_type_id or move.picking_id.picking_type_id
is_unreserved = float_is_zero(move.reserved_availability, precision_rounding=move.product_uom.rounding)
if picking_type.code in self._consuming_picking_types():
diff --git a/addons/stock/static/src/js/forecast_widget.js b/addons/stock/static/src/js/forecast_widget.js
index ae6e39f1d41..6cbf4986774 100644
--- a/addons/stock/static/src/js/forecast_widget.js
+++ b/addons/stock/static/src/js/forecast_widget.js
@@ -14,6 +14,8 @@ const ForecastWidgetField = AbstractField.extend({
if (!forecastData) {
this.$el.html('');
} else {
+ // Don't display the graph button for non-storable products or if was explicited.
+ forecastData.hideReportButton = this.recordData.product_type !== 'product';
this.$el.html(QWeb.render('stock.forecastWidget', forecastData));
this.$el.on('click', this._onOpenReport.bind(this));
}