summaryrefslogtreecommitdiff
path: root/addons/base/static/src
diff options
context:
space:
mode:
authorAntony Lesuisse <al@openerp.com>2011-04-07 00:18:04 +0200
committerAntony Lesuisse <al@openerp.com>2011-04-07 00:18:04 +0200
commite255b79f8abd0b6ab47765cacf2044900256e2bb (patch)
tree12e77d541cc4d75321515302ab1464dbe49074ff /addons/base/static/src
parent81679cc3ffae7262df31d3d082cdc2cff49fab04 (diff)
form to use _.keys(fields)
bzr revid: al@openerp.com-20110406221804-fd3pyiv3o00cioi6
Diffstat (limited to 'addons/base/static/src')
-rw-r--r--addons/base/static/src/js/data.js6
-rw-r--r--addons/base/static/src/js/form.js10
2 files changed, 9 insertions, 7 deletions
diff --git a/addons/base/static/src/js/data.js b/addons/base/static/src/js/data.js
index 6c82d79e00f..4dbfb47dd28 100644
--- a/addons/base/static/src/js/data.js
+++ b/addons/base/static/src/js/data.js
@@ -109,11 +109,11 @@ openerp.base.DataSet = openerp.base.Controller.extend( /** @lends openerp.base.
});
openerp.base.DataSetStatic = openerp.base.DataSet.extend({
- init: function(session, model, ids) {
+ init: function(session, model) {
this._super(session, model);
// all local records
- this.ids = ids;
- this.count = ids.length;
+ this.ids = [];
+ this.count = 0;
},
read_slice: function (fields, offset, limit, callback) {
this.read_ids(this.ids.slice(offset, offset + limit));
diff --git a/addons/base/static/src/js/form.js b/addons/base/static/src/js/form.js
index 691405ef5ec..b47e658f016 100644
--- a/addons/base/static/src/js/form.js
+++ b/addons/base/static/src/js/form.js
@@ -57,7 +57,9 @@ openerp.base.FormView = openerp.base.Controller.extend( /** @lends openerp.base
}
},
do_show: function () {
- this.dataset.read_index(this.fields_view.fields, this.on_record_loaded);
+ // this should not append as start return a deferred resolved when fields_view is known
+ if(this.fields_view && this.fields_view.fields)
+ this.dataset.read_index(_.keys(this.fields_view.fields), this.on_record_loaded);
this.$element.show();
},
do_hide: function () {
@@ -101,7 +103,7 @@ openerp.base.FormView = openerp.base.Controller.extend( /** @lends openerp.base
this.dataset.index = this.dataset.ids.length - 1;
break;
}
- this.dataset.read_index(this.fields_view.fields, this.on_record_loaded);
+ this.dataset.read_index(_.keys(this.fields_view.fields), this.on_record_loaded);
},
do_update_pager: function() {
var $pager = this.$element.find('div.oe_form_pager');
@@ -675,7 +677,7 @@ openerp.base.form.FieldMany2One = openerp.base.form.Field.extend({
}
});
-openerp.base.form.FieldOne2ManyDatasSet = openerp.base.DataSet.extend({
+openerp.base.form.FieldOne2ManyDatasSet = openerp.base.DataSetStatic.extend({
start: function() {
},
write: function (id, data, callback) {
@@ -703,7 +705,7 @@ openerp.base.form.FieldOne2Many = openerp.base.form.Field.extend({
start: function() {
this._super.apply(this, arguments);
this.log("o2m.start");
- var views = [ [false,"list"], ];
+ var views = [ [false,"list"], [false,"form"] ];
this.dataset = new openerp.base.form.FieldOne2ManyDatasSet(this.session, this.field.relation);
this.viewmanager = new openerp.base.form.FieldOne2ManyViewManager(this.view.session, this.element_id, this.dataset, views);
this.viewmanager.start();