mirror of https://github.com/apache/cloudstack.git
cloudstack 3.0 UI - network page - Guest Network section - create Guest Network - If selected network offering includes forvpc = true, show VPC dropdown. Otherwise, hide VPC dropdown.
This commit is contained in:
parent
9a550adb75
commit
d623ee3dee
|
|
@ -152,6 +152,8 @@
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
var networkOfferingObjs = [];
|
||||||
|
|
||||||
cloudStack.sections.network = {
|
cloudStack.sections.network = {
|
||||||
title: 'label.network',
|
title: 'label.network',
|
||||||
id: 'network',
|
id: 'network',
|
||||||
|
|
@ -257,9 +259,9 @@
|
||||||
state: 'Enabled'
|
state: 'Enabled'
|
||||||
},
|
},
|
||||||
success: function(json) {
|
success: function(json) {
|
||||||
var networkOfferings = json.listnetworkofferingsresponse.networkoffering;
|
networkOfferingObjs = json.listnetworkofferingsresponse.networkoffering;
|
||||||
args.response.success({
|
args.response.success({
|
||||||
data: $.map(networkOfferings, function(zone) {
|
data: $.map(networkOfferingObjs, function(zone) {
|
||||||
return {
|
return {
|
||||||
id: zone.id,
|
id: zone.id,
|
||||||
description: zone.name
|
description: zone.name
|
||||||
|
|
@ -270,24 +272,74 @@
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
vpcid: {
|
||||||
|
label: 'VPC',
|
||||||
|
dependsOn: 'networkOfferingId',
|
||||||
|
select: function(args) {
|
||||||
|
var networkOfferingObj;
|
||||||
|
$(networkOfferingObjs).each(function(key, value) {
|
||||||
|
if(value.id == args.networkOfferingId) {
|
||||||
|
networkOfferingObj = value;
|
||||||
|
return false; //break each loop
|
||||||
|
}
|
||||||
|
});
|
||||||
|
if(networkOfferingObj.forvpc == true) {
|
||||||
|
args.$select.closest('.form-item').css('display', 'inline-block');
|
||||||
|
$.ajax({
|
||||||
|
url: createURL('listVPCs'),
|
||||||
|
data: {
|
||||||
|
listAll: true
|
||||||
|
},
|
||||||
|
success: function(json) {
|
||||||
|
var items = json.listvpcsresponse.vpc;
|
||||||
|
var data;
|
||||||
|
if(items != null && items.length > 0) {
|
||||||
|
data = $.map(items, function(item) {
|
||||||
|
return {
|
||||||
|
id: item.id,
|
||||||
|
description: item.name
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
args.response.success({ data: data });
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
args.$select.closest('.form-item').hide();
|
||||||
|
args.response.success({ data: null });
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
guestGateway: { label: 'label.guest.gateway' },
|
guestGateway: { label: 'label.guest.gateway' },
|
||||||
guestNetmask: { label: 'label.guest.netmask' }
|
guestNetmask: { label: 'label.guest.netmask' }
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
action: function(args) {
|
action: function(args) {
|
||||||
var array1 = [];
|
var dataObj = {
|
||||||
array1.push("&zoneId=" + args.data.zoneId);
|
zoneId: args.data.zoneId,
|
||||||
array1.push("&name=" + todb(args.data.name));
|
name: args.data.name,
|
||||||
array1.push("&displayText=" + todb(args.data.displayText));
|
displayText: args.data.displayText,
|
||||||
array1.push("&networkOfferingId=" + args.data.networkOfferingId);
|
networkOfferingId: args.data.networkOfferingId
|
||||||
|
};
|
||||||
if(args.data.guestGateway != null && args.data.guestGateway.length > 0)
|
if(args.data.guestGateway != null && args.data.guestGateway.length > 0) {
|
||||||
array1.push("&gateway=" + args.data.guestGateway);
|
$.extend(dataObj, {
|
||||||
if(args.data.guestNetmask != null && args.data.guestNetmask.length > 0)
|
gateway: args.data.guestGateway
|
||||||
array1.push("&netmask=" + args.data.guestNetmask);
|
});
|
||||||
|
}
|
||||||
|
if(args.data.guestNetmask != null && args.data.guestNetmask.length > 0) {
|
||||||
|
$.extend(dataObj, {
|
||||||
|
netmask: args.data.guestNetmask
|
||||||
|
});
|
||||||
|
}
|
||||||
|
if(args.$form.find('.form-item[rel=vpcid]').css("display") != "none") {
|
||||||
|
$.extend(dataObj, {
|
||||||
|
vpcid: args.data.vpcid
|
||||||
|
});
|
||||||
|
}
|
||||||
$.ajax({
|
$.ajax({
|
||||||
url: createURL('createNetwork' + array1.join("")),
|
url: createURL('createNetwork'),
|
||||||
|
data: dataObj,
|
||||||
success: function(json) {
|
success: function(json) {
|
||||||
args.response.success({
|
args.response.success({
|
||||||
data: json.createnetworkresponse.network
|
data: json.createnetworkresponse.network
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue