From 3bfe51a09c2de5f2edab13d3b3d9cc1887b8498c Mon Sep 17 00:00:00 2001
From: RaccoonLi <88028886+RaccoonLi@users.noreply.github.com>
Date: Thu, 3 Nov 2022 15:04:49 +0800
Subject: [PATCH] Team & Team Member Management (#108)
* Team & Member Management Page
* Fix
* Add Member as Team Manager
* Add Get Authorized Team List
---
react/src/component/BaseView.jsx | 18 ++
react/src/component/Dashboard.jsx | 12 +-
react/src/component/HeaderView.jsx | 30 +-
react/src/component/TeamManagement.jsx | 321 +++++++++++++++++++++
react/src/component/TeamUserManagement.jsx | 293 +++++++++++++++++++
5 files changed, 649 insertions(+), 25 deletions(-)
create mode 100644 react/src/component/TeamManagement.jsx
create mode 100644 react/src/component/TeamUserManagement.jsx
diff --git a/react/src/component/BaseView.jsx b/react/src/component/BaseView.jsx
index 14c813eec..e9152d1fc 100644
--- a/react/src/component/BaseView.jsx
+++ b/react/src/component/BaseView.jsx
@@ -9,6 +9,7 @@ export default class BaseView extends React.Component {
snackbarIsShown: false,
snackbarSeverity: null,
snackbarMessage: null,
+ userInfo: null,
teamList: null,
defaultTeam: null
}
@@ -67,6 +68,23 @@ export default class BaseView extends React.Component {
console.log(event.target.files[0].name)
}
+ getUserInfo = () => {
+ axios.get('/api/auth/getUser').then(res => {
+ if (res.data && res.data.code === 200) {
+ console.log(res.data.content)
+ this.setState({
+ userInfo: res.data.content
+ })
+ } else {
+ this.snackBarFail(res)
+ }
+ }).catch((error) => {
+ this.snackBarError(error)
+ })
+ console.log(this.state.userInfo)
+ }
+
+
refreshTeamList() {
this.setState({
teamList: null,
diff --git a/react/src/component/Dashboard.jsx b/react/src/component/Dashboard.jsx
index b6fb4f021..88594d402 100644
--- a/react/src/component/Dashboard.jsx
+++ b/react/src/component/Dashboard.jsx
@@ -27,6 +27,7 @@ import {ThemeProvider} from '@material-ui/styles';
import Container from '@mui/material/Container';
import axios from "@/axios";
import TestJsonView from './TestJsonView';
+import TeamManagement from "@/component/TeamManagement";
const drawerWidth = 240;
@@ -239,6 +240,12 @@ export default function Dashboard() {
+
+
+ people
+
+
+
@@ -248,7 +255,7 @@ export default function Dashboard() {
@@ -299,6 +306,9 @@ export default function Dashboard() {
+
+
+
}/>
diff --git a/react/src/component/HeaderView.jsx b/react/src/component/HeaderView.jsx
index dcc3f945b..b0885f474 100644
--- a/react/src/component/HeaderView.jsx
+++ b/react/src/component/HeaderView.jsx
@@ -24,7 +24,6 @@ import Button from "@mui/material/Button";
export default class HeaderView extends BaseView {
state = {
- userName: null,
avatarOpen: false,
helpOpen: false,
portalVersion: "",
@@ -35,8 +34,8 @@ export default class HeaderView extends BaseView {
render() {
const settings = [
- { text: this.state.userName, dialog: null },
- { text: `Default Team: ${this.state.defaultTeam ? this.state.defaultTeam.teamName : 'Loading'}`, dialog: 'changeDefaultTeamIsShown' },
+ { text: this.state.userInfo ? this.state.userInfo.userName : 'Loading', dialog: null },
+ { text: `Default Team: ${this.state.userInfo && this.state.userInfo.defaultTeamName ? this.state.userInfo.defaultTeamName : 'Loading'}`, dialog: 'changeDefaultTeamIsShown' },
{ text: 'Logout', dialog: null }
];
const helpSettings = [
@@ -93,7 +92,7 @@ export default class HeaderView extends BaseView {
this.handleStatus("avatarOpen", true)}
sx={{p: 0}}>
-
+