[MERGE] trunk-trigger-on_created.

bzr revid: vta@openerp.com-20121010123729-vu3tdkrye78vjtph
This commit is contained in:
vta vta@openerp.com 2012-10-10 14:37:29 +02:00
commit afd1a80620
3 changed files with 17 additions and 8 deletions

View File

@ -784,7 +784,7 @@ instance.web.FormView = instance.web.View.extend(instance.web.form.FieldManagerM
var def = $.Deferred();
$.when(this.has_been_loaded).then(function() {
self.dataset.call('copy', [self.datarecord.id, {}, self.dataset.context]).then(function(new_id) {
return self.on_created({ result : new_id });
return self.record_created({ result : new_id });
}).then(function() {
return self.to_edit_mode();
}).then(function() {
@ -861,7 +861,7 @@ instance.web.FormView = instance.web.View.extend(instance.web.form.FieldManagerM
if (!self.datarecord.id) {
// Creation save
save_deferral = self.dataset.create(values).pipe(function(r) {
return self.on_created(r, prepend_on_create);
return self.record_created(r, prepend_on_create);
}, null);
} else if (_.isEmpty(values) && ! self.force_dirty) {
// Not dirty, noop save
@ -920,9 +920,11 @@ instance.web.FormView = instance.web.View.extend(instance.web.form.FieldManagerM
* @param {Boolean} [prepend_on_create=false] adds the newly created record
* at the beginning of the dataset instead of the end
*/
on_created: function(r, prepend_on_create) {
record_created: function(r, prepend_on_create) {
var self = this;
if (!r) {
// should not happen in the server, but may happen for internal purpose
this.trigger('record_created', r);
return $.Deferred().reject();
} else {
this.datarecord.id = r;
@ -936,9 +938,10 @@ instance.web.FormView = instance.web.View.extend(instance.web.form.FieldManagerM
this.do_update_pager();
if (this.sidebar) {
this.sidebar.do_attachement_update(this.dataset, this.datarecord.id);
}
}
//openerp.log("The record has been created with id #" + this.datarecord.id);
return $.when(this.reload()).pipe(function () {
self.trigger('record_created', r);
return _.extend(r, {created: true});
});
}
@ -1630,12 +1633,13 @@ instance.web.form.FormDialog = instance.web.Dialog.extend({
return this;
},
start: function() {
var self = this;
this._super();
this.form = new instance.web.FormView(this, this.dataset, this.view_id, {
pager: false
});
this.form.appendTo(this.$el);
this.form.on_created.add_last(this.on_form_dialog_saved);
this.form.on('record_created', self, this.on_form_dialog_saved);
this.form.on_saved.add_last(this.on_form_dialog_saved);
return this;
},

View File

@ -458,7 +458,7 @@ instance.web_calendar.CalendarFormDialog = instance.web.Dialog.extend({
pager: false
});
var def = this.form.appendTo(this.$el);
this.form.on_created.add_last(this.on_form_dialog_saved);
this.form.on('record_created', self, this.on_form_dialog_saved);
this.form.on_saved.add_last(this.on_form_dialog_saved);
this.form.on_button_cancel = function() {
self.close();

View File

@ -195,8 +195,8 @@ instance.web_kanban.KanbanView = instance.web.View.extend({
var am = instance.webclient.action_manager;
var form = am.dialog_widget.views.form.controller;
form.on("on_button_cancel", self, am.dialog.on_close);
form.on_created.add_last(function(r) {
(new instance.web.DataSet(self, self.group_by_field.relation)).name_get([r.result]).then(function(new_record) {
form.on('record_created', self, function(r) {
(new instance.web.DataSet(self, self.group_by_field.relation)).name_get([r]).then(function(new_record) {
am.dialog.on_close();
var domain = self.dataset.domain.slice(0);
domain.push([self.group_by, '=', new_record[0][0]]);
@ -672,8 +672,13 @@ instance.web_kanban.KanbanGroup = instance.web.Widget.extend({
});
var am = instance.webclient.action_manager;
var form = am.dialog_widget.views.form.controller;
<<<<<<< TREE
form.on("on_button_cancel", self, am.dialog.on_close);
form.on_saved.add_last(function() {
=======
form.on_button_cancel.add_last(am.dialog.on_close);
form.on('on_saved', self, function() {
>>>>>>> MERGE-SOURCE
am.dialog.on_close();
self.view.do_reload();
});