summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--addons/web/static/src/js/chrome/action_manager_act_window.js2
-rw-r--r--addons/web/static/src/js/views/list/list_view.js3
-rw-r--r--addons/web/static/tests/chrome/action_manager_tests.js19
3 files changed, 22 insertions, 2 deletions
diff --git a/addons/web/static/src/js/chrome/action_manager_act_window.js b/addons/web/static/src/js/chrome/action_manager_act_window.js
index c1667e9b9e6..106f9f2aa47 100644
--- a/addons/web/static/src/js/chrome/action_manager_act_window.js
+++ b/addons/web/static/src/js/chrome/action_manager_act_window.js
@@ -396,7 +396,7 @@ ActionManager.include({
var inline = action.target === 'inline';
var options = {
action_id: action.id,
- toolbar: inDialog && inline,
+ toolbar: !inDialog && !inline,
};
var views = action.views.slice();
if (!inline && !(inDialog && action.views[0][1] === 'form')) {
diff --git a/addons/web/static/src/js/views/list/list_view.js b/addons/web/static/src/js/views/list/list_view.js
index 3b64e7b7714..a28eb4da03a 100644
--- a/addons/web/static/src/js/views/list/list_view.js
+++ b/addons/web/static/src/js/views/list/list_view.js
@@ -69,6 +69,9 @@ var ListView = BasicView.extend({
params.hasSidebar = !inDialog && !inline;
return params;
},
+ /**
+ * @override
+ */
_updateMVCParams: function () {
this._super.apply(this, arguments);
this.controllerParams.noLeaf = !!this.loadParams.context.group_by_no_leaf;
diff --git a/addons/web/static/tests/chrome/action_manager_tests.js b/addons/web/static/tests/chrome/action_manager_tests.js
index 5e2679fb7fb..cf7df5376c3 100644
--- a/addons/web/static/tests/chrome/action_manager_tests.js
+++ b/addons/web/static/tests/chrome/action_manager_tests.js
@@ -2127,18 +2127,35 @@ QUnit.module('ActionManager', {
});
QUnit.test('sidebar is present in list view', function (assert) {
- assert.expect(2);
+ assert.expect(5);
var actionManager = createActionManager({
actions: this.actions,
archs: this.archs,
data: this.data,
+ mockRPC: function (route, args) {
+ var res = this._super.apply(this, arguments);
+ if (args.method === 'load_views') {
+ assert.strictEqual(args.kwargs.options.toolbar, true,
+ "should ask for toolbar information");
+ return res.then(function (fieldsViews) {
+ fieldsViews.list.toolbar = {
+ print: [{name: "Print that record"}],
+ };
+ return fieldsViews;
+ });
+ }
+ return res;
+ },
});
actionManager.doAction(3);
+ assert.isNotVisible(actionManager.$('.o_cp_sidebar button.o_dropdown_toggler_btn:contains("Print")'));
assert.isNotVisible(actionManager.$('.o_cp_sidebar button.o_dropdown_toggler_btn:contains("Action")'));
testUtils.dom.clickFirst(actionManager.$('input.custom-control-input'));
+ assert.isVisible(actionManager.$('.o_cp_sidebar button.o_dropdown_toggler_btn:contains("Print")'));
assert.isVisible(actionManager.$('.o_cp_sidebar button.o_dropdown_toggler_btn:contains("Action")'));
+
actionManager.destroy();
});