Skip to content

Commit 404c7e0

Browse files
author
Jessica Wang
committed
CLOUDSTACK-747: UI - Internal LB detailView - Assigned VMs tab - implement AssignVMs action.
1 parent 5c6017e commit 404c7e0

1 file changed

Lines changed: 65 additions & 0 deletions

File tree

ui/scripts/vpc.js

Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -625,6 +625,71 @@
625625
});
626626
},
627627
actions: {
628+
add: {
629+
label: 'Assign VMs',
630+
messages: {
631+
notification: function(args) { return 'Assign VMs'; }
632+
},
633+
listView: $.extend(true, {}, cloudStack.sections.instances.listView, {
634+
type: 'checkbox',
635+
filters: false,
636+
dataProvider: function(args) {
637+
$.ajax({
638+
url: createURL('listVirtualMachines'),
639+
data: {
640+
networkid: args.context.networks[0].id,
641+
listAll: true
642+
},
643+
success: function(json) {
644+
var instances = json.listvirtualmachinesresponse.virtualmachine;
645+
646+
// Pre-select existing instances in LB rule
647+
$(instances).map(function(index, instance) {
648+
instance._isSelected = $.grep(
649+
args.context.internalLoadBalancers[0].loadbalancerinstance,
650+
651+
function(lbInstance) {
652+
return lbInstance.id == instance.id;
653+
}
654+
).length ? true : false;
655+
});
656+
657+
args.response.success({
658+
data: instances
659+
});
660+
}
661+
});
662+
}
663+
}),
664+
action: function(args) {
665+
var vms = args.context.instances;
666+
var array1 = [];
667+
for(var i = 0; i < vms.length; i++) {
668+
array1.push(vms[i].id);
669+
}
670+
var virtualmachineids = array1.join(',');
671+
672+
$.ajax({
673+
url: createURL('assignToLoadBalancerRule'),
674+
data: {
675+
id: args.context.internalLoadBalancers[0].id,
676+
virtualmachineids: virtualmachineids
677+
},
678+
dataType: 'json',
679+
async: true,
680+
success: function(data) {
681+
var jid = data.assigntoloadbalancerruleresponse.jobid;
682+
args.response.success({
683+
_custom: { jobId: jid }
684+
});
685+
}
686+
});
687+
},
688+
notification: {
689+
poll: pollAsyncJobResult
690+
}
691+
},
692+
628693
remove: {
629694
label: 'remove VM from load balancer',
630695
addRow: 'false',

0 commit comments

Comments
 (0)