mirror of
https://github.com/apache/cloudstack.git
synced 2025-11-02 20:02:29 +01:00
cloudstack 3.0 new UI - Add Network Offering - fix a bug that array index in serviceCapabilityList[] was wrongly passed to API.
This commit is contained in:
parent
25d11cba05
commit
7edf9269c1
@ -1030,8 +1030,8 @@
|
||||
var formData = args.data;
|
||||
var inputData = {};
|
||||
var serviceProviderMap = {};
|
||||
var serviceCapabilityMap = {};
|
||||
|
||||
var serviceCapabilityIndex = 0;
|
||||
|
||||
$.each(formData, function(key, value) {
|
||||
var serviceData = key.split('.');
|
||||
|
||||
@ -1043,21 +1043,24 @@
|
||||
serviceProviderMap[serviceData[1]] = formData[
|
||||
'service.' + serviceData[1] + '.provider'
|
||||
];
|
||||
}
|
||||
else if (serviceData[0] == 'service' &&
|
||||
serviceData[2].indexOf('Capability') != -1 &&
|
||||
value == 'on') { // Services field
|
||||
serviceCapabilityMap[serviceData[1]] = serviceData[2];
|
||||
}
|
||||
}
|
||||
else if ((key == 'service.Lb.lbIsolationDropdown') && ("Lb" in serviceProviderMap)) {
|
||||
inputData['servicecapabilitylist[0].service'] = 'lb';
|
||||
inputData['servicecapabilitylist[0].capabilitytype'] = 'SupportedLbIsolation';
|
||||
inputData['servicecapabilitylist[0].capabilityvalue'] = value;
|
||||
inputData['servicecapabilitylist[' + serviceCapabilityIndex + '].service'] = 'lb';
|
||||
inputData['servicecapabilitylist[' + serviceCapabilityIndex + '].capabilitytype'] = 'SupportedLbIsolation';
|
||||
inputData['servicecapabilitylist[' + serviceCapabilityIndex + '].capabilityvalue'] = value;
|
||||
serviceCapabilityIndex++;
|
||||
}
|
||||
else if((key == 'service.SourceNat.redundantRouterCapabilityCheckbox') && ("SourceNat" in serviceProviderMap)) { //if checkbox is unchecked, it won't be included in formData in the first place. i.e. it won't fall into this section
|
||||
inputData['serviceCapabilityList[' + serviceCapabilityIndex + '].service'] = 'SourceNat';
|
||||
inputData['serviceCapabilityList[' + serviceCapabilityIndex + '].capabilitytype'] = "RedundantRouter";
|
||||
inputData['serviceCapabilityList[' + serviceCapabilityIndex + '].capabilityvalue'] = true; //because this checkbox's value == "on"
|
||||
serviceCapabilityIndex++;
|
||||
}
|
||||
else if ((key == 'service.SourceNat.sourceNatTypeDropdown') && ("SourceNat" in serviceProviderMap)) {
|
||||
inputData['servicecapabilitylist[0].service'] = 'sourcenat';
|
||||
inputData['servicecapabilitylist[0].capabilitytype'] = 'SupportedSourceNatTypes';
|
||||
inputData['servicecapabilitylist[0].capabilityvalue'] = value;
|
||||
inputData['servicecapabilitylist[' + serviceCapabilityIndex + '].service'] = 'SourceNat';
|
||||
inputData['servicecapabilitylist[' + serviceCapabilityIndex + '].capabilitytype'] = 'SupportedSourceNatTypes';
|
||||
inputData['servicecapabilitylist[' + serviceCapabilityIndex + '].capabilityvalue'] = value;
|
||||
serviceCapabilityIndex++;
|
||||
}
|
||||
}
|
||||
else if (value != '') { // Normal data
|
||||
@ -1088,20 +1091,7 @@
|
||||
inputData['serviceProviderList[' + serviceProviderIndex + '].service'] = key;
|
||||
inputData['serviceProviderList[' + serviceProviderIndex + '].provider'] = value;
|
||||
serviceProviderIndex++;
|
||||
});
|
||||
|
||||
var serviceCapabilityIndex = 0;
|
||||
$.each(serviceCapabilityMap, function(key, value) {
|
||||
var capabilityType = null;
|
||||
if(value == "redundantRouterCapabilityCheckbox")
|
||||
capabilityType = "RedundantRouter";
|
||||
if(capabilityType != null) {
|
||||
inputData['serviceCapabilityList[' + serviceCapabilityIndex + '].service'] = key;
|
||||
inputData['serviceCapabilityList[' + serviceCapabilityIndex + '].capabilitytype'] = capabilityType;
|
||||
inputData['serviceCapabilityList[' + serviceCapabilityIndex + '].capabilityvalue'] = true;
|
||||
serviceCapabilityIndex++;
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
$.ajax({
|
||||
url: createURL('createNetworkOffering'),
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user