From f039d13bd23f176c3443e5d933d071bd78c8d8c2 Mon Sep 17 00:00:00 2001 From: Aaron3S Date: Wed, 15 Feb 2023 19:07:28 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=E8=8B=A5=E5=B9=B2rbac?= =?UTF-8?q?=E9=97=AE=E9=A2=98=EF=BC=8C=20=E4=BF=AE=E5=A4=8D=E4=BB=BB?= =?UTF-8?q?=E5=8A=A1=E5=90=8D=E5=AD=97=E6=98=BE=E7=A4=BA=E4=B8=AD=E5=BF=83?= =?UTF-8?q?=E4=B8=8D=E5=8F=8B=E5=A5=BD=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/i18n/langs/en.json | 3 +++ src/i18n/langs/ja.json | 3 +++ src/i18n/langs/zh.json | 3 +++ src/router/console/accounts.js | 2 +- src/router/console/tasks.js | 17 +++++++++++++---- src/router/workbench/index.js | 6 +++--- src/views/ops/Job/JobUpdateCreate.vue | 5 ----- src/views/ops/Job/index.vue | 7 +++---- src/views/ops/Template/Adhoc.vue | 4 ++-- src/views/ops/Template/Playbook.vue | 4 ++-- src/views/ops/Template/index.vue | 6 ++++-- src/views/tasks/TaskDetail/TaskDetail.vue | 2 +- src/views/tasks/TaskDetail/index.vue | 20 ++++++++++++++++---- src/views/tasks/TaskList.vue | 19 ++++++++++++++----- 14 files changed, 68 insertions(+), 33 deletions(-) diff --git a/src/i18n/langs/en.json b/src/i18n/langs/en.json index ecf1e2cd1..ec756661e 100644 --- a/src/i18n/langs/en.json +++ b/src/i18n/langs/en.json @@ -827,6 +827,9 @@ "Weekly": "Weekly" }, "ops": { + "StatusGreen": "Recently in good condition", + "StatusRed": "The last task execution failed", + "StatusYellow": "Recent Execution Failures", "RunAgain": "Run again", "ManualInput": "Manual input", "Execute": "Execute", diff --git a/src/i18n/langs/ja.json b/src/i18n/langs/ja.json index c586123db..6747b3877 100644 --- a/src/i18n/langs/ja.json +++ b/src/i18n/langs/ja.json @@ -826,6 +826,9 @@ "Weekly": "週ごと" }, "ops": { + "StatusGreen": "最近調子がいい\n", + "StatusRed": "最後のタスクの実行に失敗しました", + "StatusYellow": "最近の存在の実行に失敗しました", "RunAgain": "再実行", "ManualInput": "手動入力", "Execute": "実行", diff --git a/src/i18n/langs/zh.json b/src/i18n/langs/zh.json index f574c4e04..c2f514c88 100644 --- a/src/i18n/langs/zh.json +++ b/src/i18n/langs/zh.json @@ -822,6 +822,9 @@ "Weekly": "按周" }, "ops": { + "StatusGreen": "近期状态良好", + "StatusRed": "上一次任务执行失败", + "StatusYellow": "近期存在在执行失败", "RunAgain": "再次执行", "AdhocUpdate": "更新命令", "Add": "新增", diff --git a/src/router/console/accounts.js b/src/router/console/accounts.js index 9f23554bf..feb27701c 100644 --- a/src/router/console/accounts.js +++ b/src/router/console/accounts.js @@ -124,7 +124,7 @@ export default [ name: 'AccountPushDetail', hidden: true, meta: { - title: i18n.t('accounts.AccountPush.AccountPushList'), + title: i18n.t('accounts.AccountChangeSecret.AccountChangeSecret'), permissions: ['accounts.view_pushaccountautomation'] } }, diff --git a/src/router/console/tasks.js b/src/router/console/tasks.js index d8f9d1508..a8c4abb71 100644 --- a/src/router/console/tasks.js +++ b/src/router/console/tasks.js @@ -8,21 +8,27 @@ export default [ component: empty, meta: { title: i18n.t('route.TaskList'), - permissions: ['ops.view_celerytask', 'ops.view_taskmonitor'] + permissions: ['ops.view_celerytask | ops.view_taskmonitor'] }, children: [ { path: '', name: 'TaskList', component: () => import('@/views/tasks/TaskList'), - meta: { title: i18n.t('route.TaskList'), permissions: ['ops.view_celerytask'] } + meta: { + title: i18n.t('route.TaskList'), + permissions: ['ops.view_celerytask'] + } }, { path: ':id', component: () => import('@/views/tasks/TaskDetail'), name: 'TaskDetail', hidden: true, - meta: { title: i18n.t('route.TaskDetail'), permissions: ['ops.view_celerytask'] } + meta: { + title: i18n.t('route.TaskDetail'), + permissions: ['ops.view_celerytask'] + } } ] }, @@ -30,6 +36,9 @@ export default [ path: `${BASE_URL}/core/flower/?_=${Date.now()}`, name: 'TaskMonitor', // component: () => window.open(`/core/flower?_=${Date.now()}`), - meta: { title: i18n.t('route.TaskMonitor'), permissions: ['ops.view_taskmonitor'] } + meta: { + title: i18n.t('route.TaskMonitor'), + permissions: ['ops.view_taskmonitor'] + } } ] diff --git a/src/router/workbench/index.js b/src/router/workbench/index.js index f88ba01a9..cdd584533 100644 --- a/src/router/workbench/index.js +++ b/src/router/workbench/index.js @@ -86,7 +86,7 @@ export default { meta: { title: i18n.t('route.JobCenter'), icon: 'task-center', - permissions: ['ops.view_job'], + permissions: [], hidden: () => { return !store.getters.publicSettings['SECURITY_COMMAND_EXECUTION'] } @@ -98,7 +98,7 @@ export default { component: () => import('@/views/ops/Job/QuickJob'), meta: { title: i18n.t('ops.QuickJob'), - permissions: ['ops.view_job', 'ops.add_job'] + permissions: ['ops.view_job', 'ops.add_job', 'ops.add_jobexecution'] } }, { @@ -161,7 +161,7 @@ export default { component: () => import('@/views/ops/Template'), meta: { title: i18n.t('route.Template'), - permissions: ['ops.view_adhoc', 'ops.view_playbook'] + permissions: ['ops.view_adhoc|ops.view_playbook'] } }, { diff --git a/src/views/ops/Job/JobUpdateCreate.vue b/src/views/ops/Job/JobUpdateCreate.vue index 350e0f6dd..2e9aa7032 100644 --- a/src/views/ops/Job/JobUpdateCreate.vue +++ b/src/views/ops/Job/JobUpdateCreate.vue @@ -53,11 +53,6 @@ export default { } }, comment: { - on: { - change: (val) => { - console.log(val) - } - }, hidden: () => { return this.instantTask } diff --git a/src/views/ops/Job/index.vue b/src/views/ops/Job/index.vue index b28033ddf..4450689f9 100644 --- a/src/views/ops/Job/index.vue +++ b/src/views/ops/Job/index.vue @@ -80,17 +80,16 @@ export default { formatter: ActionsFormatter, formatterArgs: { hasUpdate: true, - canUpdate: true, + canUpdate: this.$hasPerm('ops.change_job'), updateRoute: 'JobUpdate', hasDelete: true, - canDelete: true, + canDelete: this.$hasPerm('ops.delete_job'), hasClone: false, extraActions: [ { title: this.$t('ops.Run'), name: 'run', - type: 'running', - can: true, + can: this.$hasPerm('ops.add_jobexecution'), callback: ({ row }) => { const params = JSON.parse(row.parameters_define) if (Object.keys(params).length > 0) { diff --git a/src/views/ops/Template/Adhoc.vue b/src/views/ops/Template/Adhoc.vue index abf56c3ba..381bfb6b7 100644 --- a/src/views/ops/Template/Adhoc.vue +++ b/src/views/ops/Template/Adhoc.vue @@ -29,10 +29,10 @@ export default { formatter: ActionsFormatter, formatterArgs: { hasUpdate: true, - canUpdate: true, + canUpdate: this.$hasPerm('ops.change_adhoc'), updateRoute: 'AdhocUpdate', hasDelete: true, - canDelete: true, + canDelete: this.$hasPerm('ops.delete_adhoc'), hasClone: false } } diff --git a/src/views/ops/Template/Playbook.vue b/src/views/ops/Template/Playbook.vue index d86231ff4..95415683e 100644 --- a/src/views/ops/Template/Playbook.vue +++ b/src/views/ops/Template/Playbook.vue @@ -39,10 +39,10 @@ export default { formatter: ActionsFormatter, formatterArgs: { hasUpdate: true, - canUpdate: true, + canUpdate: this.$hasPerm('ops.change_playbook'), updateRoute: 'PlaybookUpdate', hasDelete: true, - canDelete: true, + canDelete: this.$hasPerm('ops.delete_playbook'), hasClone: false } } diff --git a/src/views/ops/Template/index.vue b/src/views/ops/Template/index.vue index 0fbe09185..3f0f1ae52 100644 --- a/src/views/ops/Template/index.vue +++ b/src/views/ops/Template/index.vue @@ -26,11 +26,13 @@ export default { submenu: [ { title: this.$t('ops.AdhocManage'), - name: 'Adhoc' + name: 'Adhoc', + hidden: () => !this.$hasPerm('ops.view_adhoc') }, { title: this.$t('ops.PlaybookManage'), - name: 'Playbook' + name: 'Playbook', + hidden: () => !this.$hasPerm('ops.view_playbook') } ] } diff --git a/src/views/tasks/TaskDetail/TaskDetail.vue b/src/views/tasks/TaskDetail/TaskDetail.vue index a4fce6c4f..6b37b8474 100644 --- a/src/views/tasks/TaskDetail/TaskDetail.vue +++ b/src/views/tasks/TaskDetail/TaskDetail.vue @@ -25,7 +25,7 @@ export default { }, computed: { cardTitle() { - return this.object.name + return this.object.meta.comment ? this.object.meta.comment : this.object.name }, detailCardItems() { return [ diff --git a/src/views/tasks/TaskDetail/index.vue b/src/views/tasks/TaskDetail/index.vue index 8bd310103..e1a3608f4 100644 --- a/src/views/tasks/TaskDetail/index.vue +++ b/src/views/tasks/TaskDetail/index.vue @@ -1,7 +1,13 @@ @@ -22,7 +28,7 @@ export default { }, data() { return { - TaskDetail: {}, + taskDetail: {}, config: { url: '/api/v1/ops/tasks', activeMenu: 'TaskDetail', @@ -33,13 +39,19 @@ export default { }, { title: this.$t('ops.execution'), - name: 'TaskHistory' + name: 'TaskHistory', + hidden: () => !this.$hasPerm('ops.view_celerytaskexecution') } ], hasRightSide: false, hasActivity: false } } + }, + computed: { + getTitle() { + return this.taskDetail.meta && this.taskDetail.meta.comment ? this.taskDetail.meta.comment : this.taskDetail.name + } } } diff --git a/src/views/tasks/TaskList.vue b/src/views/tasks/TaskList.vue index 8ab0f0c3d..272a24139 100644 --- a/src/views/tasks/TaskList.vue +++ b/src/views/tasks/TaskList.vue @@ -4,6 +4,7 @@