diff options
| author | Atul Patel (OpenERP) <atp@tinyerp.com> | 2012-10-18 17:13:11 +0530 |
|---|---|---|
| committer | Atul Patel (OpenERP) <atp@tinyerp.com> | 2012-10-18 17:13:11 +0530 |
| commit | 95f03f7c572e7affc6efc85842e79c9829805e53 (patch) | |
| tree | b46a1234568cb8078302b59dc3995b31bb4b7c6d /addons/web/static/src/js/view_list_editable.js | |
| parent | 25ac221a0f6622a13d01d9b1ad14f4827adb2603 (diff) | |
| parent | 37f95838f26c2b9796bfd45e62fbb1d4df7ac6a6 (diff) | |
[MERGE]: Merged with lp:openerp-web
bzr revid: atp@tinyerp.com-20121012065816-vtbet5rlc8n3wwqo
bzr revid: atp@tinyerp.com-20121015054930-9id6fmbgjj33mr56
bzr revid: atp@tinyerp.com-20121016180101-der2mjymfd1ysgnr
bzr revid: atp@tinyerp.com-20121018114311-j7s62k8m1u3f1g74
Diffstat (limited to 'addons/web/static/src/js/view_list_editable.js')
| -rw-r--r-- | addons/web/static/src/js/view_list_editable.js | 22 |
1 files changed, 17 insertions, 5 deletions
diff --git a/addons/web/static/src/js/view_list_editable.js b/addons/web/static/src/js/view_list_editable.js index fe0f525fe3f..cd6b018ea0d 100644 --- a/addons/web/static/src/js/view_list_editable.js +++ b/addons/web/static/src/js/view_list_editable.js @@ -201,10 +201,7 @@ openerp.web.list_editable = function (instance) { }, function () { return self.editor.edit(item, function (field_name, field) { var cell = cells[field_name]; - if (!cell || field.get('effective_readonly')) { - // Readonly fields can just remain the list's, - // form's usually don't have backgrounds &al - field.set({invisible: true}); + if (!cell) { return; } @@ -400,6 +397,21 @@ openerp.web.list_editable = function (instance) { }, setup_events: function () { var self = this; + _.each(this.editor.form.fields, function(field, field_name) { + var field; + var setting = false; + var set_invisible = function() { + if (!setting && field.get("effective_readonly")) { + setting = true; + field.set({invisible: true}); + setting = false; + } + }; + field.on("change:effective_readonly", self, set_invisible); + field.on("change:invisible", self, set_invisible); + set_invisible(); + }); + this.editor.$el.on('keyup keydown', function (e) { if (!self.editor.is_editing()) { return; } var key = _($.ui.keyCode).chain() @@ -724,7 +736,7 @@ openerp.web.list_editable = function (instance) { save: function () { var self = this; return this.form - .do_save(this.delegate.prepends_on_create()) + .save(this.delegate.prepends_on_create()) .pipe(function (result) { var created = result.created && !self.record.id; if (created) { |
