From 0c039f59dcebf22a9fc283f31b418ca6ed9535d0 Mon Sep 17 00:00:00 2001 From: Adrian Pilarczyk Date: Fri, 12 May 2023 10:51:00 +0200 Subject: [PATCH] feat: :sparkles: make companyCode optional (#458) * feat: :sparkles: make companyCode optional * fix: :bug: return empty string if no companyCode in order-fulfilled * build: :construction_worker: add changeset --- .changeset/tasty-moose-obey.md | 5 +++++ apps/taxes/src/modules/avatax/avatax-config.ts | 2 +- .../avatax/maps/avatax-order-fulfilled-map.ts | 2 +- .../avatax/ui/avatax-configuration-form.tsx | 16 +++++++++------- 4 files changed, 16 insertions(+), 9 deletions(-) create mode 100644 .changeset/tasty-moose-obey.md diff --git a/.changeset/tasty-moose-obey.md b/.changeset/tasty-moose-obey.md new file mode 100644 index 0000000..7f4b2fb --- /dev/null +++ b/.changeset/tasty-moose-obey.md @@ -0,0 +1,5 @@ +--- +"saleor-app-taxes": minor +--- + +Make companyCode optional in Avatax. diff --git a/apps/taxes/src/modules/avatax/avatax-config.ts b/apps/taxes/src/modules/avatax/avatax-config.ts index 6340e26..4521aa6 100644 --- a/apps/taxes/src/modules/avatax/avatax-config.ts +++ b/apps/taxes/src/modules/avatax/avatax-config.ts @@ -6,7 +6,7 @@ export const avataxConfigSchema = z.object({ username: z.string().min(1, { message: "Username requires at least one character." }), password: z.string().min(1, { message: "Password requires at least one character." }), isSandbox: z.boolean(), - companyCode: z.string().min(1, { message: "Company code requires at least one character." }), + companyCode: z.string().optional(), isAutocommit: z.boolean(), shippingTaxCode: z.string().optional(), }); diff --git a/apps/taxes/src/modules/avatax/maps/avatax-order-fulfilled-map.ts b/apps/taxes/src/modules/avatax/maps/avatax-order-fulfilled-map.ts index 824e451..b0e9b8d 100644 --- a/apps/taxes/src/modules/avatax/maps/avatax-order-fulfilled-map.ts +++ b/apps/taxes/src/modules/avatax/maps/avatax-order-fulfilled-map.ts @@ -29,7 +29,7 @@ const mapPayload = ({ order, config }: CommitTransactionMapPayloadArgs): CommitT return { transactionCode, - companyCode: config.companyCode, + companyCode: config.companyCode ?? "", documentType: DocumentType.SalesInvoice, model: { commit: true, diff --git a/apps/taxes/src/modules/avatax/ui/avatax-configuration-form.tsx b/apps/taxes/src/modules/avatax/ui/avatax-configuration-form.tsx index ce5c6f8..26fe017 100644 --- a/apps/taxes/src/modules/avatax/ui/avatax-configuration-form.tsx +++ b/apps/taxes/src/modules/avatax/ui/avatax-configuration-form.tsx @@ -250,6 +250,7 @@ export const AvataxConfigurationForm = () => { )} /> + {formState.errors.password && ( {formState.errors.password.message} )} @@ -260,15 +261,16 @@ export const AvataxConfigurationForm = () => { control={control} defaultValue={defaultValues.companyCode} render={({ field }) => ( - + )} /> + + {"When not provided, the default company will be used. "} + + Read more + {" "} + about company codes. + {formState.errors.companyCode && ( {formState.errors.companyCode.message} )}