[ADD] Add options arguments to Dataset#read_index in order to provide custom contexts

bzr revid: fme@openerp.com-20120110143513-00p14goadekz0y4z
This commit is contained in:
Fabien Meghazi 2012-01-10 15:35:13 +01:00
parent e9261325df
commit f0c294e584
3 changed files with 7 additions and 6 deletions

View File

@ -322,16 +322,17 @@ openerp.web.DataSet = openerp.web.Widget.extend( /** @lends openerp.web.DataSet
* Reads the current dataset record (from its index) * Reads the current dataset record (from its index)
* *
* @params {Array} [fields] fields to read and return, by default all fields are returned * @params {Array} [fields] fields to read and return, by default all fields are returned
* @param {Object} [options.context] context data to add to the request payload, on top of the DataSet's own context
* @params {Function} callback function called with read_index result * @params {Function} callback function called with read_index result
* @returns {$.Deferred} * @returns {$.Deferred}
*/ */
read_index: function (fields, callback) { read_index: function (fields, options, callback) {
var def = $.Deferred().then(callback); var def = $.Deferred().then(callback);
if (_.isEmpty(this.ids)) { if (_.isEmpty(this.ids)) {
def.reject(); def.reject();
} else { } else {
fields = fields || false; fields = fields || false;
this.read_ids([this.ids[this.index]], fields).then(function(records) { this.read_ids([this.ids[this.index]], fields, options).then(function(records) {
def.resolve(records[0]); def.resolve(records[0]);
}, function() { }, function() {
def.reject.apply(def, arguments); def.reject.apply(def, arguments);

View File

@ -290,7 +290,7 @@ openerp.web_dashboard.ConfigOverview = openerp.web.View.extend({
start: function () { start: function () {
this._super(); this._super();
var self = this; var self = this;
return this.user.read_index(['groups_id']).pipe(function (record) { return this.user.read_index(['groups_id']).pipe(function(record) {
var todos_filter = [ var todos_filter = [
['type', '!=', 'automatic'], ['type', '!=', 'automatic'],
'|', ['groups_id', '=', false], '|', ['groups_id', '=', false],

View File

@ -219,7 +219,7 @@ openerp.web.DiagramView = openerp.web.View.extend({
this.context || this.dataset.context this.context || this.dataset.context
); );
pop.on_select_elements.add_last(function(element_ids) { pop.on_select_elements.add_last(function(element_ids) {
self.dataset.read_index(_.keys(self.fields_view.fields), self.on_diagram_loaded); self.dataset.read_index(_.keys(self.fields_view.fields)).pipe(self.on_diagram_loaded);
}); });
} else { } else {
pop = new openerp.web.form.FormOpenPopup(this); pop = new openerp.web.form.FormOpenPopup(this);
@ -232,7 +232,7 @@ openerp.web.DiagramView = openerp.web.View.extend({
} }
); );
pop.on_write.add(function() { pop.on_write.add(function() {
self.dataset.read_index(_.keys(self.fields_view.fields), self.on_diagram_loaded); self.dataset.read_index(_.keys(self.fields_view.fields)).pipe(self.on_diagram_loaded);
}); });
} }
@ -292,7 +292,7 @@ openerp.web.DiagramView = openerp.web.View.extend({
this.dataset.index = this.dataset.ids.length - 1; this.dataset.index = this.dataset.ids.length - 1;
break; break;
} }
this.dataset.read_index(_.keys(this.fields_view.fields), this.on_diagram_loaded); this.dataset.read_index(_.keys(this.fields_view.fields)).pipe(this.on_diagram_loaded);
this.do_update_pager(); this.do_update_pager();
}, },