[fix] some bugs with m2o & buttons while creation
bzr revid: nicolas.vanhoren@openerp.com-20111010095754-jfxvgtqvrfk3xqbn
This commit is contained in:
parent
5e417f203a
commit
cb46665b01
|
@ -2232,13 +2232,17 @@ openerp.web.form.SelectCreatePopup = openerp.web.OldWidget.extend(/** @lends ope
|
||||||
this.dataset.create_function = function() {
|
this.dataset.create_function = function() {
|
||||||
return self.options.create_function.apply(null, arguments).then(function(r) {
|
return self.options.create_function.apply(null, arguments).then(function(r) {
|
||||||
self.created_elements.push(r.result);
|
self.created_elements.push(r.result);
|
||||||
if (self._created) {
|
if (self._written) {
|
||||||
self._created.resolve();
|
self._written.resolve();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
this.dataset.write_function = function() {
|
this.dataset.write_function = function() {
|
||||||
return self.write_row.apply(null, arguments);
|
return self.write_row.apply(self, arguments).then(function() {
|
||||||
|
if (self._written) {
|
||||||
|
self._written.resolve();
|
||||||
|
}
|
||||||
|
});
|
||||||
}
|
}
|
||||||
this.dataset.parent_view = this.options.parent_view;
|
this.dataset.parent_view = this.options.parent_view;
|
||||||
this.dataset.on_default_get.add(this.on_default_get);
|
this.dataset.on_default_get.add(this.on_default_get);
|
||||||
|
@ -2345,16 +2349,16 @@ openerp.web.form.SelectCreatePopup = openerp.web.OldWidget.extend(/** @lends ope
|
||||||
$buttons.html(QWeb.render("SelectCreatePopup.form.buttons", {widget:self}));
|
$buttons.html(QWeb.render("SelectCreatePopup.form.buttons", {widget:self}));
|
||||||
var $nbutton = $buttons.find(".oe_selectcreatepopup-form-save-new");
|
var $nbutton = $buttons.find(".oe_selectcreatepopup-form-save-new");
|
||||||
$nbutton.click(function() {
|
$nbutton.click(function() {
|
||||||
self._created = $.Deferred().then(function() {
|
self._written = $.Deferred().then(function() {
|
||||||
self._created = undefined;
|
self._written = undefined;
|
||||||
self.view_form.on_button_new();
|
self.view_form.on_button_new();
|
||||||
});
|
});
|
||||||
self.view_form.do_save();
|
self.view_form.do_save();
|
||||||
});
|
});
|
||||||
var $nbutton = $buttons.find(".oe_selectcreatepopup-form-save");
|
var $nbutton = $buttons.find(".oe_selectcreatepopup-form-save");
|
||||||
$nbutton.click(function() {
|
$nbutton.click(function() {
|
||||||
self._created = $.Deferred().then(function() {
|
self._written = $.Deferred().then(function() {
|
||||||
self._created = undefined;
|
self._written = undefined;
|
||||||
self.check_exit();
|
self.check_exit();
|
||||||
});
|
});
|
||||||
self.view_form.do_save();
|
self.view_form.do_save();
|
||||||
|
|
|
@ -771,7 +771,9 @@ db.web.View = db.web.Widget.extend(/** @lends db.web.View# */{
|
||||||
var self = this;
|
var self = this;
|
||||||
var result_handler = function () {
|
var result_handler = function () {
|
||||||
if (on_closed) { on_closed.apply(null, arguments); }
|
if (on_closed) { on_closed.apply(null, arguments); }
|
||||||
return self.widget_parent.on_action_executed.apply(null, arguments);
|
if (self.widget_parent && self.widget_parent.on_action_executed) {
|
||||||
|
return self.widget_parent.on_action_executed.apply(null, arguments);
|
||||||
|
}
|
||||||
};
|
};
|
||||||
var handler = function (r) {
|
var handler = function (r) {
|
||||||
var action = r.result;
|
var action = r.result;
|
||||||
|
|
Loading…
Reference in New Issue