mirror of
https://github.com/lensapp/lens.git
synced 2025-05-20 05:10:56 +00:00
Replace admin check with check for access (#297)
Signed-off-by: Adam Malcontenti-Wilson <adman.com@gmail.com>
This commit is contained in:
1 parent
fb287c435c
commit
e21e0b577b
9 files changed
+62
-58
No files matched your search
@@ -20,7 +20,7 @@ interface Props extends RouteComponentProps<{}> {
|
||||
export class Storage extends React.Component<Props> {
|
||||
static get tabRoutes() {
|
||||
const tabRoutes: TabRoute[] = [];
|
||||
const { isClusterAdmin } = configStore;
|
||||
const { allowedResources } = configStore;
|
||||
const query = namespaceStore.getContextParams()
|
||||
|
||||
tabRoutes.push({
|
||||
@@ -30,7 +30,7 @@ export class Storage extends React.Component<Props> {
|
||||
path: volumeClaimsRoute.path,
|
||||
})
|
||||
|
||||
if (isClusterAdmin) {
|
||||
if (allowedResources.includes('persistentvolumes')) {
|
||||
tabRoutes.push({
|
||||
title: <Trans>Persistent Volumes</Trans>,
|
||||
component: PersistentVolumes,
|
||||
@@ -39,7 +39,7 @@ export class Storage extends React.Component<Props> {
|
||||
});
|
||||
}
|
||||
|
||||
if (isClusterAdmin) {
|
||||
if (allowedResources.includes('storageclasses')) {
|
||||
tabRoutes.push({
|
||||
title: <Trans>Storage Classes</Trans>,
|
||||
component: StorageClasses,
|
||||
|
||||
@@ -21,7 +21,7 @@ interface Props extends RouteComponentProps<{}> {
|
||||
export class UserManagement extends React.Component<Props> {
|
||||
static get tabRoutes() {
|
||||
const tabRoutes: TabRoute[] = [];
|
||||
const { isClusterAdmin } = configStore;
|
||||
const { allowedResources } = configStore;
|
||||
const query = namespaceStore.getContextParams()
|
||||
tabRoutes.push(
|
||||
{
|
||||
@@ -43,7 +43,7 @@ export class UserManagement extends React.Component<Props> {
|
||||
path: rolesRoute.path,
|
||||
},
|
||||
)
|
||||
if (isClusterAdmin) {
|
||||
if (allowedResources.includes("podsecuritypolicies")) {
|
||||
tabRoutes.push({
|
||||
title: <Trans>Pod Security Policies</Trans>,
|
||||
component: PodSecurityPolicies,
|
||||
|
||||
@@ -46,7 +46,7 @@ class App extends React.Component {
|
||||
};
|
||||
|
||||
render() {
|
||||
const homeUrl = configStore.isClusterAdmin ? clusterURL() : workloadsURL();
|
||||
const homeUrl = clusterURL();
|
||||
return (
|
||||
<I18nProvider i18n={_i18n}>
|
||||
<Router history={browserHistory}>
|
||||
|
||||
@@ -71,7 +71,7 @@ export class Sidebar extends React.Component<Props> {
|
||||
|
||||
render() {
|
||||
const { toggle, isPinned, className } = this.props;
|
||||
const { isClusterAdmin } = configStore;
|
||||
const { isClusterAdmin, allowedResources } = configStore;
|
||||
const query = namespaceStore.getContextParams();
|
||||
return (
|
||||
<SidebarContext.Provider value={{ pinned: isPinned }}>
|
||||
@@ -91,14 +91,13 @@ export class Sidebar extends React.Component<Props> {
|
||||
<div className="sidebar-nav flex column box grow-fixed">
|
||||
<SidebarNavItem
|
||||
id="cluster"
|
||||
isHidden={!isClusterAdmin}
|
||||
url={clusterURL()}
|
||||
text={<Trans>Cluster</Trans>}
|
||||
icon={<Icon svg="kube"/>}
|
||||
/>
|
||||
<SidebarNavItem
|
||||
id="nodes"
|
||||
isHidden={!isClusterAdmin}
|
||||
isHidden={!allowedResources.includes('nodes')}
|
||||
url={nodesURL()}
|
||||
text={<Trans>Nodes</Trans>}
|
||||
icon={<Icon svg="nodes"/>}
|
||||
@@ -166,7 +165,7 @@ export class Sidebar extends React.Component<Props> {
|
||||
/>
|
||||
<SidebarNavItem
|
||||
id="custom-resources"
|
||||
isHidden={!isClusterAdmin}
|
||||
isHidden={!allowedResources.includes('customresourcedefinitions')}
|
||||
url={crdURL()}
|
||||
subMenus={CustomResources.tabRoutes}
|
||||
routePath={crdRoute.path}
|
||||
|
||||
Reference in new issue
Block a user