Skip to content

Commit c2129ef

Browse files
committed
feat: System setting permission
1 parent 8e6ca99 commit c2129ef

File tree

15 files changed

+144
-19
lines changed

15 files changed

+144
-19
lines changed

apps/common/constants/permission_constants.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1176,7 +1176,10 @@ class PermissionConstants(Enum):
11761176
group=Group.OPERATION_LOG, operate=Operate.READ, role_list=[RoleConstants.ADMIN],
11771177
parent_group=[SystemGroup.OPERATION_LOG]
11781178
)
1179-
1179+
OPERATION_LOG_EXPORT = Permission(
1180+
group=Group.OPERATION_LOG, operate=Operate.EXPORT, role_list=[RoleConstants.ADMIN],
1181+
parent_group=[SystemGroup.OPERATION_LOG]
1182+
)
11801183
def get_workspace_application_permission(self):
11811184
return lambda r, kwargs: Permission(group=self.value.group, operate=self.value.operate,
11821185
resource_path=

ui/src/router/modules/system.ts

Lines changed: 40 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -99,6 +99,7 @@ const systemRouter = {
9999
activeMenu: '/system',
100100
parentPath: '/system',
101101
parentName: 'system',
102+
sameRoute: 'workspace',
102103
},
103104
component: () => import('@/views/system-resource-management/KnowledgeResourceIndex.vue'),
104105
},
@@ -110,6 +111,7 @@ const systemRouter = {
110111
activeMenu: '/system',
111112
parentPath: '/system',
112113
parentName: 'system',
114+
sameRoute: 'workspace',
113115
},
114116
component: () => import('@/views/system-resource-management/ToolResourceIndex.vue'),
115117
},
@@ -222,7 +224,6 @@ const systemRouter = {
222224
activeMenu: '/system',
223225
parentPath: '/system',
224226
parentName: 'system',
225-
sameRoute: 'chat',
226227
permission: [
227228
new ComplexPermission(
228229
[RoleConst.WORKSPACE_MANAGE, RoleConst.ADMIN],
@@ -241,6 +242,7 @@ const systemRouter = {
241242
activeMenu: '/system',
242243
parentPath: '/system',
243244
parentName: 'system',
245+
sameRoute: 'SystemChat',
244246
permission: [
245247
new ComplexPermission(
246248
[RoleConst.WORKSPACE_MANAGE, RoleConst.ADMIN],
@@ -260,6 +262,7 @@ const systemRouter = {
260262
activeMenu: '/system',
261263
parentPath: '/system',
262264
parentName: 'system',
265+
sameRoute: 'SystemChat',
263266
permission: [
264267
new ComplexPermission(
265268
[RoleConst.WORKSPACE_MANAGE, RoleConst.ADMIN],
@@ -279,6 +282,7 @@ const systemRouter = {
279282
activeMenu: '/system',
280283
parentPath: '/system',
281284
parentName: 'system',
285+
sameRoute: 'SystemChat',
282286
permission: [
283287
new ComplexPermission(
284288
[RoleConst.ADMIN],
@@ -313,7 +317,15 @@ const systemRouter = {
313317
activeMenu: '/system',
314318
parentPath: '/system',
315319
parentName: 'system',
316-
permission: [EditionConst.IS_PE, EditionConst.IS_EE],
320+
sameRoute: 'setting',
321+
permission: [
322+
new ComplexPermission(
323+
[RoleConst.ADMIN],
324+
[PermissionConst.APPEARANCE_SETTINGS_READ],
325+
[EditionConst.IS_EE, EditionConst.IS_PE],
326+
'OR',
327+
),
328+
],
317329
},
318330
component: () => import('@/views/system-setting/theme/index.vue'),
319331
},
@@ -325,7 +337,15 @@ const systemRouter = {
325337
activeMenu: '/system',
326338
parentPath: '/system',
327339
parentName: 'system',
328-
permission: [EditionConst.IS_PE, EditionConst.IS_EE],
340+
sameRoute: 'setting',
341+
permission: [
342+
new ComplexPermission(
343+
[RoleConst.ADMIN],
344+
[PermissionConst.LOGIN_AUTH_READ],
345+
[EditionConst.IS_EE, EditionConst.IS_PE],
346+
'OR',
347+
),
348+
],
329349
},
330350
component: () => import('@/views/system-setting/authentication/index.vue'),
331351
},
@@ -337,6 +357,15 @@ const systemRouter = {
337357
activeMenu: '/system',
338358
parentPath: '/system',
339359
parentName: 'system',
360+
sameRoute: 'setting',
361+
permission: [
362+
new ComplexPermission(
363+
[RoleConst.ADMIN],
364+
[PermissionConst.EMAIL_SETTING_READ],
365+
[EditionConst.IS_EE, EditionConst.IS_PE],
366+
'OR',
367+
),
368+
],
340369
},
341370
component: () => import('@/views/system-setting/email/index.vue'),
342371
},
@@ -353,7 +382,14 @@ const systemRouter = {
353382
parentPath: '/system',
354383
parentName: 'system',
355384
sameRoute: 'operate',
356-
permission: [EditionConst.IS_PE, EditionConst.IS_EE],
385+
permission: [
386+
new ComplexPermission(
387+
[RoleConst.ADMIN],
388+
[PermissionConst.OPERATION_LOG_READ],
389+
[EditionConst.IS_EE, EditionConst.IS_PE],
390+
'OR',
391+
),
392+
],
357393
},
358394
component: () => import('@/views/system/operate-log/index.vue'),
359395
},

ui/src/utils/permission/data.ts

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -186,8 +186,6 @@ const PermissionConst = {
186186
SHARED_KNOWLEDGE_PROBLEM_EDIT:new Permission('SYSTEM_KNOWLEDGE_PROBLEM:READ+EDIT'),
187187
SHARED_KNOWLEDGE_PROBLEM_DELETE:new Permission('SYSTEM_KNOWLEDGE_PROBLEM:READ+DELETE'),
188188

189-
190-
191189
TOOL_CREATE:new Permission('TOOL:READ+CREATE'),
192190
TOOL_EDIT:new Permission('TOOL:READ+EDIT'),
193191
TOOL_READ:new Permission('TOOL:READ'),
@@ -204,9 +202,17 @@ const PermissionConst = {
204202
RESOURCE_TOOL_IMPORT:new Permission('SYSTEM_RES_TOOL:READ+IMPORT'),
205203
RESOURCE_TOOL_EXPORT:new Permission('SYSTEM_RES_TOOL:READ+EXPORT'),
206204

205+
APPEARANCE_SETTINGS_READ:new Permission('APPEARANCE_SETTINGS:READ'),
206+
APPEARANCE_SETTINGS_EDIT:new Permission('APPEARANCE_SETTINGS:READ+EDIT'),
207207

208+
LOGIN_AUTH_READ:new Permission('LOGIN_AUTH:READ'),
209+
LOGIN_AUTH_EDIT:new Permission('LOGIN_AUTH:READ+EDIT'),
208210

209-
211+
EMAIL_SETTING_READ:new Permission('EMAIL_SETTING:READ'),
212+
EMAIL_SETTING_EDIT:new Permission('EMAIL_SETTING:READ+EDIT'),
213+
214+
OPERATION_LOG_READ:new Permission('OPERATION_LOG:READ'),
215+
OPERATION_LOG_EXPORT:new Permission('OPERATION_LOG:READ+EXPORT'),
210216

211217

212218
ABOUT_READ:new Permission('OTHER:READ'),

ui/src/views/system-chat-user/authentication/component/CAS.vue

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@
4848
v-hasPermission="
4949
new ComplexPermission(
5050
[RoleConst.ADMIN],
51-
[PermissionConst.USER_GROUP_REMOVE_MEMBER],
51+
[PermissionConst.CHAT_USER_AUTH_EDIT],
5252
[],'OR',)"
5353
>
5454
{{ $t('common.save') }}

ui/src/views/system-chat-user/authentication/component/LDAP.vue

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,13 @@
6969
<el-button @click="submit(authFormRef, 'test')" :disabled="loading">
7070
{{ $t('views.system.test') }}</el-button
7171
>
72-
<el-button @click="submit(authFormRef)" type="primary" :disabled="loading">
72+
<el-button @click="submit(authFormRef)" type="primary" :disabled="loading"
73+
v-hasPermission="
74+
new ComplexPermission(
75+
[RoleConst.ADMIN],
76+
[PermissionConst.CHAT_USER_AUTH_EDIT],
77+
[],'OR',)"
78+
>
7379
{{ $t('common.save') }}
7480
</el-button>
7581
</div>
@@ -83,6 +89,8 @@ import authApi from '@/api/chat-user/auth-setting'
8389
import type { FormInstance, FormRules } from 'element-plus'
8490
import { t } from '@/locales'
8591
import { MsgSuccess } from '@/utils/message'
92+
import { PermissionConst, RoleConst } from '@/utils/permission/data'
93+
import { ComplexPermission } from '@/utils/permission/type'
8694
8795
const form = ref<any>({
8896
id: '',

ui/src/views/system-chat-user/authentication/component/OAuth2.vue

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,13 @@
9090
</el-form>
9191

9292
<div class="text-right">
93-
<el-button @click="submit(authFormRef)" type="primary" :disabled="loading">
93+
<el-button @click="submit(authFormRef)" type="primary" :disabled="loading"
94+
v-hasPermission="
95+
new ComplexPermission(
96+
[RoleConst.ADMIN],
97+
[PermissionConst.CHAT_USER_AUTH_EDIT],
98+
[],'OR',)"
99+
>
94100
{{ $t('common.save') }}
95101
</el-button>
96102
</div>
@@ -104,6 +110,8 @@ import authApi from '@/api/chat-user/auth-setting'
104110
import type { FormInstance, FormRules } from 'element-plus'
105111
import { t } from '@/locales'
106112
import { MsgSuccess } from '@/utils/message'
113+
import { PermissionConst, RoleConst } from '@/utils/permission/data'
114+
import { ComplexPermission } from '@/utils/permission/type'
107115
108116
const form = ref<any>({
109117
id: '',

ui/src/views/system-chat-user/authentication/component/OIDC.vue

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,13 @@
8787
</el-form>
8888

8989
<div class="text-right">
90-
<el-button @click="submit(authFormRef)" type="primary" :disabled="loading">
90+
<el-button @click="submit(authFormRef)" type="primary" :disabled="loading"
91+
v-hasPermission="
92+
new ComplexPermission(
93+
[RoleConst.ADMIN],
94+
[PermissionConst.CHAT_USER_AUTH_EDIT],
95+
[],'OR',)"
96+
>
9197
{{ $t('common.save') }}
9298
</el-button>
9399
</div>
@@ -101,6 +107,8 @@ import authApi from '@/api/chat-user/auth-setting'
101107
import type { FormInstance, FormRules } from 'element-plus'
102108
import { t } from '@/locales'
103109
import { MsgSuccess } from '@/utils/message'
110+
import { PermissionConst, RoleConst } from '@/utils/permission/data'
111+
import { ComplexPermission } from '@/utils/permission/type'
104112
105113
const form = ref<any>({
106114
id: '',

ui/src/views/system-setting/authentication/component/CAS.vue

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,13 @@
4444
</el-form>
4545

4646
<div class="text-right">
47-
<el-button @click="submit(authFormRef)" type="primary" :disabled="loading">
47+
<el-button @click="submit(authFormRef)" type="primary" :disabled="loading"
48+
v-hasPermission="
49+
new ComplexPermission(
50+
[RoleConst.ADMIN],
51+
[PermissionConst.LOGIN_AUTH_EDIT],
52+
[],'OR',)"
53+
>
4854
{{ $t('common.save') }}
4955
</el-button>
5056
</div>
@@ -58,6 +64,8 @@ import authApi from '@/api/system-settings/auth-setting'
5864
import type { FormInstance, FormRules } from 'element-plus'
5965
import { t } from '@/locales'
6066
import { MsgSuccess } from '@/utils/message'
67+
import { PermissionConst, RoleConst } from '@/utils/permission/data'
68+
import { ComplexPermission } from '@/utils/permission/type'
6169
6270
const form = ref<any>({
6371
id: '',

ui/src/views/system-setting/authentication/component/LDAP.vue

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,13 @@
6969
<el-button @click="submit(authFormRef, 'test')" :disabled="loading">
7070
{{ $t('views.system.test') }}</el-button
7171
>
72-
<el-button @click="submit(authFormRef)" type="primary" :disabled="loading">
72+
<el-button @click="submit(authFormRef)" type="primary" :disabled="loading"
73+
v-hasPermission="
74+
new ComplexPermission(
75+
[RoleConst.ADMIN],
76+
[PermissionConst.LOGIN_AUTH_EDIT],
77+
[],'OR',)"
78+
>
7379
{{ $t('common.save') }}
7480
</el-button>
7581
</div>
@@ -83,6 +89,8 @@ import authApi from '@/api/system-settings/auth-setting'
8389
import type { FormInstance, FormRules } from 'element-plus'
8490
import { t } from '@/locales'
8591
import { MsgSuccess } from '@/utils/message'
92+
import { PermissionConst, RoleConst } from '@/utils/permission/data'
93+
import { ComplexPermission } from '@/utils/permission/type'
8694
8795
const form = ref<any>({
8896
id: '',

ui/src/views/system-setting/authentication/component/OAuth2.vue

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,13 @@
9090
</el-form>
9191

9292
<div class="text-right">
93-
<el-button @click="submit(authFormRef)" type="primary" :disabled="loading">
93+
<el-button @click="submit(authFormRef)" type="primary" :disabled="loading"
94+
v-hasPermission="
95+
new ComplexPermission(
96+
[RoleConst.ADMIN],
97+
[PermissionConst.LOGIN_AUTH_EDIT],
98+
[],'OR',)"
99+
>
94100
{{ $t('common.save') }}
95101
</el-button>
96102
</div>
@@ -104,6 +110,8 @@ import authApi from '@/api/system-settings/auth-setting'
104110
import type { FormInstance, FormRules } from 'element-plus'
105111
import { t } from '@/locales'
106112
import { MsgSuccess } from '@/utils/message'
113+
import { PermissionConst, RoleConst } from '@/utils/permission/data'
114+
import { ComplexPermission } from '@/utils/permission/type'
107115
108116
const form = ref<any>({
109117
id: '',

0 commit comments

Comments
 (0)