[IMP]Improved code for csv options and error message.
authorKunal Chavda (OpenERP) <kch@tinyerp.com>
Tue, 16 Aug 2011 06:08:35 +0000 (11:38 +0530)
committerKunal Chavda (OpenERP) <kch@tinyerp.com>
Tue, 16 Aug 2011 06:08:35 +0000 (11:38 +0530)
bzr revid: kch@tinyerp.com-20110816060835-f6ub35t0p2ye2yn0

addons/base/controllers/main.py
addons/base/static/src/js/data_import.js

index 08ef89b..f6c473e 100644 (file)
@@ -1290,7 +1290,8 @@ class Import(View):
         try:
             data = csv.reader(params.get('csvfile').file, quotechar=str(params.get('csvdel')), delimiter=str(params.get('csvsep')))
         except:
-            raise 'Error opening .CSV file', 'Input Error.'
+            error={'message': 'error opening .CSV file. Input Error.'}
+            return simplejson.dumps({'error':error})
 
         records = []
         fields = []
@@ -1370,8 +1371,8 @@ class Import(View):
         #Inverting the header into column names
         try:
             res = modle_obj.import_data(fields, datas, 'init', '', False, ctx)
-        except Exception, e:
-            error = {'message':str(e), 'title':'XML-RPC error'}
+        except xmlrpclib.Fault, e:
+            error = {"message":e.faultCode}
             return simplejson.dumps({'error':error})
 
         if res[0]>=0:
index 3b51f75..27291c0 100644 (file)
@@ -25,6 +25,7 @@ openerp.base.DataImport = openerp.base.Dialog.extend({
                     close: function(event, ui){ self.stop();}
                    });
         this.$element.find('#csvfile').change(this.on_autodetect_data);
+        this.$element.find('fieldset').change(this.on_autodetect_data);
         this.$element.find('fieldset legend').click(function () {
                 $(this).next().toggle();
         });
@@ -52,8 +53,8 @@ openerp.base.DataImport = openerp.base.Dialog.extend({
             });
     },
     import_results:function(res){
-        var results = $.parseJSON(res);
         $('#result, #success').empty();
+        var results = $.parseJSON(res);
         var result_node = $("#result");
         if (results['records']){
             records = {'header':results['fields'],'row':results['records']};