[FIX] view_list_editable: toggle visibility (using force_visibility attribute) for readonly changes, using effective_invisibility instead of invisibility attribute (opw 601970)
bzr revid: mat@openerp.com-20131217104111-u9bnqvz7rd5rzwnc
This commit is contained in:
@@ -274,7 +274,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('invisible')) {
|
||||
if (!item.field.get('effective_invisible')) {
|
||||
this.resize_field(item.field, item.cell);
|
||||
}
|
||||
}
|
||||
@@ -440,23 +440,22 @@ openerp.web.list_editable = function (instance) {
|
||||
setup_events: function () {
|
||||
var self = this;
|
||||
_.each(this.editor.form.fields, function(field, field_name) {
|
||||
var setting = false;
|
||||
var set_invisible = function() {
|
||||
if (!setting && field.get("effective_readonly")) {
|
||||
setting = true;
|
||||
field.set({invisible: true});
|
||||
setting = false;
|
||||
}
|
||||
field.set({'force_invisible': field.get('effective_readonly')});
|
||||
};
|
||||
field.on("change:effective_readonly", self, set_invisible);
|
||||
field.on("change:invisible", self, set_invisible);
|
||||
set_invisible();
|
||||
field.on('change:invisible', self, function () {
|
||||
if (field.get('invisible')) { return; }
|
||||
field.on('change:effective_invisible', self, function () {
|
||||
if (field.get('effective_invisible')) { return; }
|
||||
var item = _(self.fields_for_resize).find(function (item) {
|
||||
return item.field === field;
|
||||
});
|
||||
if (item) { self.resize_field(item.field, item.cell); }
|
||||
if (item) {
|
||||
setTimeout(function() {
|
||||
self.resize_field(item.field, item.cell);
|
||||
}, 0);
|
||||
}
|
||||
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
Reference in New Issue
Block a user