diff options
| author | Yogesh (OpenERP) <ysa@tinyerp.com> | 2011-10-17 11:46:02 +0530 |
|---|---|---|
| committer | Yogesh (OpenERP) <ysa@tinyerp.com> | 2011-10-17 11:46:02 +0530 |
| commit | 1e2e8ce9d1d478dcbdd8e32452bd9f1ab6bbe6ae (patch) | |
| tree | 81fa307fee2f32e1947dd0b2bb4eca3ee7e59231 /addons/web/static/src/js | |
| parent | 4d4e1a1f0ef7ee363c27451bd403d0db3f7cac30 (diff) | |
[IMP] Import :- improve code.
bzr revid: ysa@tinyerp.com-20111017061602-6sv4m5ew70by57yx
Diffstat (limited to 'addons/web/static/src/js')
| -rw-r--r-- | addons/web/static/src/js/data_import.js | 23 |
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; |
