Merge pull request #592 from bigcapitalhq/matching-reconcile-branches

fix: Should not load branches on reconcile matching form if the branches not enabled
This commit is contained in:
Ahmed Bouhuolia
2024-08-12 11:29:48 +02:00
committed by GitHub
2 changed files with 36 additions and 21 deletions

View File

@@ -1,6 +1,8 @@
import { useAccounts, useBranches } from '@/hooks/query';
import { Spinner } from '@blueprintjs/core';
import React from 'react'; import React from 'react';
import { Spinner } from '@blueprintjs/core';
import { Features } from '@/constants';
import { useAccounts, useBranches } from '@/hooks/query';
import { useFeatureCan } from '@/hooks/state';
interface MatchingReconcileTransactionBootProps { interface MatchingReconcileTransactionBootProps {
children: React.ReactNode; children: React.ReactNode;
@@ -15,8 +17,17 @@ const MatchingReconcileTransactionBootContext =
export function MatchingReconcileTransactionBoot({ export function MatchingReconcileTransactionBoot({
children, children,
}: MatchingReconcileTransactionBootProps) { }: MatchingReconcileTransactionBootProps) {
// Detarmines whether the feature is enabled.
const { featureCan } = useFeatureCan();
const isBranchFeatureCan = featureCan(Features.Branches);
const { data: accounts, isLoading: isAccountsLoading } = useAccounts({}, {}); const { data: accounts, isLoading: isAccountsLoading } = useAccounts({}, {});
const { data: branches, isLoading: isBranchesLoading } = useBranches({}, {}); const { data: branches, isLoading: isBranchesLoading } = useBranches(
{},
{
enabled: isBranchFeatureCan,
},
);
const provider = { const provider = {
accounts, accounts,

View File

@@ -10,6 +10,7 @@ import {
Box, Box,
BranchSelect, BranchSelect,
FDateInput, FDateInput,
FeatureCan,
FFormGroup, FFormGroup,
FInputGroup, FInputGroup,
FMoneyInputGroup, FMoneyInputGroup,
@@ -30,6 +31,7 @@ import { useAccountTransactionsContext } from '../../AccountTransactions/Account
import { MatchingReconcileFormSchema } from './MatchingReconcileTransactionForm.schema'; import { MatchingReconcileFormSchema } from './MatchingReconcileTransactionForm.schema';
import { initialValues, transformToReq } from './_utils'; import { initialValues, transformToReq } from './_utils';
import { withBanking } from '../../withBanking'; import { withBanking } from '../../withBanking';
import { Features } from '@/constants';
interface MatchingReconcileTransactionFormProps { interface MatchingReconcileTransactionFormProps {
onSubmitSuccess?: (values: any) => void; onSubmitSuccess?: (values: any) => void;
@@ -205,26 +207,28 @@ function CreateReconcileTransactionContent() {
<FInputGroup name={'reference_no'} /> <FInputGroup name={'reference_no'} />
</FFormGroup> </FFormGroup>
<FFormGroup <FeatureCan feature={Features.Branches}>
name={'branchId'} <FFormGroup
label={'Branch'}
labelInfo={<Tag minimal>Required</Tag>}
fastField
>
<BranchSelect
name={'branchId'} name={'branchId'}
branches={branches} label={'Branch'}
popoverProps={{ labelInfo={<Tag minimal>Required</Tag>}
minimal: false,
position: Position.LEFT,
modifiers: {
preventOverflow: { enabled: true },
},
boundary: 'viewport',
}}
fastField fastField
/> >
</FFormGroup> <BranchSelect
name={'branchId'}
branches={branches}
popoverProps={{
minimal: false,
position: Position.LEFT,
modifiers: {
preventOverflow: { enabled: true },
},
boundary: 'viewport',
}}
fastField
/>
</FFormGroup>
</FeatureCan>
</Box> </Box>
); );
} }