fix: 修改通用创建更新成功后的Route; 优化用户ACL创建ip_group错误时的信息显示

This commit is contained in:
Bai
2021-07-26 17:02:14 +08:00
parent 6bab31d74c
commit f7d75ca92c
15 changed files with 239 additions and 283 deletions

View File

@@ -176,7 +176,9 @@ export default {
type: Function,
default(res, method, vm, addContinue) {
const route = this.getNextRoute(res, method)
if (!(route.params && route.params.id)) {
route['params'] = { 'id': res.id }
}
this.$emit('submitSuccess', res)
this.emitPerformSuccessMsg(method, res, addContinue)

View File

@@ -1,16 +1,6 @@
<template>
<IBox>
<GenericCreateUpdateForm
: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"
/>
<GenericCreateUpdateForm v-bind="$data" />
</IBox>
</template>
@@ -82,12 +72,6 @@ export default {
delete value['mfa_level']
}
return value
}
}
},
methods: {
getMethod() {
return 'put'
},
performSubmit(validValues) {
if (!validValues.terms) {
@@ -99,8 +83,14 @@ export default {
onPerformSuccess() {
this.$message.success(this.$t('common.updateSuccessMsg'))
setTimeout(() => this.$router.push({ name: 'UserGuide' }), 100)
},
getMethod() {
return 'put'
}
}
},
methods: {
}
}
</script>

View File

@@ -1,5 +1,5 @@
<template>
<GenericCreateUpdatePage v-bind="$data" :clean-form-value="cleanFormValue" />
<GenericCreateUpdatePage v-bind="$data" />
</template>
<script>
@@ -92,10 +92,7 @@ export default {
{ validator: validatorInterval }
]
}
}
}
},
methods: {
cleanFormValue(data) {
if (data['password_strategy'] === 'custom') {
delete data['password_rules']
@@ -106,7 +103,10 @@ export default {
delete data['interval']
}
return data
}
}
},
methods: {
generatePasswordRulesItemsFields() {
const itemsFields = []
const items = [

View File

@@ -1,6 +1,5 @@
<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>
<script>
@@ -60,10 +59,7 @@ export default {
}
}
},
url: '/api/v1/acls/login-asset-acls/'
}
},
methods: {
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()
@@ -95,6 +91,9 @@ export default {
return value
}
}
},
methods: {
}
}
</script>

View File

@@ -1,9 +1,5 @@
<template>
<GenericCreateUpdatePage
v-bind="$data"
:after-get-form-value="afterGetFormValue"
/>
<GenericCreateUpdatePage v-bind="$data" />
</template>
<script>
@@ -47,10 +43,24 @@ export default {
}},
createSuccessNextRoute: { name: 'UserDetail', params: {
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)
}
}
},
methods: {
afterGetFormValue(validValues) {
validValues.ip_group = validValues.ip_group.toString()
return validValues
@@ -59,9 +69,13 @@ export default {
if (!Array.isArray(value.ip_group)) {
value.ip_group = value.ip_group ? value.ip_group.split(',') : []
}
console.log('>>>>>>>>: ', value)
return value
}
}
},
methods: {
}
}
</script>

View File

@@ -66,7 +66,6 @@ export default {
}
},
computed: {
}
}

View File

@@ -1,13 +1,5 @@
<template>
<GenericCreateUpdatePage
:fields="fields"
:has-detail-in-msg="false"
:initial="initial"
:fields-meta="fieldsMeta"
:url="url"
:get-next-route="getNextRoute"
:clean-form-value="cleanFormValue"
/>
<GenericCreateUpdatePage v-bind="$data" />
</template>
<script>
@@ -86,10 +78,8 @@ export default {
params: {
}
},
url: `/api/v1/assets/gateways/`
}
},
methods: {
url: `/api/v1/assets/gateways/`,
hasDetailInMsg: false,
getNextRoute(res, method) {
const domain = res.domain
const route = {
@@ -110,6 +100,9 @@ export default {
return values
}
}
},
methods: {
}
}
</script>

View File

@@ -3,9 +3,6 @@
v-bind="$data"
:create-success-next-route="successUrl"
:update-success-next-route="successUrl"
:has-detail-in-msg="false"
:after-get-form-value="afterGetFormValue"
:clean-form-value="cleanFormValue"
/>
</template>
@@ -55,12 +52,8 @@ export default {
}
return `${url}?type=${commandType}`
},
url: '/api/v1/terminal/command-storages/'
}
},
computed: {
},
methods: {
url: '/api/v1/terminal/command-storages/',
hasDetailInMsg: false,
afterGetFormValue(validValues) {
if (!validValues?.meta?.HOSTS) {
return validValues
@@ -73,6 +66,11 @@ export default {
return value
}
}
},
computed: {
},
methods: {
}
}
</script>

View File

@@ -1,14 +1,6 @@
<template>
<IBox>
<GenericCreateUpdateForm
:fields="fields"
:url="url"
:get-method="getMethod"
:fields-meta="fieldsMeta"
:more-buttons="moreButtons"
:has-detail-in-msg="false"
:clean-form-value="cleanFormValue"
/>
<GenericCreateUpdateForm v-bind="$data" />
</IBox>
</template>
@@ -51,10 +43,8 @@ export default {
]
],
fieldsMeta: {
}
}
},
methods: {
hasDetailInMsg: false,
getMethod() {
return 'put'
},
@@ -66,6 +56,9 @@ export default {
return data
}
}
},
methods: {
}
}
</script>

View File

@@ -1,14 +1,6 @@
<template>
<IBox>
<GenericCreateUpdateForm
:fields="fields"
:url="url"
:clean-form-value="cleanFormValue"
:get-method="getMethod"
:fields-meta="fieldsMeta"
:more-buttons="moreButtons"
:has-detail-in-msg="false"
/>
<GenericCreateUpdateForm v-bind="$data" />
</IBox>
</template>
@@ -72,6 +64,7 @@ export default {
]
}
},
hasDetailInMsg: false,
url: '/api/v1/settings/setting/?category=email',
moreButtons: [
{
@@ -87,13 +80,7 @@ export default {
})
}
}
]
}
},
methods: {
getMethod() {
return 'put'
},
],
cleanFormValue(data) {
if (!data['EMAIL_HOST_PASSWORD']) {
delete data['EMAIL_HOST_PASSWORD']
@@ -106,8 +93,14 @@ export default {
}
)
return data
},
getMethod() {
return 'put'
}
}
},
methods: {
}
}
</script>

View File

@@ -1,15 +1,6 @@
<template>
<IBox>
<GenericCreateUpdateForm
: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"
/>
<GenericCreateUpdateForm v-bind="$data" />
<ImportDialog :visible.sync="dialogLdapUserImport" />
<TestLoginDialog :visible.sync="dialogTest" />
</IBox>
@@ -67,6 +58,7 @@ export default {
}
},
url: '/api/v1/settings/setting/?category=ldap',
hasDetailInMsg: false,
moreButtons: [
{
title: this.$t('setting.ldapConnectTest'),
@@ -94,17 +86,11 @@ export default {
this.dialogLdapUserImport = true
}.bind(this)
}
]
}
},
mounted() {
this.loading = false
},
methods: {
],
getMethod() {
return 'put'
},
changeFormValue(obj) {
afterGetFormValue(obj) {
obj.AUTH_LDAP_USER_ATTR_MAP = JSON.stringify(obj.AUTH_LDAP_USER_ATTR_MAP)
return obj
},
@@ -118,6 +104,12 @@ export default {
return data
}
}
},
mounted() {
this.loading = false
},
methods: {
}
}
</script>

View File

@@ -1,13 +1,6 @@
<template>
<IBox>
<GenericCreateUpdateForm
:fields="selectFields"
:url="url"
:fields-meta="fieldsMeta"
:get-method="getMethod"
:has-detail-in-msg="false"
:clean-form-value="cleanFormValue"
/>
<GenericCreateUpdateForm v-bind="$data" />
</IBox>
</template>
<script>
@@ -41,20 +34,8 @@ export default {
type: 'input'
}
},
url: '/api/v1/settings/setting/?category=terminal'
}
},
mounted() {
if (this.$store.getters.hasValidLicense) {
const xRDPFields = [
'XRDP', [
'TERMINAL_RDP_ADDR'
]
]
this.selectFields.splice(1, 0, xRDPFields)
}
},
methods: {
url: '/api/v1/settings/setting/?category=terminal',
hasDetailInMsg: false,
getMethod() {
return 'put'
},
@@ -69,6 +50,19 @@ export default {
return data
}
}
},
mounted() {
if (this.$store.getters.hasValidLicense) {
const xRDPFields = [
'XRDP', [
'TERMINAL_RDP_ADDR'
]
]
this.selectFields.splice(1, 0, xRDPFields)
}
},
methods: {
}
}
</script>

View File

@@ -1,14 +1,6 @@
<template>
<IBox>
<GenericCreateUpdateForm
:fields="fields"
:url="url"
:get-method="getMethod"
:fields-meta="fieldsMeta"
:more-buttons="moreButtons"
:has-detail-in-msg="false"
:clean-form-value="cleanFormValue"
/>
<GenericCreateUpdateForm v-bind="$data" />
</IBox>
</template>
@@ -26,6 +18,7 @@ export default {
const vm = this
return {
url: '/api/v1/settings/setting/?category=wecom',
hasDetailInMsg: false,
moreButtons: [
{
title: this.$t('setting.weComTest'),
@@ -51,12 +44,6 @@ export default {
]
],
fieldsMeta: {
}
}
},
methods: {
getMethod() {
return 'put'
},
// 不清理的话编辑secret在删除提交会报错
cleanFormValue(data) {
@@ -64,8 +51,14 @@ export default {
delete data['WECOM_SECRET']
}
return data
},
getMethod() {
return 'put'
}
}
},
methods: {
}
}
</script>

View File

@@ -1,9 +1,5 @@
<template>
<GenericCreateUpdatePage
v-bind="$data"
:clean-form-value="cleanFormValue"
@getObjectDone="afterGetUser"
/>
<GenericCreateUpdatePage v-bind="$data" @getObjectDone="afterGetUser" />
</template>
<script>
@@ -134,18 +130,15 @@ export default {
value: []
}
}
}
},
getMethod() {
const params = this.$route.params
if (params.id) {
return 'put'
} else {
return 'post'
}
},
computed: {
...mapGetters(['currentOrgIsRoot'])
},
mounted() {
if (this.currentOrgIsRoot) {
this.fieldsMeta.groups.el.disabled = true
}
},
methods: {
cleanFormValue(value) {
const method = this.getMethod()
if (method === 'post' && value.password_strategy === 'email') {
@@ -158,15 +151,18 @@ export default {
delete value.update_password
}
return value
},
getMethod() {
const params = this.$route.params
if (params.id) {
return 'put'
} else {
return 'post'
}
}
},
computed: {
...mapGetters(['currentOrgIsRoot'])
},
mounted() {
if (this.currentOrgIsRoot) {
this.fieldsMeta.groups.el.disabled = true
}
},
methods: {
afterGetUser(user) {
this.user = user
if (this.$route.query.clone_from) {

View File

@@ -1,5 +1,5 @@
<template>
<GenericCreateUpdatePage ref="createUpdatePage" v-bind="$data" :clean-form-value="cleanFormValue" :after-get-form-value="afterGetFormValue" />
<GenericCreateUpdatePage ref="createUpdatePage" v-bind="$data" />
</template>
<script>
@@ -116,18 +116,7 @@ export default {
}
},
updateSuccessNextRoute: { name: 'CloudCenter' },
createSuccessNextRoute: { name: 'CloudCenter' }
}
},
async mounted() {
const params = this.$route.params
// 更新获取链接
if (params.id) {
const form = await this.$refs.createUpdatePage.$refs.createUpdateForm.getFormValue()
this.fieldsMeta.regions.el.ajax.url = form.account ? `/api/v1/xpack/cloud/regions/?account_id=${form.account}` : `/api/v1/xpack/cloud/regions/`
}
},
methods: {
createSuccessNextRoute: { name: 'CloudCenter' },
afterGetFormValue(formValue) {
formValue.ip_network_segment_group = formValue.ip_network_segment_group.toString()
return formValue
@@ -139,6 +128,17 @@ export default {
return value
}
}
},
async mounted() {
const params = this.$route.params
// 更新获取链接
if (params.id) {
const form = await this.$refs.createUpdatePage.$refs.createUpdateForm.getFormValue()
this.fieldsMeta.regions.el.ajax.url = form.account ? `/api/v1/xpack/cloud/regions/?account_id=${form.account}` : `/api/v1/xpack/cloud/regions/`
}
},
methods: {
}
}
</script>