From 866111aa4cec335c61f93196389c63e5a54aa797 Mon Sep 17 00:00:00 2001 From: swve Date: Thu, 13 Jun 2024 22:42:30 +0100 Subject: [PATCH] feat: usergroups bugs --- .../Dash/OrgAccess/OrgInviteCodeGenerate.tsx | 3 +- .../Dash/OrgUserGroups/AddUserGroup.tsx | 109 +++++++++--------- .../Modals/Dash/OrgUserGroups/ManageUsers.tsx | 10 +- 3 files changed, 61 insertions(+), 61 deletions(-) diff --git a/apps/web/components/Objects/Modals/Dash/OrgAccess/OrgInviteCodeGenerate.tsx b/apps/web/components/Objects/Modals/Dash/OrgAccess/OrgInviteCodeGenerate.tsx index ce67f16a..d2b46a11 100644 --- a/apps/web/components/Objects/Modals/Dash/OrgAccess/OrgInviteCodeGenerate.tsx +++ b/apps/web/components/Objects/Modals/Dash/OrgAccess/OrgInviteCodeGenerate.tsx @@ -17,9 +17,10 @@ function OrgInviteCodeGenerate(props: OrgInviteCodeGenerateProps) { const session = useLHSession() as any const access_token = session?.data?.tokens?.access_token; const [usergroup_id, setUsergroup_id] = React.useState(0); + const { data: usergroups } = useSWR( org ? `${getAPIUrl()}usergroups/org/${org.id}` : null, - swrFetcher + (url) => swrFetcher(url, access_token) ) async function createInviteWithUserGroup() { diff --git a/apps/web/components/Objects/Modals/Dash/OrgUserGroups/AddUserGroup.tsx b/apps/web/components/Objects/Modals/Dash/OrgUserGroups/AddUserGroup.tsx index 9429cd08..9325e264 100644 --- a/apps/web/components/Objects/Modals/Dash/OrgUserGroups/AddUserGroup.tsx +++ b/apps/web/components/Objects/Modals/Dash/OrgUserGroups/AddUserGroup.tsx @@ -4,6 +4,7 @@ import FormLayout, { Flex, FormField, FormLabel, + FormLabelAndMessage, FormMessage, Input, } from '@components/StyledElements/Form/Form' @@ -15,86 +16,84 @@ import { createUserGroup } from '@services/usergroups/usergroups' import { mutate } from 'swr' import { getAPIUrl } from '@services/config/config' import { useLHSession } from '@components/Contexts/LHSessionContext' +import { useFormik } from 'formik' type AddUserGroupProps = { setCreateUserGroupModal: any } +const validate = (values: any) => { + const errors: any = {} + + if (!values.name) { + errors.name = 'Name is Required' + } + + return errors +} function AddUserGroup(props: AddUserGroupProps) { const org = useOrg() as any; const session = useLHSession() as any const access_token = session?.data?.tokens?.access_token; - const [userGroupName, setUserGroupName] = React.useState('') - const [userGroupDescription, setUserGroupDescription] = React.useState('') const [isSubmitting, setIsSubmitting] = React.useState(false) - const handleNameChange = (event: React.ChangeEvent) => { - setUserGroupName(event.target.value) - } - - const handleDescriptionChange = (event: React.ChangeEvent) => { - setUserGroupDescription(event.target.value) - } - - const handleSubmit = async (event: React.FormEvent) => { - event.preventDefault() - setIsSubmitting(true) - - const obj = { - name: userGroupName, - description: userGroupDescription, + const formik = useFormik({ + initialValues: { + name: '', + description: '', org_id: org.id - } - const res = await createUserGroup(obj, access_token) - if (res.status == 200) { - setIsSubmitting(false) - mutate(`${getAPIUrl()}usergroups/org/${org.id}`) - props.setCreateUserGroupModal(false) + }, + validate, + onSubmit: async (values) => { + setIsSubmitting(true) + const res = await createUserGroup(values, access_token) + if (res.status == 200) { + setIsSubmitting(false) + mutate(`${getAPIUrl()}usergroups/org/${org.id}`) + props.setCreateUserGroupModal(false) - } else { - setIsSubmitting(false) - } - } + } else { + setIsSubmitting(false) + } + }, + }) return ( - + - - Name - - Please provide a ug name - - + - + - - Description - - Please provide a ug description - - + - + - +
- - {isSubmitting ? ( - - ) : ( - 'Create UserGroup' - )} - + - +
) } diff --git a/apps/web/components/Objects/Modals/Dash/OrgUserGroups/ManageUsers.tsx b/apps/web/components/Objects/Modals/Dash/OrgUserGroups/ManageUsers.tsx index f47f9cf1..3e41c8de 100644 --- a/apps/web/components/Objects/Modals/Dash/OrgUserGroups/ManageUsers.tsx +++ b/apps/web/components/Objects/Modals/Dash/OrgUserGroups/ManageUsers.tsx @@ -16,14 +16,14 @@ type ManageUsersProps = { function ManageUsers(props: ManageUsersProps) { const org = useOrg() as any const session = useLHSession() as any - const access_token = session?.data?.tokens?.access_token; + const access_token = session?.data?.tokens?.access_token; const { data: OrgUsers } = useSWR( org ? `${getAPIUrl()}orgs/${org.id}/users` : null, - swrFetcher + (url) => swrFetcher(url, access_token) ) const { data: UGusers } = useSWR( org ? `${getAPIUrl()}usergroups/${props.usergroup_id}/users` : null, - swrFetcher + (url) => swrFetcher(url, access_token) ) const isUserPartOfGroup = (user_id: any) => { @@ -34,7 +34,7 @@ function ManageUsers(props: ManageUsersProps) { } const handleLinkUser = async (user_id: any) => { - const res = await linkUserToUserGroup(props.usergroup_id, user_id,access_token) + const res = await linkUserToUserGroup(props.usergroup_id, user_id, access_token) if (res.status === 200) { toast.success('User linked successfully') mutate(`${getAPIUrl()}usergroups/${props.usergroup_id}/users`) @@ -44,7 +44,7 @@ function ManageUsers(props: ManageUsersProps) { } const handleUnlinkUser = async (user_id: any) => { - const res = await unLinkUserToUserGroup(props.usergroup_id, user_id,access_token) + const res = await unLinkUserToUserGroup(props.usergroup_id, user_id, access_token) if (res.status === 200) { toast.success('User unlinked successfully') mutate(`${getAPIUrl()}usergroups/${props.usergroup_id}/users`)