Revize ed410564
Přidáno uživatelem Michal Schwob před asi 2 roky(ů)
frontend/src/features/Administration/UserDetail.tsx | ||
---|---|---|
5 | 5 |
Paper, |
6 | 6 |
Typography, |
7 | 7 |
FormGroup, |
8 |
FormControlLabel, Container
|
|
8 |
FormControlLabel |
|
9 | 9 |
} from '@mui/material' |
10 | 10 |
import React, {Fragment, useEffect, useState} from 'react' |
11 | 11 |
import axiosInstance from "../../api/api" |
... | ... | |
14 | 14 |
import ClearIcon from "@mui/icons-material/Clear" |
15 | 15 |
import CheckIcon from '@mui/icons-material/Check'; |
16 | 16 |
import {useDispatch, useSelector} from "react-redux" |
17 |
import {fetchUsers, savePermissions} from "./userDetailThunks"
|
|
17 |
import {deleteUser, savePermissions} from "./userDetailThunks"
|
|
18 | 18 |
import {RootState} from "../redux/store" |
19 | 19 |
import {setSelectedUserPermissions} from "./userDetailSlice" |
20 | 20 |
|
21 | 21 |
export interface UserDetailProps { |
22 |
user: UserDto, |
|
23 |
onClose: () => void |
|
22 |
user: UserDto |
|
24 | 23 |
} |
25 | 24 |
|
26 | 25 |
const UserDetail = (props: UserDetailProps) => { |
27 |
const selectedUser = useSelector((state: RootState) => state.usersDetail.selectedUser) |
|
26 |
const selectedUser: UserDto | undefined = useSelector((state: RootState) => state.usersDetail.selectedUser)
|
|
28 | 27 |
const [canRead, setCanRead] = useState(selectedUser?.permissions?.canRead) |
29 | 28 |
const [canWrite, setCanWrite] = useState(selectedUser?.permissions?.canWrite) |
30 | 29 |
const [canDelete, setCanDelete] = useState(selectedUser?.permissions?.canDelete) |
... | ... | |
69 | 68 |
} |
70 | 69 |
|
71 | 70 |
|
72 |
const deleteUser = async () => { |
|
73 |
const { data, status } = await axiosInstance.delete( |
|
74 |
`/users/${selectedUser?.email}` |
|
75 |
) |
|
76 |
if (status !== 200) { |
|
77 |
// TODO dodělat zpracování erroru |
|
78 |
return |
|
79 |
} |
|
80 |
props.onClose(); |
|
71 |
const prepareDeleteUser = async () => { |
|
72 |
dispatch(deleteUser()) |
|
81 | 73 |
} |
82 | 74 |
|
83 | 75 |
const prepareSavePermissions = () => { |
84 | 76 |
dispatch(setSelectedUserPermissions({canRead: canRead, canWrite: canWrite, canDelete: canDelete})) |
85 | 77 |
dispatch(savePermissions()) |
86 |
dispatch(fetchUsers()) |
|
87 | 78 |
} |
88 | 79 |
|
89 | 80 |
return ( |
... | ... | |
139 | 130 |
<Button startIcon={<ClearIcon />} |
140 | 131 |
variant="contained" |
141 | 132 |
color="primary" |
142 |
onClick={deleteUser}
|
|
133 |
onClick={prepareDeleteUser}
|
|
143 | 134 |
sx={{ m: 2 }} > |
144 | 135 |
Delete |
145 | 136 |
</Button> |
Také k dispozici: Unified diff
Administation page finished
re #9818