From e31af80fd695f6c4d10418d3ff63f5824b5b4639 Mon Sep 17 00:00:00 2001 From: Christophe Matthieu Date: Sun, 3 Mar 2013 12:22:26 +0100 Subject: [PATCH] [IMP] view form: radio, add display_readonly attributes bzr revid: chm@openerp.com-20130303112226-sy0curjd252pmg2k --- addons/web/static/src/js/view_form.js | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/addons/web/static/src/js/view_form.js b/addons/web/static/src/js/view_form.js index e63ee886b9a..0bd98cf60dc 100644 --- a/addons/web/static/src/js/view_form.js +++ b/addons/web/static/src/js/view_form.js @@ -2784,7 +2784,8 @@ instance.web.form.FieldRadio = instance.web.form.AbstractField.extend(instance.w var self = this; this._super(field_manager, node); this.horizontal = !!node.attrs.horizontal; - this.noradiolabel = !!node.attrs.noradiolabel; + this.no_radiolabel = !!node.attrs.no_radiolabel; + this.display_readonly = !!node.attrs.display_readonly; }, initialize_content: function() { this.$table = $(''); @@ -2817,9 +2818,13 @@ instance.web.form.FieldRadio = instance.web.form.AbstractField.extend(instance.w var self = this; this.$table.empty(); - if (this.horizontal) { + if (self.get("effective_readonly") && !self.display_readonly) { + var value = _.find(this.field.selection, function (val) { return val[0] == self.get_value() }); + this.$table.append("") + } + else if (this.horizontal) { var width = Math.floor(100 / this.field.selection.length); - if (!this.noradiolabel) { + if (!this.no_radiolabel) { var $tr = $(''); _.each(this.field.selection, function (value) { $tr.append(self._render_label(value, width)); @@ -2835,17 +2840,13 @@ instance.web.form.FieldRadio = instance.web.form.AbstractField.extend(instance.w }); this.$table.append($tr); } - else if (self.get("effective_readonly")) { - var value = _.find(this.field.selection, function (val) { return val[0] == self.get_value() }); - this.$table.append("") - } else { _.each(this.field.selection, function (value) { var $tr = $(''); var $td = $('
" + (value ? value[1] : "") + "
" + (value ? value[1] : "") + "
'); $td.append(self._render_input(value)); $tr.append($td); - if (!self.noradiolabel) { + if (!self.no_radiolabel) { var $td = $(''); $td.append(self._render_label(value)); $tr.append($td);