From b1f6d8914154114fe5c70618a7618d9dd0419df0 Mon Sep 17 00:00:00 2001 From: Jessica Wang Date: Thu, 9 May 2013 15:31:25 -0700 Subject: [PATCH] CLOUDSTACK-1816: Cisco VNMC ASA1000v - UI - Infrastructure menu - network service providers - populate provider detailView. --- ui/modules/infrastructure/infrastructure.js | 23 ++++++++++++-- .../vnmcNetworkProvider.js | 30 ++++++++++++++----- ui/scripts/system.js | 3 +- 3 files changed, 44 insertions(+), 12 deletions(-) diff --git a/ui/modules/infrastructure/infrastructure.js b/ui/modules/infrastructure/infrastructure.js index dae797e39df..4111aa5af37 100644 --- a/ui/modules/infrastructure/infrastructure.js +++ b/ui/modules/infrastructure/infrastructure.js @@ -33,12 +33,29 @@ $(window).bind('cloudStack.system.serviceProviders.makeHarcodedArray', function(event, data) { var nspHardcodingArray = data.nspHardcodingArray; - var selectedZoneObj = data.selectedZoneObj; - if(selectedZoneObj.networktype == "Advanced"){ + var selectedZoneObj = data.selectedZoneObj; + var selectedPhysicalNetworkObj = data.selectedPhysicalNetworkObj; + if(selectedZoneObj.networktype == "Advanced"){ + var selectedProviderObj = {}; + $.ajax({ + url: createURL('listNetworkServiceProviders'), + data: { + name: id, //e.g. 'CiscoVnmc' + physicalnetworkid: selectedPhysicalNetworkObj.id + }, + async: false, + success: function(json){ + var items = json.listnetworkserviceprovidersresponse.networkserviceprovider; + if(items != null && items.length > 0) { + selectedProviderObj = items[0]; + } + } + }); + nspHardcodingArray.push({ id: id, name: name, - state: state + state: selectedProviderObj.state }); } }); diff --git a/ui/modules/vnmcNetworkProvider/vnmcNetworkProvider.js b/ui/modules/vnmcNetworkProvider/vnmcNetworkProvider.js index acd00568589..cecf56c79ea 100644 --- a/ui/modules/vnmcNetworkProvider/vnmcNetworkProvider.js +++ b/ui/modules/vnmcNetworkProvider/vnmcNetworkProvider.js @@ -274,16 +274,30 @@ name: { label: 'label.name' } }, { - state: { label: 'label.state' } + state: { label: 'label.state' }, + id: { label: 'label.id' }, + servicelist: { + label: 'Services', + converter: function(args){ + return args.join(', '); + } + } } ], - dataProvider: function(args) { - args.response.success({ + dataProvider: function(args) { + $.ajax({ + url: createURL('listNetworkServiceProviders'), data: { - name: 'VNMC Devices', - state: 'Disabled' + name: 'CiscoVnmc', + physicalnetworkid: args.context.physicalNetworks[0].id + }, + success: function(json){ + var items = json.listnetworkserviceprovidersresponse.networkserviceprovider; + if(items != null && items.length > 0) { + args.response.success({ data: items[0] }); + } } - }); + }); } } } @@ -297,9 +311,9 @@ }); module.infrastructure.networkServiceProvider({ - id: 'vnmc', + id: 'CiscoVnmc', name: 'Cisco VNMC', - state: 'Disabled', + //state: 'Disabled', //don't know state until log in and visit Infrastructure menu > zone detail > physical network > network service providers listView: vnmcListView, detailView: vnmcProviderDetailView diff --git a/ui/scripts/system.js b/ui/scripts/system.js index 81fda3a71c3..0164e21cb68 100644 --- a/ui/scripts/system.js +++ b/ui/scripts/system.js @@ -12145,7 +12145,8 @@ $(window).trigger('cloudStack.system.serviceProviders.makeHarcodedArray', { nspHardcodingArray: nspHardcodingArray, - selectedZoneObj: selectedZoneObj + selectedZoneObj: selectedZoneObj, + selectedPhysicalNetworkObj: selectedPhysicalNetworkObj }); if(selectedZoneObj.networktype == "Basic") {