[imp] made editable list in o2m auto-save
bzr revid: nicolas.vanhoren@openerp.com-20111110110206-2ba4qnj71wa5l3p3
This commit is contained in:
parent
90972f5e27
commit
c0c31c74bc
|
@ -2041,7 +2041,7 @@ openerp.web.form.FieldOne2Many = openerp.web.form.Field.extend({
|
||||||
once.resolve();
|
once.resolve();
|
||||||
});
|
});
|
||||||
controller.on_pager_action.add_first(function() {
|
controller.on_pager_action.add_first(function() {
|
||||||
self.save_form_view();
|
self.save_any_view();
|
||||||
});
|
});
|
||||||
controller.$element.find(".oe_form_button_save").hide();
|
controller.$element.find(".oe_form_button_save").hide();
|
||||||
} else if (view_type == "graph") {
|
} else if (view_type == "graph") {
|
||||||
|
@ -2050,7 +2050,7 @@ openerp.web.form.FieldOne2Many = openerp.web.form.Field.extend({
|
||||||
def.resolve();
|
def.resolve();
|
||||||
});
|
});
|
||||||
this.viewmanager.on_mode_switch.add_first(function(n_mode, b, c, d, e) {
|
this.viewmanager.on_mode_switch.add_first(function(n_mode, b, c, d, e) {
|
||||||
$.when(self.save_form_view()).then(function() {
|
$.when(self.save_any_view()).then(function() {
|
||||||
if(n_mode === "list")
|
if(n_mode === "list")
|
||||||
setTimeout(function() {self.reload_current_view();}, 0);
|
setTimeout(function() {self.reload_current_view();}, 0);
|
||||||
});
|
});
|
||||||
|
@ -2160,7 +2160,7 @@ openerp.web.form.FieldOne2Many = openerp.web.form.Field.extend({
|
||||||
this.dataset.to_delete, function(x) {
|
this.dataset.to_delete, function(x) {
|
||||||
return commands['delete'](x.id);}));
|
return commands['delete'](x.id);}));
|
||||||
},
|
},
|
||||||
save_form_view: function() {
|
save_any_view: function() {
|
||||||
if (this.viewmanager && this.viewmanager.views && this.viewmanager.active_view &&
|
if (this.viewmanager && this.viewmanager.views && this.viewmanager.active_view &&
|
||||||
this.viewmanager.views[this.viewmanager.active_view] &&
|
this.viewmanager.views[this.viewmanager.active_view] &&
|
||||||
this.viewmanager.views[this.viewmanager.active_view].controller) {
|
this.viewmanager.views[this.viewmanager.active_view].controller) {
|
||||||
|
@ -2172,6 +2172,13 @@ openerp.web.form.FieldOne2Many = openerp.web.form.Field.extend({
|
||||||
console.warn("Asynchronous get_value() is not supported in form view.");
|
console.warn("Asynchronous get_value() is not supported in form view.");
|
||||||
}*/
|
}*/
|
||||||
return res;
|
return res;
|
||||||
|
} else if (this.viewmanager.active_view === "list") {
|
||||||
|
var res = $.when(view.ensure_saved());
|
||||||
|
// it seems line there are some cases when this happens
|
||||||
|
/*if (!res.isResolved() && !res.isRejected()) {
|
||||||
|
console.warn("Asynchronous get_value() is not supported in list view.");
|
||||||
|
}*/
|
||||||
|
return res;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
|
@ -2196,7 +2203,7 @@ openerp.web.form.FieldOne2Many = openerp.web.form.Field.extend({
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
is_dirty: function() {
|
is_dirty: function() {
|
||||||
this.save_form_view();
|
this.save_any_view();
|
||||||
return this._super();
|
return this._super();
|
||||||
},
|
},
|
||||||
update_dom: function() {
|
update_dom: function() {
|
||||||
|
|
Loading…
Reference in New Issue