feat(contacts): add country field to customer and vendor address forms

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
Ahmed Bouhuolia
2026-02-24 20:53:14 +02:00
parent fb05af8c00
commit f149ff43b4
12 changed files with 61 additions and 38 deletions

View File

@@ -27,20 +27,20 @@ const CustomerBillingAddress = ({}) => {
{/*------------ Billing Address 1 -----------*/}
<FFormGroup
name={'billing_address_1'}
name={'billing_address1'}
label={<T id={'address_line_1'} />}
inline={true}
>
<FTextArea name={'billing_address_1'} />
<FTextArea name={'billing_address1'} />
</FFormGroup>
{/*------------ Billing Address 2 -----------*/}
<FFormGroup
name={'billing_address_2'}
name={'billing_address2'}
label={<T id={'address_line_2'} />}
inline={true}
>
<FTextArea name={'billing_address_2'} />
<FTextArea name={'billing_address2'} />
</FFormGroup>
{/*------------ Billing Address city -----------*/}
<FFormGroup
@@ -93,20 +93,20 @@ const CustomerBillingAddress = ({}) => {
{/*------------ Shipping Address 1 -----------*/}
<FFormGroup
name={'shipping_address_1'}
name={'shipping_address1'}
label={<T id={'address_line_1'} />}
inline={true}
>
<FTextArea name={'shipping_address_1'} />
<FTextArea name={'shipping_address1'} />
</FFormGroup>
{/*------------ Shipping Address 2 -----------*/}
<FFormGroup
name={'shipping_address_2'}
name={'shipping_address2'}
label={<T id={'address_line_2'} />}
inline={true}
>
<FTextArea name={'shipping_address_2'} />
<FTextArea name={'shipping_address2'} />
</FFormGroup>
{/*------------ Shipping Address city -----------*/}

View File

@@ -25,16 +25,16 @@ const Schema = Yup.object().shape({
note: Yup.string().trim(),
billing_address_country: Yup.string().trim(),
billing_address_1: Yup.string().trim(),
billing_address_2: Yup.string().trim(),
billing_address1: Yup.string().trim(),
billing_address2: Yup.string().trim(),
billing_address_city: Yup.string().trim(),
billing_address_state: Yup.string().trim(),
billing_address_postcode: Yup.string().nullable(),
billing_address_phone: Yup.string().nullable(),
shipping_address_country: Yup.string().trim(),
shipping_address_1: Yup.string().trim(),
shipping_address_2: Yup.string().trim(),
shipping_address1: Yup.string().trim(),
shipping_address2: Yup.string().trim(),
shipping_address_city: Yup.string().trim(),
shipping_address_state: Yup.string().trim(),
shipping_address_postcode: Yup.string().nullable(),

View File

@@ -8,7 +8,7 @@ import styled from 'styled-components';
import { CLASSES } from '@/constants/classes';
import { CreateCustomerForm, EditCustomerForm } from './CustomerForm.schema';
import { compose, transformToForm, saveInvoke } from '@/utils';
import { compose, transformToForm, saveInvoke, parseBoolean } from '@/utils';
import { useCustomerFormContext } from './CustomerFormProvider';
import { defaultInitialValues } from './utils';
@@ -60,7 +60,10 @@ function CustomerFormFormik({
// Handles the form submit.
const handleFormSubmit = (values, formArgs) => {
const { setSubmitting, resetForm } = formArgs;
const formValues = { ...values };
const formValues = {
...values,
active: parseBoolean(values.active, true),
};
const onSuccess = (res) => {
AppToaster.show({

View File

@@ -55,7 +55,7 @@ export default function CustomerFormPrimarySection({}) {
label={<T id={'company_name'} />}
inline={true}
>
<InputGroup name={'company_name'} />
<FInputGroup name={'company_name'} />
</FFormGroup>
{/*----------- Display Name -----------*/}

View File

@@ -23,16 +23,16 @@ export const defaultInitialValues = {
active: true,
billing_address_country: '',
billing_address_1: '',
billing_address_2: '',
billing_address1: '',
billing_address2: '',
billing_address_city: '',
billing_address_state: '',
billing_address_postcode: '',
billing_address_phone: '',
shipping_address_country: '',
shipping_address_1: '',
shipping_address_2: '',
shipping_address1: '',
shipping_address2: '',
shipping_address_city: '',
shipping_address_state: '',
shipping_address_postcode: '',

View File

@@ -18,16 +18,16 @@ const Schema = Yup.object().shape({
note: Yup.string().trim(),
billing_address_country: Yup.string().trim(),
billing_address_1: Yup.string().trim(),
billing_address_2: Yup.string().trim(),
billing_address1: Yup.string().trim(),
billing_address2: Yup.string().trim(),
billing_address_city: Yup.string().trim(),
billing_address_state: Yup.string().trim(),
billing_address_postcode: Yup.string().nullable(),
billing_address_phone: Yup.string().nullable(),
shipping_address_country: Yup.string().trim(),
shipping_address_1: Yup.string().trim(),
shipping_address_2: Yup.string().trim(),
shipping_address1: Yup.string().trim(),
shipping_address2: Yup.string().trim(),
shipping_address_city: Yup.string().trim(),
shipping_address_state: Yup.string().trim(),
shipping_address_postcode: Yup.string().nullable(),

View File

@@ -21,7 +21,7 @@ import VendorFloatingActions from './VendorFloatingActions';
import { withCurrentOrganization } from '@/containers/Organization/withCurrentOrganization';
import { useVendorFormContext } from './VendorFormProvider';
import { compose, transformToForm, safeInvoke } from '@/utils';
import { compose, transformToForm, safeInvoke, parseBoolean } from '@/utils';
import { defaultInitialValues } from './utils';
import '@/style/pages/Vendors/Form.scss';
@@ -69,7 +69,10 @@ function VendorFormFormik({
// Handles the form submit.
const handleFormSubmit = (values, form) => {
const { setSubmitting, resetForm } = form;
const requestForm = { ...values };
const requestForm = {
...values,
active: parseBoolean(values.active, true),
};
setSubmitting(true);

View File

@@ -22,16 +22,16 @@ export const defaultInitialValues = {
active: true,
billing_address_country: '',
billing_address_1: '',
billing_address_2: '',
billing_address1: '',
billing_address2: '',
billing_address_city: '',
billing_address_state: '',
billing_address_postcode: '',
billing_address_phone: '',
shipping_address_country: '',
shipping_address_1: '',
shipping_address_2: '',
shipping_address1: '',
shipping_address2: '',
shipping_address_city: '',
shipping_address_state: '',
shipping_address_postcode: '',