From aa44cff228f73d2546466abb6344f249881f94be Mon Sep 17 00:00:00 2001 From: it-fixcomart Date: Tue, 17 Sep 2024 13:53:52 +0700 Subject: { - const router = useRouter() + console.log('defaultValues', defaultValues); + const router = useRouter(); const { register, formState: { errors }, @@ -20,87 +21,90 @@ const EditAddress = ({ id, defaultValues }) => { watch, setValue, getValues, - control + control, } = useForm({ resolver: yupResolver(validationSchema), - defaultValues - }) + defaultValues, + }); - const [cities, setCities] = useState([]) - const [districts, setDistricts] = useState([]) - const [subDistricts, setSubDistricts] = useState([]) + const [cities, setCities] = useState([]); + const [districts, setDistricts] = useState([]); + const [subDistricts, setSubDistricts] = useState([]); useEffect(() => { const loadCities = async () => { - let dataCities = await cityApi() + let dataCities = await cityApi(); dataCities = dataCities.map((city) => ({ value: city.id, - label: city.name - })) - setCities(dataCities) - } - loadCities() - }, []) + label: city.name, + })); + setCities(dataCities); + }; + loadCities(); + }, []); - const watchCity = watch('city') + const watchCity = watch('city'); useEffect(() => { - setValue('district', '') + setValue('district', ''); if (watchCity) { const loadDistricts = async () => { - let dataDistricts = await districtApi({ cityId: watchCity }) + let dataDistricts = await districtApi({ cityId: watchCity }); dataDistricts = dataDistricts.map((district) => ({ value: district.id, - label: district.name - })) - setDistricts(dataDistricts) - let oldDistrict = getValues('oldDistrict') + label: district.name, + })); + setDistricts(dataDistricts); + let oldDistrict = getValues('oldDistrict'); if (oldDistrict) { - setValue('district', oldDistrict) - setValue('oldDistrict', '') + setValue('district', oldDistrict); + setValue('oldDistrict', ''); } - } - loadDistricts() + }; + loadDistricts(); } - }, [watchCity, setValue, getValues]) + }, [watchCity, setValue, getValues]); - const watchDistrict = watch('district') + const watchDistrict = watch('district'); useEffect(() => { - setValue('subDistrict', '') + setValue('subDistrict', ''); if (watchDistrict) { const loadSubDistricts = async () => { let dataSubDistricts = await subDistrictApi({ - districtId: watchDistrict - }) + districtId: watchDistrict, + }); dataSubDistricts = dataSubDistricts.map((district) => ({ value: district.id, - label: district.name - })) - setSubDistricts(dataSubDistricts) - let oldSubDistrict = getValues('oldSubDistrict') + label: district.name, + })); + setSubDistricts(dataSubDistricts); + let oldSubDistrict = getValues('oldSubDistrict'); if (oldSubDistrict) { - setValue('subDistrict', oldSubDistrict) - setValue('oldSubDistrict', '') + setValue('subDistrict', oldSubDistrict); + setValue('oldSubDistrict', ''); } - } - loadSubDistricts() + }; + loadSubDistricts(); } - }, [watchDistrict, setValue, getValues]) + }, [watchDistrict, setValue, getValues]); const onSubmitHandler = async (values) => { const data = { ...values, + phone: values.mobile, + street: values.street, city_id: values.city, district_id: values.district, - sub_district_id: values.subDistrict - } + sub_district_id: values.subDistrict, + }; + console.log('data', data); - const address = await editAddressApi({ id, data }) + const address = await editAddressApi({ id, data }); if (address?.id) { - toast.success('Berhasil mengubah alamat') - router.back() + toast.success('Berhasil mengubah alamat'); + router.back(); } - } + }; return (
@@ -108,7 +112,9 @@ const EditAddress = ({ id, defaultValues }) => {
-

Ubah Alamat

+

+ Ubah Alamat +

@@ -117,10 +123,16 @@ const EditAddress = ({ id, defaultValues }) => { name='type' control={control} render={(props) => ( - + )} /> -
{errors.type?.message}
+
+ {errors.type?.message} +
@@ -131,7 +143,9 @@ const EditAddress = ({ id, defaultValues }) => { type='text' className='form-input' /> -
{errors.name?.message}
+
+ {errors.name?.message} +
@@ -142,7 +156,9 @@ const EditAddress = ({ id, defaultValues }) => { type='email' className='form-input' /> -
{errors.email?.message}
+
+ {errors.email?.message} +
@@ -153,7 +169,9 @@ const EditAddress = ({ id, defaultValues }) => { type='tel' className='form-input' /> -
{errors.mobile?.message}
+
+ {errors.mobile?.message} +
@@ -164,7 +182,9 @@ const EditAddress = ({ id, defaultValues }) => { type='text' className='form-input' /> -
{errors.street?.message}
+
+ {errors.street?.message} +
@@ -175,7 +195,9 @@ const EditAddress = ({ id, defaultValues }) => { type='number' className='form-input' /> -
{errors.zip?.message}
+
+ {errors.zip?.message} +
@@ -183,9 +205,13 @@ const EditAddress = ({ id, defaultValues }) => { } + render={(props) => ( + + )} /> -
{errors.city?.message}
+
+ {errors.city?.message} +
@@ -194,10 +220,16 @@ const EditAddress = ({ id, defaultValues }) => { name='district' control={control} render={(props) => ( - + )} /> -
{errors.district?.message}
+
+ {errors.district?.message} +
@@ -206,19 +238,26 @@ const EditAddress = ({ id, defaultValues }) => { name='subDistrict' control={control} render={(props) => ( - + )} />
-
- ) -} + ); +}; const validationSchema = Yup.object().shape({ type: Yup.string().required('Harus di-pilih'), @@ -228,14 +267,14 @@ const validationSchema = Yup.object().shape({ street: Yup.string().required('Harus di-isi'), zip: Yup.string().required('Harus di-isi'), city: Yup.string().required('Harus di-pilih'), - district: Yup.string().required('Harus di-pilih') -}) + district: Yup.string().required('Harus di-pilih'), +}); const types = [ { value: 'contact', label: 'Contact Address' }, { value: 'invoice', label: 'Invoice Address' }, { value: 'delivery', label: 'Delivery Address' }, - { value: 'other', label: 'Other Address' } -] + { value: 'other', label: 'Other Address' }, +]; -export default EditAddress +export default EditAddress; -- cgit v1.2.3 From 7d5f7d239231cdfc439a57930e315586b206a0e5 Mon Sep 17 00:00:00 2001 From: it-fixcomart Date: Tue, 17 Sep 2024 15:53:06 +0700 Subject: update new register --- src/lib/address/components/EditAddress.jsx | 311 ++++++++++++++++------------- 1 file changed, 175 insertions(+), 136 deletions(-) (limited to 'src/lib/address/components/EditAddress.jsx') diff --git a/src/lib/address/components/EditAddress.jsx b/src/lib/address/components/EditAddress.jsx index 7a30a3d8..626709db 100644 --- a/src/lib/address/components/EditAddress.jsx +++ b/src/lib/address/components/EditAddress.jsx @@ -6,13 +6,16 @@ import cityApi from '../api/cityApi'; import { Controller, useForm } from 'react-hook-form'; import districtApi from '../api/districtApi'; import subDistrictApi from '../api/subDistrictApi'; +import addressApi from '@/lib/address/api/addressApi'; import editAddressApi from '../api/editAddressApi'; import HookFormSelect from '@/core/components/elements/Select/HookFormSelect'; import { toast } from 'react-hot-toast'; import Menu from '@/lib/auth/components/Menu'; +import useAuth from '@/core/hooks/useAuth'; +import odooApi from '@/core/api/odooApi'; const EditAddress = ({ id, defaultValues }) => { - console.log('defaultValues', defaultValues); + const auth = useAuth(); const router = useRouter(); const { register, @@ -31,6 +34,20 @@ const EditAddress = ({ id, defaultValues }) => { const [districts, setDistricts] = useState([]); const [subDistricts, setSubDistricts] = useState([]); + useEffect(() => { + const loadProfile = async () => { + const dataProfile = await addressApi({ id: auth.parentId }); + setValue('name', dataProfile.name); + setValue('industry', dataProfile.industryId); + setValue('companyType', dataProfile.companyTypeId); + setValue('taxName', dataProfile.taxName); + setValue('npwp', dataProfile.npwp); + setValue('alamat_wajib_pajak', dataProfile.alamatWajibPajak); + setValue('alamat_bisnis', dataProfile.alamatBisnis); + }; + if (auth) loadProfile(); + }, [auth, setValue]); + useEffect(() => { const loadCities = async () => { let dataCities = await cityApi(); @@ -92,170 +109,192 @@ const EditAddress = ({ id, defaultValues }) => { const data = { ...values, phone: values.mobile, - street: values.street, city_id: values.city, district_id: values.district, sub_district_id: values.subDistrict, }; - console.log('data', data); + const dataAlamat = { + ...values, + id_user: auth.partnerId, + company_type_id: values.companyType, + industry_id: values.industry, + tax_name: values.taxName, + alamat_lengkap_text: values.alamat_wajib_pajak, + street: values.street, + }; + + // const address = await editAddressApi({ id, data }); + const isUpdated = await odooApi( + 'PUT', + `/api/v1/partner/${auth.parentId}`, + dataAlamat + ); - const address = await editAddressApi({ id, data }); - if (address?.id) { + if (isUpdated?.id) { + // if (address?.id && isUpdated?.id) { toast.success('Berhasil mengubah alamat'); router.back(); + } else { + toast.error('Terjadi kesalahan internal'); + router.back(); } }; return ( -
-
- -
-
-

- Ubah Alamat -

-
-
-
- - ( - - )} - /> -
- {errors.type?.message} + <> +
+
+ +
+
+
+

+ Ubah Alamat +

+ {auth?.partnerId == id &&
Utama
} +
+ +
+
+ + ( + + )} + /> +
+ {errors.type?.message} +
-
-
- - -
- {errors.name?.message} +
+ + +
+ {errors.name?.message} +
-
-
- - -
- {errors.email?.message} +
+ + +
+ {errors.email?.message} +
-
-
- - -
- {errors.mobile?.message} +
+ + +
+ {errors.mobile?.message} +
-
-
- - -
- {errors.street?.message} +
+ + +
+ {errors.street?.message} +
-
-
- - -
- {errors.zip?.message} +
+ + +
+ {errors.zip?.message} +
-
-
- - ( - - )} - /> -
- {errors.city?.message} +
+ + ( + + )} + /> +
+ {errors.city?.message} +
-
-
- - ( - - )} - /> -
- {errors.district?.message} +
+ + ( + + )} + /> +
+ {errors.district?.message} +
-
-
- - ( - - )} - /> +
+ + ( + + )} + /> +
-
- - + + +
-
+ ); }; -- cgit v1.2.3 From dc3f5a3196a41c676f328aa0804af516d39e69f9 Mon Sep 17 00:00:00 2001 From: it-fixcomart Date: Tue, 17 Sep 2024 16:23:41 +0700 Subject: update new register ubah alamat --- src/lib/address/components/EditAddress.jsx | 40 ++++++++++++++++-------------- 1 file changed, 21 insertions(+), 19 deletions(-) (limited to 'src/lib/address/components/EditAddress.jsx') diff --git a/src/lib/address/components/EditAddress.jsx b/src/lib/address/components/EditAddress.jsx index 626709db..580aaeb8 100644 --- a/src/lib/address/components/EditAddress.jsx +++ b/src/lib/address/components/EditAddress.jsx @@ -37,7 +37,6 @@ const EditAddress = ({ id, defaultValues }) => { useEffect(() => { const loadProfile = async () => { const dataProfile = await addressApi({ id: auth.parentId }); - setValue('name', dataProfile.name); setValue('industry', dataProfile.industryId); setValue('companyType', dataProfile.companyTypeId); setValue('taxName', dataProfile.taxName); @@ -113,25 +112,28 @@ const EditAddress = ({ id, defaultValues }) => { district_id: values.district, sub_district_id: values.subDistrict, }; - const dataAlamat = { - ...values, - id_user: auth.partnerId, - company_type_id: values.companyType, - industry_id: values.industry, - tax_name: values.taxName, - alamat_lengkap_text: values.alamat_wajib_pajak, - street: values.street, - }; - - // const address = await editAddressApi({ id, data }); - const isUpdated = await odooApi( - 'PUT', - `/api/v1/partner/${auth.parentId}`, - dataAlamat - ); + const address = await editAddressApi({ id, data }); + let dataAlamat; + let isUpdated = true; + if (auth?.partnerId == id) { + dataAlamat = { + ...values, + id_user: auth.partnerId, + company_type_id: values.companyType, + industry_id: values.industry, + tax_name: values.taxName, + alamat_lengkap_text: values.alamat_wajib_pajak, + street: values.street, + }; + isUpdated = await odooApi( + 'PUT', + `/api/v1/partner/${auth.parentId}`, + dataAlamat + ); + } - if (isUpdated?.id) { - // if (address?.id && isUpdated?.id) { + // if (isUpdated?.id) { + if (address?.id) { toast.success('Berhasil mengubah alamat'); router.back(); } else { -- cgit v1.2.3 From 81f06d02bef8701be568e7418828d925925c5b12 Mon Sep 17 00:00:00 2001 From: it-fixcomart Date: Fri, 20 Sep 2024 10:58:20 +0700 Subject: update new register disebled email --- src/lib/address/components/EditAddress.jsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/lib/address/components/EditAddress.jsx') diff --git a/src/lib/address/components/EditAddress.jsx b/src/lib/address/components/EditAddress.jsx index 580aaeb8..590a0bc0 100644 --- a/src/lib/address/components/EditAddress.jsx +++ b/src/lib/address/components/EditAddress.jsx @@ -29,7 +29,6 @@ const EditAddress = ({ id, defaultValues }) => { resolver: yupResolver(validationSchema), defaultValues, }); - const [cities, setCities] = useState([]); const [districts, setDistricts] = useState([]); const [subDistricts, setSubDistricts] = useState([]); @@ -195,6 +194,7 @@ const EditAddress = ({ id, defaultValues }) => { placeholder='johndoe@example.com' type='email' className='form-input' + disabled={auth?.partnerId == id && true} />
{errors.email?.message} -- cgit v1.2.3 From 7fb2329475fe2a671127251370436c56f79d24d8 Mon Sep 17 00:00:00 2001 From: it-fixcomart Date: Fri, 20 Sep 2024 13:45:57 +0700 Subject: update error edit alamat --- src/lib/address/components/EditAddress.jsx | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'src/lib/address/components/EditAddress.jsx') diff --git a/src/lib/address/components/EditAddress.jsx b/src/lib/address/components/EditAddress.jsx index 590a0bc0..ff6b1f12 100644 --- a/src/lib/address/components/EditAddress.jsx +++ b/src/lib/address/components/EditAddress.jsx @@ -42,6 +42,7 @@ const EditAddress = ({ id, defaultValues }) => { setValue('npwp', dataProfile.npwp); setValue('alamat_wajib_pajak', dataProfile.alamatWajibPajak); setValue('alamat_bisnis', dataProfile.alamatBisnis); + setValue('business_name', dataProfile.name); }; if (auth) loadProfile(); }, [auth, setValue]); @@ -102,7 +103,6 @@ const EditAddress = ({ id, defaultValues }) => { loadSubDistricts(); } }, [watchDistrict, setValue, getValues]); - const onSubmitHandler = async (values) => { const data = { ...values, @@ -116,13 +116,15 @@ const EditAddress = ({ id, defaultValues }) => { let isUpdated = true; if (auth?.partnerId == id) { dataAlamat = { - ...values, id_user: auth.partnerId, company_type_id: values.companyType, industry_id: values.industry, tax_name: values.taxName, alamat_lengkap_text: values.alamat_wajib_pajak, street: values.street, + business_name: values.business_name, + name: values.business_name, + npwp: values.npwp, }; isUpdated = await odooApi( 'PUT', @@ -132,7 +134,7 @@ const EditAddress = ({ id, defaultValues }) => { } // if (isUpdated?.id) { - if (address?.id) { + if (address?.id && isUpdated?.id) { toast.success('Berhasil mengubah alamat'); router.back(); } else { -- cgit v1.2.3