From f348121e6129dc6129467deb76bf16459ef4e8a6 Mon Sep 17 00:00:00 2001 From: "gpt-engineer-app[bot]" <159125892+gpt-engineer-app[bot]@users.noreply.github.com> Date: Sun, 19 Apr 2026 01:10:15 +0000 Subject: [PATCH] Changes Co-authored-by: renee-png <262607627+renee-png@users.noreply.github.com> --- src/routes/settings.import.tsx | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/src/routes/settings.import.tsx b/src/routes/settings.import.tsx index eaca28b..2ad5187 100644 --- a/src/routes/settings.import.tsx +++ b/src/routes/settings.import.tsx @@ -716,6 +716,10 @@ function ImportPage() { // transform const transformed = cfg.transform ? cfg.transform(row, ctx) : row; if (!transformed) { + // Tables whose rows are linked to a case via _caseext / _casenum / _casename + const caseLinked = ["tasks", "events", "call_logs", "time_entries", "expenses", "comments", "status_updates"]; + const hasCaseHint = row._caseext != null || row._casenum != null || row._casename != null; + // Diagnose common transform-rejection reasons for clearer feedback if (cfg.table === "homeowners" && !row.client_id && !row._clientext && !row._clientname) { bumpSkip("no client match (missing companyid/company)"); @@ -725,20 +729,16 @@ function ImportPage() { bumpSkip("client not found"); } else if (cfg.table === "time_entries" && !row.work_date) { bumpSkip("missing or invalid work date"); - } else if (cfg.table === "time_entries" && !row.case_id && !row._caseext && !row._casenum && !row._casename) { - bumpSkip("missing case reference"); - } else if (cfg.table === "time_entries" && (row._caseext || row._casenum || row._casename) && !row.case_id) { - bumpSkip("case not found (import cases first or match case title/number)"); } else if (cfg.table === "time_entries" && (row.hours == null || row.hours <= 0) && row._time == null) { bumpSkip("missing or invalid hours"); } else if (cfg.table === "time_entries" && !row.description && !row._activity) { bumpSkip("missing description/activity"); - } else if (cfg.table === "expenses" && !row.case_id && !row._caseext && !row._casenum && !row._casename) { - bumpSkip("missing case reference"); - } else if (cfg.table === "expenses" && (row._caseext || row._casenum || row._casename) && !row.case_id) { - bumpSkip("case not found (import cases first or match case title/number)"); } else if (cfg.table === "expenses" && row.amount == null) { bumpSkip("missing or invalid amount"); + } else if (caseLinked.includes(cfg.table) && !row.case_id && !hasCaseHint) { + bumpSkip("missing case reference"); + } else if (caseLinked.includes(cfg.table) && hasCaseHint && !row.case_id) { + bumpSkip("case not found (import cases first or match case title/number)"); } else { bumpSkip("rejected by transform"); }