diff options
| author | Fabien Meghazi <fme@openerp.com> | 2012-07-31 16:03:09 +0200 |
|---|---|---|
| committer | Fabien Meghazi <fme@openerp.com> | 2012-07-31 16:03:09 +0200 |
| commit | 8e43e0f494a51aa6384e804eb63c2be3b5f3af0d (patch) | |
| tree | 03f153141aed0da2ca26d0c9778b90c6f862f3fe /addons/web/static/src | |
| parent | 685e30543b8933060a7dce4311f891ff219a484b (diff) | |
[ADD] Added support for future display_name
bzr revid: fme@openerp.com-20120731140309-8hawqnal8cw3zxww
Diffstat (limited to 'addons/web/static/src')
| -rw-r--r-- | addons/web/static/src/js/view_form.js | 32 |
1 files changed, 12 insertions, 20 deletions
diff --git a/addons/web/static/src/js/view_form.js b/addons/web/static/src/js/view_form.js index 65afd4a36d6..9afe980b89e 100644 --- a/addons/web/static/src/js/view_form.js +++ b/addons/web/static/src/js/view_form.js @@ -277,8 +277,10 @@ instance.web.FormView = instance.web.View.extend(instance.web.form.FieldManagerM // null index means we should start a new record return self.on_button_new(); } - return self.dataset.read_index(_.keys(self.fields_view.fields), { - context: { 'bin_size': true } + var fields = _.keys(self.fields_view.fields); + fields.push('display_name'); + return self.dataset.read_index(fields, { + context: { 'bin_size': true, 'future_display_name' : true } }).pipe(self.on_record_loaded); }); } @@ -302,7 +304,7 @@ instance.web.FormView = instance.web.View.extend(instance.web.form.FieldManagerM this._super(); }, on_record_loaded: function(record) { - var self = this, defs = []; + var self = this, set_values = []; if (!record) { this.set({ 'title' : undefined }); this.do_warn("Form", "The record could not be found in the database.", true); @@ -310,19 +312,7 @@ instance.web.FormView = instance.web.View.extend(instance.web.form.FieldManagerM } this.datarecord = record; this._actualize_mode(); - - 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); + this.set({ 'title' : record.id ? record.display_name : "New record" }); if (this.qweb) { this.kill_current_form(); @@ -334,9 +324,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); - defs.push(result); + set_values.push(result); }); - return $.when.apply(null, defs).pipe(function() { + return $.when.apply(null, set_values).pipe(function() { if (!record.id) { // New record: Second pass in order to trigger the onchanges // respecting the fields order defined in the view @@ -868,8 +858,10 @@ instance.web.FormView = instance.web.View.extend(instance.web.form.FieldManagerM if (self.dataset.index == null || self.dataset.index < 0) { return $.when(self.on_button_new()); } else { - return self.dataset.read_index(_.keys(self.fields_view.fields), { - context : { 'bin_size' : true } + var fields = _.keys(self.fields_view.fields); + fields.push('display_name'); + return self.dataset.read_index(fields, { + context : { 'bin_size' : true, 'future_display_name' : true } }).pipe(self.on_record_loaded); } }); |
