mirror of
https://github.com/fleetdm/fleet
synced 2026-05-23 17:08:53 +00:00
Reveal host select column to team maintainer (#2397)
This commit is contained in:
parent
1b611012df
commit
be2f08550d
2 changed files with 19 additions and 8 deletions
|
|
@ -17,6 +17,7 @@ import {
|
|||
hostTeamName,
|
||||
} from "fleet/helpers";
|
||||
import { IConfig } from "interfaces/config";
|
||||
import { ITeam } from "interfaces/team";
|
||||
import { IUser } from "interfaces/user";
|
||||
import PATHS from "router/paths";
|
||||
import permissionUtils from "utilities/permissions";
|
||||
|
|
@ -282,7 +283,8 @@ const defaultHiddenColumns = [
|
|||
*/
|
||||
const generateAvailableTableHeaders = (
|
||||
config: IConfig,
|
||||
currentUser: IUser
|
||||
currentUser: IUser,
|
||||
currentTeam: ITeam | undefined
|
||||
): IHostDataColumn[] => {
|
||||
return allHostTableHeaders.reduce(
|
||||
(columns: IHostDataColumn[], currentColumn: IHostDataColumn) => {
|
||||
|
|
@ -305,7 +307,8 @@ const generateAvailableTableHeaders = (
|
|||
} else if (
|
||||
// In premium tier, we want to check user role to enable/disable select column
|
||||
!permissionUtils.isGlobalAdmin(currentUser) &&
|
||||
!permissionUtils.isGlobalMaintainer(currentUser)
|
||||
!permissionUtils.isGlobalMaintainer(currentUser) &&
|
||||
!permissionUtils.isTeamMaintainer(currentUser, currentTeam?.id || null)
|
||||
) {
|
||||
if (currentColumn.id === "selection") {
|
||||
return columns;
|
||||
|
|
@ -326,12 +329,15 @@ const generateAvailableTableHeaders = (
|
|||
const generateVisibleTableColumns = (
|
||||
hiddenColumns: string[],
|
||||
config: IConfig,
|
||||
currentUser: IUser
|
||||
currentUser: IUser,
|
||||
currentTeam: ITeam | undefined
|
||||
): IHostDataColumn[] => {
|
||||
// remove columns set as hidden by the user.
|
||||
return generateAvailableTableHeaders(config, currentUser).filter((column) => {
|
||||
return !hiddenColumns.includes(column.accessor as string);
|
||||
});
|
||||
return generateAvailableTableHeaders(config, currentUser, currentTeam).filter(
|
||||
(column) => {
|
||||
return !hiddenColumns.includes(column.accessor as string);
|
||||
}
|
||||
);
|
||||
};
|
||||
|
||||
export {
|
||||
|
|
|
|||
|
|
@ -829,7 +829,11 @@ const ManageHostsPage = ({
|
|||
className={`${baseClass}__invite-modal`}
|
||||
>
|
||||
<EditColumnsModal
|
||||
columns={generateAvailableTableHeaders(config, currentUser)}
|
||||
columns={generateAvailableTableHeaders(
|
||||
config,
|
||||
currentUser,
|
||||
currentTeam
|
||||
)}
|
||||
hiddenColumns={hiddenColumns}
|
||||
onSaveColumns={onSaveColumns}
|
||||
onCancelColumns={onCancelColumns}
|
||||
|
|
@ -1104,7 +1108,8 @@ const ManageHostsPage = ({
|
|||
columns={generateVisibleTableColumns(
|
||||
hiddenColumns,
|
||||
config,
|
||||
currentUser
|
||||
currentUser,
|
||||
currentTeam
|
||||
)}
|
||||
data={hosts}
|
||||
isLoading={isHostsLoading}
|
||||
|
|
|
|||
Loading…
Reference in a new issue