From cb055d3fb8a540a2dbee9bf5736c1099379a3451 Mon Sep 17 00:00:00 2001 From: Halo Dev Bot <87291978+halo-dev-bot@users.noreply.github.com> Date: Wed, 15 Feb 2023 14:24:11 +0800 Subject: [PATCH] [release-2.2] fix: the issue that role display name (#856) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This is an automated cherry-pick of #847 /assign ruibaby ```release-note 优化 Console 端用户角色标识的显示名称。 ``` --- src/layouts/BasicLayout.vue | 18 +++++++---- src/main.ts | 3 ++ src/modules/system/roles/RoleList.vue | 4 +++ src/modules/system/users/UserDetail.vue | 9 +++++- src/modules/system/users/UserList.vue | 8 ++++- src/stores/role.ts | 42 +++++++++++++++++-------- 6 files changed, 63 insertions(+), 21 deletions(-) diff --git a/src/layouts/BasicLayout.vue b/src/layouts/BasicLayout.vue index 9092c952..cc2629e7 100644 --- a/src/layouts/BasicLayout.vue +++ b/src/layouts/BasicLayout.vue @@ -27,6 +27,7 @@ import sortBy from "lodash.sortby"; import { useRoleStore } from "@/stores/role"; import { hasPermission } from "@/utils/permission"; import { useUserStore } from "@/stores/user"; +import { rbacAnnotations } from "@/constants/annotations"; const route = useRoute(); const router = useRouter(); @@ -56,11 +57,16 @@ const handleLogout = () => { }; const currentRole = computed(() => { - return JSON.parse( - userStore.currentUser?.metadata.annotations?.[ - "rbac.authorization.halo.run/role-names" - ] || "[]" - )[0]; + const names = JSON.parse( + userStore.currentUser?.metadata.annotations?.[rbacAnnotations.ROLE_NAMES] || + "[]" + ); + + if (names.length === 0) { + return; + } + + return roleStore.getRoleDisplayName(names[0]); }); // Global Search @@ -228,7 +234,7 @@ onMounted(generateMenus);
{{ userStore.currentUser?.spec.displayName }}
-
+