summaryrefslogtreecommitdiff
path: root/addons/web/static/src/js/view_list_editable.js
diff options
context:
space:
mode:
authorAtul Patel (OpenERP) <atp@tinyerp.com>2012-10-18 17:13:11 +0530
committerAtul Patel (OpenERP) <atp@tinyerp.com>2012-10-18 17:13:11 +0530
commit95f03f7c572e7affc6efc85842e79c9829805e53 (patch)
treeb46a1234568cb8078302b59dc3995b31bb4b7c6d /addons/web/static/src/js/view_list_editable.js
parent25ac221a0f6622a13d01d9b1ad14f4827adb2603 (diff)
parent37f95838f26c2b9796bfd45e62fbb1d4df7ac6a6 (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.js22
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) {