Compare commits

...

48 Commits

Author SHA1 Message Date
Aaron3S
5a8111d5aa fix: 修复playbook文件树无法点击的问题 2023-06-14 11:06:23 +08:00
feng
bb84a9189c fix: 修改k8s修改不了端口问题 2023-05-26 14:55:30 +08:00
feng
8c11dd9aa4 perf: 账号模版改密的helptext用到修改资产协议上了 2023-05-25 17:04:58 +08:00
Bai
c13307b26b perf: 优化 API 调用最大超时时间为 2 min 2023-05-25 14:47:01 +08:00
Bai
e74a611060 fix: 修复系统管理员不能互相更新的问题 2023-05-19 18:07:42 +08:00
jiangweidong
b09f54c356 fix: 去掉手机区号和手机号码之间的空格 2023-05-19 18:07:16 +08:00
Bai
320de2c3e4 perf: 优化资产平台详情显示ID字段;优化组件监控显示Video-Worker名称 2023-05-19 16:01:46 +08:00
Jiangjie.Bai
09f734e6fc Merge pull request #3135 from jumpserver/dev
v3.3.0
2023-05-18 19:18:11 +08:00
Jiangjie.Bai
3117046342 Merge pull request #3061 from jumpserver/dev
v3.2.0
2023-04-20 18:40:08 +08:00
Bai
b68aecb5cc fix: 批量更新资产平台help-text 2023-04-20 18:39:22 +08:00
Jiangjie.Bai
1c9b155d97 Merge pull request #3057 from jumpserver/dev
v3.2.0
2023-04-20 18:22:46 +08:00
Jiangjie.Bai
75b1be9864 Merge pull request #3019 from jumpserver/dev
v3.2.0 rc2
2023-04-14 19:01:37 +08:00
Jiangjie.Bai
615c3c1cf4 Merge pull request #3014 from jumpserver/dev
v3.2.0 rc1
2023-04-13 20:02:38 +08:00
Jiangjie.Bai
4d82231af4 Merge pull request #3012 from jumpserver/dev
v3.2.0 rc1
2023-04-13 19:22:38 +08:00
“huailei000”
c6cf6571b6 perf: ldap导入用户列表-组织下拉框设置最大宽度 2023-03-16 16:44:36 +08:00
Bai
8ea990d070 fix: 修复创建资产添加账号模版报错问题 2023-03-16 16:44:36 +08:00
“huailei000”
f4a32170d5 perf: message 2023-03-16 16:44:36 +08:00
ibuler
073508675e perf: 添加默认的信息 2023-03-16 16:44:36 +08:00
Jiangjie.Bai
1d6ca0a93a Merge pull request #2924 from jumpserver/dev
v3.1.0 rc4
2023-03-15 19:46:31 +08:00
Jiangjie.Bai
36aea652d6 Merge pull request #2788 from jumpserver/dev
v3.0.0
2023-02-23 20:16:41 +08:00
Jiangjie.Bai
1a42ce90ab Merge pull request #2760 from jumpserver/dev
v3.0.0-rc-latest
2023-02-22 22:21:54 +08:00
Jiangjie.Bai
31a401b55d Merge pull request #2463 from jumpserver/dev
v3.0.0-rc4
2023-01-31 18:55:34 +08:00
Jiangjie.Bai
582a84178d Merge pull request #2187 from jumpserver/dev
v2.28.0
2022-11-17 17:44:19 +08:00
Jiangjie.Bai
9b9f7c936c Merge pull request #2184 from jumpserver/dev
v2.28.0-rc5
2022-11-17 14:18:15 +08:00
Jiangjie.Bai
2a6100957f Merge pull request #2182 from jumpserver/dev
v2.28.0-rc4
2022-11-16 21:08:55 +08:00
Jiangjie.Bai
16606d6a27 Merge pull request #2176 from jumpserver/dev
v2.28.0-rc2
2022-11-14 10:01:05 +08:00
Jiangjie.Bai
0a612f50e6 Merge pull request #2164 from jumpserver/dev
v2.28.0-rc1
2022-11-10 17:45:47 +08:00
Jiangjie.Bai
fe36fa9390 Merge pull request #2117 from jumpserver/dev
v2.27.0-rc4
2022-10-18 21:02:10 +08:00
Jiangjie.Bai
ba109900ec Merge pull request #2113 from jumpserver/dev
v2.27.0-rc3
2022-10-18 11:20:57 +08:00
Jiangjie.Bai
ec7768267f Merge pull request #2105 from jumpserver/dev
v2.27.0-rc2
2022-10-14 11:01:32 +08:00
Jiangjie.Bai
cc58b374ab Merge pull request #2101 from jumpserver/dev
v2.27.0-rc1
2022-10-13 17:44:53 +08:00
Jiangjie.Bai
04ffbb8fd6 Merge pull request #2097 from jumpserver/dev
v2.27.0-rc1
2022-10-13 15:14:40 +08:00
Jiangjie.Bai
49880f6739 Merge pull request #2059 from jumpserver/dev
v2.26.0
2022-09-15 17:49:44 +08:00
Jiangjie.Bai
e6f98d58c4 Merge pull request #2057 from jumpserver/dev
v2.26.0-rc4
2022-09-15 16:18:03 +08:00
Jiangjie.Bai
fd1f16d43c Merge pull request #2050 from jumpserver/dev
v2.26.0-rc2
2022-09-13 17:41:39 +08:00
Jiangjie.Bai
968b2415b1 Merge pull request #2043 from jumpserver/dev
v2.26.0-rc1
2022-09-08 15:46:44 +08:00
Jiangjie.Bai
776090d6ba Merge pull request #2001 from jumpserver/dev
v2.25.0
2022-08-18 16:12:45 +08:00
Jiangjie.Bai
3a37952288 Merge pull request #1996 from jumpserver/dev
v2.25.0-rc4
2022-08-17 16:53:23 +08:00
Jiangjie.Bai
62b8fc0e3b Merge pull request #1994 from jumpserver/dev
v2.25.0-rc3
2022-08-16 19:08:23 +08:00
Jiangjie.Bai
b2028869cb Merge pull request #1986 from jumpserver/dev
v2.25.0-rc2
2022-08-12 18:06:56 +08:00
Jiangjie.Bai
5277a725f8 Merge pull request #1973 from jumpserver/dev
v2.25.0-rc1
2022-08-11 14:11:59 +08:00
Jiangjie.Bai
f137788c1a Merge pull request #1957 from jumpserver/dev
v2.24.0-rc5
2022-07-20 19:06:03 +08:00
Jiangjie.Bai
f7d17c8de7 Merge pull request #1954 from jumpserver/dev
v2.24.0-rc4
2022-07-19 16:18:13 +08:00
Jiangjie.Bai
feea70b0be Merge pull request #1944 from jumpserver/dev
v2.24.0-rc3
2022-07-18 12:05:42 +08:00
Jiangjie.Bai
04696ef3d6 Merge pull request #1940 from jumpserver/dev
v2.24.0-rc2
2022-07-15 18:07:37 +08:00
Jiangjie.Bai
1731f4f788 Merge pull request #1934 from jumpserver/dev
v2.24.0-rc1
2022-07-14 18:27:51 +08:00
Jiangjie.Bai
6f25d93909 Merge pull request #1931 from jumpserver/dev
v2.24.0-rc1
2022-07-14 17:51:58 +08:00
Jiangjie.Bai
46461ec324 Merge pull request #1925 from jumpserver/dev
v2.24.0-rc1
2022-07-14 15:12:15 +08:00
14 changed files with 64 additions and 61 deletions

View File

@@ -2,13 +2,13 @@
<DataZTree ref="dataztree" :setting="treeSetting" class="data-z-tree" v-on="$listeners">
<slot v-if="treeSetting.hasRightMenu" slot="rMenu">
<li v-if="treeSetting.showCreate" id="m_create" class="rmenu" tabindex="-1" @click="createTreeNode">
<i class="fa fa-plus-square-o" /> {{ this.$t('tree.CreateNode') }}
<i class="fa fa-plus-square-o" /> {{ this.$t('tree.CreateNode') }}
</li>
<li v-if="treeSetting.showUpdate" id="m_edit" class="rmenu" tabindex="-1" @click="editTreeNode">
<i class="fa fa-pencil-square-o" /> {{ this.$t('tree.RenameNode') }}
<i class="fa fa-pencil-square-o" /> {{ this.$t('tree.RenameNode') }}
</li>
<li v-if="treeSetting.showDelete" id="m_del" class="rmenu" tabindex="-1" @click="removeTreeNode">
<i class="fa fa-minus-square" /> {{ this.$t('tree.DeleteNode') }}
<i class="fa fa-minus-square" /> {{ this.$t('tree.DeleteNode') }}
</li>
<slot name="rMenu" />
</slot>
@@ -42,7 +42,9 @@ export default {
customTreeHeaderName: this.$t('assets.AssetTree'),
async: {
enable: true,
url: (process.env.VUE_APP_ENV === 'production') ? (`${this.setting.treeUrl}`) : (`${process.env.VUE_APP_BASE_API}${this.setting.treeUrl}`),
url: (process.env.VUE_APP_ENV === 'production')
? (`${this.setting.treeUrl}`)
: (`${process.env.VUE_APP_BASE_API}${this.setting.treeUrl}`),
autoParam: ['id=key', 'name=n', 'level=lv'],
type: 'get',
headers: {
@@ -206,7 +208,9 @@ export default {
this.showRMenu('root', event.clientX, event.clientY)
} else if (treeNode && !treeNode.noR) {
this.zTree.selectNode(treeNode)
this.currentNodeId = treeNode.meta.data.id
if (treeNode.meta?.data?.id) {
this.currentNodeId = treeNode.meta.data.id
}
this.showRMenu('node', event.clientX, event.clientY)
}
},
@@ -284,32 +288,32 @@ export default {
</script>
<style scoped>
.rmenu {
font-size: 12px;
padding: 0 16px;
position: relative;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
color: #606266;
height: 24px;
line-height: 24px;
box-sizing: border-box;
cursor: pointer;
}
.rmenu {
font-size: 12px;
padding: 0 16px;
position: relative;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
color: #606266;
height: 24px;
line-height: 24px;
box-sizing: border-box;
cursor: pointer;
}
.rmenu > a:hover, .dropdown-menu > a:focus {
color: #262626;
text-decoration: none;
background-color: #f5f5f5;
}
.rmenu > a:hover, .dropdown-menu > a:focus {
color: #262626;
text-decoration: none;
background-color: #f5f5f5;
}
.rmenu:hover {
background-color: #f5f7fa;
}
.rmenu:hover {
background-color: #f5f7fa;
}
.data-z-tree >>> .fa {
width: 10px;
margin-right: 3px;
}
.data-z-tree >>> .fa {
width: 10px;
margin-right: 3px;
}
</style>

View File

@@ -57,7 +57,7 @@ export default {
if (!this.rawValue.phone) {
return ''
}
return `${this.rawValue.code} ${this.rawValue.phone}`
return `${this.rawValue.code}${this.rawValue.phone}`
}
},
mounted() {

View File

@@ -10,7 +10,7 @@
width="70%"
v-on="$listeners"
>
<el-alert v-if="disabled && platformDetail" type="success">
<el-alert v-if="disabled && platformDetail" type="success" style="margin-bottom: 10px">
{{ $t('assets.InheritPlatformConfig') }}
<el-link :href="platformDetail" class="link-more" target="_blank">
{{ $t('common.View') }}
@@ -214,7 +214,6 @@ export default {
.link-more {
font-size: 10px;
margin-left: 10px;
border-bottom: solid 1px;
color: inherit;
}

View File

@@ -3,6 +3,9 @@
"accounts": {
"GenerateSuccessMsg": "Accounts generated successfully",
"GenerateAccounts": "Regenerate accounts",
"AccountTemplateUpdateSecretHelpText": "The account list displays accounts created through templates. When updating ciphertext, the ciphertext of the account created through the template will be updated.",
"Accounts": "Accounts",
"SelectAccount": "Select account",
"UpdateSecret": "Update secret",
"AccountPolicy": "Account policy",
"BulkCreateStrategy": "When creating accounts that do not meet the requirements, such as key type non-compliance and unique key constraints, the above policies can be selected.",
@@ -354,7 +357,7 @@
"PasswordSelector": "Password Input Box Selector",
"SubmitSelector": "Submit Button Selector",
"PlatformProtocolConfig": "Platform protocol config",
"InheritPlatformConfig": "The account list displays accounts created through templates. When updating ciphertext, the ciphertext of the account created through the template will be updated.",
"InheritPlatformConfig": "Inherited from the platform configuration. If you need to change, please change the configuration in the platform.",
"CollectHardwareInfo": "Enable collection of hardware information",
"DomainEnabled": "Enable domain",
"ProtocolsEnabled": "Enable protocol",

View File

@@ -1,6 +1,9 @@
{
"": "",
"accounts": {
"Accounts": "アカウント",
"AccountTemplateUpdateSecretHelpText": "アカウントリストには、テンプレートで作成されたアカウントが表示されます。暗号文を更新すると、テンプレートで作成されたアカウントの暗号文が更新されます。",
"SelectAccount": "アカウントを選択",
"GenerateSuccessMsg": "アカウントの生成に成功しました",
"GenerateAccounts": "アカウントを再生成する",
"UpdateSecret": "機密の更新",
@@ -347,7 +350,7 @@
"PasswordSelector": "パスワード入力ボックスセレクタ",
"SubmitSelector": "コミットボタンセレクタ",
"PlatformProtocolConfig": "プラットフォームプロトコルの構成",
"InheritPlatformConfig": "アカウントリストには、テンプレートで作成されたアカウントが表示されます。暗号文を更新すると、テンプレートで作成されたアカウントの暗号文が更新されます。",
"InheritPlatformConfig": "プラットフォーム構成から継承します。変更する場合は、プラットフォームの構成を変更してください。",
"CollectHardwareInfo": "ハードウェア情報の収集を有効にする",
"DomainEnabled": "ドメインを有効化",
"ProtocolsEnabled": "プロトコルの有効化",

View File

@@ -1,6 +1,9 @@
{
"": "",
"accounts": {
"Accounts": "账号",
"SelectAccount": "选择账号",
"AccountTemplateUpdateSecretHelpText": "账号列表展示通过模版创建的账号。更新密文时,会更新通过模版所创建账号的密文。",
"GenerateSuccessMsg": "账号生成成功",
"GenerateAccounts": "重新生成账号",
"UpdateSecret": "更新密文",
@@ -365,7 +368,7 @@
"PasswordSelector": "密码输入框选择器",
"SubmitSelector": "提交按钮选择器",
"PlatformProtocolConfig": "平台协议配置",
"InheritPlatformConfig": "账号列表展示通过模版创建的账号。更新密文时,会更新通过模版所创建账号的密文。",
"InheritPlatformConfig": "继承自平台配置,如需更改,请更改平台中的配置。",
"CollectHardwareInfo": "启用收集硬件信息",
"DomainEnabled": "启用网域",
"ProtocolsEnabled": "启用协议",

View File

@@ -43,6 +43,7 @@ const mutations = {
state.profile = profile
state.username = profile.username
state.perms = profile.perms
state.isSuperAdmin = profile['is_superuser']
state.consoleOrgs = profile['console_orgs']
state.workbenchOrgs = profile['workbench_orgs']
state.noRootWorkbenchOrgs = profile['workbench_orgs'].filter(item => {

View File

@@ -14,7 +14,7 @@ import { DEFAULT_ORG_ID, SYSTEM_ORG_ID } from '@/utils/org'
const service = axios.create({
baseURL: process.env.VUE_APP_BASE_API, // url = base url + request url
// withCredentials: true, // send cookies when cross-domain requests
timeout: 60 * 1000 // request timeout
timeout: 2 * 60 * 1000 // request timeout
})
function beforeRequestAddToken(config) {

View File

@@ -3,7 +3,7 @@
<el-row :gutter="20">
<el-col :md="24" :sm="24">
<el-alert type="success">
{{ $t('assets.InheritPlatformConfig') }}
{{ $t('accounts.AccountTemplateUpdateSecretHelpText') }}
</el-alert>
</el-col>
</el-row>

View File

@@ -10,24 +10,7 @@ export default {
components: { BaseAssetCreateUpdate },
data() {
return {
url: '/api/v1/assets/clouds/',
addFieldsMeta: {
protocols: {
hidden: (formValue) => {
const address = formValue['address']
if (!address) return
let port = address.startsWith('https://') ? 443 : 80
try {
const url = new URL(address)
if (url.port) { port = url.port }
} catch (e) {
// pass
}
const protocols = formValue['protocols']?.[0] || {}
protocols.port = port
}
}
}
url: '/api/v1/assets/clouds/'
}
}
}

View File

@@ -61,14 +61,14 @@ export default {
quickActions: [],
url: `/api/v1/assets/platforms/${this.object.id}`,
detailFields: [
'name', 'charset', 'internal',
'id', 'name', 'charset', 'internal',
{
key: this.$t('assets.Type'),
value: `${this.object.category?.label}/${this.object.type?.label}`
},
'su_method',
'comment'
'su_method', 'comment'
],
protocolChoices: null,
constraints: {}
}

View File

@@ -93,7 +93,8 @@ export default {
core: 'Core',
celery: 'Celery',
magnus: 'Magnus',
tinker: 'Tinker'
tinker: 'Tinker',
video_worker: 'Video-Worker'
}
return nameMapper[this.componentMetric.type]
}

View File

@@ -181,7 +181,7 @@ export default {
key: this.$t('users.Phone'),
formatter: () => {
const phoneObj = this.object.phone
return <div>{phoneObj?.code} {phoneObj?.phone}</div>
return <div>{phoneObj?.code}{phoneObj?.phone}</div>
}
},
'wecom_id', 'dingtalk_id', 'feishu_id',

View File

@@ -82,6 +82,12 @@ export default {
return this.$store.getters.hasValidLicense && !this.currentOrgIsRoot
}
},
phone: {
formatter: (row) => {
const phoneObj = row.phone
return <div>{phoneObj?.code}{phoneObj?.phone}</div>
}
},
login_blocked: {
width: '90px',
formatterArgs: {