# HG changeset patch # User Torsten Irländer # Date 1389263434 -3600 # Node ID 20df35a314904d6fd943b3083e39931a5ba10953 # Parent 73e18f2557e6bcec7ff5ed372642bbb311e292fd Improved import dialog diff -r 73e18f2557e6 -r 20df35a31490 app/controller/Proben.js --- a/app/controller/Proben.js Thu Jan 09 11:01:34 2014 +0100 +++ b/app/controller/Proben.js Thu Jan 09 11:30:34 2014 +0100 @@ -2,21 +2,37 @@ * Controller for Proben */ +function numOfErrors(proben) { + var errors = 0; + for (var key in proben) { + if (proben[key].length > 0) { + errors = errors + 1; + } + } + return errors; +} + function buildImportReport(filename, msg, errors, warnings) { var out = Array(); + // There is a entry for each imported proben in the errors dict (might be + // empty) + var num_proben = (Object.keys(errors).length > 0); + var num_errors = (numOfErrors(errors)); var has_warnings = (Object.keys(warnings).length > 0); - var has_errors = (Object.keys(errors).length > 0); if (msg != 200) { out.push("Der Import der Datei " + filename + " war nicht erfolgreich. Der Importvorgang konnte aufgrund eines Fehlers im Server nicht beendet werden."); } else { - if (has_errors) { - out.push("Der Import der Datei " + filename + " war nicht oder nur teilweise erfolgreich."); - } else { + if (num_errors == num_proben) { + out.push("Der Import der Datei " + filename + " war nicht erfolgreich."); + } + else if (num_errors == 0) { out.push("Der Import der Datei " + filename + " war erfolgreich."); + } else { + out.push("Der Import der Datei " + filename + " war nicht oder nur teilweise erfolgreich."); } - out.push("Bei dem Import sind folgende Fehler und Warnungen aufgetreten:"); + out.push(" Bei dem Import sind folgende Fehler und Warnungen aufgetreten:"); out.push("
"); - if (has_errors) { + if (num_errors) { out.push("Fehler:"); out.push("
"); out.push("
    ");