From c70aa654be2bb093092f2f4bc63e7208474d5d47 Mon Sep 17 00:00:00 2001 From: Fabien Meghazi Date: Thu, 15 Dec 2011 13:27:39 +0100 Subject: [PATCH] [ADD] PageView: Added FieldBinaryFile.readonly bzr revid: fme@openerp.com-20111215122739-3lsb5wsepzhf0rbi --- addons/web/static/src/css/base.css | 6 ++---- addons/web/static/src/js/view_page.js | 24 +++++++++++++++++++++++- addons/web/static/src/xml/base.xml | 2 +- 3 files changed, 26 insertions(+), 6 deletions(-) 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 @@ - # + #