CLOUDSTACK-1974: Dedicate Guest VLAN Range - UI - Infrastructure menu - physical network - Guest - devailView - (1) add new tab "Dedicated VLAN Ranges" that list dedicated Guest VLAN Ranges under the physical network. (2) implement "Dedicate Guest VLAN Range" action.

This commit is contained in:
Jessica Wang 2013-05-24 15:21:32 -07:00
parent 2ecf9e3293
commit b247ba6b4f
1 changed files with 89 additions and 3 deletions

View File

@ -1085,10 +1085,13 @@
tabFilter: function(args) {
var hiddenTabs = [];
if (selectedZoneObj.networktype == 'Basic')
if (selectedZoneObj.networktype == 'Basic') {
hiddenTabs.push("network");
else //selectedZoneObj.networktype == 'Advanced'
hiddenTabs.push("dedicatedGuestVlanRanges");
}
else { //selectedZoneObj.networktype == 'Advanced'
hiddenTabs.push("ipAddresses");
}
return hiddenTabs;
},
@ -2115,7 +2118,90 @@
}
}
}
}
},
dedicatedGuestVlanRanges : {
title: 'Dedicated VLAN Ranges',
listView: {
section: 'dedicatedGuestVlanRanges',
id: 'dedicatedGuestVlanRanges',
fields: {
guestvlanrange: { label: 'VLAN Range(s)' },
domain: { label: 'label.domain' },
account: { label: 'label.account' }
},
dataProvider: function(args) {
$.ajax({
url: createURL('listDedicatedGuestVlanRanges'),
data: {
physicalnetworkid: args.context.physicalNetworks[0].id
},
success: function(json) {
var items = json.listdedicatedguestvlanrangesresponse.dedicatedguestvlanrange;
args.response.success({ data: items })
}
});
},
actions: {
add: {
label: 'Dedicate VLAN Range',
messages: {
notification: function(args) {
return 'Dedicate VLAN Range';
}
},
createForm: {
title: 'Dedicate VLAN Range',
fields: {
vlanrange: { label: 'VLAN Range(s)', validation: { required: true } },
account: { label: 'label.account', validation: { required: true } },
domainid: {
label: 'label.domain',
validation: { required: true },
select: function(args) {
$.ajax({
url: createURL('listDomains'),
data: { listAll: true },
success: function(json) {
args.response.success({
data: $.map(json.listdomainsresponse.domain, function(domain) {
return {
id: domain.id,
description: domain.path
};
})
});
}
});
}
}
}
},
action: function(args) {
var data = {
physicalnetworkid: args.context.physicalNetworks[0].id,
vlanrange: args.data.vlanrange,
domainid: args.data.domainid,
account: args.data.account
};
$.ajax({
url: createURL('dedicateGuestVlanRange'),
data: data,
success: function(json) {
var item = json.dedicateguestvlanrangeresponse.dedicatedguestvlanrange;
args.response.success({ data: item });
}
});
},
notification: {
poll: function(args) {
args.complete();
}
}
}
}
}
}
}
}
}