From ca6065398c1c9dfafc8b6b59acfefba39d2f90d3 Mon Sep 17 00:00:00 2001 From: "mergify[bot]" <37929162+mergify[bot]@users.noreply.github.com> Date: Mon, 3 Aug 2026 14:33:46 +0530 Subject: [PATCH] fix(banking): fetch company list from DB instead of boot (backport #57731) (#57739) fix(banking): fetch company list from DB instead of boot (#57731) * fix(banking): fetch company list from DB instead of boot * fix: show error banner for company list fail fetch (cherry picked from commit abc3da6b97f64dc6576fec37936865c0b27e3004) Co-authored-by: Nikhil Kothari --- .../BankReconciliation/CompanySelector.tsx | 17 +++++++++++++++-- banking/src/hooks/useCurrentCompany.ts | 4 +++- 2 files changed, 18 insertions(+), 3 deletions(-) diff --git a/banking/src/components/features/BankReconciliation/CompanySelector.tsx b/banking/src/components/features/BankReconciliation/CompanySelector.tsx index 5496ec9f851..7ebd8bc078f 100644 --- a/banking/src/components/features/BankReconciliation/CompanySelector.tsx +++ b/banking/src/components/features/BankReconciliation/CompanySelector.tsx @@ -19,13 +19,22 @@ import { import { cn } from "@/lib/utils" import _ from "@/lib/translate" import { selectedBankAccountAtom } from "./bankRecAtoms" +import { useFrappeGetDocList } from "frappe-react-sdk" +import ErrorBanner from "@/components/ui/error-banner" const CompanySelector = ({ onChange }: { onChange?: (company: string) => void }) => { const [open, setOpen] = useState(false) const [searchQuery, setSearchQuery] = useState("") - // eslint-disable-next-line @typescript-eslint/no-explicit-any - const options = window.frappe?.boot?.docs?.filter((doc: Record) => doc.doctype === ":Company").map((company: Record) => company.name) || [] + const { data: companies, error } = useFrappeGetDocList("Company", { + limit: 0, + fields: ["name"], + }, 'company_list', { + revalidateOnFocus: false, + revalidateOnReconnect: false, + }) + + const options = companies?.map((company: { name: string }) => company.name) || [] const setSelectedCompany = useSetAtom(selectedCompanyAtom) const setSelectedBankAccount = useSetAtom(selectedBankAccountAtom) @@ -42,6 +51,10 @@ const CompanySelector = ({ onChange }: { onChange?: (company: string) => void }) } } + if (error) { + return + } + return (