diff --git a/addons/web/static/src/css/base.css b/addons/web/static/src/css/base.css
index c71e478ca71..2eb1b39ea77 100644
--- a/addons/web/static/src/css/base.css
+++ b/addons/web/static/src/css/base.css
@@ -485,7 +485,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 717df2d1691..aaf6cf10c65 100644
--- a/addons/web/static/src/css/base.sass
+++ b/addons/web/static/src/css/base.sass
@@ -439,7 +439,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 5c76a13ef0d..1e8362b6773 100644
--- a/addons/web/static/src/js/view_form.js
+++ b/addons/web/static/src/js/view_form.js
@@ -3280,17 +3280,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 4687b3cb2ba..645338f62c9 100644
--- a/addons/web/static/src/js/view_list.js
+++ b/addons/web/static/src/js/view_list.js
@@ -2244,7 +2244,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 877a2c183ee..38628b4d7f7 100644
--- a/addons/web/static/src/xml/base.xml
+++ b/addons/web/static/src/xml/base.xml
@@ -780,7 +780,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"/>