diff options
| author | Martin Trigaux <mat@openerp.com> | 2014-06-20 14:04:52 +0200 |
|---|---|---|
| committer | Martin Trigaux <mat@openerp.com> | 2014-06-20 14:11:21 +0200 |
| commit | bccd75796e8ff3c9dee23dd3f9a8ce75274e3289 (patch) | |
| tree | 77158e5941c4f6b86e6fe4c1c4d271012316edcc /addons/web/static/src/js | |
| parent | e5533d0c14cb107a73f85c7e5a76727be8fbc13a (diff) | |
[IMP] web: allow fields in list view to use the attrs readonly to dynamically show and hide the fields
Diffstat (limited to 'addons/web/static/src/js')
| -rw-r--r-- | addons/web/static/src/js/view_form.js | 7 | ||||
| -rw-r--r-- | addons/web/static/src/js/view_list_editable.js | 17 |
2 files changed, 12 insertions, 12 deletions
diff --git a/addons/web/static/src/js/view_form.js b/addons/web/static/src/js/view_form.js index fec7ce10607..cbaf9e6f11e 100644 --- a/addons/web/static/src/js/view_form.js +++ b/addons/web/static/src/js/view_form.js @@ -2600,7 +2600,9 @@ instance.web.form.FieldDatetime = instance.web.form.AbstractField.extend(instanc }, set_dimensions: function (height, width) { this._super(height, width); - this.datewidget.$input.css('height', height); + if (!this.get("effective_readonly")) { + this.datewidget.$input.css('height', height); + } } }); @@ -3395,7 +3397,8 @@ instance.web.form.FieldMany2One = instance.web.form.AbstractField.extend(instanc }, set_dimensions: function (height, width) { this._super(height, width); - this.$input.css('height', height); + if (!this.get("effective_readonly") && this.$input) + this.$input.css('height', height); } }); diff --git a/addons/web/static/src/js/view_list_editable.js b/addons/web/static/src/js/view_list_editable.js index 7d2e44263ce..f3ee5dbb7ad 100644 --- a/addons/web/static/src/js/view_list_editable.js +++ b/addons/web/static/src/js/view_list_editable.js @@ -282,9 +282,7 @@ openerp.web.list_editable = function (instance) { if (!this.editor.is_editing()) { return; } for(var i=0, len=this.fields_for_resize.length; i<len; ++i) { var item = this.fields_for_resize[i]; - if (!item.field.get('effective_invisible')) { - this.resize_field(item.field, item.cell); - } + this.resize_field(item.field, item.cell); } }, /** @@ -303,6 +301,11 @@ openerp.web.list_editable = function (instance) { at: 'left top', of: $cell }); + if (field.get('effective_readonly')) { + field.$el.addClass('oe_readonly'); + } + if(field.widget == "handle") + field.$el.addClass('oe_list_field_handle'); }, /** * @return {jQuery.Deferred} @@ -448,13 +451,7 @@ openerp.web.list_editable = function (instance) { setup_events: function () { var self = this; _.each(this.editor.form.fields, function(field, field_name) { - var set_invisible = function() { - field.set({'force_invisible': field.get('effective_readonly')}); - }; - field.on("change:effective_readonly", self, set_invisible); - set_invisible(); - field.on('change:effective_invisible', self, function () { - if (field.get('effective_invisible')) { return; } + field.on("change:effective_readonly", self, function(){ var item = _(self.fields_for_resize).find(function (item) { return item.field === field; }); |
