[release-2.9] fix: missing permission check in plugin installation tabs and theme list tabs extension points (#4647)

This is an automated cherry-pick of #4636

/assign ruibaby

```release-note
None
```
pull/4649/head
Halo Dev Bot 2023-09-22 17:36:25 +08:00 committed by GitHub
parent 4fd076f511
commit 12d25a4300
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 15 additions and 2 deletions

View File

@ -20,8 +20,10 @@ import LocalUpload from "./list-tabs/LocalUpload.vue";
import RemoteDownload from "./list-tabs/RemoteDownload.vue";
import { usePluginModuleStore } from "@/stores/plugin";
import type { PluginModule, ThemeListTab } from "@halo-dev/console-shared";
import { usePermission } from "@/utils/permission";
const { t } = useI18n();
const { currentUserHasPermission } = usePermission();
const props = withDefaults(
defineProps<{
@ -115,7 +117,12 @@ onMounted(() => {
return;
}
const items = extensionPoints["theme:list:tabs:create"]() as ThemeListTab[];
let items = extensionPoints["theme:list:tabs:create"]() as ThemeListTab[];
items = items.filter((item) => {
return currentUserHasPermission(item.permissions);
});
tabsFromPlugins.push(...items);
});

View File

@ -16,8 +16,10 @@ import type {
} from "@halo-dev/console-shared";
import { usePluginModuleStore } from "@/stores/plugin";
import { onMounted } from "vue";
import { usePermission } from "@/utils/permission";
const { t } = useI18n();
const { currentUserHasPermission } = usePermission();
const props = withDefaults(
defineProps<{
@ -92,10 +94,14 @@ onMounted(() => {
return;
}
const items = extensionPoints[
let items = extensionPoints[
"plugin:installation:tabs:create"
]() as PluginInstallationTab[];
items = items.filter((item) => {
return currentUserHasPermission(item.permissions);
});
tabs.value.push(...items);
});