diff --git a/addons/web_settings_dashboard/static/src/js/dashboard.js b/addons/web_settings_dashboard/static/src/js/dashboard.js
index 7848b4934fd..7d1a3c7c58e 100644
--- a/addons/web_settings_dashboard/static/src/js/dashboard.js
+++ b/addons/web_settings_dashboard/static/src/js/dashboard.js
@@ -5,6 +5,7 @@ var core = require('web.core');
var framework = require('web.framework');
var PlannerCommon = require('web.planner.common');
var PlannerDialog = PlannerCommon.PlannerDialog;
+var session = require('web.session');
var Widget = require('web.Widget');
var QWeb = core.qweb;
@@ -179,6 +180,7 @@ var DashboardPlanner = Widget.extend({
return this._rpc({
model: 'web.planner',
method: 'search_read',
+ context: session.user_context,
})
.then(function(res) {
self.planners = res;
diff --git a/addons/web_settings_dashboard/static/tests/dashboard_tests.js b/addons/web_settings_dashboard/static/tests/dashboard_tests.js
new file mode 100644
index 00000000000..09071281681
--- /dev/null
+++ b/addons/web_settings_dashboard/static/tests/dashboard_tests.js
@@ -0,0 +1,77 @@
+odoo.define('web_settings_dashboard.settings_dashboard_tests', function (require) {
+"use strict";
+
+var webSettingsDashboard = require('web_settings_dashboard');
+
+var testUtils = require('web.test_utils');
+var Widget = require('web.Widget');
+
+var Dashboard = webSettingsDashboard.Dashboard;
+
+function createDashboard(params) {
+ var widget = new Widget();
+ var dashboard = new Dashboard(widget);
+ dashboard.all_dashboards = params.dashboards || ['invitations']; // test only user invitations
+
+ testUtils.addMockEnvironment(widget, params);
+
+ var originalDestroy = Dashboard.prototype.destroy;
+ dashboard.destroy = function () {
+ dashboard.destroy = originalDestroy;
+ widget.destroy();
+ };
+
+ dashboard.appendTo($('#qunit-fixture'));
+
+ return dashboard;
+}
+
+QUnit.module('settings dashboard', function () {
+
+ QUnit.test('Dashboard Planners should show translated name of apps', function (assert) {
+ assert.expect(1);
+
+ var data = {
+ 'web.planner': {
+ fields: {
+ name: {string: "Name", type: "char" },
+ menu_id: {string: "Menu", type: "many2one", relation: 'menu'},
+ data: {string: "Data", type: "char" },
+ },
+ records: [
+ {id:1, name: 'accounting', menu_id: 1, data: false},
+ ],
+ },
+
+ menu: {
+ fields: {
+ name: {string: "Name", type: "char"},
+ },
+ records: [
+ {id:1, name: 'accounting'},
+ ],
+ }
+ }
+
+ var dashboard = createDashboard({
+ data: data,
+ dashboards: ['planner'],
+ mockRPC: function (route, args) {
+ if (route === '/web_settings_dashboard/data') {
+ return $.when({});
+ }
+ if (route === '/web/dataset/call_kw/web.planner/search_read') {
+ assert.deepEqual(args.kwargs.context, {lang: 'fr_BE'},
+ 'The language should have been passed');
+ }
+ return this._super.apply(this, arguments);
+ },
+ session: {
+ user_context: {lang: 'fr_BE'},
+ },
+ });
+
+ dashboard.destroy();
+ });
+});
+});
diff --git a/addons/web_settings_dashboard/views/dashboard_templates.xml b/addons/web_settings_dashboard/views/dashboard_templates.xml
index ff4f74b1063..3bf25035ca3 100644
--- a/addons/web_settings_dashboard/views/dashboard_templates.xml
+++ b/addons/web_settings_dashboard/views/dashboard_templates.xml
@@ -6,4 +6,9 @@
+
+
+
+
+