diff --git a/addons/web/static/src/js/view_form.js b/addons/web/static/src/js/view_form.js index c6426095cb1..61cc19c3782 100644 --- a/addons/web/static/src/js/view_form.js +++ b/addons/web/static/src/js/view_form.js @@ -1490,10 +1490,19 @@ openerp.web.form.FieldID = openerp.web.form.FieldChar.extend({ openerp.web.form.FieldEmail = openerp.web.form.FieldChar.extend({ template: 'FieldEmail', - start: function() { - this._super.apply(this, arguments); + bind_events: function() { + this._super(); this.$element.find('button').click(this.on_button_clicked); }, + render_value: function() { + if (!this.get("effective_readonly")) { + this._super(); + } else { + this.$element.find('a') + .attr('href', 'mailto:' + this.value) + .text(this.value); + } + }, on_button_clicked: function() { if (!this.value || !this.is_valid()) { this.do_warn("E-mail error", "Can't send email to invalid e-mail address"); diff --git a/addons/web/static/src/js/view_page.js b/addons/web/static/src/js/view_page.js index c263582f94b..dd62cfb72e9 100644 --- a/addons/web/static/src/js/view_page.js +++ b/addons/web/static/src/js/view_page.js @@ -75,14 +75,8 @@ openerp.web.page = function (openerp) { return value; }, set_value: function (value) { - this.$element.find('a') - .attr('href', this.scheme + ':' + value) - .text(this.format_value(value)); } }); - openerp.web.page.FieldEmailReadonly = openerp.web.page.FieldURIReadonly.extend({ - scheme: 'mailto' - }); openerp.web.page.FieldUrlReadonly = openerp.web.page.FieldURIReadonly.extend({ set_value: function (value) { var s = /(\w+):(.+)/.exec(value); @@ -175,7 +169,6 @@ openerp.web.page = function (openerp) { }); openerp.web.page.readonly = openerp.web.form.widgets.extend({ 'frame': 'openerp.web.page.WidgetFrameReadonly', - 'email': 'openerp.web.page.FieldEmailReadonly', 'url': 'openerp.web.page.FieldUrlReadonly', 'selection' : 'openerp.web.page.FieldSelectionReadonly', 'reference': 'openerp.web.page.FieldReferenceReadonly', diff --git a/addons/web/static/src/xml/base.xml b/addons/web/static/src/xml/base.xml index 8aa0241a5b5..4bfb18414ca 100644 --- a/addons/web/static/src/xml/base.xml +++ b/addons/web/static/src/xml/base.xml @@ -966,18 +966,25 @@ - - - - - -
- - - -
+ + + + + + +
+ + + +
+
+ +
+ +
+