From bbf4c10c898b17eb0870271143758db594249cef Mon Sep 17 00:00:00 2001 From: yaojp123 <15989103230@163.com> Date: Tue, 10 Dec 2024 15:54:44 +0800 Subject: [PATCH] fix: permission verification of some menu is invalid (#21) * fix: add `SMTP SERVER` to `Feature privileges` in role settings * fix: permission verification of some menu is invalid --------- Co-authored-by: yaojiping --- web/config/router.config.js | 8 ++++++-- web/src/components/SiderMenu/BaseMenu.js | 10 ---------- web/src/locales/en-US.js | 2 +- web/src/locales/en-US/settings.js | 4 ++-- web/src/locales/zh-CN.js | 2 +- web/src/pages/DataManagement/Discover.jsx | 10 +++++++--- web/src/pages/DataManagement/IndexPatterns.jsx | 6 ++---- web/src/pages/Platform/Overview/Indices/index.tsx | 4 ++-- web/src/pages/System/Email/Components/EmptyServer.jsx | 11 ++++++++--- web/src/pages/System/Role/Platform/menu.js | 2 +- 10 files changed, 30 insertions(+), 29 deletions(-) diff --git a/web/config/router.config.js b/web/config/router.config.js index f9b58490..b65fc989 100644 --- a/web/config/router.config.js +++ b/web/config/router.config.js @@ -162,7 +162,6 @@ export default [ name: "alerting", icon: "alert", authority: ["alerting"], - isPro: true, routes: [ { path: "/alerting/message/:message_id", @@ -386,12 +385,17 @@ export default [ "system.credential:read", "system.security:all", "system.security:read", + "system.audit_logs:all", + "system.audit_logs:read", + "system.smtp_server:all", + "system.smtp_server:read" ], routes: [ { path: "/system/email_server", - name: "email_server", + name: "smtp_server", component: "./System/Email/Server", + authority: ["system.smtp_server:all", "system.smtp_server:read"], }, { path: "/system/credential", diff --git a/web/src/components/SiderMenu/BaseMenu.js b/web/src/components/SiderMenu/BaseMenu.js index a16c789f..3a4767f1 100644 --- a/web/src/components/SiderMenu/BaseMenu.js +++ b/web/src/components/SiderMenu/BaseMenu.js @@ -7,7 +7,6 @@ import { formatMessage } from 'umi/locale'; import pathToRegexp from 'path-to-regexp'; import { urlToList } from '../_utils/pathTools'; import styles from './index.less'; -import Pro from '../Icons/Pro'; const { SubMenu } = Menu; @@ -89,7 +88,6 @@ export default class BaseMenu extends PureComponent { {getIcon(item.icon)} {name} - {this.renderProIcon(item)} ) : ( name @@ -140,7 +138,6 @@ export default class BaseMenu extends PureComponent { {icon} {name} - {this.renderProIcon(item)} ); @@ -163,13 +160,6 @@ export default class BaseMenu extends PureComponent { return `/${path || ''}`.replace(/\/+/g, '/'); }; - renderProIcon = (item) => { - if (this.props.collapsed || !item.isPro) return null - return ( - - ) - } - render() { const { openKeys, diff --git a/web/src/locales/en-US.js b/web/src/locales/en-US.js index 7f72a61a..1ff23e47 100644 --- a/web/src/locales/en-US.js +++ b/web/src/locales/en-US.js @@ -271,7 +271,7 @@ export default { "menu.system.reset_password": "RESET", "menu.system.credential": "CREDENTIAL", - "menu.system.email_server": "SMTP SERVER", + "menu.system.smtp_server": "SMTP SERVER", "menu.form": "Form", "menu.form.basicform": "Basic Form", diff --git a/web/src/locales/en-US/settings.js b/web/src/locales/en-US/settings.js index 4cf5b977..e8486fe2 100644 --- a/web/src/locales/en-US/settings.js +++ b/web/src/locales/en-US/settings.js @@ -1,6 +1,6 @@ export default { - "settings.email.server.empty.label1": "You can add mail servers here", + "settings.email.server.empty.label1": "You can add email servers here", "settings.email.server.empty.label2": "The alart center can send a notification to the recipient through the designated mail server", - "settings.email.server.empty.button.new": "Add mail server", + "settings.email.server.empty.button.new": "Add email server", }; diff --git a/web/src/locales/zh-CN.js b/web/src/locales/zh-CN.js index 1414a2ce..5f7fd1d3 100644 --- a/web/src/locales/zh-CN.js +++ b/web/src/locales/zh-CN.js @@ -276,7 +276,7 @@ export default { "menu.system.reset_password": "重置密码", "menu.system.credential": "凭据管理", - "menu.system.email_server": "邮件服务器", + "menu.system.smtp_server": "邮件服务器", "menu.form": "表单页", "menu.form.basicform": "基础表单", diff --git a/web/src/pages/DataManagement/Discover.jsx b/web/src/pages/DataManagement/Discover.jsx index 9826ed99..9d1c0d9e 100644 --- a/web/src/pages/DataManagement/Discover.jsx +++ b/web/src/pages/DataManagement/Discover.jsx @@ -84,6 +84,7 @@ import Layout from "./View/Layout"; import request from "@/utils/request"; import { cloneDeep } from "lodash"; import { getTimezone } from "@/utils/utils"; +import { hasAuthority } from "@/utils/authority"; const SidebarMemoized = React.memo(DiscoverSidebar); @@ -1553,10 +1554,13 @@ const DiscoverUI = (props) => { The current cluster has no indices or views } + image={Empty.PRESENTED_IMAGE_SIMPLE} > - - - + {hasAuthority("data.index:all") && ( + + + + )} ) diff --git a/web/src/pages/DataManagement/IndexPatterns.jsx b/web/src/pages/DataManagement/IndexPatterns.jsx index 4df429d5..58ed3a2e 100644 --- a/web/src/pages/DataManagement/IndexPatterns.jsx +++ b/web/src/pages/DataManagement/IndexPatterns.jsx @@ -18,10 +18,11 @@ import { ESPrefix } from "@/services/common"; import { formatMessage } from "umi/locale"; import { getAuthority, hasAuthority } from "@/utils/authority"; import EditLayout from "./View/EditLayout"; +import { Card, Empty } from "antd"; const IndexPatterns = (props) => { if (!props.selectedCluster?.id) { - return null; + return ; } const history = useMemo(() => { return new ScopedHistory(props.history, "/data/views"); @@ -45,9 +46,6 @@ const IndexPatterns = (props) => { }; initFetch(); }, [props.selectedCluster]); - if (!props.selectedCluster?.id) { - return null; - } return ( diff --git a/web/src/pages/Platform/Overview/Indices/index.tsx b/web/src/pages/Platform/Overview/Indices/index.tsx index d3f31075..28c68902 100644 --- a/web/src/pages/Platform/Overview/Indices/index.tsx +++ b/web/src/pages/Platform/Overview/Indices/index.tsx @@ -6,13 +6,13 @@ import Table from "./Table"; import Overview from "@/components/Overview"; const facetLabels = { - "metadata.cluster_name": "cluster", + "metadata.index_name": "index", "metadata.labels.health_status": "health", "metadata.labels.state": "state", }; const aggsParams = [ - { field: "metadata.cluster_name", params: { size: 500 } }, + { field: "metadata.index_name", params: { size: 500 } }, { field: "metadata.labels.state", params: { size: 100 } }, { field: "metadata.labels.health_status", params: { size: 150 } }, ]; diff --git a/web/src/pages/System/Email/Components/EmptyServer.jsx b/web/src/pages/System/Email/Components/EmptyServer.jsx index 1ea1867b..da442886 100644 --- a/web/src/pages/System/Email/Components/EmptyServer.jsx +++ b/web/src/pages/System/Email/Components/EmptyServer.jsx @@ -1,6 +1,7 @@ import { Empty, Button } from "antd"; import EmailServer from "@/components/Icons/EmailServer"; import { formatMessage } from "umi/locale"; +import { hasAuthority } from "@/utils/authority"; export default ({ onAddClick }) => { const onClick = () => { @@ -23,9 +24,13 @@ export default ({ onAddClick }) => { } > - + { + hasAuthority("system.smtp_server:all") && ( + + ) + } ); }; diff --git a/web/src/pages/System/Role/Platform/menu.js b/web/src/pages/System/Role/Platform/menu.js index e9dc8221..7d0d019f 100644 --- a/web/src/pages/System/Role/Platform/menu.js +++ b/web/src/pages/System/Role/Platform/menu.js @@ -96,7 +96,7 @@ export const menuData = [ key: "system", children: [ { - key: "system.command", + key: "system.smtp_server", }, { key: "system.security",