summaryrefslogtreecommitdiff
path: root/addons/web/static/src
diff options
context:
space:
mode:
authorYogesh (OpenERP) <ysa@tinyerp.com>2011-10-17 11:46:02 +0530
committerYogesh (OpenERP) <ysa@tinyerp.com>2011-10-17 11:46:02 +0530
commit1e2e8ce9d1d478dcbdd8e32452bd9f1ab6bbe6ae (patch)
tree81fa307fee2f32e1947dd0b2bb4eca3ee7e59231 /addons/web/static/src
parent4d4e1a1f0ef7ee363c27451bd403d0db3f7cac30 (diff)
[IMP] Import :- improve code.
bzr revid: ysa@tinyerp.com-20111017061602-6sv4m5ew70by57yx
Diffstat (limited to 'addons/web/static/src')
-rw-r--r--addons/web/static/src/js/data_import.js23
1 files changed, 11 insertions, 12 deletions
diff --git a/addons/web/static/src/js/data_import.js b/addons/web/static/src/js/data_import.js
index 6eee2bd8ded..d20a2e30c81 100644
--- a/addons/web/static/src/js/data_import.js
+++ b/addons/web/static/src/js/data_import.js
@@ -49,18 +49,12 @@ openerp.web.DataImport = openerp.web.Dialog.extend({
});
};
this.ready = $.Deferred.queue().then(function () {
- self.required_default_fields = _(self.fields).chain()
- .filter(function (field) { return field.required; })
- .pluck('id')
+ self.required_fields = _(self.fields).chain()
+ .filter(function (field) { return field.required && !_.include(self.fields_with_defaults, field.id); })
+ .pluck('name')
.value();
- dataset.default_get(self.required_default_fields || [], function(res) {
- self.required_fields = _(self.fields).chain()
- .filter(function (field) {if( !(field.id in res)) return field.required; })
- .pluck('name')
- .value();
- convert_fields(self);
- self.all_fields.sort();
- });
+ convert_fields(self);
+ self.all_fields.sort();
});
},
start: function() {
@@ -88,7 +82,12 @@ openerp.web.DataImport = openerp.web.Dialog.extend({
this.ready.push(new openerp.web.DataSet(this, this.model).call(
'fields_get', [], function (fields) {
self.graft_fields(fields);
- }));
+ self.ready.push(new openerp.web.DataSet(self, self.model).default_get(_.pluck(self.fields, 'id'), function (fields) {
+ self.fields_with_defaults = [];
+ _.each(fields, function(key, val) { if (key) { self.fields_with_defaults.push(val); } });
+ })
+ )
+ }));
},
graft_fields: function (fields, parent, level) {
parent = parent || this;