diff --git a/src/common/queries/payment-terms.ts b/src/common/queries/payment-terms.ts
index efeb63933d..fd77ab1b91 100644
--- a/src/common/queries/payment-terms.ts
+++ b/src/common/queries/payment-terms.ts
@@ -25,11 +25,12 @@ export function usePaymentTermsQuery(params: Params) {
request(
'GET',
endpoint(
- '/api/v1/payment_terms?per_page=:perPage&page=:currentPage&sort=:sort',
+ '/api/v1/payment_terms?per_page=:perPage&page=:currentPage&sort=:sort&status=:status',
{
perPage: params.perPage ?? 1000,
currentPage: params.currentPage,
sort: params.sort ?? 'id|asc',
+ status: params.status ?? 'all',
}
)
),
diff --git a/src/pages/clients/common/components/Settings.tsx b/src/pages/clients/common/components/Settings.tsx
index a13abbd349..641fc9d474 100644
--- a/src/pages/clients/common/components/Settings.tsx
+++ b/src/pages/clients/common/components/Settings.tsx
@@ -39,7 +39,9 @@ export default function Settings() {
const currencies = useCurrencies();
const { data: statics } = useStaticsQuery();
- const { data: paymentTermsResponse } = usePaymentTermsQuery({});
+ const { data: paymentTermsResponse } = usePaymentTermsQuery({
+ status: ['active'],
+ });
const handleChange = (property: string, value: string | number | boolean) => {
const $client = cloneDeep(client)!;
@@ -115,13 +117,22 @@ export default function Settings() {
withBlank
customSelector
>
- {paymentTermsResponse.data.data.map(
- (paymentTerm: PaymentTerm, index: number) => (
+ {paymentTermsResponse.data.data
+ .filter(
+ (
+ paymentTerm: PaymentTerm,
+ index: number,
+ terms: PaymentTerm[]
+ ) =>
+ terms.findIndex(
+ (t) => t.num_days === paymentTerm.num_days
+ ) === index
+ )
+ .map((paymentTerm: PaymentTerm, index: number) => (
- )
- )}
+ ))}
)}
@@ -138,13 +149,22 @@ export default function Settings() {
withBlank
customSelector
>
- {paymentTermsResponse.data.data.map(
- (paymentTerm: PaymentTerm, index: number) => (
+ {paymentTermsResponse.data.data
+ .filter(
+ (
+ paymentTerm: PaymentTerm,
+ index: number,
+ terms: PaymentTerm[]
+ ) =>
+ terms.findIndex(
+ (t) => t.num_days === paymentTerm.num_days
+ ) === index
+ )
+ .map((paymentTerm: PaymentTerm, index: number) => (
- )
- )}
+ ))}
)}
diff --git a/src/pages/clients/edit/components/AdditionalInfo.tsx b/src/pages/clients/edit/components/AdditionalInfo.tsx
index aa797130f3..f482dc75bb 100644
--- a/src/pages/clients/edit/components/AdditionalInfo.tsx
+++ b/src/pages/clients/edit/components/AdditionalInfo.tsx
@@ -50,7 +50,9 @@ export function AdditionalInfo({ client, errors, setClient }: Props) {
const hasPermission = useHasPermission();
const entityAssigned = useEntityAssigned();
- const { data: paymentTermsResponse } = usePaymentTermsQuery({});
+ const { data: paymentTermsResponse } = usePaymentTermsQuery({
+ status: ['active'],
+ });
const { data: statics } = useStaticsQuery();
const { id } = useParams();
@@ -148,13 +150,22 @@ export function AdditionalInfo({ client, errors, setClient }: Props) {
withBlank
customSelector
>
- {paymentTermsResponse.data.data.map(
- (paymentTerm: PaymentTerm, index: number) => (
+ {paymentTermsResponse.data.data
+ .filter(
+ (
+ paymentTerm: PaymentTerm,
+ index: number,
+ terms: PaymentTerm[]
+ ) =>
+ terms.findIndex(
+ (t) => t.num_days === paymentTerm.num_days
+ ) === index
+ )
+ .map((paymentTerm: PaymentTerm, index: number) => (
- )
- )}
+ ))}
)}
@@ -171,13 +182,22 @@ export function AdditionalInfo({ client, errors, setClient }: Props) {
withBlank
customSelector
>
- {paymentTermsResponse.data.data.map(
- (paymentTerm: PaymentTerm, index: number) => (
+ {paymentTermsResponse.data.data
+ .filter(
+ (
+ paymentTerm: PaymentTerm,
+ index: number,
+ terms: PaymentTerm[]
+ ) =>
+ terms.findIndex(
+ (t) => t.num_days === paymentTerm.num_days
+ ) === index
+ )
+ .map((paymentTerm: PaymentTerm, index: number) => (
- )
- )}
+ ))}
)}
diff --git a/src/pages/invoices/common/components/ClientCreate.tsx b/src/pages/invoices/common/components/ClientCreate.tsx
index 83ce8dc209..9488dee96f 100644
--- a/src/pages/invoices/common/components/ClientCreate.tsx
+++ b/src/pages/invoices/common/components/ClientCreate.tsx
@@ -61,7 +61,9 @@ export function ClientCreate({
refetchOnWindowFocus: false,
});
- const { data: paymentTermsResponse } = usePaymentTermsQuery({});
+ const { data: paymentTermsResponse } = usePaymentTermsQuery({
+ status: ['active'],
+ });
const handleChange = (property: keyof Client, value: string) => {
setErrors(undefined);
@@ -371,16 +373,25 @@ export function ClientCreate({
withBlank
customSelector
>
- {paymentTermsResponse.data.data.map(
- (paymentTerm: PaymentTerm, index: number) => (
+ {paymentTermsResponse.data.data
+ .filter(
+ (
+ paymentTerm: PaymentTerm,
+ index: number,
+ terms: PaymentTerm[]
+ ) =>
+ terms.findIndex(
+ (t) => t.num_days === paymentTerm.num_days
+ ) === index
+ )
+ .map((paymentTerm: PaymentTerm, index: number) => (
- )
- )}
+ ))}
)}
@@ -395,16 +406,25 @@ export function ClientCreate({
withBlank
customSelector
>
- {paymentTermsResponse.data.data.map(
- (paymentTerm: PaymentTerm, index: number) => (
+ {paymentTermsResponse.data.data
+ .filter(
+ (
+ paymentTerm: PaymentTerm,
+ index: number,
+ terms: PaymentTerm[]
+ ) =>
+ terms.findIndex(
+ (t) => t.num_days === paymentTerm.num_days
+ ) === index
+ )
+ .map((paymentTerm: PaymentTerm, index: number) => (
- )
- )}
+ ))}
)}
diff --git a/src/pages/settings/online-payments/OnlinePayments.tsx b/src/pages/settings/online-payments/OnlinePayments.tsx
index 8850eb2c08..9774dfe799 100644
--- a/src/pages/settings/online-payments/OnlinePayments.tsx
+++ b/src/pages/settings/online-payments/OnlinePayments.tsx
@@ -49,7 +49,7 @@ export function OnlinePayments() {
const company = useInjectCompanyChanges();
const { data: statics } = useStaticsQuery();
const errors = useAtomValue(companySettingsErrorsAtom);
- const { data: termsResponse } = usePaymentTermsQuery({});
+ const { data: termsResponse } = usePaymentTermsQuery({ status: ['active'] });
const { isCompanySettingsActive } = useCurrentSettingsLevel();
const isFormBusy = useAtomValue(isCompanySettingsFormBusy);
@@ -300,11 +300,17 @@ export function OnlinePayments() {
customSelector
withBlank
>
- {paymentTerms.map((type: PaymentTerm) => (
-
- ))}
+ {paymentTerms
+ .filter(
+ (type: PaymentTerm, index, terms) =>
+ terms.findIndex((t) => t.num_days === type.num_days) ===
+ index
+ )
+ .map((type: PaymentTerm) => (
+
+ ))}
)}
@@ -366,11 +372,16 @@ export function OnlinePayments() {
errorMessage={errors?.errors['settings.valid_until']}
customSelector
>
- {paymentTerms?.map((type: PaymentTerm) => (
-
- ))}
+ {paymentTerms
+ ?.filter(
+ (type: PaymentTerm, index, terms) =>
+ terms.findIndex((t) => t.num_days === type.num_days) === index
+ )
+ .map((type: PaymentTerm) => (
+
+ ))}