mirror of
https://github.com/1Panel-dev/MaxKB.git
synced 2025-12-26 10:02:46 +00:00
feat: System setting permission
This commit is contained in:
parent
644247b1cb
commit
62cb3704cf
|
|
@ -1179,7 +1179,10 @@ class PermissionConstants(Enum):
|
|||
group=Group.OPERATION_LOG, operate=Operate.READ, role_list=[RoleConstants.ADMIN],
|
||||
parent_group=[SystemGroup.OPERATION_LOG]
|
||||
)
|
||||
|
||||
OPERATION_LOG_EXPORT = Permission(
|
||||
group=Group.OPERATION_LOG, operate=Operate.EXPORT, role_list=[RoleConstants.ADMIN],
|
||||
parent_group=[SystemGroup.OPERATION_LOG]
|
||||
)
|
||||
def get_workspace_application_permission(self):
|
||||
return lambda r, kwargs: Permission(group=self.value.group, operate=self.value.operate,
|
||||
resource_path=
|
||||
|
|
|
|||
|
|
@ -99,6 +99,7 @@ const systemRouter = {
|
|||
activeMenu: '/system',
|
||||
parentPath: '/system',
|
||||
parentName: 'system',
|
||||
sameRoute: 'workspace',
|
||||
},
|
||||
component: () => import('@/views/system-resource-management/KnowledgeResourceIndex.vue'),
|
||||
},
|
||||
|
|
@ -110,6 +111,7 @@ const systemRouter = {
|
|||
activeMenu: '/system',
|
||||
parentPath: '/system',
|
||||
parentName: 'system',
|
||||
sameRoute: 'workspace',
|
||||
},
|
||||
component: () => import('@/views/system-resource-management/ToolResourceIndex.vue'),
|
||||
},
|
||||
|
|
@ -222,7 +224,6 @@ const systemRouter = {
|
|||
activeMenu: '/system',
|
||||
parentPath: '/system',
|
||||
parentName: 'system',
|
||||
sameRoute: 'chat',
|
||||
permission: [
|
||||
new ComplexPermission(
|
||||
[RoleConst.WORKSPACE_MANAGE, RoleConst.ADMIN],
|
||||
|
|
@ -241,6 +242,7 @@ const systemRouter = {
|
|||
activeMenu: '/system',
|
||||
parentPath: '/system',
|
||||
parentName: 'system',
|
||||
sameRoute: 'SystemChat',
|
||||
permission: [
|
||||
new ComplexPermission(
|
||||
[RoleConst.WORKSPACE_MANAGE, RoleConst.ADMIN],
|
||||
|
|
@ -260,6 +262,7 @@ const systemRouter = {
|
|||
activeMenu: '/system',
|
||||
parentPath: '/system',
|
||||
parentName: 'system',
|
||||
sameRoute: 'SystemChat',
|
||||
permission: [
|
||||
new ComplexPermission(
|
||||
[RoleConst.WORKSPACE_MANAGE, RoleConst.ADMIN],
|
||||
|
|
@ -279,6 +282,7 @@ const systemRouter = {
|
|||
activeMenu: '/system',
|
||||
parentPath: '/system',
|
||||
parentName: 'system',
|
||||
sameRoute: 'SystemChat',
|
||||
permission: [
|
||||
new ComplexPermission(
|
||||
[RoleConst.ADMIN],
|
||||
|
|
@ -313,7 +317,15 @@ const systemRouter = {
|
|||
activeMenu: '/system',
|
||||
parentPath: '/system',
|
||||
parentName: 'system',
|
||||
permission: [EditionConst.IS_PE, EditionConst.IS_EE],
|
||||
sameRoute: 'setting',
|
||||
permission: [
|
||||
new ComplexPermission(
|
||||
[RoleConst.ADMIN],
|
||||
[PermissionConst.APPEARANCE_SETTINGS_READ],
|
||||
[EditionConst.IS_EE, EditionConst.IS_PE],
|
||||
'OR',
|
||||
),
|
||||
],
|
||||
},
|
||||
component: () => import('@/views/system-setting/theme/index.vue'),
|
||||
},
|
||||
|
|
@ -325,7 +337,15 @@ const systemRouter = {
|
|||
activeMenu: '/system',
|
||||
parentPath: '/system',
|
||||
parentName: 'system',
|
||||
permission: [EditionConst.IS_PE, EditionConst.IS_EE],
|
||||
sameRoute: 'setting',
|
||||
permission: [
|
||||
new ComplexPermission(
|
||||
[RoleConst.ADMIN],
|
||||
[PermissionConst.LOGIN_AUTH_READ],
|
||||
[EditionConst.IS_EE, EditionConst.IS_PE],
|
||||
'OR',
|
||||
),
|
||||
],
|
||||
},
|
||||
component: () => import('@/views/system-setting/authentication/index.vue'),
|
||||
},
|
||||
|
|
@ -337,6 +357,15 @@ const systemRouter = {
|
|||
activeMenu: '/system',
|
||||
parentPath: '/system',
|
||||
parentName: 'system',
|
||||
sameRoute: 'setting',
|
||||
permission: [
|
||||
new ComplexPermission(
|
||||
[RoleConst.ADMIN],
|
||||
[PermissionConst.EMAIL_SETTING_READ],
|
||||
[EditionConst.IS_EE, EditionConst.IS_PE],
|
||||
'OR',
|
||||
),
|
||||
],
|
||||
},
|
||||
component: () => import('@/views/system-setting/email/index.vue'),
|
||||
},
|
||||
|
|
@ -353,7 +382,14 @@ const systemRouter = {
|
|||
parentPath: '/system',
|
||||
parentName: 'system',
|
||||
sameRoute: 'operate',
|
||||
permission: [EditionConst.IS_PE, EditionConst.IS_EE],
|
||||
permission: [
|
||||
new ComplexPermission(
|
||||
[RoleConst.ADMIN],
|
||||
[PermissionConst.OPERATION_LOG_READ],
|
||||
[EditionConst.IS_EE, EditionConst.IS_PE],
|
||||
'OR',
|
||||
),
|
||||
],
|
||||
},
|
||||
component: () => import('@/views/system/operate-log/index.vue'),
|
||||
},
|
||||
|
|
|
|||
|
|
@ -186,8 +186,6 @@ const PermissionConst = {
|
|||
SHARED_KNOWLEDGE_PROBLEM_EDIT:new Permission('SYSTEM_KNOWLEDGE_PROBLEM:READ+EDIT'),
|
||||
SHARED_KNOWLEDGE_PROBLEM_DELETE:new Permission('SYSTEM_KNOWLEDGE_PROBLEM:READ+DELETE'),
|
||||
|
||||
|
||||
|
||||
TOOL_CREATE:new Permission('TOOL:READ+CREATE'),
|
||||
TOOL_EDIT:new Permission('TOOL:READ+EDIT'),
|
||||
TOOL_READ:new Permission('TOOL:READ'),
|
||||
|
|
@ -204,9 +202,17 @@ const PermissionConst = {
|
|||
RESOURCE_TOOL_IMPORT:new Permission('SYSTEM_RES_TOOL:READ+IMPORT'),
|
||||
RESOURCE_TOOL_EXPORT:new Permission('SYSTEM_RES_TOOL:READ+EXPORT'),
|
||||
|
||||
APPEARANCE_SETTINGS_READ:new Permission('APPEARANCE_SETTINGS:READ'),
|
||||
APPEARANCE_SETTINGS_EDIT:new Permission('APPEARANCE_SETTINGS:READ+EDIT'),
|
||||
|
||||
LOGIN_AUTH_READ:new Permission('LOGIN_AUTH:READ'),
|
||||
LOGIN_AUTH_EDIT:new Permission('LOGIN_AUTH:READ+EDIT'),
|
||||
|
||||
|
||||
EMAIL_SETTING_READ:new Permission('EMAIL_SETTING:READ'),
|
||||
EMAIL_SETTING_EDIT:new Permission('EMAIL_SETTING:READ+EDIT'),
|
||||
|
||||
OPERATION_LOG_READ:new Permission('OPERATION_LOG:READ'),
|
||||
OPERATION_LOG_EXPORT:new Permission('OPERATION_LOG:READ+EXPORT'),
|
||||
|
||||
|
||||
ABOUT_READ:new Permission('OTHER:READ'),
|
||||
|
|
|
|||
|
|
@ -48,7 +48,7 @@
|
|||
v-hasPermission="
|
||||
new ComplexPermission(
|
||||
[RoleConst.ADMIN],
|
||||
[PermissionConst.USER_GROUP_REMOVE_MEMBER],
|
||||
[PermissionConst.CHAT_USER_AUTH_EDIT],
|
||||
[],'OR',)"
|
||||
>
|
||||
{{ $t('common.save') }}
|
||||
|
|
|
|||
|
|
@ -69,7 +69,13 @@
|
|||
<el-button @click="submit(authFormRef, 'test')" :disabled="loading">
|
||||
{{ $t('views.system.test') }}</el-button
|
||||
>
|
||||
<el-button @click="submit(authFormRef)" type="primary" :disabled="loading">
|
||||
<el-button @click="submit(authFormRef)" type="primary" :disabled="loading"
|
||||
v-hasPermission="
|
||||
new ComplexPermission(
|
||||
[RoleConst.ADMIN],
|
||||
[PermissionConst.CHAT_USER_AUTH_EDIT],
|
||||
[],'OR',)"
|
||||
>
|
||||
{{ $t('common.save') }}
|
||||
</el-button>
|
||||
</div>
|
||||
|
|
@ -83,6 +89,8 @@ import authApi from '@/api/chat-user/auth-setting'
|
|||
import type { FormInstance, FormRules } from 'element-plus'
|
||||
import { t } from '@/locales'
|
||||
import { MsgSuccess } from '@/utils/message'
|
||||
import { PermissionConst, RoleConst } from '@/utils/permission/data'
|
||||
import { ComplexPermission } from '@/utils/permission/type'
|
||||
|
||||
const form = ref<any>({
|
||||
id: '',
|
||||
|
|
|
|||
|
|
@ -90,7 +90,13 @@
|
|||
</el-form>
|
||||
|
||||
<div class="text-right">
|
||||
<el-button @click="submit(authFormRef)" type="primary" :disabled="loading">
|
||||
<el-button @click="submit(authFormRef)" type="primary" :disabled="loading"
|
||||
v-hasPermission="
|
||||
new ComplexPermission(
|
||||
[RoleConst.ADMIN],
|
||||
[PermissionConst.CHAT_USER_AUTH_EDIT],
|
||||
[],'OR',)"
|
||||
>
|
||||
{{ $t('common.save') }}
|
||||
</el-button>
|
||||
</div>
|
||||
|
|
@ -104,6 +110,8 @@ import authApi from '@/api/chat-user/auth-setting'
|
|||
import type { FormInstance, FormRules } from 'element-plus'
|
||||
import { t } from '@/locales'
|
||||
import { MsgSuccess } from '@/utils/message'
|
||||
import { PermissionConst, RoleConst } from '@/utils/permission/data'
|
||||
import { ComplexPermission } from '@/utils/permission/type'
|
||||
|
||||
const form = ref<any>({
|
||||
id: '',
|
||||
|
|
|
|||
|
|
@ -87,7 +87,13 @@
|
|||
</el-form>
|
||||
|
||||
<div class="text-right">
|
||||
<el-button @click="submit(authFormRef)" type="primary" :disabled="loading">
|
||||
<el-button @click="submit(authFormRef)" type="primary" :disabled="loading"
|
||||
v-hasPermission="
|
||||
new ComplexPermission(
|
||||
[RoleConst.ADMIN],
|
||||
[PermissionConst.CHAT_USER_AUTH_EDIT],
|
||||
[],'OR',)"
|
||||
>
|
||||
{{ $t('common.save') }}
|
||||
</el-button>
|
||||
</div>
|
||||
|
|
@ -101,6 +107,8 @@ import authApi from '@/api/chat-user/auth-setting'
|
|||
import type { FormInstance, FormRules } from 'element-plus'
|
||||
import { t } from '@/locales'
|
||||
import { MsgSuccess } from '@/utils/message'
|
||||
import { PermissionConst, RoleConst } from '@/utils/permission/data'
|
||||
import { ComplexPermission } from '@/utils/permission/type'
|
||||
|
||||
const form = ref<any>({
|
||||
id: '',
|
||||
|
|
|
|||
|
|
@ -44,7 +44,13 @@
|
|||
</el-form>
|
||||
|
||||
<div class="text-right">
|
||||
<el-button @click="submit(authFormRef)" type="primary" :disabled="loading">
|
||||
<el-button @click="submit(authFormRef)" type="primary" :disabled="loading"
|
||||
v-hasPermission="
|
||||
new ComplexPermission(
|
||||
[RoleConst.ADMIN],
|
||||
[PermissionConst.LOGIN_AUTH_EDIT],
|
||||
[],'OR',)"
|
||||
>
|
||||
{{ $t('common.save') }}
|
||||
</el-button>
|
||||
</div>
|
||||
|
|
@ -58,6 +64,8 @@ import authApi from '@/api/system-settings/auth-setting'
|
|||
import type { FormInstance, FormRules } from 'element-plus'
|
||||
import { t } from '@/locales'
|
||||
import { MsgSuccess } from '@/utils/message'
|
||||
import { PermissionConst, RoleConst } from '@/utils/permission/data'
|
||||
import { ComplexPermission } from '@/utils/permission/type'
|
||||
|
||||
const form = ref<any>({
|
||||
id: '',
|
||||
|
|
|
|||
|
|
@ -69,7 +69,13 @@
|
|||
<el-button @click="submit(authFormRef, 'test')" :disabled="loading">
|
||||
{{ $t('views.system.test') }}</el-button
|
||||
>
|
||||
<el-button @click="submit(authFormRef)" type="primary" :disabled="loading">
|
||||
<el-button @click="submit(authFormRef)" type="primary" :disabled="loading"
|
||||
v-hasPermission="
|
||||
new ComplexPermission(
|
||||
[RoleConst.ADMIN],
|
||||
[PermissionConst.LOGIN_AUTH_EDIT],
|
||||
[],'OR',)"
|
||||
>
|
||||
{{ $t('common.save') }}
|
||||
</el-button>
|
||||
</div>
|
||||
|
|
@ -83,6 +89,8 @@ import authApi from '@/api/system-settings/auth-setting'
|
|||
import type { FormInstance, FormRules } from 'element-plus'
|
||||
import { t } from '@/locales'
|
||||
import { MsgSuccess } from '@/utils/message'
|
||||
import { PermissionConst, RoleConst } from '@/utils/permission/data'
|
||||
import { ComplexPermission } from '@/utils/permission/type'
|
||||
|
||||
const form = ref<any>({
|
||||
id: '',
|
||||
|
|
|
|||
|
|
@ -90,7 +90,13 @@
|
|||
</el-form>
|
||||
|
||||
<div class="text-right">
|
||||
<el-button @click="submit(authFormRef)" type="primary" :disabled="loading">
|
||||
<el-button @click="submit(authFormRef)" type="primary" :disabled="loading"
|
||||
v-hasPermission="
|
||||
new ComplexPermission(
|
||||
[RoleConst.ADMIN],
|
||||
[PermissionConst.LOGIN_AUTH_EDIT],
|
||||
[],'OR',)"
|
||||
>
|
||||
{{ $t('common.save') }}
|
||||
</el-button>
|
||||
</div>
|
||||
|
|
@ -104,6 +110,8 @@ import authApi from '@/api/system-settings/auth-setting'
|
|||
import type { FormInstance, FormRules } from 'element-plus'
|
||||
import { t } from '@/locales'
|
||||
import { MsgSuccess } from '@/utils/message'
|
||||
import { PermissionConst, RoleConst } from '@/utils/permission/data'
|
||||
import { ComplexPermission } from '@/utils/permission/type'
|
||||
|
||||
const form = ref<any>({
|
||||
id: '',
|
||||
|
|
|
|||
|
|
@ -87,7 +87,13 @@
|
|||
</el-form>
|
||||
|
||||
<div class="text-right">
|
||||
<el-button @click="submit(authFormRef)" type="primary" :disabled="loading">
|
||||
<el-button @click="submit(authFormRef)" type="primary" :disabled="loading"
|
||||
v-hasPermission="
|
||||
new ComplexPermission(
|
||||
[RoleConst.ADMIN],
|
||||
[PermissionConst.LOGIN_AUTH_EDIT],
|
||||
[],'OR',)"
|
||||
>
|
||||
{{ $t('common.save') }}
|
||||
</el-button>
|
||||
</div>
|
||||
|
|
@ -101,6 +107,8 @@ import authApi from '@/api/system-settings/auth-setting'
|
|||
import type { FormInstance, FormRules } from 'element-plus'
|
||||
import { t } from '@/locales'
|
||||
import { MsgSuccess } from '@/utils/message'
|
||||
import { PermissionConst, RoleConst } from '@/utils/permission/data'
|
||||
import { ComplexPermission } from '@/utils/permission/type'
|
||||
|
||||
const form = ref<any>({
|
||||
id: '',
|
||||
|
|
|
|||
|
|
@ -13,7 +13,12 @@
|
|||
</div>
|
||||
<div>
|
||||
<el-button type="primary" v-if="!item.isValid" @click="showDialog(item)"
|
||||
>{{ $t('views.system.authentication.scanTheQRCode.access') }}
|
||||
v-hasPermission="
|
||||
new ComplexPermission(
|
||||
[RoleConst.ADMIN],
|
||||
[PermissionConst.LOGIN_AUTH_EDIT],
|
||||
[],'OR',)"
|
||||
>{{ $t('views.system.authentication.scanTheQRCode.access') }}
|
||||
</el-button>
|
||||
<span v-if="item.isValid">
|
||||
<span class="mr-4">{{
|
||||
|
|
@ -92,6 +97,8 @@ import EditModel from './EditModal.vue'
|
|||
import platformApi from '@/api/system-settings/platform-source'
|
||||
import { MsgError, MsgSuccess } from '@/utils/message'
|
||||
import { t } from '@/locales'
|
||||
import { PermissionConst, RoleConst } from '@/utils/permission/data'
|
||||
import { ComplexPermission } from '@/utils/permission/type'
|
||||
|
||||
interface PlatformConfig {
|
||||
[key: string]: string
|
||||
|
|
|
|||
|
|
@ -22,6 +22,7 @@ import OAuth2 from './component/OAuth2.vue'
|
|||
import { t } from '@/locales'
|
||||
import useStore from '@/stores'
|
||||
|
||||
|
||||
const { user } = useStore()
|
||||
const router = useRouter()
|
||||
|
||||
|
|
|
|||
|
|
@ -52,7 +52,13 @@
|
|||
>{{ $t('views.system.email.enableTLS') }}
|
||||
</el-checkbox>
|
||||
</el-form-item>
|
||||
<el-button @click="submit(emailFormRef)" type="primary" :disabled="loading">
|
||||
<el-button @click="submit(emailFormRef)" type="primary" :disabled="loading"
|
||||
v-hasPermission="
|
||||
new ComplexPermission(
|
||||
[RoleConst.ADMIN],
|
||||
[PermissionConst.EMAIL_SETTING_EDIT],
|
||||
[],'OR',)"
|
||||
>
|
||||
{{ $t('common.save') }}
|
||||
</el-button>
|
||||
<el-button @click="submit(emailFormRef, 'test')" :disabled="loading">
|
||||
|
|
@ -71,6 +77,8 @@ import type { FormInstance, FormRules } from 'element-plus'
|
|||
|
||||
import { MsgSuccess } from '@/utils/message'
|
||||
import { t } from '@/locales'
|
||||
import { PermissionConst, RoleConst } from '@/utils/permission/data'
|
||||
import { ComplexPermission } from '@/utils/permission/type'
|
||||
|
||||
const form = ref<any>({
|
||||
email_host: '',
|
||||
|
|
|
|||
|
|
@ -244,7 +244,13 @@
|
|||
</el-scrollbar>
|
||||
<div class="theme-setting__operate w-full p-16-24">
|
||||
<el-button @click="resetTheme">{{ $t('theme.abandonUpdate') }}</el-button>
|
||||
<el-button type="primary" @click="updateTheme(themeFormRef)">
|
||||
<el-button type="primary" @click="updateTheme(themeFormRef)"
|
||||
v-hasPermission="
|
||||
new ComplexPermission(
|
||||
[RoleConst.ADMIN],
|
||||
[PermissionConst.APPEARANCE_SETTINGS_EDIT],
|
||||
[],'OR',)"
|
||||
>
|
||||
{{ $t('theme.saveAndApply') }}
|
||||
</el-button>
|
||||
</div>
|
||||
|
|
@ -262,6 +268,8 @@ import ThemeApi from '@/api/system-settings/theme'
|
|||
import { MsgSuccess, MsgError } from '@/utils/message'
|
||||
import useStore from '@/stores'
|
||||
import { t } from '@/locales'
|
||||
import { PermissionConst, RoleConst } from '@/utils/permission/data'
|
||||
import { ComplexPermission } from '@/utils/permission/type'
|
||||
|
||||
const { theme } = useStore()
|
||||
const router = useRouter()
|
||||
|
|
|
|||
Loading…
Reference in New Issue