[FIX] when loading records in the listview, remember to set dataset index to 0 so switching to formview does not try to create a new record
lp bug: https://launchpad.net/bugs/816830 fixed bzr revid: xmo@openerp.com-20110825145741-gduqtgrqw4bbuugl
This commit is contained in:
parent
3cfa390281
commit
238a0200a0
|
@ -382,10 +382,19 @@ openerp.base.ListView = openerp.base.View.extend( /** @lends openerp.base.ListVi
|
||||||
* re-renders the content of the list view
|
* re-renders the content of the list view
|
||||||
*/
|
*/
|
||||||
reload_content: function () {
|
reload_content: function () {
|
||||||
|
var self = this;
|
||||||
this.records.reset();
|
this.records.reset();
|
||||||
this.$element.find('.oe-listview-content').append(
|
this.$element.find('.oe-listview-content').append(
|
||||||
this.groups.render(
|
this.groups.render(function () {
|
||||||
$.proxy(this, 'compute_aggregates')));
|
if (self.dataset.index == null) {
|
||||||
|
var has_one = false;
|
||||||
|
self.records.each(function () { has_one = true; });
|
||||||
|
if (has_one) {
|
||||||
|
self.dataset.index = 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
self.compute_aggregates();
|
||||||
|
}));
|
||||||
},
|
},
|
||||||
/**
|
/**
|
||||||
* Event handler for a search, asks for the computation/folding of domains
|
* Event handler for a search, asks for the computation/folding of domains
|
||||||
|
@ -1039,25 +1048,25 @@ openerp.base.ListView.Groups = openerp.base.Class.extend( /** @lends openerp.bas
|
||||||
var fields = _.pluck(_.select(this.columns, function(x) {return x.tag == "field"}), 'name');
|
var fields = _.pluck(_.select(this.columns, function(x) {return x.tag == "field"}), 'name');
|
||||||
var options = { offset: page * limit, limit: limit };
|
var options = { offset: page * limit, limit: limit };
|
||||||
dataset.read_slice(fields, options , function (records) {
|
dataset.read_slice(fields, options , function (records) {
|
||||||
if (!self.datagroup.openable) {
|
if (!self.datagroup.openable) {
|
||||||
view.configure_pager(dataset);
|
view.configure_pager(dataset);
|
||||||
} else {
|
} else {
|
||||||
var pages = Math.ceil(dataset.ids.length / limit);
|
var pages = Math.ceil(dataset.ids.length / limit);
|
||||||
self.$row
|
self.$row
|
||||||
.find('.oe-pager-state')
|
.find('.oe-pager-state')
|
||||||
.text(_.sprintf('%d/%d', page + 1, pages))
|
.text(_.sprintf('%d/%d', page + 1, pages))
|
||||||
.end()
|
.end()
|
||||||
.find('button[data-pager-action=previous]')
|
.find('button[data-pager-action=previous]')
|
||||||
.attr('disabled', page === 0)
|
.attr('disabled', page === 0)
|
||||||
.end()
|
.end()
|
||||||
.find('button[data-pager-action=next]')
|
.find('button[data-pager-action=next]')
|
||||||
.attr('disabled', page === pages - 1);
|
.attr('disabled', page === pages - 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
self.records.add(records, {silent: true});
|
self.records.add(records, {silent: true});
|
||||||
list.render();
|
list.render();
|
||||||
d.resolve(list);
|
d.resolve(list);
|
||||||
});
|
});
|
||||||
return d.promise();
|
return d.promise();
|
||||||
},
|
},
|
||||||
setup_resequence_rows: function (list, dataset) {
|
setup_resequence_rows: function (list, dataset) {
|
||||||
|
|
Loading…
Reference in New Issue