[FIX] web_settings_dashboard: give context to search_read planners
Before this commit, the planner section of the settings weren't translated. This was because the context was not sent along with the search_read that fetches planners data After this commit, the planner section is correctly translated OPW 1881092 closes #26766
This commit is contained in:
@@ -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;
|
||||
|
||||
@@ -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();
|
||||
});
|
||||
});
|
||||
});
|
||||
@@ -6,4 +6,9 @@
|
||||
<script type="text/javascript" src="/web_settings_dashboard/static/src/js/dashboard.js"></script>
|
||||
</xpath>
|
||||
</template>
|
||||
<template id="dashboard_qunit_suite" inherit_id="web.qunit_suite">
|
||||
<xpath expr="//t[@t-set='head']" position="inside">
|
||||
<script type="text/javascript" src="/web_settings_dashboard/static/tests/dashboard_tests.js"></script>
|
||||
</xpath>
|
||||
</template>
|
||||
</odoo>
|
||||
|
||||
Reference in New Issue
Block a user