From dd2e69fcc16daec9141935c9d3bdf650280012cd Mon Sep 17 00:00:00 2001 From: "Kunal Chavda (OpenERP)" Date: Mon, 8 Aug 2011 11:57:03 +0530 Subject: [PATCH] [IMP]Improve code for preview records. bzr revid: kch@tinyerp.com-20110808062703-sv394tf2rr79na34 --- addons/base/controllers/main.py | 3 +- addons/base/static/src/js/data_import.js | 45 +++-------------- addons/base/static/src/xml/base.xml | 62 ++++++++++++++++++------ 3 files changed, 55 insertions(+), 55 deletions(-) diff --git a/addons/base/controllers/main.py b/addons/base/controllers/main.py index 777fd5685d1..5636be13701 100644 --- a/addons/base/controllers/main.py +++ b/addons/base/controllers/main.py @@ -1256,7 +1256,6 @@ class Import(View): fields = [] word='' limit = 3 - try: for i, row in enumerate(data): records.append(row) @@ -1280,7 +1279,7 @@ class Import(View): error=dict(error, preview=csvfile.file.read(200)) return simplejson.dumps({'error':error}) - return simplejson.dumps({'records':records}) + return simplejson.dumps({'records':records[1:],'fields':fields}) @openerpweb.httprequest def import_data(self, req, session_id, model, id, csvfile, csvsep, csvdel, csvcode, csvskip, fields=[]): diff --git a/addons/base/static/src/js/data_import.js b/addons/base/static/src/js/data_import.js index 0a31237c9b1..3b51f75c198 100644 --- a/addons/base/static/src/js/data_import.js +++ b/addons/base/static/src/js/data_import.js @@ -19,7 +19,6 @@ openerp.base.DataImport = openerp.base.Dialog.extend({ self.stop(); }, "Import File" : function() { - //$("#import_data").submit(); self.do_import(); } }, @@ -53,47 +52,17 @@ openerp.base.DataImport = openerp.base.Dialog.extend({ }); }, import_results:function(res){ - var self = this; var results = $.parseJSON(res); - + $('#result, #success').empty(); + var result_node = $("#result"); if (results['records']){ - var result = results['records']; - if ($('#error').find('table')){ - $("#error table").remove(); - } - if ($('#records_data').find('tr')){ - $("#records_data tr").remove(); - } - for (i in result) { - if (i == 0){ - $('#records_data').append(''); - for (m in result[i]){ - $('.grid-header').append(''+result[i][m]+''); - } - }else{ - $('#records_data tr:last').after(''); - for (n in result[i]){ - $("tr[id="+i+"]").append(''+result[i][n]+''); - } - } - } + records = {'header':results['fields'],'row':results['records']}; + result_node.append(QWeb.render('ImportView-result',{'records':records})); }else if(results['error']){ - var result = results['error']; - if ($('#records_data').find('tr')){ - $("#records_data tr").remove(); - } - if ($('#error').find('table')){ - $("#error table").remove(); - } - $("#error").append('The import failed due to:'+result['message']+'
'); - if (result['preview']){ - $("#error_tbl tr:last").after('Here is a preview of the file we could not import:'); - $("#error_tbl tr:last").after('
'+result['preview']+'
'); - } + result_node.append(QWeb.render('ImportView-result',{'error': results['error']})); }else if(results['success']){ - var result = results['success']; - $("#imported_success").css('display','block'); - $("#res").append(''+result['message']+'') + var success_node = $("#success"); + success_node.append(QWeb.render('ImportView-result',{'success': results['success']})); } }, stop: function() { diff --git a/addons/base/static/src/xml/base.xml b/addons/base/static/src/xml/base.xml index 563c5bab43a..11d4e905f39 100644 --- a/addons/base/static/src/xml/base.xml +++ b/addons/base/static/src/xml/base.xml @@ -1328,10 +1328,7 @@ -
-
- -
+
CSV Options @@ -1359,20 +1356,55 @@
- +
+ + + + The import failed due to: + + Here is a preview of the file we could not import: +
+ +
+
+ + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + + + +
+

3. File imported

+
+
+