summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexandre Kühn <aku@odoo.com>2018-09-04 09:54:59 +0200
committerAlexandre Kühn <aku@odoo.com>2018-09-04 10:53:25 +0200
commitc63c618312481cfbc3d31cb733d22d54fcc0e7c9 (patch)
treec08bb6ba65ca6945dc38dcf2ba687c42552a2961
parent89011e63ab9631e53ab3ad86667e0309f047a4d0 (diff)
[REF] web: improved fix from 'Edit View: X' (017e7132)
Revision on https://github.com/odoo/odoo/commit/017e71322b6b7f0c232f0d66ba659a5972fc3534 Commit above correctly fixes an issue with 'Edit View: X' menu item in the debug manager, in which the name of the view was missing. To do so, it lets the controller be aware of the name of the view, so that it can be used in the template of the debug menu. However, we think there is a much better solution to fixing this issue: since the debug manager has knowledge of the view action, we can extend this object with the name of the view. This is exactly what this commit does: extend the action view object so that it knows the name of the view. That way, the template is much more readable, as `view.displayName` is more meaningful than `controller.viewName`. Task-ID 1878254
-rw-r--r--addons/web/static/src/js/chrome/action_manager_act_window.js1
-rw-r--r--addons/web/static/src/js/views/abstract_controller.js3
-rw-r--r--addons/web/static/src/js/views/abstract_view.js1
-rw-r--r--addons/web/static/src/xml/base.xml2
-rw-r--r--addons/web/static/tests/tools/debug_manager_tests.js2
5 files changed, 3 insertions, 6 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 fbf281632b4..2eacf6caa0d 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
@@ -429,6 +429,7 @@ ActionManager.include({
if (View) {
views.push({
accessKey: View.prototype.accessKey || View.prototype.accesskey,
+ displayName: View.prototype.display_name,
fieldsView: fieldsView,
icon: View.prototype.icon,
isMobileFriendly: View.prototype.mobile_friendly,
diff --git a/addons/web/static/src/js/views/abstract_controller.js b/addons/web/static/src/js/views/abstract_controller.js
index c5fa0ff6eed..4bcb21f7a4d 100644
--- a/addons/web/static/src/js/views/abstract_controller.js
+++ b/addons/web/static/src/js/views/abstract_controller.js
@@ -43,8 +43,6 @@ var AbstractController = AbstractAction.extend(ControlPanelMixin, {
* @param {any} params.initialState the initialState
* @param {boolean} params.isMultiRecord
* @param {Object[]} params.actionViews
- * @param {string|Object} params.viewName name of the view (e.g "List").
- * This is an object with `core._lt`.
* @param {string} params.viewType
* @param {boolean} params.withControlPanel set to false to hide the
* ControlPanel
@@ -71,7 +69,6 @@ var AbstractController = AbstractAction.extend(ControlPanelMixin, {
this.groupable = params.groupable;
this.enableTimeRangeMenu = params.enableTimeRangeMenu;
this.actionViews = params.actionViews;
- this.viewName = params.viewName;
this.viewType = params.viewType;
this.withControlPanel = params.withControlPanel !== false;
// override this.need_control_panel so that the ActionManager doesn't
diff --git a/addons/web/static/src/js/views/abstract_view.js b/addons/web/static/src/js/views/abstract_view.js
index f090d5d4e84..d061349b7c8 100644
--- a/addons/web/static/src/js/views/abstract_view.js
+++ b/addons/web/static/src/js/views/abstract_view.js
@@ -153,7 +153,6 @@ var AbstractView = Class.extend({
this.controllerParams.searchView = params.action && params.action.searchView;
this.controllerParams.searchViewHidden = this.searchview_hidden; // AAB: use searchable instead where it is used?
this.controllerParams.actionViews = params.action ? params.action.views : [];
- this.controllerParams.viewName = this.viewName;
this.controllerParams.viewType = this.viewType;
this.controllerParams.withControlPanel = true;
if (params.action && params.action.flags) {
diff --git a/addons/web/static/src/xml/base.xml b/addons/web/static/src/xml/base.xml
index decf5eb98af..4ef5f5c6d4c 100644
--- a/addons/web/static/src/xml/base.xml
+++ b/addons/web/static/src/xml/base.xml
@@ -272,7 +272,7 @@
<a role="menuitem" href="#" data-action="fvg" class="dropdown-item">Fields View Get</a>
<t t-if="can_edit">
<a role="menuitem" href="#" data-action="edit" data-model="ir.ui.view" t-att-data-id="view.fieldsView.view_id" class="dropdown-item">
- Edit View: <t t-esc="controller.viewName"/>
+ Edit View: <t t-esc="view.displayName"/>
</a>
<a t-if="searchview and searchview.$el.is(':visible')" role="menuitem" href="#" data-action="edit" data-model="ir.ui.view" t-att-data-id="action.searchFieldsView.view_id" class="dropdown-item">Edit SearchView</a>
</t>
diff --git a/addons/web/static/tests/tools/debug_manager_tests.js b/addons/web/static/tests/tools/debug_manager_tests.js
index e861afc6546..424ebe1517f 100644
--- a/addons/web/static/tests/tools/debug_manager_tests.js
+++ b/addons/web/static/tests/tools/debug_manager_tests.js
@@ -48,6 +48,7 @@ QUnit.module('DebugManager', {}, function () {
// Simulate update debug manager from web client
var action = {
views: [{
+ displayName: "List",
fieldsView: {
view_id: 1,
},
@@ -55,7 +56,6 @@ QUnit.module('DebugManager', {}, function () {
}],
};
var view = {
- viewName: "List",
viewType: "list",
};
debugManager.update('action', action, view);