[FIX] Fixed on_created.

bzr revid: vta@openerp.com-20121010123351-gq8mr73z5avh79nd
This commit is contained in:
vta vta@openerp.com 2012-10-10 14:33:51 +02:00
parent 9acd1e6bf3
commit 3195c02971
1 changed files with 7 additions and 5 deletions

View File

@ -131,7 +131,6 @@ instance.web.FormView = instance.web.View.extend(instance.web.form.FieldManagerM
e.preventDefault();
}
});
self.on('record_created', self, self.update_dataset);
},
destroy: function() {
_.each(this.get_widgets(), function(w) {
@ -779,7 +778,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.trigger('record_created', { result : new_id });
return self.record_created({ result : new_id });
}).then(function() {
return self.to_edit_mode();
}).then(function() {
@ -860,7 +859,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.trigger('record_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
@ -919,9 +918,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
*/
update_dataset: 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;
@ -935,9 +936,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});
});
}