CLOUDSTACK-10129: Allow navigation from VRs to account, network, instances (#2306)

Supports following viewing and navigation/filtering:

- Networks -> view instances (instances that have nics on this network)
- Infra-> VRs -> view instances (attached to the VR's guest network id),
  view owner account (if not system, or project), view instances
- Infra -> VRs -> list of VPC redundant VRs will have redundant state in
  parenthesis in the list

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
This commit is contained in:
Rohit Yadav 2017-11-09 02:09:14 +05:30 committed by GitHub
parent 137d6a8940
commit ee7dcf78f1
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 80 additions and 3 deletions

View File

@ -137,6 +137,19 @@
});
}
if ("routers" in args.context) {
if ("account" in args.context.routers[0]) {
$.extend(data, {
name: args.context.routers[0].account
});
}
if ("domainid" in args.context.routers[0]) {
$.extend(data, {
domainid: args.context.routers[0].domainid
});
}
}
$.ajax({
url: createURL('listAccounts'),
data: data,

View File

@ -379,6 +379,31 @@
});
}
if ("routers" in args.context) {
if ("vpcid" in args.context.routers[0]) {
$.extend(data, {
vpcid: args.context.routers[0].vpcid
});
} else {
if ("guestnetworkid" in args.context.routers[0]) {
$.extend(data, {
networkid: args.context.routers[0].guestnetworkid
});
}
}
if ("projectid" in args.context.routers[0]) {
$.extend(data, {
projectid: args.context.routers[0].projectid
});
}
}
if ("networks" in args.context) {
$.extend(data, {
networkid: args.context.networks[0].id
});
}
if ("templates" in args.context) {
$.extend(data, {
templateid: args.context.templates[0].id

View File

@ -914,6 +914,25 @@
var data = {};
listViewDataProvider(args, data);
if ("routers" in args.context) {
if ("vpcid" in args.context.routers[0]) {
$.extend(data, {
vpcid: args.context.routers[0].vpcid
});
} else {
if ("guestnetworkid" in args.context.routers[0]) {
$.extend(data, {
id: args.context.routers[0].guestnetworkid
});
}
}
if ("projectid" in args.context.routers[0]) {
$.extend(data, {
projectid: args.context.routers[0].projectid
});
}
}
$.ajax({
url: createURL('listNetworks'),
data: data,
@ -931,7 +950,7 @@
detailView: {
name: 'label.guest.network.details',
viewAll: {
viewAll: [{
path: 'network.ipAddresses',
label: 'label.menu.ipaddresses',
preFilter: function(args) {
@ -940,7 +959,10 @@
return true;
}
},
}, {
label: 'label.instances',
path: 'instances'
}],
actions: {
edit: {
label: 'label.edit',
@ -6334,7 +6356,6 @@
}
},
action: function(args) {
console.log(args.context);
$.ajax({
url: createURL('removeVpnUser'),
data: {

View File

@ -31,6 +31,7 @@
if (router.projectid) routerType = _l('label.project');
if (router.vpcid) routerType = _l('label.vpc');
if ("isredundantrouter" in router && router.isredundantrouter) routerType = routerType + " (" + router.redundantstate + ")";
return $.extend(router, {
routerType: routerType
@ -9599,6 +9600,23 @@
},
detailView: {
name: 'label.virtual.appliance.details',
viewAll: [{
label: 'label.account',
path: 'accounts',
preFilter: function(args) {
if (args.context.routers[0].projectid)
return false;
if (args.context.routers[0].account == 'system')
return false;
return true;
}
}, {
label: 'label.networks',
path: 'network',
}, {
label: 'label.instances',
path: 'instances'
}],
actions: {
start: {
label: 'label.action.start.router',