diff --git a/addons/web/static/src/css/base.css b/addons/web/static/src/css/base.css
index 04a56d3d6ed..8f35d939de2 100644
--- a/addons/web/static/src/css/base.css
+++ b/addons/web/static/src/css/base.css
@@ -965,15 +965,13 @@ label.error {
.openerp .field_date,
.openerp .field_float,
.openerp .field_selection,
-.openerp .oe_form_field_many2one a,
-.openerp .oe_form_field_reference a{
+.openerp a.oe_form_uri {
vertical-align: middle;
padding-top: 3px;
font-size: 90%;
color: #222;
}
-.openerp .oe_form_field_many2one a,
-.openerp .oe_form_field_reference a {
+.openerp a.oe_form_uri {
color: #9A0404;
line-height: 12px;
}
diff --git a/addons/web/static/src/js/view_page.js b/addons/web/static/src/js/view_page.js
index 40ca1176c79..060c95e86e3 100644
--- a/addons/web/static/src/js/view_page.js
+++ b/addons/web/static/src/js/view_page.js
@@ -200,6 +200,27 @@ openerp.web.page = function (openerp) {
openerp.web.page.FieldOne2ManyReadonly = openerp.web.form.FieldOne2Many.extend({
force_readonly: true
});
+ openerp.web.page.FieldBinaryFileReadonly = openerp.web.form.FieldBinary.extend({
+ template: 'FieldURI.readonly',
+ start: function() {
+ this._super.apply(this, arguments);
+ var self = this;
+ this.$element.find('a').click(function() {
+ if (self.value) {
+ self.on_save_as();
+ }
+ return false;
+ });
+ },
+ set_value: function(value) {
+ this._super.apply(this, arguments);
+ this.$element.find('a').show(!!value);
+ if (value) {
+ var show_value = _t("Download") + " " + (this.view.datarecord[this.node.attrs.filename] || '');
+ this.$element.find('a').text(show_value);
+ }
+ }
+ });
openerp.web.page.readonly = openerp.web.form.widgets.clone({
'frame': 'openerp.web.page.WidgetFrameReadonly',
'char': 'openerp.web.page.FieldCharReadonly',
@@ -218,6 +239,7 @@ openerp.web.page = function (openerp) {
'boolean': 'openerp.web.page.FieldBooleanReadonly',
'float': 'openerp.web.page.FieldCharReadonly',
'integer': 'openerp.web.page.FieldCharReadonly',
- 'float_time': 'openerp.web.page.FieldCharReadonly'
+ 'float_time': 'openerp.web.page.FieldCharReadonly',
+ 'binary': 'openerp.web.page.FieldBinaryFileReadonly',
});
};
diff --git a/addons/web/static/src/xml/base.xml b/addons/web/static/src/xml/base.xml
index c71dc5c7309..1bfce87fb96 100644
--- a/addons/web/static/src/xml/base.xml
+++ b/addons/web/static/src/xml/base.xml
@@ -899,7 +899,7 @@
- #
+ #