diff --git a/addons/base/static/src/js/form.js b/addons/base/static/src/js/form.js
index 20c2012c8e3..c5ea8918552 100644
--- a/addons/base/static/src/js/form.js
+++ b/addons/base/static/src/js/form.js
@@ -654,7 +654,24 @@ openerp.base.form.FieldChar = openerp.base.form.Field.extend({
openerp.base.form.FieldEmail = openerp.base.form.FieldChar.extend({
init: function(view, node) {
this._super(view, node);
+ this.template = "FieldEmail";
this.validation_regex = /@/;
+ },
+ start: function() {
+ this._super.apply(this, arguments);
+ this.$element.find('button').click(this.on_button_clicked);
+ },
+ on_button_clicked: function() {
+ if (!this.value || this.invalid) {
+ this.notification.warn("E-mail error", "Can't send email to invalid e-mail address");
+ } else {
+ location.href = 'mailto:' + this.value;
+ }
+ },
+ set_value: function(value) {
+ this._super.apply(this, arguments);
+ var show_value = (value != null && value !== false) ? value : '';
+ this.$element.find('a').attr('href', 'mailto:' + show_value);
}
});
diff --git a/addons/base/static/src/xml/base.xml b/addons/base/static/src/xml/base.xml
index 713dee55036..d6d5d8d5620 100644
--- a/addons/base/static/src/xml/base.xml
+++ b/addons/base/static/src/xml/base.xml
@@ -304,6 +304,20 @@
t-att-class="'field_' + widget.type" style="width: 100%"
/>
+
+
+
+
+
+ |
+
+
+ |
+
+
+