mirror of
https://github.com/fleetdm/fleet
synced 2026-05-23 17:08:53 +00:00
Fix rename team bug on team details page (#4300)
This commit is contained in:
parent
f5376de02d
commit
85d0a8a7af
1 changed files with 17 additions and 5 deletions
|
|
@ -14,12 +14,14 @@ import { AppContext } from "context/app";
|
|||
// @ts-ignore
|
||||
import { renderFlash } from "redux/nodes/notifications/actions";
|
||||
import teamsAPI from "services/entities/teams";
|
||||
import usersAPI, { IGetMeResponse } from "services/entities/users";
|
||||
import enrollSecretsAPI from "services/entities/enroll_secret";
|
||||
import teamActions from "redux/nodes/entities/teams/actions";
|
||||
import {
|
||||
IEnrollSecret,
|
||||
IEnrollSecretsResponse,
|
||||
} from "interfaces/enroll_secret";
|
||||
import permissions from "utilities/permissions";
|
||||
import sortUtils from "utilities/sort";
|
||||
import Spinner from "components/Spinner";
|
||||
import Button from "components/buttons/Button";
|
||||
|
|
@ -102,15 +104,17 @@ const TeamDetailsWrapper = ({
|
|||
const handlePageError = useErrorHandler();
|
||||
const teamIdFromURL = parseInt(routeParams.team_id, 10) || 0;
|
||||
const {
|
||||
availableTeams,
|
||||
currentUser,
|
||||
isGlobalAdmin,
|
||||
currentTeam,
|
||||
isOnGlobalTeam,
|
||||
isPremiumTier,
|
||||
setAvailableTeams,
|
||||
setCurrentUser,
|
||||
setCurrentTeam,
|
||||
} = useContext(AppContext);
|
||||
|
||||
const userTeams = currentUser?.teams || [];
|
||||
const routeTemplate = route && route.path ? route.path : "";
|
||||
|
||||
const [selectedSecret, setSelectedSecret] = useState<IEnrollSecret>();
|
||||
|
|
@ -125,6 +129,13 @@ const TeamDetailsWrapper = ({
|
|||
const [showDeleteTeamModal, setShowDeleteTeamModal] = useState(false);
|
||||
const [showEditTeamModal, setShowEditTeamModal] = useState(false);
|
||||
|
||||
const { refetch: refetchMe } = useQuery(["me"], () => usersAPI.me(), {
|
||||
onSuccess: ({ user, available_teams }: IGetMeResponse) => {
|
||||
setCurrentUser(user);
|
||||
setAvailableTeams(available_teams);
|
||||
},
|
||||
});
|
||||
|
||||
const {
|
||||
data: teams,
|
||||
isLoading: isLoadingTeams,
|
||||
|
|
@ -299,6 +310,7 @@ const TeamDetailsWrapper = ({
|
|||
dispatch(teamActions.loadAll({ perPage: 500 }));
|
||||
dispatch(renderFlash("success", "Team updated"));
|
||||
refetchTeams();
|
||||
refetchMe();
|
||||
// TODO: error handling
|
||||
})
|
||||
.catch(() => null);
|
||||
|
|
@ -351,10 +363,10 @@ const TeamDetailsWrapper = ({
|
|||
const hostCount = currentTeam.host_count;
|
||||
const hostsTotalDisplay =
|
||||
hostCount >= 2 ? `${hostCount} hosts` : `${hostCount} host`;
|
||||
const userAdminTeams = userTeams.filter(
|
||||
(thisTeam) => thisTeam.role === "admin"
|
||||
);
|
||||
const adminTeams = isGlobalAdmin ? teams : userAdminTeams;
|
||||
|
||||
const adminTeams = isGlobalAdmin
|
||||
? availableTeams
|
||||
: availableTeams?.filter((t) => permissions.isTeamAdmin(currentUser, t.id));
|
||||
|
||||
return (
|
||||
<div className={teamWrapperClasses}>
|
||||
|
|
|
|||
Loading…
Reference in a new issue