@@ -46,7 +46,7 @@ const CreateCompany: React.FC<Props> = ({ | |||||
async (data) => { | async (data) => { | ||||
try { | try { | ||||
let haveError = false | let haveError = false | ||||
if (companyCodes.includes(data.companyCode)) { | |||||
if (companyCodes.includes(data.companyCode.toLowerCase().trim())) { | |||||
haveError = true | haveError = true | ||||
formProps.setError("companyCode", { message: t("Duplicated Code."), type: "required" }) | formProps.setError("companyCode", { message: t("Duplicated Code."), type: "required" }) | ||||
} | } | ||||
@@ -57,8 +57,8 @@ const CreateCompany: React.FC<Props> = ({ | |||||
console.log("passed") | console.log("passed") | ||||
setServerError(""); | setServerError(""); | ||||
// console.log(JSON.stringify(data)); | // console.log(JSON.stringify(data)); | ||||
// await saveCompany(data) | |||||
// router.replace("/settings/company"); | |||||
await saveCompany(data) | |||||
router.replace("/settings/company"); | |||||
} catch (e) { | } catch (e) { | ||||
setServerError(t("An error has occurred. Please try again later.")); | setServerError(t("An error has occurred. Please try again later.")); | ||||
} | } | ||||
@@ -1,7 +1,7 @@ | |||||
import { fetchCompanyDetails, fetchCompanys } from "@/app/api/companys"; | import { fetchCompanyDetails, fetchCompanys } from "@/app/api/companys"; | ||||
import CreateCompany from "./CreateCompany"; | import CreateCompany from "./CreateCompany"; | ||||
type CreateCompanyProps = {isEdit: false} | |||||
type CreateCompanyProps = { isEdit: false } | |||||
interface EditCompanyProps { | interface EditCompanyProps { | ||||
isEdit: true; | isEdit: true; | ||||
companyId?: string; | companyId?: string; | ||||
@@ -14,12 +14,12 @@ const CreateCompanyWrapper: React.FC<Props> = async (props) => { | |||||
// console.log(props) | // console.log(props) | ||||
const companyDetails = props.isEdit | const companyDetails = props.isEdit | ||||
? await fetchCompanyDetails(props.companyId!) | |||||
: undefined; | |||||
const [ company ] = await Promise.all([fetchCompanys()]) | |||||
? await fetchCompanyDetails(props.companyId!) | |||||
: undefined; | |||||
const [company] = await Promise.all([fetchCompanys()]) | |||||
console.log(company) | console.log(company) | ||||
return ( | return ( | ||||
<CreateCompany companyCodes={company.map(c => c.companyCode)} isEdit company={companyDetails} | |||||
<CreateCompany companyCodes={Boolean(companyDetails) ? company.map(c => c.companyCode.toLowerCase().trim()).filter(ele => ele !== companyDetails?.companyCode.toLowerCase().trim()) : company.map(c => c.companyCode.toLowerCase().trim())} isEdit company={companyDetails} | |||||
/> | /> | ||||
) | ) | ||||
} | } | ||||
@@ -51,7 +51,7 @@ const CreateDepartment: React.FC<Props> = ({ | |||||
try { | try { | ||||
console.log(data); | console.log(data); | ||||
let haveError = false | let haveError = false | ||||
if (depCodes.includes(data.code)) { | |||||
if (depCodes.includes(data.code.toLowerCase().trim())) { | |||||
formProps.setError("code", { message: t("Duplicated code."), type: "required" }) | formProps.setError("code", { message: t("Duplicated code."), type: "required" }) | ||||
haveError = true | haveError = true | ||||
} | } | ||||
@@ -20,7 +20,7 @@ const CreateDepartmentWrapper: React.FC<Props> = async (props) => { | |||||
const [ department ] = await Promise.all([fetchDepartments()]) | const [ department ] = await Promise.all([fetchDepartments()]) | ||||
return ( | return ( | ||||
<CreateDepartment depCodes={department.map(d => d.code)} isEdit department={departmentInfo} | |||||
<CreateDepartment depCodes={Boolean(departmentInfo) ? department.map(d => d.code.toLowerCase().trim()).filter(code => code !== departmentInfo?.code.toLowerCase().trim()) : department.map(d => d.code.toLowerCase().trim())} isEdit department={departmentInfo} | |||||
/> | /> | ||||
); | ); | ||||
}; | }; | ||||
@@ -25,6 +25,7 @@ const CreateSkill: React.FC<Props> = ({ | |||||
skill | skill | ||||
}) => { | }) => { | ||||
const codeList = skill.map(s => s.code.toLowerCase().trim()) | const codeList = skill.map(s => s.code.toLowerCase().trim()) | ||||
console.log(codeList) | |||||
const formProps = useForm<CreateSkillInputs>(); | const formProps = useForm<CreateSkillInputs>(); | ||||
const [serverError, setServerError] = useState(""); | const [serverError, setServerError] = useState(""); | ||||
const router = useRouter(); | const router = useRouter(); | ||||
@@ -30,12 +30,14 @@ import AuthAllocation from "../EditUser/AuthAllocation"; | |||||
interface Props { | interface Props { | ||||
skills: SkillResult[]; | skills: SkillResult[]; | ||||
skillList: SkillResult[]; | |||||
} | } | ||||
const EditSkill: React.FC<Props> = async ({ | const EditSkill: React.FC<Props> = async ({ | ||||
skills | |||||
skills, | |||||
skillList | |||||
}) => { | }) => { | ||||
const codeList = skills.map(s => s.code.toLowerCase().trim()) | |||||
const codeList = skillList.map(s => s.code.toLowerCase().trim()).filter(code => code !== skills[0].code.toLowerCase().trim()) | |||||
const { t } = useTranslation(); | const { t } = useTranslation(); | ||||
const formProps = useForm<CreateSkillInputs>(); | const formProps = useForm<CreateSkillInputs>(); | ||||
const [serverError, setServerError] = useState(""); | const [serverError, setServerError] = useState(""); | ||||
@@ -106,6 +108,7 @@ const EditSkill: React.FC<Props> = async ({ | |||||
}, []); | }, []); | ||||
useEffect(() => { | useEffect(() => { | ||||
console.log(skills) | |||||
resetSkill() | resetSkill() | ||||
}, [skills]); | }, [skills]); | ||||
@@ -15,8 +15,9 @@ interface Props { | |||||
const EditSkillWrapper: React.FC<Props> & SubComponents = async ({ id }) => { | const EditSkillWrapper: React.FC<Props> & SubComponents = async ({ id }) => { | ||||
const skills = await fetchSkillDetail(id) | const skills = await fetchSkillDetail(id) | ||||
const skillList = await fetchSkill() | |||||
return <EditSkill skills={skills}/>; | |||||
return <EditSkill skills={skills} skillList={skillList}/>; | |||||
}; | }; | ||||
EditSkillWrapper.Loading = EditSkillLoading; | EditSkillWrapper.Loading = EditSkillLoading; | ||||
@@ -95,6 +95,8 @@ const EditTeam: React.FC<Props> = async ({ staff, teamInfo }) => { | |||||
description: data.description, | description: data.description, | ||||
addStaffIds: data.addStaffIds, | addStaffIds: data.addStaffIds, | ||||
deleteStaffIds: data.deleteStaffIds, | deleteStaffIds: data.deleteStaffIds, | ||||
code: data.code, | |||||
name: data.name, | |||||
id: parseInt(idString!!), | id: parseInt(idString!!), | ||||
} as CreateTeamInputs | } as CreateTeamInputs | ||||
console.log(tempData); | console.log(tempData); | ||||