From 4d4e1a1f0ef7ee363c27451bd403d0db3f7cac30 Mon Sep 17 00:00:00 2001 From: "Yogesh (OpenERP)" Date: Wed, 12 Oct 2011 13:35:40 +0530 Subject: [PATCH 1/3] [FIX] import :- default value set on required field then remove this field on required fields list. lp bug: https://launchpad.net/bugs/871625 fixed bzr revid: ysa@tinyerp.com-20111012080540-1m6x6npy7e0jaoif --- addons/web/static/src/js/data_import.js | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/addons/web/static/src/js/data_import.js b/addons/web/static/src/js/data_import.js index 9c686846751..6eee2bd8ded 100644 --- a/addons/web/static/src/js/data_import.js +++ b/addons/web/static/src/js/data_import.js @@ -49,12 +49,18 @@ openerp.web.DataImport = openerp.web.Dialog.extend({ }); }; this.ready = $.Deferred.queue().then(function () { - self.required_fields = _(self.fields).chain() + self.required_default_fields = _(self.fields).chain() .filter(function (field) { return field.required; }) - .pluck('name') + .pluck('id') .value(); - convert_fields(self); - self.all_fields.sort(); + 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(); + }); }); }, start: function() { From 1e2e8ce9d1d478dcbdd8e32452bd9f1ab6bbe6ae Mon Sep 17 00:00:00 2001 From: "Yogesh (OpenERP)" Date: Mon, 17 Oct 2011 11:46:02 +0530 Subject: [PATCH 2/3] [IMP] Import :- improve code. bzr revid: ysa@tinyerp.com-20111017061602-6sv4m5ew70by57yx --- addons/web/static/src/js/data_import.js | 23 +++++++++++------------ 1 file 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; From 19f265f11b600c1971c87e6b805d7ed12aeaebf4 Mon Sep 17 00:00:00 2001 From: "Yogesh (OpenERP)" Date: Mon, 17 Oct 2011 18:48:49 +0530 Subject: [PATCH 3/3] [FIX] import :- change variable name. bzr revid: ysa@tinyerp.com-20111017131849-u034vkz20cw8e31t --- addons/web/static/src/js/data_import.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/web/static/src/js/data_import.js b/addons/web/static/src/js/data_import.js index d20a2e30c81..749bbbe9f1b 100644 --- a/addons/web/static/src/js/data_import.js +++ b/addons/web/static/src/js/data_import.js @@ -84,7 +84,7 @@ openerp.web.DataImport = openerp.web.Dialog.extend({ 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); } }); + _.each(fields, function(val, key) { if (val) { self.fields_with_defaults.push(key); } }); }) ) }));