diff options
| author | Amit Patel (OpenERP) <apa@tinyerp.com> | 2012-07-31 10:48:35 +0530 |
|---|---|---|
| committer | Amit Patel (OpenERP) <apa@tinyerp.com> | 2012-07-31 10:48:35 +0530 |
| commit | 95b76e5fb8b889cf52dc53c0664e7cefa4b40f1b (patch) | |
| tree | 265ffed7ae58acccd49c310be6b5447cbae51ed9 /addons/web/static/src/js/view_form.js | |
| parent | cd6f750c657e5ef3fe53c76f7708f9e42640697a (diff) | |
| parent | 8728f342db1539a435a2878ceef48ca82e0b0906 (diff) | |
[MERGE]
bzr revid: apa@tinyerp.com-20120731051835-xr1r5vqiq7bcsapd
Diffstat (limited to 'addons/web/static/src/js/view_form.js')
| -rw-r--r-- | addons/web/static/src/js/view_form.js | 20 |
1 files changed, 16 insertions, 4 deletions
diff --git a/addons/web/static/src/js/view_form.js b/addons/web/static/src/js/view_form.js index c7c2fc1a64e..12443e70880 100644 --- a/addons/web/static/src/js/view_form.js +++ b/addons/web/static/src/js/view_form.js @@ -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 |
