diff --git a/core/page/data_import_tool/data_import_tool.js b/core/page/data_import_tool/data_import_tool.js index 99c88da6c5..0ea9336e3a 100644 --- a/core/page/data_import_tool/data_import_tool.js +++ b/core/page/data_import_tool/data_import_tool.js @@ -49,9 +49,20 @@ wn.pages['data-import-tool'].onload = function(wrapper) { method:'core.page.data_import_tool.data_import_tool.get_doctypes', callback: function(r) { $select.add_options(['Select...'].concat(r.message)); + wrapper.doctypes = r.message; + wrapper.set_route_options(); } }); + wrapper.set_route_options = function() { + if(wn.route_options + && wn.route_options.doctype + && in_list(wrapper.doctypes, wn.route_options.doctype)) { + $select.val(wn.route_options.doctype).change(); + wn.route_options = null; + } + } + // load options $select.change(function() { var val = $(this).val() @@ -93,53 +104,53 @@ wn.pages['data-import-tool'].onload = function(wrapper) { } }); + write_messages = function(r) { + $(wrapper).find(".dit-progress-area").toggle(false); + $("#dit-output").empty(); + + $.each(r.messages, function(i, v) { + var $p = $('
').html(v).appendTo('#dit-output'); + if(v.substr(0,5)=='Error') { + $p.css('color', 'red'); + } else if(v.substr(0,8)=='Inserted') { + $p.css('color', 'green'); + } else if(v.substr(0,7)=='Updated') { + $p.css('color', 'green'); + } else if(v.substr(0,5)=='Valid') { + $p.css('color', '#777'); + } + }); + } + // upload wn.upload.make({ parent: $('#dit-upload-area'), args: { method: 'core.page.data_import_tool.data_import_tool.upload' }, - callback: function(r) { - $(wrapper).find(".dit-progress-area").toggle(false); - - if(!r.messages) r.messages = []; - - // clear output area - $("#dit-output").empty(); - - // replace links if error has occured - if(r.exc || r.error) { - r.messages = $.map(r.messages, function(v) { - var msg = v.replace("Inserted", "Valid") - .replace("Updated", "Valid").split("<"); - if (msg.length > 1) { - v = msg[0] + (msg[1].split(">").slice(-1)[0]); - } else { - v = msg[0]; - } - return v; - }); - - r.messages = ["
').html(v).appendTo('#dit-output'); - if(v.substr(0,5)=='Error') { - $p.css('color', 'red'); - } else if(v.substr(0,8)=='Inserted') { - $p.css('color', 'green'); - } else if(v.substr(0,7)=='Updated') { - $p.css('color', 'green'); - } else if(v.substr(0,5)=='Valid') { - $p.css('color', '#777'); + onerror: function(r) { + r.messages = $.map(r.message.messages, function(v) { + var msg = v.replace("Inserted", "Valid") + .replace("Updated", "Valid").split("<"); + if (msg.length > 1) { + v = msg[0] + (msg[1].split(">").slice(-1)[0]); + } else { + v = msg[0]; } + return v; }); + r.messages = ["