summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--addons/web/static/src/js/view_list.js12
-rw-r--r--addons/web/static/src/js/views.js3
-rw-r--r--addons/web/static/src/xml/base.xml14
-rw-r--r--addons/web_diagram/static/src/xml/base_diagram.xml10
4 files changed, 15 insertions, 24 deletions
diff --git a/addons/web/static/src/js/view_list.js b/addons/web/static/src/js/view_list.js
index da806f415cf..0c1e6805f9a 100644
--- a/addons/web/static/src/js/view_list.js
+++ b/addons/web/static/src/js/view_list.js
@@ -252,15 +252,9 @@ instance.web.ListView = instance.web.View.extend( /** @lends instance.web.ListVi
this.$el.addClass(this.fields_view.arch.attrs['class']);
// add css classes that reflect the (absence of) access rights
- if (!this.is_action_enabled('create')) {
- this.$el.addClass('oe_list_cannot_create');
- }
- if (!this.is_action_enabled('edit')) {
- this.$el.addClass('oe_list_cannot_edit');
- }
- if (!this.is_action_enabled('delete')) {
- this.$el.addClass('oe_list_cannot_delete');
- }
+ this.$el.toggleClass('oe_list_cannot_create', !this.is_action_enabled('create'))
+ .toggleClass('oe_list_cannot_edit', !this.is_action_enabled('edit'))
+ .toggleClass('oe_list_cannot_delete', !this.is_action_enabled('delete'));
// Head hook
// Selecting records
diff --git a/addons/web/static/src/js/views.js b/addons/web/static/src/js/views.js
index 43d935b91e8..83c1ecaa679 100644
--- a/addons/web/static/src/js/views.js
+++ b/addons/web/static/src/js/views.js
@@ -1364,7 +1364,8 @@ instance.web.View = instance.web.Widget.extend({
* like: <form string="" create="false" edit="false" delete="false">
*/
is_action_enabled: function(action) {
- return (_.has(this.fields_view.arch.attrs, action)) ? JSON.parse(this.fields_view.arch.attrs[action]) : true;
+ var attrs = this.fields_view.arch.attrs;
+ return (action in attrs) ? JSON.parse(attrs[action]) : true;
}
});
diff --git a/addons/web/static/src/xml/base.xml b/addons/web/static/src/xml/base.xml
index 789fbcb4baa..2e2935a7bc6 100644
--- a/addons/web/static/src/xml/base.xml
+++ b/addons/web/static/src/xml/base.xml
@@ -725,14 +725,12 @@
<div t-name="FormView.buttons" class="oe_form_buttons">
<t t-if="widget.options.action_buttons !== false">
<span class="oe_form_buttons_view">
- <t t-if="widget.is_action_enabled('edit')">
- <div style="display: inline-block;"> <!-- required for the bounce effect on button -->
- <button type="button" class="oe_button oe_form_button_edit" accesskey="E">Edit</button>
- </div>
- </t>
- <t t-if="widget.is_action_enabled('create')">
- <button type="button" class="oe_button oe_form_button_create" accesskey="C">Create</button>
- </t>
+ <!-- required for the bounce effect on button -->
+ <div t-if="widget.is_action_enabled('edit')" style="display: inline-block;">
+ <button type="button" class="oe_button oe_form_button_edit" accesskey="E">Edit</button>
+ </div>
+ <button t-if="widget.is_action_enabled('create')"
+ type="button" class="oe_button oe_form_button_create" accesskey="C">Create</button>
</span>
<span class="oe_form_buttons_edit">
<button type="button" class="oe_button oe_form_button_save oe_highlight" accesskey="S">Save</button>
diff --git a/addons/web_diagram/static/src/xml/base_diagram.xml b/addons/web_diagram/static/src/xml/base_diagram.xml
index eec8e4f9139..388092b3d23 100644
--- a/addons/web_diagram/static/src/xml/base_diagram.xml
+++ b/addons/web_diagram/static/src/xml/base_diagram.xml
@@ -1,12 +1,10 @@
<template>
<t t-name="DiagramView">
- <div class="oe_diagram_header" t-att-id="element_id + '_header'">
+ <div class="oe_diagram_header" t-att-id="widget.element_id + '_header'">
<h3 class="oe_diagram_title"/>
- <t t-if="widget.is_action_enabled('create')">
- <div class="oe_diagram_buttons">
- <button type="button" id="new_node" class="oe_button oe_diagram_button_new">New Node</button>
- </div>
- </t>
+ <div t-if="widget.is_action_enabled('create')" class="oe_diagram_buttons">
+ <button type="button" id="new_node" class="oe_button oe_diagram_button_new">New Node</button>
+ </div>
<div class="oe_diagram_pager">
<t t-call="ViewPager">
<span class="oe_pager_index">0</span> / <span class="oe_pager_count">0</span>