浏览代码

edit user fix

tags/Baseline_30082024_FRONTEND_UAT
MSI\derek 1年前
父节点
当前提交
bc513b59b6
共有 6 个文件被更改,包括 29 次插入15 次删除
  1. +1
    -0
      src/app/api/user/actions.ts
  2. +1
    -1
      src/components/EditTeam/EditTeam.tsx
  3. +5
    -2
      src/components/EditUser/EditUser.tsx
  4. +8
    -6
      src/components/EditUser/EditUserWrapper.tsx
  5. +2
    -2
      src/components/EditUser/UserDetail.tsx
  6. +12
    -4
      src/components/EditUserGroup/EditUserGroup.tsx

+ 1
- 0
src/app/api/user/actions.ts 查看文件

@@ -7,6 +7,7 @@ import { UserDetail, UserResult } from ".";
import { cache } from "react";

export interface UserInputs {
username: string;
name: string;
email?: string;
addAuthIds?: number[];


+ 1
- 1
src/components/EditTeam/EditTeam.tsx 查看文件

@@ -175,7 +175,7 @@ const EditTeam: React.FC<Props> = async ({ staff, teamInfo }) => {
<Button
variant="outlined"
startIcon={<Close />}
// onClick={handleCancel}
onClick={() => router.back()}
>
{t("Cancel")}
</Button>


+ 5
- 2
src/components/EditUser/EditUser.tsx 查看文件

@@ -50,6 +50,7 @@ interface Props {
}

const EditUser: React.FC<Props> = async ({ user, rules, auths }) => {
console.log(user)
const { t } = useTranslation("user");
const formProps = useForm<UserInputs>();
const searchParams = useSearchParams();
@@ -79,7 +80,7 @@ const EditUser: React.FC<Props> = async ({ user, rules, auths }) => {
console.log(addAuthIds);
try {
formProps.reset({
name: user.username,
username: user.username,
email: user.email,
addAuthIds: addAuthIds,
removeAuthIds: [],
@@ -145,7 +146,8 @@ const EditUser: React.FC<Props> = async ({ user, rules, auths }) => {
}
}
const userData = {
name: data.name,
username: data.username,
name: user.name,
locked: false,
addAuthIds: data.addAuthIds || [],
removeAuthIds: data.removeAuthIds || [],
@@ -159,6 +161,7 @@ const EditUser: React.FC<Props> = async ({ user, rules, auths }) => {
return;
}
console.log("passed");
console.log(userData);
await editUser(id, userData);
if (data.password && data.password.length > 0) {
await adminChangePassword(pwData);


+ 8
- 6
src/components/EditUser/EditUserWrapper.tsx 查看文件

@@ -15,14 +15,16 @@ interface SubComponents {
}

const EditUserWrapper: React.FC<searchParamsProps> & SubComponents = async ({
searchParams
searchParams,
}) => {
const id = parseInt(searchParams.id as string)
const pwRule = await fetchPwRules()
const user = await fetchUserDetails(id);
const auths = await fetchAuth("user", id);
const id = parseInt(searchParams.id as string);
const [pwRule, user, auths] = await Promise.all([
fetchPwRules(),
fetchUserDetails(id),
fetchAuth("user", id),
]);

return <EditUser user={user.data} rules={pwRule} auths={auths.records}/>
return <EditUser user={user.data} rules={pwRule} auths={auths.records} />;
};

EditUserWrapper.Loading = EditUserLoading;


+ 2
- 2
src/components/EditUser/UserDetail.tsx 查看文件

@@ -34,10 +34,10 @@ const UserDetail: React.FC = () => {
<TextField
label={t("username")}
fullWidth
{...register("name", {
{...register("username", {
required: "username required!",
})}
error={Boolean(errors.name)}
error={Boolean(errors.username)}
/>
</Grid>
<Grid item xs={6}>


+ 12
- 4
src/components/EditUserGroup/EditUserGroup.tsx 查看文件

@@ -13,7 +13,7 @@ import {
useForm,
useFormContext,
} from "react-hook-form";
import { Check, Close, Error } from "@mui/icons-material";
import { Check, Close, Error, RestartAlt } from "@mui/icons-material";
import { StaffResult } from "@/app/api/staff";
import { CreateGroupInputs, auth, fetchAuth, saveGroup } from "@/app/api/group/actions";
import { IndivUserGroup, UserGroupResult } from "@/app/api/group";
@@ -86,11 +86,12 @@ const EditUserGroup: React.FC<Props> = ({ users, auths, group }) => {
addAuthIds: group.authIds,
addUserIds: group.userIds,
})
}, []);
}, [group, users]);

useEffect(() => {
resetGroup()
}, [group, users]);
}, []);
// }, [group, users]);

return (
<>
@@ -136,10 +137,17 @@ const EditUserGroup: React.FC<Props> = ({ users, auths, group }) => {
{tabIndex === 1 && <AuthorityAllocation auth={auths!!}/>}
{tabIndex === 2 && <UserAllocation users={users!!} />}
<Stack direction="row" justifyContent="flex-end" gap={1}>
<Button
variant="text"
startIcon={<RestartAlt />}
onClick={resetGroup}
>
{t("Reset")}
</Button>
<Button
variant="outlined"
startIcon={<Close />}
// onClick={handleCancel}
onClick={() => router.back()}
>
{t("Cancel")}
</Button>


正在加载...
取消
保存