This is an automated email from the ASF dual-hosted git repository.
rohit pushed a commit to branch 4.16
in repository https://gitbox.apache.org/repos/asf/cloudstack.git
The following commit(s) were added to refs/heads/4.16 by this push:
new feb4343 ui: fix create network/vpc offering form (#5840)
feb4343 is described below
commit feb4343abec70f5db8671e661671b808ed05a9c1
Author: Abhishek Kumar <[email protected]>
AuthorDate: Sat Jan 8 08:41:58 2022 +0530
ui: fix create network/vpc offering form (#5840)
* ui: fix create network/vpc offering form
Fixes #5838
Signed-off-by: Abhishek Kumar <[email protected]>
* fix inlinemode
Signed-off-by: Abhishek Kumar <[email protected]>
---
ui/src/views/offering/AddNetworkOffering.vue | 29 ++++++++++------------------
ui/src/views/offering/AddVpcOffering.vue | 28 ++++++++++-----------------
2 files changed, 20 insertions(+), 37 deletions(-)
diff --git a/ui/src/views/offering/AddNetworkOffering.vue
b/ui/src/views/offering/AddNetworkOffering.vue
index 3c38c5a..d114ceb 100644
--- a/ui/src/views/offering/AddNetworkOffering.vue
+++ b/ui/src/views/offering/AddNetworkOffering.vue
@@ -253,7 +253,7 @@
<a-form-item :label="$t('label.service.lb.elasticlbcheckbox')"
v-if="guestType == 'shared' && lbServiceChecked && lbServiceProvider ===
'Netscaler'">
<a-switch v-decorator="['elasticlb', {initialValue: false}]" />
</a-form-item>
- <a-form-item :label="$t('label.service.lb.inlinemodedropdown')"
v-if="(guestType === 'shared' || guestType === 'isolated') && lbServiceChecked
&& firewallServiceChecked && lbServiceProvider === 'F5BigIp' &&
firewallServiceProvider === 'JuniperSRX'">
+ <a-form-item :label="$t('label.service.lb.inlinemodedropdown')"
v-if="['shared', 'isolated'].includes(guestType) && lbServiceChecked &&
firewallServiceChecked && ['F5BigIp', 'Netscaler'].includes(lbServiceProvider)
&& ['JuniperSRX'].includes(firewallServiceProvider)">
<a-radio-group
v-decorator="['inlinemode', {
initialValue: 'false'
@@ -756,23 +756,14 @@ export default {
this.loading = true
var params = {}
- var self = this
- var selectedServices = null
var keys = Object.keys(values)
const detailsKey = ['promiscuousmode', 'macaddresschanges',
'forgedtransmits', 'maclearning']
const ignoredKeys = [...detailsKey, 'state', 'status',
'allocationstate', 'forvpc', 'lbType', 'specifyvlan', 'ispublic', 'domainid',
'zoneid', 'egressdefaultpolicy', 'isolation', 'supportspublicaccess']
keys.forEach(function (key, keyIndex) {
- if (self.isSupportedServiceObject(values[key])) {
- if (selectedServices == null) {
- selectedServices = {}
- }
- selectedServices[key] = values[key]
- } else {
- if (!ignoredKeys.includes(key) &&
- values[key] != null && values[key] !== undefined &&
- !(key === 'availability' && values[key] === 'Optional')) {
- params[key] = values[key]
- }
+ if (!ignoredKeys.includes(key) &&
+ values[key] != null && values[key] !== undefined &&
+ !(key === 'availability' && values[key] === 'Optional')) {
+ params[key] = values[key]
}
})
@@ -810,12 +801,12 @@ export default {
params.conservemode = false
}
}
- if (selectedServices != null) {
- var supportedServices = Object.keys(selectedServices)
+ if (this.selectedServiceProviderMap != null) {
+ var supportedServices = Object.keys(this.selectedServiceProviderMap)
params.supportedservices = supportedServices.join(',')
for (var k in supportedServices) {
params['serviceProviderList[' + k + '].service'] =
supportedServices[k]
- params['serviceProviderList[' + k + '].provider'] =
selectedServices[supportedServices[k]].provider
+ params['serviceProviderList[' + k + '].provider'] =
this.selectedServiceProviderMap[supportedServices[k]]
}
var serviceCapabilityIndex = 0
if (supportedServices.includes('Connectivity')) {
@@ -871,7 +862,7 @@ export default {
params['servicecapabilitylist[' + serviceCapabilityIndex +
'].capabilityvalue'] = true
serviceCapabilityIndex++
}
- if (values.inlinemode === true && ((selectedServices.Lb.provider
=== 'F5BigIp') || (selectedServices.Lb.provider === 'Netscaler'))) {
+ if (values.inlinemode === true &&
((this.selectedServiceProviderMap.Lb === 'F5BigIp') ||
(this.selectedServiceProviderMap.Lb === 'Netscaler'))) {
params['servicecapabilitylist[' + serviceCapabilityIndex +
'].service'] = 'lb'
params['servicecapabilitylist[' + serviceCapabilityIndex +
'].capabilitytype'] = 'InlineMode'
params['servicecapabilitylist[' + serviceCapabilityIndex +
'].capabilityvalue'] = values.inlinemode
@@ -881,7 +872,7 @@ export default {
params['servicecapabilitylist[' + serviceCapabilityIndex +
'].capabilitytype'] = 'SupportedLbIsolation'
params['servicecapabilitylist[' + serviceCapabilityIndex +
'].capabilityvalue'] = values.isolation
serviceCapabilityIndex++
- if (selectedServices.Lb.provider === 'InternalLbVm') {
+ if (this.selectedServiceProviderMap.Lb === 'InternalLbVm') {
params['servicecapabilitylist[' + serviceCapabilityIndex +
'].service'] = 'lb'
params['servicecapabilitylist[' + serviceCapabilityIndex +
'].capabilitytype'] = 'lbSchemes'
params['servicecapabilitylist[' + serviceCapabilityIndex +
'].capabilityvalue'] = 'internal'
diff --git a/ui/src/views/offering/AddVpcOffering.vue
b/ui/src/views/offering/AddVpcOffering.vue
index 0eded9d..51a4065 100644
--- a/ui/src/views/offering/AddVpcOffering.vue
+++ b/ui/src/views/offering/AddVpcOffering.vue
@@ -166,7 +166,8 @@ export default {
supportedServices: [],
supportedServiceLoading: false,
connectivityServiceChecked: false,
- sourceNatServiceChecked: false
+ sourceNatServiceChecked: false,
+ selectedServiceProviderMap: {}
}
},
beforeCreate () {
@@ -191,9 +192,6 @@ export default {
isAdmin () {
return isAdmin()
},
- isSupportedServiceObject (obj) {
- return (obj !== null && obj !== undefined && Object.keys(obj).length > 0
&& obj.constructor === Object && 'provider' in obj)
- },
fetchDomainData () {
const params = {}
params.listAll = true
@@ -307,6 +305,11 @@ export default {
if (service === 'SourceNat') {
this.sourceNatServiceChecked = checked
}
+ if (checked && provider != null & provider !== undefined) {
+ this.selectedServiceProviderMap[service] = provider
+ } else {
+ delete this.selectedServiceProviderMap[service]
+ }
},
handleSubmit (e) {
e.preventDefault()
@@ -345,23 +348,12 @@ export default {
if (zoneId) {
params.zoneid = zoneId
}
- var selectedServices = null
- var keys = Object.keys(values)
- var self = this
- keys.forEach(function (key, keyIndex) {
- if (self.isSupportedServiceObject(values[key])) {
- if (selectedServices == null) {
- selectedServices = {}
- }
- selectedServices[key] = values[key]
- }
- })
- if (selectedServices != null) {
- var supportedServices = Object.keys(selectedServices)
+ if (this.selectedServiceProviderMap != null) {
+ var supportedServices = Object.keys(this.selectedServiceProviderMap)
params.supportedservices = supportedServices.join(',')
for (var k in supportedServices) {
params['serviceProviderList[' + k + '].service'] =
supportedServices[k]
- params['serviceProviderList[' + k + '].provider'] =
selectedServices[supportedServices[k]].provider
+ params['serviceProviderList[' + k + '].provider'] =
this.selectedServiceProviderMap[supportedServices[k]]
}
var serviceCapabilityIndex = 0
if (supportedServices.includes('Connectivity')) {