[IMP] FormView: use name_get for the form title
bzr revid: fme@openerp.com-20120730160538-ankpno3upsrnt8y1
This commit is contained in:
@@ -302,7 +302,7 @@ instance.web.FormView = instance.web.View.extend(instance.web.form.FieldManagerM
|
||||
this._super();
|
||||
},
|
||||
on_record_loaded: function(record) {
|
||||
var self = this, set_values = [];
|
||||
var self = this, defs = [];
|
||||
if (!record) {
|
||||
this.set({ 'title' : undefined });
|
||||
this.do_warn("Form", "The record could not be found in the database.", true);
|
||||
@@ -310,7 +310,19 @@ instance.web.FormView = instance.web.View.extend(instance.web.form.FieldManagerM
|
||||
}
|
||||
this.datarecord = record;
|
||||
this._actualize_mode();
|
||||
this.set({ 'title' : record.id ? record.name : "New record" });
|
||||
|
||||
var titleDef = $.Deferred();
|
||||
if (record.id) {
|
||||
this.dataset.name_get(record.id).then(function(names) {
|
||||
self.set({ 'title' : names[0][1] });
|
||||
}).always(function() {
|
||||
titleDef.resolve();
|
||||
});
|
||||
} else {
|
||||
this.set({ 'title' : "New record" });
|
||||
titleDef.resolve();
|
||||
}
|
||||
defs.push(titleDef);
|
||||
|
||||
if (this.qweb) {
|
||||
this.kill_current_form();
|
||||
@@ -322,9 +334,9 @@ instance.web.FormView = instance.web.View.extend(instance.web.form.FieldManagerM
|
||||
_(this.fields).each(function (field, f) {
|
||||
field._dirty_flag = false;
|
||||
var result = field.set_value(self.datarecord[f] || false);
|
||||
set_values.push(result);
|
||||
defs.push(result);
|
||||
});
|
||||
return $.when.apply(null, set_values).pipe(function() {
|
||||
return $.when.apply(null, defs).pipe(function() {
|
||||
if (!record.id) {
|
||||
// New record: Second pass in order to trigger the onchanges
|
||||
// respecting the fields order defined in the view
|
||||
|
||||
Reference in New Issue
Block a user