mirror of
https://github.com/jumpserver/lina.git
synced 2025-08-17 14:27:18 +00:00
Merge pull request #3111 from jumpserver/pr@dev@account_template
feat: 账号模版 切换自
This commit is contained in:
commit
e80b162eca
@ -65,7 +65,7 @@ export default {
|
|||||||
fields: [
|
fields: [
|
||||||
[this.$t('assets.Asset'), ['assets']],
|
[this.$t('assets.Asset'), ['assets']],
|
||||||
[this.$t('accounts.AccountTemplate'), ['template']],
|
[this.$t('accounts.AccountTemplate'), ['template']],
|
||||||
[this.$t('common.Basic'), ['name', 'username', 'privileged', 'su_from']],
|
[this.$t('common.Basic'), ['name', 'username', 'privileged', 'su_from', 'su_from_username']],
|
||||||
[this.$t('assets.Secret'), [
|
[this.$t('assets.Secret'), [
|
||||||
'secret_type', 'secret', 'ssh_key',
|
'secret_type', 'secret', 'ssh_key',
|
||||||
'token', 'access_key', 'passphrase'
|
'token', 'access_key', 'passphrase'
|
||||||
@ -167,6 +167,12 @@ export default {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
su_from_username: {
|
||||||
|
label: this.$t('assets.UserSwitchFrom'),
|
||||||
|
hidden: (formValue) => {
|
||||||
|
return this.platform || this.asset
|
||||||
|
}
|
||||||
|
},
|
||||||
secret: {
|
secret: {
|
||||||
label: this.$t('assets.Password'),
|
label: this.$t('assets.Password'),
|
||||||
component: UpdateToken,
|
component: UpdateToken,
|
||||||
|
@ -156,6 +156,7 @@ export function formatDate(inputTime) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
const uuidPattern = /[0-9a-zA-Z\-]{36}/
|
const uuidPattern = /[0-9a-zA-Z\-]{36}/
|
||||||
|
const uuidRegex = /\/([a-f\d]{8}(-[a-f\d]{4}){3}-[a-f\d]{12})\//
|
||||||
|
|
||||||
export function hasUUID(path) {
|
export function hasUUID(path) {
|
||||||
const index = path.indexOf('?')
|
const index = path.indexOf('?')
|
||||||
@ -165,6 +166,15 @@ export function hasUUID(path) {
|
|||||||
return path.search(uuidPattern) !== -1
|
return path.search(uuidPattern) !== -1
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export function getUuidUpdateFromUrl(path) {
|
||||||
|
const matches = uuidRegex.exec(path)
|
||||||
|
if (matches !== null) {
|
||||||
|
return matches[1]
|
||||||
|
} else {
|
||||||
|
return ''
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
export function replaceUUID(s, n) {
|
export function replaceUUID(s, n) {
|
||||||
const index = s.search(uuidPattern)
|
const index = s.search(uuidPattern)
|
||||||
if (index > 0) return s.substr(0, index)
|
if (index > 0) return s.substr(0, index)
|
||||||
|
@ -1,8 +1,10 @@
|
|||||||
|
import { getUuidUpdateFromUrl } from '@/utils/common'
|
||||||
import { UpdateToken } from '@/components/FormFields'
|
import { UpdateToken } from '@/components/FormFields'
|
||||||
|
import Select2 from '@/components/FormFields/Select2'
|
||||||
|
|
||||||
export const templateFields = (vm) => {
|
export const templateFields = (vm) => {
|
||||||
return [
|
return [
|
||||||
[vm.$t('common.Basic'), ['name', 'username', 'privileged']],
|
[vm.$t('common.Basic'), ['name', 'username', 'privileged', 'su_from']],
|
||||||
[vm.$t('assets.Secret'), [
|
[vm.$t('assets.Secret'), [
|
||||||
'secret_type', 'secret', 'ssh_key', 'token',
|
'secret_type', 'secret', 'ssh_key', 'token',
|
||||||
'access_key', 'passphrase'
|
'access_key', 'passphrase'
|
||||||
@ -12,7 +14,21 @@ export const templateFields = (vm) => {
|
|||||||
}
|
}
|
||||||
|
|
||||||
export const templateFieldsMeta = (vm) => {
|
export const templateFieldsMeta = (vm) => {
|
||||||
|
const id = getUuidUpdateFromUrl(vm.$route.path)
|
||||||
return {
|
return {
|
||||||
|
su_from: {
|
||||||
|
component: Select2,
|
||||||
|
el: {
|
||||||
|
multiple: false,
|
||||||
|
clearable: true,
|
||||||
|
ajax: {
|
||||||
|
url: `/api/v1/accounts/account-templates/su-from-account-templates/?${id ? 'template_id=' + id : ''}`,
|
||||||
|
transformOption: (item) => {
|
||||||
|
return { label: `${item.name}(${item.username})`, value: item.id }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
secret: {
|
secret: {
|
||||||
label: vm.$t('assets.Password'),
|
label: vm.$t('assets.Password'),
|
||||||
component: UpdateToken,
|
component: UpdateToken,
|
||||||
|
Loading…
Reference in New Issue
Block a user