diff options
| author | svs-odoo <svs@odoo.com> | 2020-08-12 15:19:55 +0000 |
|---|---|---|
| committer | svs-odoo <svs@odoo.com> | 2020-08-20 15:32:14 +0000 |
| commit | 8a7cf5045f25203ed209223d1bf0321de2cb9ea7 (patch) | |
| tree | 0567e8bbac9c86b9286de9cb4e047c5cc0c59824 | |
| parent | 1d256d7a7c359551966b839bf7d80e7cf3188e8f (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>
| -rw-r--r-- | addons/stock/models/stock_move.py | 11 | ||||
| -rw-r--r-- | addons/stock/static/src/js/forecast_widget.js | 2 |
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)); } |
