From b65d4d4ca009621dcce368600a56fc20de3cc996 Mon Sep 17 00:00:00 2001 From: Simon Lejeune Date: Tue, 30 Jul 2019 08:49:06 +0000 Subject: [PATCH] [REF] stock, stock_account: no 'at date' on layers from picking When accessing the stock valuation layers of a done picking through the stat button "Valuation", do not display the inventory at date button. We guard the visibility of this button through a context key named "no_at_date". task-59011 --- .../static/src/js/inventory_report_list_controller.js | 8 ++++++++ addons/stock_account/models/stock_picking.py | 7 ++++++- 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/addons/stock/static/src/js/inventory_report_list_controller.js b/addons/stock/static/src/js/inventory_report_list_controller.js index 4e2f85afe05..b3e55ac9afa 100644 --- a/addons/stock/static/src/js/inventory_report_list_controller.js +++ b/addons/stock/static/src/js/inventory_report_list_controller.js @@ -13,11 +13,19 @@ var InventoryReportListController = ListController.extend({ // Public // ------------------------------------------------------------------------- + init: function (parent, model, renderer, params) { + this.context = renderer.state.getContext(); + return this._super.apply(this, arguments); + }, + /** * @override */ renderButtons: function ($node) { this._super.apply(this, arguments); + if (this.context.no_at_date) { + return; + } var $buttonToDate = $(qweb.render('InventoryReport.Buttons')); $buttonToDate.on('click', this._onOpenWizard.bind(this)); diff --git a/addons/stock_account/models/stock_picking.py b/addons/stock_account/models/stock_picking.py index cf3dba44314..5ba9b53ffc4 100644 --- a/addons/stock_account/models/stock_picking.py +++ b/addons/stock_account/models/stock_picking.py @@ -1,6 +1,8 @@ # -*- coding: utf-8 -*- # Part of Odoo. See LICENSE file for full copyright and licensing details. +from ast import literal_eval + from odoo import models @@ -11,5 +13,8 @@ class StockPicking(models.Model): self.ensure_one() domain = [('id', 'in', self.move_lines.stock_valuation_layer_ids.ids)] action = self.env.ref('stock_account.stock_valuation_layer_action').read()[0] - return dict(action, domain=domain) + context = literal_eval(action['context']) + context.update(self.env.context) + context['not_at_date'] = True + return dict(action, domain=domain, context=context)