mirror of
https://github.com/apache/cloudstack.git
synced 2025-11-02 11:52:28 +01:00
CLOUDSTACK-2989: UI > Networks menu > Add Isolated Network dialog > network offering dropdown > populate network offerings whose specifyvlan=false to normal user.
This commit is contained in:
parent
aa223e5786
commit
34823eb85a
@ -377,63 +377,76 @@
|
|||||||
},
|
},
|
||||||
dependsOn: 'zoneId',
|
dependsOn: 'zoneId',
|
||||||
docID: 'helpGuestNetworkNetworkOffering',
|
docID: 'helpGuestNetworkNetworkOffering',
|
||||||
select: function(args) {
|
select: function(args) {
|
||||||
$.ajax({
|
var data = {
|
||||||
url: createURL('listVPCs'),
|
zoneid: args.zoneId,
|
||||||
data: {
|
guestiptype: 'Isolated',
|
||||||
listAll: true
|
supportedServices: 'SourceNat',
|
||||||
},
|
state: 'Enabled',
|
||||||
success: function(json) {
|
};
|
||||||
var items = json.listvpcsresponse.vpc;
|
|
||||||
var baseUrl = 'listNetworkOfferings&zoneid=' + args.zoneId;
|
if ('vpc' in args.context) { //from VPC section
|
||||||
var listUrl;
|
$.extend(data, {
|
||||||
var data = {
|
forVpc: true
|
||||||
guestiptype: 'Isolated',
|
});
|
||||||
supportedServices: 'SourceNat',
|
}
|
||||||
state: 'Enabled',
|
else { //from guest network section
|
||||||
};
|
var vpcs;
|
||||||
|
$.ajax({
|
||||||
if (items != null && items.length > 0)
|
url: createURL('listVPCs'),
|
||||||
listUrl = baseUrl;
|
data: {
|
||||||
else
|
listAll: true
|
||||||
listUrl = baseUrl + '&forVpc=false';
|
},
|
||||||
|
async: false,
|
||||||
if (args.context.vpc) {
|
success: function(json) {
|
||||||
data.forVpc = true;
|
vpcs = json.listvpcsresponse.vpc;
|
||||||
}
|
}
|
||||||
|
});
|
||||||
|
if (vpcs == null || vpcs.length == 0) { //if there is no VPC in the system
|
||||||
|
$.extend(data, {
|
||||||
|
forVpc: false
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
$.ajax({
|
if(!isAdmin()) { //normal user is not aware of the VLANs in the system, so normal user is not allowed to create network with network offerings whose specifyvlan = true
|
||||||
url: createURL(listUrl),
|
$.extend(data, {
|
||||||
data: data,
|
specifyvlan: false
|
||||||
success: function(json) {
|
});
|
||||||
networkOfferingObjs = json.listnetworkofferingsresponse.networkoffering;
|
}
|
||||||
args.$select.change(function() {
|
|
||||||
var $vlan = args.$select.closest('form').find('[rel=vlan]');
|
$.ajax({
|
||||||
var networkOffering = $.grep(
|
url: createURL('listNetworkOfferings'),
|
||||||
networkOfferingObjs, function(netoffer) {
|
data: data,
|
||||||
return netoffer.id == args.$select.val();
|
success: function(json) {
|
||||||
}
|
networkOfferingObjs = json.listnetworkofferingsresponse.networkoffering;
|
||||||
)[0];
|
args.$select.change(function() {
|
||||||
|
var $vlan = args.$select.closest('form').find('[rel=vlan]');
|
||||||
|
var networkOffering = $.grep(
|
||||||
|
networkOfferingObjs, function(netoffer) {
|
||||||
|
return netoffer.id == args.$select.val();
|
||||||
|
}
|
||||||
|
)[0];
|
||||||
|
|
||||||
if (networkOffering.specifyvlan) {
|
if (networkOffering.specifyvlan) {
|
||||||
$vlan.css('display', 'inline-block');
|
$vlan.css('display', 'inline-block');
|
||||||
} else {
|
} else {
|
||||||
$vlan.hide();
|
$vlan.hide();
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
args.response.success({
|
|
||||||
data: $.map(networkOfferingObjs, function(zone) {
|
|
||||||
return {
|
|
||||||
id: zone.id,
|
|
||||||
description: zone.name
|
|
||||||
};
|
|
||||||
})
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
args.response.success({
|
||||||
|
data: $.map(networkOfferingObjs, function(zone) {
|
||||||
|
return {
|
||||||
|
id: zone.id,
|
||||||
|
description: zone.name
|
||||||
|
};
|
||||||
|
})
|
||||||
|
});
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
//???
|
||||||
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user