diff --git a/addons/web/static/src/css/base.css b/addons/web/static/src/css/base.css
index ac8efd69e7d..b7fe495efe7 100644
--- a/addons/web/static/src/css/base.css
+++ b/addons/web/static/src/css/base.css
@@ -481,7 +481,7 @@
box-shadow: none;
}
.openerp .oe_button.oe_link img {
- display: none;
+ display: inline-block;
}
.openerp .oe_button.oe_link span {
border: none;
diff --git a/addons/web/static/src/css/base.sass b/addons/web/static/src/css/base.sass
index c3202304c8e..a3c4bbae2a4 100644
--- a/addons/web/static/src/css/base.sass
+++ b/addons/web/static/src/css/base.sass
@@ -435,7 +435,7 @@ $sheet-padding: 16px
.oe_button.oe_link
@include reset()
img
- display: none
+ display: inline-block
span
@include reset()
color: $link-color
diff --git a/addons/web/static/src/js/view_form.js b/addons/web/static/src/js/view_form.js
index ac76354b571..cecf9d6b637 100644
--- a/addons/web/static/src/js/view_form.js
+++ b/addons/web/static/src/js/view_form.js
@@ -3244,17 +3244,10 @@ instance.web.form.Many2OneButton = instance.web.form.AbstractField.extend({
if (this.$button) {
this.$button.remove();
}
- var options = {};
- try {
- options = py.eval(this.node.attrs.options);
- } catch (e) {}
- if (options.label) {
- this.string = this.get('value') ? _t(options.label.edit) : _t(options.label.create);
- } else {
- this.string = '';
- }
+ this.string = '';
this.node.attrs.icon = this.get('value') ? '/web/static/src/img/icons/gtk-yes.png' : '/web/static/src/img/icons/gtk-no.png';
this.$button = $(QWeb.render('WidgetButton', {'widget': this}));
+ this.$button.addClass('oe_link').css({'padding':'4px'});
this.$el.append(this.$button);
this.$button.on('click', self.on_click);
},
diff --git a/addons/web/static/src/js/view_list.js b/addons/web/static/src/js/view_list.js
index 5008d1765a6..caca4bcd85d 100644
--- a/addons/web/static/src/js/view_list.js
+++ b/addons/web/static/src/js/view_list.js
@@ -2223,7 +2223,12 @@ instance.web.list.Handle = instance.web.list.Column.extend({
instance.web.list.Many2OneButton = instance.web.list.Column.extend({
_format: function (row_data, options) {
this.has_value = !!row_data[this.id].value;
- return QWeb.render('Many2OneButton.cell', {'widget': this});
+ this.icon = this.has_value ? 'gtk-yes' : 'gtk-no';
+ this.string = this.has_value ? _t('View') : _t('Create');
+ return QWeb.render('Many2OneButton.cell', {
+ 'widget': this,
+ 'prefix': instance.session.prefix,
+ });
},
});
instance.web.list.Many2Many = instance.web.list.Column.extend({
diff --git a/addons/web/static/src/xml/base.xml b/addons/web/static/src/xml/base.xml
index 65c96d05323..71591d2c5f9 100644
--- a/addons/web/static/src/xml/base.xml
+++ b/addons/web/static/src/xml/base.xml
@@ -760,7 +760,7 @@
t-att-title="widget.string" t-att-disabled="disabled || undefined"
t-att-class="disabled ? 'oe_list_button_disabled' : undefined"
>
+ t-att-alt="widget.string"/>