diff --git a/addons/web/static/src/js/view_form.js b/addons/web/static/src/js/view_form.js
index 61cc19c3782..3406b812453 100644
--- a/addons/web/static/src/js/view_form.js
+++ b/addons/web/static/src/js/view_form.js
@@ -1514,10 +1514,22 @@ openerp.web.form.FieldEmail = openerp.web.form.FieldChar.extend({
openerp.web.form.FieldUrl = openerp.web.form.FieldChar.extend({
template: 'FieldUrl',
- 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 {
+ var tmp = this.value;
+ var s = /(\w+):(.+)/.exec(tmp);
+ if (!s) {
+ tmp = "http://" + this.value;
+ }
+ this.$element.find('a').attr('href', tmp).text(tmp);
+ }
+ },
on_button_clicked: function() {
if (!this.value) {
this.do_warn("Resource error", "This resource is empty");
diff --git a/addons/web/static/src/js/view_page.js b/addons/web/static/src/js/view_page.js
index dd62cfb72e9..98199798803 100644
--- a/addons/web/static/src/js/view_page.js
+++ b/addons/web/static/src/js/view_page.js
@@ -68,24 +68,6 @@ openerp.web.page = function (openerp) {
/** @namespace */
openerp.web.page = {};
- openerp.web.page.FieldURIReadonly = openerp.web.form.FieldChar.extend({
- form_template: 'FieldURI.readonly',
- scheme: null,
- format_value: function (value) {
- return value;
- },
- set_value: function (value) {
- }
- });
- openerp.web.page.FieldUrlReadonly = openerp.web.page.FieldURIReadonly.extend({
- set_value: function (value) {
- var s = /(\w+):(.+)/.exec(value);
- if (!s) {
- value = "http://" + value;
- }
- this.$element.find('a').attr('href', value).text(value);
- }
- });
openerp.web.page.FieldBooleanReadonly = openerp.web.form.FieldBoolean.extend({
update_dom: function() {
this._super.apply(this, arguments);
@@ -168,8 +150,6 @@ openerp.web.page = function (openerp) {
}
});
openerp.web.page.readonly = openerp.web.form.widgets.extend({
- 'frame': 'openerp.web.page.WidgetFrameReadonly',
- 'url': 'openerp.web.page.FieldUrlReadonly',
'selection' : 'openerp.web.page.FieldSelectionReadonly',
'reference': 'openerp.web.page.FieldReferenceReadonly',
'boolean': 'openerp.web.page.FieldBooleanReadonly',
diff --git a/addons/web/static/src/xml/base.xml b/addons/web/static/src/xml/base.xml
index 4bfb18414ca..05feec79168 100644
--- a/addons/web/static/src/xml/base.xml
+++ b/addons/web/static/src/xml/base.xml
@@ -987,18 +987,25 @@
-
-
-
-
- |
-
-
- |
-
-
+
+
+
+
+
+ |
+
+
+ |
+
+
+
+
+
+