in src/Frontend/src/forms/user/FormCreateUser.tsx [70:159]
groups: mapToOptionType(groupsOptions),
organizations_utils: organizationUtilsOptions
});
}
getDataOptions();
}, [rolesOptions, organizationsOptions, groupsOptions, organizationUtilsOptions]);
const form = useForm<z.infer<typeof formData.schema>>({
resolver: zodResolver(formData.schema),
defaultValues: formData.defaultValues || SchemaCreateUserDefaultValues
});
const [type, role_id, organizations, groups] = form.watch(['type', 'role_id', 'organizations', 'groups']);
const isAdminRole = useCallback(() => {
if (isEmpty(defaultOptions.role_id)) return false;
const roleItem = defaultOptions.role_id.find(role => role.id === role_id);
if (!roleItem) return false;
if (ROLE_ADMIN_ARRAY.includes(roleItem.label)) return true;
return false;
}, [defaultOptions, role_id]);
const isStateManagerRole = useCallback(() => {
if (isEmpty(defaultOptions.role_id)) return false;
const roleItem = defaultOptions.role_id.find(role => role.id === role_id);
if (!roleItem) return false;
if (ROLE_STATE_MANAGER_ARRAY.includes(roleItem.label)) return true;
return false;
}, [defaultOptions, role_id]);
const isRegionManagerRole = useCallback(() => {
if (isEmpty(defaultOptions.role_id)) return false;
const roleItem = defaultOptions.role_id.find(role => role.id === role_id);
if (!roleItem) return false;
if (ROLE_REGIONAL_MANAGER_ARRAY.includes(roleItem.label)) return true;
return false;
}, [defaultOptions, role_id]);
const isCountyManagerRole = useCallback(() => {
if (isEmpty(defaultOptions.role_id)) return false;
const roleItem = defaultOptions.role_id.find(role => role.id === role_id);
if (!roleItem) return false;
if (ROLE_COUNTY_MANAGER_ARRAY.includes(roleItem.label)) return true;
return false;
}, [defaultOptions, role_id]);
const isSchoolManagerRole = useCallback(() => {
if (isEmpty(defaultOptions.role_id)) return false;
const roleItem = defaultOptions.role_id.find(role => role.id === role_id);
if (!roleItem) return false;
if (ROLE_SCHOOL_MANAGER_ARRAY.includes(roleItem.label)) return true;
return false;
}, [defaultOptions, role_id]);
const isStudentRole = useCallback((): boolean => {
if (isEmpty(defaultOptions.role_id)) return false;
const roleItem = defaultOptions.role_id.find(role => role.id === role_id);
if (!roleItem) return false;
if (ROLE_STUDENT_ARRAY.includes(roleItem.label)) return true;
return false;
}, [defaultOptions, role_id]);
useEffect(() => {
if (isEmpty(role_id)) {
form.unregister(['organizations', 'groups', 'state', 'region', 'county'])
}
}, [role_id, form])
const onSubmit = async (values: z.infer<typeof formData.schema>) => {
setLoading(true)
try {
await createUser(values);
toast.success(t('toast.success.form.user_created'))
setOpen(false)
} catch (error: any) {
if (error.response.status === 409) {