From 0de0fda98dc35bd6503f1a45a52878b154a94c75 Mon Sep 17 00:00:00 2001 From: Rafi Zadanly Date: Thu, 23 Feb 2023 10:52:40 +0700 Subject: fox --- src/lib/auth/components/CompanyProfile.jsx | 120 +++++++++++++++++++++-------- 1 file changed, 86 insertions(+), 34 deletions(-) (limited to 'src/lib/auth/components/CompanyProfile.jsx') diff --git a/src/lib/auth/components/CompanyProfile.jsx b/src/lib/auth/components/CompanyProfile.jsx index d66a0209..95575c87 100644 --- a/src/lib/auth/components/CompanyProfile.jsx +++ b/src/lib/auth/components/CompanyProfile.jsx @@ -1,32 +1,66 @@ +import odooApi from '@/core/api/odooApi' +import HookFormSelect from '@/core/components/elements/Select/HookFormSelect' import useAuth from '@/core/hooks/useAuth' import addressApi from '@/lib/address/api/addressApi' import { ChevronDownIcon, ChevronUpIcon } from '@heroicons/react/24/outline' import { useEffect, useState } from 'react' -import { useForm } from 'react-hook-form' +import { Controller, useForm } from 'react-hook-form' -const PersonalProfile = () => { +const CompanyProfile = () => { const auth = useAuth() const [isOpen, setIsOpen] = useState(false) const toggle = () => setIsOpen(!isOpen) - const { register, setValue } = useForm({ + const { register, setValue, control, handleSubmit } = useForm({ defaultValues: { - email: '', + industry: '', + companyType: '', name: '', - mobile: '', - password: '' + taxName: '', + npwp: '' } }) + const [industries, setIndustries] = useState([]) + useEffect(() => { + const loadIndustries = async () => { + const dataIndustries = await odooApi('GET', '/api/v1/partner/industry') + setIndustries(dataIndustries?.map((o) => ({ value: o.id, label: o.name }))) + } + loadIndustries() + }, []) + + const [companyTypes, setCompanyTypes] = useState([]) + useEffect(() => { + const loadCompanyTypes = async () => { + const dataCompanyTypes = await odooApi('GET', '/api/v1/partner/company_type') + setCompanyTypes(dataCompanyTypes?.map((o) => ({ value: o.id, label: o.name }))) + } + loadCompanyTypes() + }, []) + useEffect(() => { const loadProfile = async () => { - const dataProfile = await addressApi({ id: auth.partnerId }) - setValue('email', dataProfile?.email) - setValue('name', dataProfile?.name) - setValue('mobile', dataProfile?.mobile) + 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) } if (auth) loadProfile() }, [auth, setValue]) + const onSubmitHandler = async (values) => { + const data = { + ...values, + company_type_id: values.companyType, + industry_id: values.industry, + tax_name: values.taxName + }; + const isUpdated = await odooApi('PUT', `/api/v1/partner/${auth.parentId}`, data) + console.log(isUpdated); + } + return ( <> {isOpen && ( -
+
- - Klasifikasi Jenis Usaha + ( + + )} />
-
- - +
+
Nama Usaha
+
+ ( + + )} + /> +
+
+ +
- +
- +
@@ -94,4 +146,4 @@ const PersonalProfile = () => { ) } -export default PersonalProfile +export default CompanyProfile -- cgit v1.2.3