mirror of
https://github.com/jumpserver/lina.git
synced 2025-09-16 23:31:29 +00:00
fix: 修改通用创建更新成功后的Route; 优化用户ACL创建ip_group错误时的信息显示
This commit is contained in:
@@ -176,7 +176,9 @@ export default {
|
|||||||
type: Function,
|
type: Function,
|
||||||
default(res, method, vm, addContinue) {
|
default(res, method, vm, addContinue) {
|
||||||
const route = this.getNextRoute(res, method)
|
const route = this.getNextRoute(res, method)
|
||||||
route['params'] = { 'id': res.id }
|
if (!(route.params && route.params.id)) {
|
||||||
|
route['params'] = { 'id': res.id }
|
||||||
|
}
|
||||||
this.$emit('submitSuccess', res)
|
this.$emit('submitSuccess', res)
|
||||||
|
|
||||||
this.emitPerformSuccessMsg(method, res, addContinue)
|
this.emitPerformSuccessMsg(method, res, addContinue)
|
||||||
|
@@ -1,16 +1,6 @@
|
|||||||
<template>
|
<template>
|
||||||
<IBox>
|
<IBox>
|
||||||
<GenericCreateUpdateForm
|
<GenericCreateUpdateForm v-bind="$data" />
|
||||||
:fields="fields"
|
|
||||||
:fields-meta="fieldsMeta"
|
|
||||||
:initial="object"
|
|
||||||
:url="url"
|
|
||||||
:update-success-next-route="updateSuccessNextRoute"
|
|
||||||
:clean-form-value="cleanFormValue"
|
|
||||||
:get-method="getMethod"
|
|
||||||
:on-perform-success="onPerformSuccess"
|
|
||||||
:perform-submit="performSubmit"
|
|
||||||
/>
|
|
||||||
</IBox>
|
</IBox>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@@ -82,24 +72,24 @@ export default {
|
|||||||
delete value['mfa_level']
|
delete value['mfa_level']
|
||||||
}
|
}
|
||||||
return value
|
return value
|
||||||
|
},
|
||||||
|
performSubmit(validValues) {
|
||||||
|
if (!validValues.terms) {
|
||||||
|
this.$message.error(this.$t('common.PleaseAgreeToTheTerms'))
|
||||||
|
return Promise.reject()
|
||||||
|
}
|
||||||
|
return this.$axios['put'](this.url, validValues)
|
||||||
|
},
|
||||||
|
onPerformSuccess() {
|
||||||
|
this.$message.success(this.$t('common.updateSuccessMsg'))
|
||||||
|
setTimeout(() => this.$router.push({ name: 'UserGuide' }), 100)
|
||||||
|
},
|
||||||
|
getMethod() {
|
||||||
|
return 'put'
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
getMethod() {
|
|
||||||
return 'put'
|
|
||||||
},
|
|
||||||
performSubmit(validValues) {
|
|
||||||
if (!validValues.terms) {
|
|
||||||
this.$message.error(this.$t('common.PleaseAgreeToTheTerms'))
|
|
||||||
return Promise.reject()
|
|
||||||
}
|
|
||||||
return this.$axios['put'](this.url, validValues)
|
|
||||||
},
|
|
||||||
onPerformSuccess() {
|
|
||||||
this.$message.success(this.$t('common.updateSuccessMsg'))
|
|
||||||
setTimeout(() => this.$router.push({ name: 'UserGuide' }), 100)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
@@ -1,5 +1,5 @@
|
|||||||
<template>
|
<template>
|
||||||
<GenericCreateUpdatePage v-bind="$data" :clean-form-value="cleanFormValue" />
|
<GenericCreateUpdatePage v-bind="$data" />
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
@@ -92,21 +92,21 @@ export default {
|
|||||||
{ validator: validatorInterval }
|
{ validator: validatorInterval }
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
cleanFormValue(data) {
|
||||||
|
if (data['password_strategy'] === 'custom') {
|
||||||
|
delete data['password_rules']
|
||||||
|
} else {
|
||||||
|
delete data['password']
|
||||||
|
}
|
||||||
|
if (data['interval'] === '') {
|
||||||
|
delete data['interval']
|
||||||
|
}
|
||||||
|
return data
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
cleanFormValue(data) {
|
|
||||||
if (data['password_strategy'] === 'custom') {
|
|
||||||
delete data['password_rules']
|
|
||||||
} else {
|
|
||||||
delete data['password']
|
|
||||||
}
|
|
||||||
if (data['interval'] === '') {
|
|
||||||
delete data['interval']
|
|
||||||
}
|
|
||||||
return data
|
|
||||||
},
|
|
||||||
generatePasswordRulesItemsFields() {
|
generatePasswordRulesItemsFields() {
|
||||||
const itemsFields = []
|
const itemsFields = []
|
||||||
const items = [
|
const items = [
|
||||||
|
@@ -1,6 +1,5 @@
|
|||||||
|
|
||||||
<template>
|
<template>
|
||||||
<GenericCreateUpdatePage :fields="fields" :initial="initial" :fields-meta="fieldsMeta" :url="url" :clean-form-value="cleanFormValue" :after-get-form-value="afterGetFormValue" />
|
<GenericCreateUpdatePage v-bind="$data" />
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
@@ -60,40 +59,40 @@ export default {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
url: '/api/v1/acls/login-asset-acls/'
|
url: '/api/v1/acls/login-asset-acls/',
|
||||||
|
afterGetFormValue(formValue) {
|
||||||
|
formValue.assets.ip_group = formValue.assets.ip_group.toString()
|
||||||
|
formValue.assets.hostname_group = formValue.assets.hostname_group.toString()
|
||||||
|
formValue.system_users.name_group = formValue.system_users.name_group.toString()
|
||||||
|
formValue.system_users.protocol_group = formValue.system_users.protocol_group.toString()
|
||||||
|
formValue.system_users.username_group = formValue.system_users.username_group.toString()
|
||||||
|
formValue.users.username_group = formValue.users.username_group.toString()
|
||||||
|
return formValue
|
||||||
|
},
|
||||||
|
cleanFormValue(value) {
|
||||||
|
if (!Array.isArray(value.assets.ip_group)) {
|
||||||
|
value.assets.ip_group = value.assets.ip_group ? value.assets.ip_group.split(',') : []
|
||||||
|
}
|
||||||
|
if (!Array.isArray(value.assets.hostname_group)) {
|
||||||
|
value.assets.hostname_group = value.assets.hostname_group ? value.assets.hostname_group.split(',') : []
|
||||||
|
}
|
||||||
|
if (!Array.isArray(value.system_users.protocol_group)) {
|
||||||
|
value.system_users.protocol_group = value.system_users.protocol_group ? value.system_users.protocol_group.split(',') : []
|
||||||
|
}
|
||||||
|
if (!Array.isArray(value.system_users.name_group)) {
|
||||||
|
value.system_users.name_group = value.system_users.name_group ? value.system_users.name_group.split(',') : []
|
||||||
|
}
|
||||||
|
if (!Array.isArray(value.system_users.username_group)) {
|
||||||
|
value.system_users.username_group = value.system_users.username_group ? value.system_users.username_group.split(',') : []
|
||||||
|
}
|
||||||
|
if (!Array.isArray(value.users.username_group)) {
|
||||||
|
value.users.username_group = value.users.username_group ? value.users.username_group.split(',') : []
|
||||||
|
}
|
||||||
|
return value
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
afterGetFormValue(formValue) {
|
|
||||||
formValue.assets.ip_group = formValue.assets.ip_group.toString()
|
|
||||||
formValue.assets.hostname_group = formValue.assets.hostname_group.toString()
|
|
||||||
formValue.system_users.name_group = formValue.system_users.name_group.toString()
|
|
||||||
formValue.system_users.protocol_group = formValue.system_users.protocol_group.toString()
|
|
||||||
formValue.system_users.username_group = formValue.system_users.username_group.toString()
|
|
||||||
formValue.users.username_group = formValue.users.username_group.toString()
|
|
||||||
return formValue
|
|
||||||
},
|
|
||||||
cleanFormValue(value) {
|
|
||||||
if (!Array.isArray(value.assets.ip_group)) {
|
|
||||||
value.assets.ip_group = value.assets.ip_group ? value.assets.ip_group.split(',') : []
|
|
||||||
}
|
|
||||||
if (!Array.isArray(value.assets.hostname_group)) {
|
|
||||||
value.assets.hostname_group = value.assets.hostname_group ? value.assets.hostname_group.split(',') : []
|
|
||||||
}
|
|
||||||
if (!Array.isArray(value.system_users.protocol_group)) {
|
|
||||||
value.system_users.protocol_group = value.system_users.protocol_group ? value.system_users.protocol_group.split(',') : []
|
|
||||||
}
|
|
||||||
if (!Array.isArray(value.system_users.name_group)) {
|
|
||||||
value.system_users.name_group = value.system_users.name_group ? value.system_users.name_group.split(',') : []
|
|
||||||
}
|
|
||||||
if (!Array.isArray(value.system_users.username_group)) {
|
|
||||||
value.system_users.username_group = value.system_users.username_group ? value.system_users.username_group.split(',') : []
|
|
||||||
}
|
|
||||||
if (!Array.isArray(value.users.username_group)) {
|
|
||||||
value.users.username_group = value.users.username_group ? value.users.username_group.split(',') : []
|
|
||||||
}
|
|
||||||
return value
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
@@ -1,9 +1,5 @@
|
|||||||
|
|
||||||
<template>
|
<template>
|
||||||
<GenericCreateUpdatePage
|
<GenericCreateUpdatePage v-bind="$data" />
|
||||||
v-bind="$data"
|
|
||||||
:after-get-form-value="afterGetFormValue"
|
|
||||||
/>
|
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
@@ -47,20 +43,38 @@ export default {
|
|||||||
}},
|
}},
|
||||||
createSuccessNextRoute: { name: 'UserDetail', params: {
|
createSuccessNextRoute: { name: 'UserDetail', params: {
|
||||||
id: this.$route.query.user
|
id: this.$route.query.user
|
||||||
}}
|
}},
|
||||||
|
onPerformError(error, method, vm) {
|
||||||
|
this.$emit('submitError', error)
|
||||||
|
const response = error.response
|
||||||
|
const data = response.data
|
||||||
|
if (response.status === 400) {
|
||||||
|
for (const key of Object.keys(data)) {
|
||||||
|
let value = data[key]
|
||||||
|
if (key === 'ip_group') {
|
||||||
|
value = Object.values(data[key])
|
||||||
|
}
|
||||||
|
if (value instanceof Array) {
|
||||||
|
value = value.join(';')
|
||||||
|
}
|
||||||
|
this.$refs.form.setFieldError(key, value)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
afterGetFormValue(validValues) {
|
||||||
|
validValues.ip_group = validValues.ip_group.toString()
|
||||||
|
return validValues
|
||||||
|
},
|
||||||
|
cleanFormValue(value) {
|
||||||
|
if (!Array.isArray(value.ip_group)) {
|
||||||
|
value.ip_group = value.ip_group ? value.ip_group.split(',') : []
|
||||||
|
}
|
||||||
|
console.log('>>>>>>>>: ', value)
|
||||||
|
return value
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
afterGetFormValue(validValues) {
|
|
||||||
validValues.ip_group = validValues.ip_group.toString()
|
|
||||||
return validValues
|
|
||||||
},
|
|
||||||
cleanFormValue(value) {
|
|
||||||
if (!Array.isArray(value.ip_group)) {
|
|
||||||
value.ip_group = value.ip_group ? value.ip_group.split(',') : []
|
|
||||||
}
|
|
||||||
return value
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
@@ -66,7 +66,6 @@ export default {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
computed: {
|
computed: {
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -1,13 +1,5 @@
|
|||||||
<template>
|
<template>
|
||||||
<GenericCreateUpdatePage
|
<GenericCreateUpdatePage v-bind="$data" />
|
||||||
:fields="fields"
|
|
||||||
:has-detail-in-msg="false"
|
|
||||||
:initial="initial"
|
|
||||||
:fields-meta="fieldsMeta"
|
|
||||||
:url="url"
|
|
||||||
:get-next-route="getNextRoute"
|
|
||||||
:clean-form-value="cleanFormValue"
|
|
||||||
/>
|
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
@@ -86,29 +78,30 @@ export default {
|
|||||||
params: {
|
params: {
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
url: `/api/v1/assets/gateways/`
|
url: `/api/v1/assets/gateways/`,
|
||||||
|
hasDetailInMsg: false,
|
||||||
|
getNextRoute(res, method) {
|
||||||
|
const domain = res.domain
|
||||||
|
const route = {
|
||||||
|
name: 'DomainDetail',
|
||||||
|
params: {
|
||||||
|
id: domain
|
||||||
|
},
|
||||||
|
query: {
|
||||||
|
activeTab: 'GatewayList'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return route
|
||||||
|
},
|
||||||
|
cleanFormValue(values) {
|
||||||
|
if (this.$route.params.id && !values.update_password) {
|
||||||
|
delete values['password']
|
||||||
|
}
|
||||||
|
return values
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
getNextRoute(res, method) {
|
|
||||||
const domain = res.domain
|
|
||||||
const route = {
|
|
||||||
name: 'DomainDetail',
|
|
||||||
params: {
|
|
||||||
id: domain
|
|
||||||
},
|
|
||||||
query: {
|
|
||||||
activeTab: 'GatewayList'
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return route
|
|
||||||
},
|
|
||||||
cleanFormValue(values) {
|
|
||||||
if (this.$route.params.id && !values.update_password) {
|
|
||||||
delete values['password']
|
|
||||||
}
|
|
||||||
return values
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
@@ -3,9 +3,6 @@
|
|||||||
v-bind="$data"
|
v-bind="$data"
|
||||||
:create-success-next-route="successUrl"
|
:create-success-next-route="successUrl"
|
||||||
:update-success-next-route="successUrl"
|
:update-success-next-route="successUrl"
|
||||||
:has-detail-in-msg="false"
|
|
||||||
:after-get-form-value="afterGetFormValue"
|
|
||||||
:clean-form-value="cleanFormValue"
|
|
||||||
/>
|
/>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@@ -55,23 +52,24 @@ export default {
|
|||||||
}
|
}
|
||||||
return `${url}?type=${commandType}`
|
return `${url}?type=${commandType}`
|
||||||
},
|
},
|
||||||
url: '/api/v1/terminal/command-storages/'
|
url: '/api/v1/terminal/command-storages/',
|
||||||
|
hasDetailInMsg: false,
|
||||||
|
afterGetFormValue(validValues) {
|
||||||
|
if (!validValues?.meta?.HOSTS) {
|
||||||
|
return validValues
|
||||||
|
}
|
||||||
|
validValues.meta.HOSTS = validValues.meta.HOSTS.toString()
|
||||||
|
return validValues
|
||||||
|
},
|
||||||
|
cleanFormValue(value) {
|
||||||
|
value.meta.HOSTS = value.meta.HOSTS.split(',').map(item => (item.trim()))
|
||||||
|
return value
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
computed: {
|
computed: {
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
afterGetFormValue(validValues) {
|
|
||||||
if (!validValues?.meta?.HOSTS) {
|
|
||||||
return validValues
|
|
||||||
}
|
|
||||||
validValues.meta.HOSTS = validValues.meta.HOSTS.toString()
|
|
||||||
return validValues
|
|
||||||
},
|
|
||||||
cleanFormValue(value) {
|
|
||||||
value.meta.HOSTS = value.meta.HOSTS.split(',').map(item => (item.trim()))
|
|
||||||
return value
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
@@ -1,14 +1,6 @@
|
|||||||
<template>
|
<template>
|
||||||
<IBox>
|
<IBox>
|
||||||
<GenericCreateUpdateForm
|
<GenericCreateUpdateForm v-bind="$data" />
|
||||||
:fields="fields"
|
|
||||||
:url="url"
|
|
||||||
:get-method="getMethod"
|
|
||||||
:fields-meta="fieldsMeta"
|
|
||||||
:more-buttons="moreButtons"
|
|
||||||
:has-detail-in-msg="false"
|
|
||||||
:clean-form-value="cleanFormValue"
|
|
||||||
/>
|
|
||||||
</IBox>
|
</IBox>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@@ -51,20 +43,21 @@ export default {
|
|||||||
]
|
]
|
||||||
],
|
],
|
||||||
fieldsMeta: {
|
fieldsMeta: {
|
||||||
|
},
|
||||||
|
hasDetailInMsg: false,
|
||||||
|
getMethod() {
|
||||||
|
return 'put'
|
||||||
|
},
|
||||||
|
// 不清理的话,编辑secret,在删除提交会报错
|
||||||
|
cleanFormValue(data) {
|
||||||
|
if (!data['DINGTALK_APPSECRET']) {
|
||||||
|
delete data['DINGTALK_APPSECRET']
|
||||||
|
}
|
||||||
|
return data
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
getMethod() {
|
|
||||||
return 'put'
|
|
||||||
},
|
|
||||||
// 不清理的话,编辑secret,在删除提交会报错
|
|
||||||
cleanFormValue(data) {
|
|
||||||
if (!data['DINGTALK_APPSECRET']) {
|
|
||||||
delete data['DINGTALK_APPSECRET']
|
|
||||||
}
|
|
||||||
return data
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
@@ -1,14 +1,6 @@
|
|||||||
<template>
|
<template>
|
||||||
<IBox>
|
<IBox>
|
||||||
<GenericCreateUpdateForm
|
<GenericCreateUpdateForm v-bind="$data" />
|
||||||
:fields="fields"
|
|
||||||
:url="url"
|
|
||||||
:clean-form-value="cleanFormValue"
|
|
||||||
:get-method="getMethod"
|
|
||||||
:fields-meta="fieldsMeta"
|
|
||||||
:more-buttons="moreButtons"
|
|
||||||
:has-detail-in-msg="false"
|
|
||||||
/>
|
|
||||||
</IBox>
|
</IBox>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@@ -72,6 +64,7 @@ export default {
|
|||||||
]
|
]
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
hasDetailInMsg: false,
|
||||||
url: '/api/v1/settings/setting/?category=email',
|
url: '/api/v1/settings/setting/?category=email',
|
||||||
moreButtons: [
|
moreButtons: [
|
||||||
{
|
{
|
||||||
@@ -87,26 +80,26 @@ export default {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
]
|
],
|
||||||
|
cleanFormValue(data) {
|
||||||
|
if (!data['EMAIL_HOST_PASSWORD']) {
|
||||||
|
delete data['EMAIL_HOST_PASSWORD']
|
||||||
|
}
|
||||||
|
Object.keys(data).forEach(
|
||||||
|
function(key) {
|
||||||
|
if (data[key] === null) {
|
||||||
|
delete data[key]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
)
|
||||||
|
return data
|
||||||
|
},
|
||||||
|
getMethod() {
|
||||||
|
return 'put'
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
getMethod() {
|
|
||||||
return 'put'
|
|
||||||
},
|
|
||||||
cleanFormValue(data) {
|
|
||||||
if (!data['EMAIL_HOST_PASSWORD']) {
|
|
||||||
delete data['EMAIL_HOST_PASSWORD']
|
|
||||||
}
|
|
||||||
Object.keys(data).forEach(
|
|
||||||
function(key) {
|
|
||||||
if (data[key] === null) {
|
|
||||||
delete data[key]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
)
|
|
||||||
return data
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@@ -1,15 +1,6 @@
|
|||||||
<template>
|
<template>
|
||||||
<IBox>
|
<IBox>
|
||||||
<GenericCreateUpdateForm
|
<GenericCreateUpdateForm v-bind="$data" />
|
||||||
:fields="selectFields"
|
|
||||||
:url="url"
|
|
||||||
:fields-meta="fieldsMeta"
|
|
||||||
:get-method="getMethod"
|
|
||||||
:more-buttons="moreButtons"
|
|
||||||
:has-detail-in-msg="false"
|
|
||||||
:after-get-form-value="changeFormValue"
|
|
||||||
:clean-form-value="cleanFormValue"
|
|
||||||
/>
|
|
||||||
<ImportDialog :visible.sync="dialogLdapUserImport" />
|
<ImportDialog :visible.sync="dialogLdapUserImport" />
|
||||||
<TestLoginDialog :visible.sync="dialogTest" />
|
<TestLoginDialog :visible.sync="dialogTest" />
|
||||||
</IBox>
|
</IBox>
|
||||||
@@ -67,6 +58,7 @@ export default {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
url: '/api/v1/settings/setting/?category=ldap',
|
url: '/api/v1/settings/setting/?category=ldap',
|
||||||
|
hasDetailInMsg: false,
|
||||||
moreButtons: [
|
moreButtons: [
|
||||||
{
|
{
|
||||||
title: this.$t('setting.ldapConnectTest'),
|
title: this.$t('setting.ldapConnectTest'),
|
||||||
@@ -94,29 +86,29 @@ export default {
|
|||||||
this.dialogLdapUserImport = true
|
this.dialogLdapUserImport = true
|
||||||
}.bind(this)
|
}.bind(this)
|
||||||
}
|
}
|
||||||
]
|
],
|
||||||
|
getMethod() {
|
||||||
|
return 'put'
|
||||||
|
},
|
||||||
|
afterGetFormValue(obj) {
|
||||||
|
obj.AUTH_LDAP_USER_ATTR_MAP = JSON.stringify(obj.AUTH_LDAP_USER_ATTR_MAP)
|
||||||
|
return obj
|
||||||
|
},
|
||||||
|
cleanFormValue(data) {
|
||||||
|
if (data['AUTH_LDAP_BIND_PASSWORD'] === '') {
|
||||||
|
delete data['AUTH_LDAP_BIND_PASSWORD']
|
||||||
|
}
|
||||||
|
if (data['AUTH_LDAP_USER_ATTR_MAP']) {
|
||||||
|
data['AUTH_LDAP_USER_ATTR_MAP'] = JSON.parse(data['AUTH_LDAP_USER_ATTR_MAP'])
|
||||||
|
}
|
||||||
|
return data
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
mounted() {
|
mounted() {
|
||||||
this.loading = false
|
this.loading = false
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
getMethod() {
|
|
||||||
return 'put'
|
|
||||||
},
|
|
||||||
changeFormValue(obj) {
|
|
||||||
obj.AUTH_LDAP_USER_ATTR_MAP = JSON.stringify(obj.AUTH_LDAP_USER_ATTR_MAP)
|
|
||||||
return obj
|
|
||||||
},
|
|
||||||
cleanFormValue(data) {
|
|
||||||
if (data['AUTH_LDAP_BIND_PASSWORD'] === '') {
|
|
||||||
delete data['AUTH_LDAP_BIND_PASSWORD']
|
|
||||||
}
|
|
||||||
if (data['AUTH_LDAP_USER_ATTR_MAP']) {
|
|
||||||
data['AUTH_LDAP_USER_ATTR_MAP'] = JSON.parse(data['AUTH_LDAP_USER_ATTR_MAP'])
|
|
||||||
}
|
|
||||||
return data
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
@@ -1,13 +1,6 @@
|
|||||||
<template>
|
<template>
|
||||||
<IBox>
|
<IBox>
|
||||||
<GenericCreateUpdateForm
|
<GenericCreateUpdateForm v-bind="$data" />
|
||||||
:fields="selectFields"
|
|
||||||
:url="url"
|
|
||||||
:fields-meta="fieldsMeta"
|
|
||||||
:get-method="getMethod"
|
|
||||||
:has-detail-in-msg="false"
|
|
||||||
:clean-form-value="cleanFormValue"
|
|
||||||
/>
|
|
||||||
</IBox>
|
</IBox>
|
||||||
</template>
|
</template>
|
||||||
<script>
|
<script>
|
||||||
@@ -41,7 +34,21 @@ export default {
|
|||||||
type: 'input'
|
type: 'input'
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
url: '/api/v1/settings/setting/?category=terminal'
|
url: '/api/v1/settings/setting/?category=terminal',
|
||||||
|
hasDetailInMsg: false,
|
||||||
|
getMethod() {
|
||||||
|
return 'put'
|
||||||
|
},
|
||||||
|
cleanFormValue(data) {
|
||||||
|
Object.keys(data).forEach(
|
||||||
|
function(key) {
|
||||||
|
if (data[key] === null) {
|
||||||
|
delete data[key]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
)
|
||||||
|
return data
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
mounted() {
|
mounted() {
|
||||||
@@ -55,19 +62,6 @@ export default {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
getMethod() {
|
|
||||||
return 'put'
|
|
||||||
},
|
|
||||||
cleanFormValue(data) {
|
|
||||||
Object.keys(data).forEach(
|
|
||||||
function(key) {
|
|
||||||
if (data[key] === null) {
|
|
||||||
delete data[key]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
)
|
|
||||||
return data
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
@@ -1,14 +1,6 @@
|
|||||||
<template>
|
<template>
|
||||||
<IBox>
|
<IBox>
|
||||||
<GenericCreateUpdateForm
|
<GenericCreateUpdateForm v-bind="$data" />
|
||||||
:fields="fields"
|
|
||||||
:url="url"
|
|
||||||
:get-method="getMethod"
|
|
||||||
:fields-meta="fieldsMeta"
|
|
||||||
:more-buttons="moreButtons"
|
|
||||||
:has-detail-in-msg="false"
|
|
||||||
:clean-form-value="cleanFormValue"
|
|
||||||
/>
|
|
||||||
</IBox>
|
</IBox>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@@ -26,6 +18,7 @@ export default {
|
|||||||
const vm = this
|
const vm = this
|
||||||
return {
|
return {
|
||||||
url: '/api/v1/settings/setting/?category=wecom',
|
url: '/api/v1/settings/setting/?category=wecom',
|
||||||
|
hasDetailInMsg: false,
|
||||||
moreButtons: [
|
moreButtons: [
|
||||||
{
|
{
|
||||||
title: this.$t('setting.weComTest'),
|
title: this.$t('setting.weComTest'),
|
||||||
@@ -51,20 +44,20 @@ export default {
|
|||||||
]
|
]
|
||||||
],
|
],
|
||||||
fieldsMeta: {
|
fieldsMeta: {
|
||||||
|
},
|
||||||
|
// 不清理的话,编辑secret,在删除提交会报错
|
||||||
|
cleanFormValue(data) {
|
||||||
|
if (!data['WECOM_SECRET']) {
|
||||||
|
delete data['WECOM_SECRET']
|
||||||
|
}
|
||||||
|
return data
|
||||||
|
},
|
||||||
|
getMethod() {
|
||||||
|
return 'put'
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
getMethod() {
|
|
||||||
return 'put'
|
|
||||||
},
|
|
||||||
// 不清理的话,编辑secret,在删除提交会报错
|
|
||||||
cleanFormValue(data) {
|
|
||||||
if (!data['WECOM_SECRET']) {
|
|
||||||
delete data['WECOM_SECRET']
|
|
||||||
}
|
|
||||||
return data
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
@@ -1,9 +1,5 @@
|
|||||||
<template>
|
<template>
|
||||||
<GenericCreateUpdatePage
|
<GenericCreateUpdatePage v-bind="$data" @getObjectDone="afterGetUser" />
|
||||||
v-bind="$data"
|
|
||||||
:clean-form-value="cleanFormValue"
|
|
||||||
@getObjectDone="afterGetUser"
|
|
||||||
/>
|
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
@@ -134,6 +130,27 @@ export default {
|
|||||||
value: []
|
value: []
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
getMethod() {
|
||||||
|
const params = this.$route.params
|
||||||
|
if (params.id) {
|
||||||
|
return 'put'
|
||||||
|
} else {
|
||||||
|
return 'post'
|
||||||
|
}
|
||||||
|
},
|
||||||
|
cleanFormValue(value) {
|
||||||
|
const method = this.getMethod()
|
||||||
|
if (method === 'post' && value.password_strategy === 'email') {
|
||||||
|
delete value['password']
|
||||||
|
if (this.currentOrgIsRoot) {
|
||||||
|
delete value['groups']
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (value.update_password !== undefined) {
|
||||||
|
delete value.update_password
|
||||||
|
}
|
||||||
|
return value
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@@ -146,27 +163,6 @@ export default {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
cleanFormValue(value) {
|
|
||||||
const method = this.getMethod()
|
|
||||||
if (method === 'post' && value.password_strategy === 'email') {
|
|
||||||
delete value['password']
|
|
||||||
if (this.currentOrgIsRoot) {
|
|
||||||
delete value['groups']
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (value.update_password !== undefined) {
|
|
||||||
delete value.update_password
|
|
||||||
}
|
|
||||||
return value
|
|
||||||
},
|
|
||||||
getMethod() {
|
|
||||||
const params = this.$route.params
|
|
||||||
if (params.id) {
|
|
||||||
return 'put'
|
|
||||||
} else {
|
|
||||||
return 'post'
|
|
||||||
}
|
|
||||||
},
|
|
||||||
afterGetUser(user) {
|
afterGetUser(user) {
|
||||||
this.user = user
|
this.user = user
|
||||||
if (this.$route.query.clone_from) {
|
if (this.$route.query.clone_from) {
|
||||||
|
@@ -1,5 +1,5 @@
|
|||||||
<template>
|
<template>
|
||||||
<GenericCreateUpdatePage ref="createUpdatePage" v-bind="$data" :clean-form-value="cleanFormValue" :after-get-form-value="afterGetFormValue" />
|
<GenericCreateUpdatePage ref="createUpdatePage" v-bind="$data" />
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
@@ -116,7 +116,17 @@ export default {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
updateSuccessNextRoute: { name: 'CloudCenter' },
|
updateSuccessNextRoute: { name: 'CloudCenter' },
|
||||||
createSuccessNextRoute: { name: 'CloudCenter' }
|
createSuccessNextRoute: { name: 'CloudCenter' },
|
||||||
|
afterGetFormValue(formValue) {
|
||||||
|
formValue.ip_network_segment_group = formValue.ip_network_segment_group.toString()
|
||||||
|
return formValue
|
||||||
|
},
|
||||||
|
cleanFormValue(value) {
|
||||||
|
if (!Array.isArray(value.ip_network_segment_group)) {
|
||||||
|
value.ip_network_segment_group = value.ip_network_segment_group ? value.ip_network_segment_group.split(',') : []
|
||||||
|
}
|
||||||
|
return value
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
async mounted() {
|
async mounted() {
|
||||||
@@ -128,16 +138,6 @@ export default {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
afterGetFormValue(formValue) {
|
|
||||||
formValue.ip_network_segment_group = formValue.ip_network_segment_group.toString()
|
|
||||||
return formValue
|
|
||||||
},
|
|
||||||
cleanFormValue(value) {
|
|
||||||
if (!Array.isArray(value.ip_network_segment_group)) {
|
|
||||||
value.ip_network_segment_group = value.ip_network_segment_group ? value.ip_network_segment_group.split(',') : []
|
|
||||||
}
|
|
||||||
return value
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user