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 @@ +