Merge pull request #25660 from uhrjun/develop

fix: incorrect status on data import
This commit is contained in:
Ankush Menat 2024-03-28 17:17:41 +05:30 committed by GitHub
commit 87d121f47a
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 18 additions and 10 deletions

View file

@ -27,10 +27,6 @@ frappe.listview_settings["Data Import"] = {
if (imports_in_progress.includes(doc.name)) {
status = "In Progress";
}
if (status === "Pending") {
status = "Not Started";
}
return [__(status), colors[status], "status,=," + doc.status];
},
formatters: {

View file

@ -102,9 +102,13 @@ class Importer:
log_index = 0
# Do not remove rows in case of retry after an error or pending data import
if self.data_import.status == "Partial Success" and len(import_log) >= self.data_import.payload_count:
if (
self.data_import.status in ("Partial Success", "Error")
and len(import_log) >= self.data_import.payload_count
):
# remove previous failures from import log only in case of retry after partial success
import_log = [log for log in import_log if log.get("success")]
frappe.db.delete("Data Import Log", {"success": 0, "data_import": self.data_import.name})
# get successfully imported rows
imported_rows = []
@ -213,13 +217,21 @@ class Importer:
)
# set status
failures = [log for log in import_log if not log.get("success")]
if len(failures) == total_payload_count:
status = "Pending"
elif len(failures) > 0:
successes = []
failures = []
for log in import_log:
if log.get("success"):
successes.append(log)
else:
failures.append(log)
if len(failures) >= total_payload_count and len(successes) == 0:
status = "Error"
elif len(failures) > 0 and len(successes) > 0:
status = "Partial Success"
else:
elif len(successes) == total_payload_count:
status = "Success"
else:
status = "Pending"
if self.console:
self.print_import_log(import_log)