mirror of
https://github.com/bigcapitalhq/bigcapital.git
synced 2026-02-27 10:09:48 +00:00
fix(webapp): branch and warehouse select not showing saved values in edit mode
Fixed an issue where branch and warehouse select fields were not displaying saved values when editing existing transactions. The useSetPrimaryBranchToForm and useSetPrimaryWarehouseToForm hooks were overwriting saved values with primary defaults on every form load. Changes: - Added isNewMode check to useSetPrimaryBranchToForm hook - Added isNewMode check to useSetPrimaryWarehouseToForm hook - Updated InvoiceFormProvider to expose isNewMode in context Affected forms: - Sales: Invoice, Estimate, Receipt, CreditNote, PaymentReceived - Purchases: Bill, VendorCredit, PaymentMade - Expense - MakeJournal (Manual Journal) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -213,17 +213,17 @@ export const currenciesFieldShouldUpdate = (newProps, oldProps) => {
|
||||
|
||||
export const useSetPrimaryBranchToForm = () => {
|
||||
const { setFieldValue } = useFormikContext();
|
||||
const { branches, isBranchesSuccess } = useMakeJournalFormContext();
|
||||
const { branches, isBranchesSuccess, isNewMode } = useMakeJournalFormContext();
|
||||
|
||||
React.useEffect(() => {
|
||||
if (isBranchesSuccess) {
|
||||
if (isBranchesSuccess && isNewMode) {
|
||||
const primaryBranch = branches.find((b) => b.primary) || first(branches);
|
||||
|
||||
if (primaryBranch) {
|
||||
setFieldValue('branch_id', primaryBranch.id);
|
||||
}
|
||||
}
|
||||
}, [isBranchesSuccess, setFieldValue, branches]);
|
||||
}, [isBranchesSuccess, setFieldValue, branches, isNewMode]);
|
||||
};
|
||||
|
||||
export const useManualJournalCreditTotal = () => {
|
||||
|
||||
@@ -152,17 +152,17 @@ export const transformFormValuesToRequest = (values) => {
|
||||
|
||||
export const useSetPrimaryBranchToForm = () => {
|
||||
const { setFieldValue } = useFormikContext();
|
||||
const { branches, isBranchesSuccess } = useExpenseFormContext();
|
||||
const { branches, isBranchesSuccess, isNewMode } = useExpenseFormContext();
|
||||
|
||||
React.useEffect(() => {
|
||||
if (isBranchesSuccess) {
|
||||
if (isBranchesSuccess && isNewMode) {
|
||||
const primaryBranch = branches.find((b) => b.primary) || first(branches);
|
||||
|
||||
if (primaryBranch) {
|
||||
setFieldValue('branch_id', primaryBranch.id);
|
||||
}
|
||||
}
|
||||
}, [isBranchesSuccess, setFieldValue, branches]);
|
||||
}, [isBranchesSuccess, setFieldValue, branches, isNewMode]);
|
||||
};
|
||||
|
||||
/**
|
||||
|
||||
@@ -231,25 +231,25 @@ export const handleErrors = (errors, { setErrors }) => {
|
||||
|
||||
export const useSetPrimaryBranchToForm = () => {
|
||||
const { setFieldValue } = useFormikContext();
|
||||
const { branches, isBranchesSuccess } = useBillFormContext();
|
||||
const { branches, isBranchesSuccess, isNewMode } = useBillFormContext();
|
||||
|
||||
React.useEffect(() => {
|
||||
if (isBranchesSuccess) {
|
||||
if (isBranchesSuccess && isNewMode) {
|
||||
const primaryBranch = branches.find((b) => b.primary) || first(branches);
|
||||
|
||||
if (primaryBranch) {
|
||||
setFieldValue('branch_id', primaryBranch.id);
|
||||
}
|
||||
}
|
||||
}, [isBranchesSuccess, setFieldValue, branches]);
|
||||
}, [isBranchesSuccess, setFieldValue, branches, isNewMode]);
|
||||
};
|
||||
|
||||
export const useSetPrimaryWarehouseToForm = () => {
|
||||
const { setFieldValue } = useFormikContext();
|
||||
const { warehouses, isWarehousesSuccess } = useBillFormContext();
|
||||
const { warehouses, isWarehousesSuccess, isNewMode } = useBillFormContext();
|
||||
|
||||
React.useEffect(() => {
|
||||
if (isWarehousesSuccess) {
|
||||
if (isWarehousesSuccess && isNewMode) {
|
||||
const primaryWarehouse =
|
||||
warehouses.find((b) => b.primary) || first(warehouses);
|
||||
|
||||
@@ -257,7 +257,7 @@ export const useSetPrimaryWarehouseToForm = () => {
|
||||
setFieldValue('warehouse_id', primaryWarehouse.id);
|
||||
}
|
||||
}
|
||||
}, [isWarehousesSuccess, setFieldValue, warehouses]);
|
||||
}, [isWarehousesSuccess, setFieldValue, warehouses, isNewMode]);
|
||||
};
|
||||
|
||||
/**
|
||||
|
||||
@@ -156,25 +156,25 @@ export const useObserveVendorCreditNoSettings = (prefix, nextNumber) => {
|
||||
|
||||
export const useSetPrimaryBranchToForm = () => {
|
||||
const { setFieldValue } = useFormikContext();
|
||||
const { branches, isBranchesSuccess } = useVendorCreditNoteFormContext();
|
||||
const { branches, isBranchesSuccess, isNewMode } = useVendorCreditNoteFormContext();
|
||||
|
||||
React.useEffect(() => {
|
||||
if (isBranchesSuccess) {
|
||||
if (isBranchesSuccess && isNewMode) {
|
||||
const primaryBranch = branches.find((b) => b.primary) || first(branches);
|
||||
|
||||
if (primaryBranch) {
|
||||
setFieldValue('branch_id', primaryBranch.id);
|
||||
}
|
||||
}
|
||||
}, [isBranchesSuccess, setFieldValue, branches]);
|
||||
}, [isBranchesSuccess, setFieldValue, branches, isNewMode]);
|
||||
};
|
||||
|
||||
export const useSetPrimaryWarehouseToForm = () => {
|
||||
const { setFieldValue } = useFormikContext();
|
||||
const { warehouses, isWarehousesSuccess } = useVendorCreditNoteFormContext();
|
||||
const { warehouses, isWarehousesSuccess, isNewMode } = useVendorCreditNoteFormContext();
|
||||
|
||||
React.useEffect(() => {
|
||||
if (isWarehousesSuccess) {
|
||||
if (isWarehousesSuccess && isNewMode) {
|
||||
const primaryWarehouse =
|
||||
warehouses.find((b) => b.primary) || first(warehouses);
|
||||
|
||||
@@ -182,7 +182,7 @@ export const useSetPrimaryWarehouseToForm = () => {
|
||||
setFieldValue('warehouse_id', primaryWarehouse.id);
|
||||
}
|
||||
}
|
||||
}, [isWarehousesSuccess, setFieldValue, warehouses]);
|
||||
}, [isWarehousesSuccess, setFieldValue, warehouses, isNewMode]);
|
||||
};
|
||||
|
||||
/**
|
||||
|
||||
@@ -115,17 +115,17 @@ export const transformFormToRequest = (form) => {
|
||||
|
||||
export const useSetPrimaryBranchToForm = () => {
|
||||
const { setFieldValue } = useFormikContext();
|
||||
const { branches, isBranchesSuccess } = usePaymentMadeFormContext();
|
||||
const { branches, isBranchesSuccess, isNewMode } = usePaymentMadeFormContext();
|
||||
|
||||
React.useEffect(() => {
|
||||
if (isBranchesSuccess) {
|
||||
if (isBranchesSuccess && isNewMode) {
|
||||
const primaryBranch = branches.find((b) => b.primary) || first(branches);
|
||||
|
||||
if (primaryBranch) {
|
||||
setFieldValue('branch_id', primaryBranch.id);
|
||||
}
|
||||
}
|
||||
}, [isBranchesSuccess, setFieldValue, branches]);
|
||||
}, [isBranchesSuccess, setFieldValue, branches, isNewMode]);
|
||||
};
|
||||
|
||||
/**
|
||||
|
||||
@@ -148,25 +148,25 @@ export const entriesFieldShouldUpdate = (newProps, oldProps) => {
|
||||
|
||||
export const useSetPrimaryBranchToForm = () => {
|
||||
const { setFieldValue } = useFormikContext();
|
||||
const { branches, isBranchesSuccess } = useCreditNoteFormContext();
|
||||
const { branches, isBranchesSuccess, isNewMode } = useCreditNoteFormContext();
|
||||
|
||||
React.useEffect(() => {
|
||||
if (isBranchesSuccess) {
|
||||
if (isBranchesSuccess && isNewMode) {
|
||||
const primaryBranch = branches.find((b) => b.primary) || first(branches);
|
||||
|
||||
if (primaryBranch) {
|
||||
setFieldValue('branch_id', primaryBranch.id);
|
||||
}
|
||||
}
|
||||
}, [isBranchesSuccess, setFieldValue, branches]);
|
||||
}, [isBranchesSuccess, setFieldValue, branches, isNewMode]);
|
||||
};
|
||||
|
||||
export const useSetPrimaryWarehouseToForm = () => {
|
||||
const { setFieldValue } = useFormikContext();
|
||||
const { warehouses, isWarehousesSuccess } = useCreditNoteFormContext();
|
||||
const { warehouses, isWarehousesSuccess, isNewMode } = useCreditNoteFormContext();
|
||||
|
||||
React.useEffect(() => {
|
||||
if (isWarehousesSuccess) {
|
||||
if (isWarehousesSuccess && isNewMode) {
|
||||
const primaryWarehouse =
|
||||
warehouses.find((b) => b.primary) || first(warehouses);
|
||||
|
||||
@@ -174,7 +174,7 @@ export const useSetPrimaryWarehouseToForm = () => {
|
||||
setFieldValue('warehouse_id', primaryWarehouse.id);
|
||||
}
|
||||
}
|
||||
}, [isWarehousesSuccess, setFieldValue, warehouses]);
|
||||
}, [isWarehousesSuccess, setFieldValue, warehouses, isNewMode]);
|
||||
};
|
||||
|
||||
/**
|
||||
|
||||
@@ -182,10 +182,10 @@ export const transfromsFormValuesToRequest = (values) => {
|
||||
|
||||
export const useSetPrimaryWarehouseToForm = () => {
|
||||
const { setFieldValue } = useFormikContext();
|
||||
const { warehouses, isWarehousesSuccess } = useEstimateFormContext();
|
||||
const { warehouses, isWarehousesSuccess, isNewMode } = useEstimateFormContext();
|
||||
|
||||
React.useEffect(() => {
|
||||
if (isWarehousesSuccess) {
|
||||
if (isWarehousesSuccess && isNewMode) {
|
||||
const primaryWarehouse =
|
||||
warehouses.find((b) => b.primary) || first(warehouses);
|
||||
|
||||
@@ -193,22 +193,22 @@ export const useSetPrimaryWarehouseToForm = () => {
|
||||
setFieldValue('warehouse_id', primaryWarehouse.id);
|
||||
}
|
||||
}
|
||||
}, [isWarehousesSuccess, setFieldValue, warehouses]);
|
||||
}, [isWarehousesSuccess, setFieldValue, warehouses, isNewMode]);
|
||||
};
|
||||
|
||||
export const useSetPrimaryBranchToForm = () => {
|
||||
const { setFieldValue } = useFormikContext();
|
||||
const { branches, isBranchesSuccess } = useEstimateFormContext();
|
||||
const { branches, isBranchesSuccess, isNewMode } = useEstimateFormContext();
|
||||
|
||||
React.useEffect(() => {
|
||||
if (isBranchesSuccess) {
|
||||
if (isBranchesSuccess && isNewMode) {
|
||||
const primaryBranch = branches.find((b) => b.primary) || first(branches);
|
||||
|
||||
if (primaryBranch) {
|
||||
setFieldValue('branch_id', primaryBranch.id);
|
||||
}
|
||||
}
|
||||
}, [isBranchesSuccess, setFieldValue, branches]);
|
||||
}, [isBranchesSuccess, setFieldValue, branches, isNewMode]);
|
||||
};
|
||||
|
||||
/**
|
||||
|
||||
@@ -180,6 +180,7 @@ function InvoiceFormProvider({ invoiceId, baseCurrency, ...props }) {
|
||||
isInvoiceStateLoading,
|
||||
|
||||
isBootLoading,
|
||||
isNewMode,
|
||||
};
|
||||
|
||||
return <InvoiceFormContext.Provider value={provider} {...props} />;
|
||||
|
||||
@@ -264,10 +264,10 @@ const transformPaymentMethodsToForm = (
|
||||
|
||||
export const useSetPrimaryWarehouseToForm = () => {
|
||||
const { setFieldValue } = useFormikContext();
|
||||
const { warehouses, isWarehousesSuccess } = useInvoiceFormContext();
|
||||
const { warehouses, isWarehousesSuccess, isNewMode } = useInvoiceFormContext();
|
||||
|
||||
React.useEffect(() => {
|
||||
if (isWarehousesSuccess) {
|
||||
if (isWarehousesSuccess && isNewMode) {
|
||||
const primaryWarehouse =
|
||||
warehouses.find((b) => b.primary) || first(warehouses);
|
||||
|
||||
@@ -275,22 +275,22 @@ export const useSetPrimaryWarehouseToForm = () => {
|
||||
setFieldValue('warehouse_id', primaryWarehouse.id);
|
||||
}
|
||||
}
|
||||
}, [isWarehousesSuccess, setFieldValue, warehouses]);
|
||||
}, [isWarehousesSuccess, setFieldValue, warehouses, isNewMode]);
|
||||
};
|
||||
|
||||
export const useSetPrimaryBranchToForm = () => {
|
||||
const { setFieldValue } = useFormikContext();
|
||||
const { branches, isBranchesSuccess } = useInvoiceFormContext();
|
||||
const { branches, isBranchesSuccess, isNewMode } = useInvoiceFormContext();
|
||||
|
||||
React.useEffect(() => {
|
||||
if (isBranchesSuccess) {
|
||||
if (isBranchesSuccess && isNewMode) {
|
||||
const primaryBranch = branches.find((b) => b.primary) || first(branches);
|
||||
|
||||
if (primaryBranch) {
|
||||
setFieldValue('branch_id', primaryBranch.id);
|
||||
}
|
||||
}
|
||||
}, [isBranchesSuccess, setFieldValue, branches]);
|
||||
}, [isBranchesSuccess, setFieldValue, branches, isNewMode]);
|
||||
};
|
||||
|
||||
/**
|
||||
|
||||
@@ -177,17 +177,17 @@ export const transformFormToRequest = (form) => {
|
||||
|
||||
export const useSetPrimaryBranchToForm = () => {
|
||||
const { setFieldValue } = useFormikContext();
|
||||
const { branches, isBranchesSuccess } = usePaymentReceiveFormContext();
|
||||
const { branches, isBranchesSuccess, isNewMode } = usePaymentReceiveFormContext();
|
||||
|
||||
React.useEffect(() => {
|
||||
if (isBranchesSuccess) {
|
||||
if (isBranchesSuccess && isNewMode) {
|
||||
const primaryBranch = branches.find((b) => b.primary) || first(branches);
|
||||
|
||||
if (primaryBranch) {
|
||||
setFieldValue('branch_id', primaryBranch.id);
|
||||
}
|
||||
}
|
||||
}, [isBranchesSuccess, setFieldValue, branches]);
|
||||
}, [isBranchesSuccess, setFieldValue, branches, isNewMode]);
|
||||
};
|
||||
|
||||
/**
|
||||
|
||||
@@ -173,10 +173,10 @@ export const transformFormValuesToRequest = (values) => {
|
||||
|
||||
export const useSetPrimaryWarehouseToForm = () => {
|
||||
const { setFieldValue } = useFormikContext();
|
||||
const { warehouses, isWarehousesSuccess } = useReceiptFormContext();
|
||||
const { warehouses, isWarehousesSuccess, isNewMode } = useReceiptFormContext();
|
||||
|
||||
React.useEffect(() => {
|
||||
if (isWarehousesSuccess) {
|
||||
if (isWarehousesSuccess && isNewMode) {
|
||||
const primaryWarehouse =
|
||||
warehouses.find((b) => b.primary) || first(warehouses);
|
||||
|
||||
@@ -184,22 +184,22 @@ export const useSetPrimaryWarehouseToForm = () => {
|
||||
setFieldValue('warehouse_id', primaryWarehouse.id);
|
||||
}
|
||||
}
|
||||
}, [isWarehousesSuccess, setFieldValue, warehouses]);
|
||||
}, [isWarehousesSuccess, setFieldValue, warehouses, isNewMode]);
|
||||
};
|
||||
|
||||
export const useSetPrimaryBranchToForm = () => {
|
||||
const { setFieldValue } = useFormikContext();
|
||||
const { branches, isBranchesSuccess } = useReceiptFormContext();
|
||||
const { branches, isBranchesSuccess, isNewMode } = useReceiptFormContext();
|
||||
|
||||
React.useEffect(() => {
|
||||
if (isBranchesSuccess) {
|
||||
if (isBranchesSuccess && isNewMode) {
|
||||
const primaryBranch = branches.find((b) => b.primary) || first(branches);
|
||||
|
||||
if (primaryBranch) {
|
||||
setFieldValue('branch_id', primaryBranch.id);
|
||||
}
|
||||
}
|
||||
}, [isBranchesSuccess, setFieldValue, branches]);
|
||||
}, [isBranchesSuccess, setFieldValue, branches, isNewMode]);
|
||||
};
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user