summaryrefslogtreecommitdiff
path: root/addons/web/static/src
diff options
context:
space:
mode:
authorFabien Meghazi <fme@openerp.com>2012-07-31 16:03:09 +0200
committerFabien Meghazi <fme@openerp.com>2012-07-31 16:03:09 +0200
commit8e43e0f494a51aa6384e804eb63c2be3b5f3af0d (patch)
tree03f153141aed0da2ca26d0c9778b90c6f862f3fe /addons/web/static/src
parent685e30543b8933060a7dce4311f891ff219a484b (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.js32
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);
}
});