You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cloudstack.apache.org by je...@apache.org on 2013/07/23 23:51:00 UTC
git commit: updated refs/heads/master to 9fb71c3
Updated Branches:
refs/heads/master 57623832b -> 9fb71c30a
CLOUDSTACK-2569: UI > Infrastructure menu > zone > physical network > network service providers > Cisco VNMC > If Cisco VNMC provider doesn't exist, show Add action and hide enable, disable action.
Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/9fb71c30
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/9fb71c30
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/9fb71c30
Branch: refs/heads/master
Commit: 9fb71c30a8ef4374ffe5a28c8366cb2938b09b98
Parents: 5762383
Author: Jessica Wang <je...@apache.org>
Authored: Tue Jul 23 14:47:14 2013 -0700
Committer: Jessica Wang <je...@apache.org>
Committed: Tue Jul 23 14:50:51 2013 -0700
----------------------------------------------------------------------
.../vnmcNetworkProvider/vnmcNetworkProvider.js | 1073 ++++++++++--------
1 file changed, 574 insertions(+), 499 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/9fb71c30/ui/modules/vnmcNetworkProvider/vnmcNetworkProvider.js
----------------------------------------------------------------------
diff --git a/ui/modules/vnmcNetworkProvider/vnmcNetworkProvider.js b/ui/modules/vnmcNetworkProvider/vnmcNetworkProvider.js
index 22cff63..9764a94 100644
--- a/ui/modules/vnmcNetworkProvider/vnmcNetworkProvider.js
+++ b/ui/modules/vnmcNetworkProvider/vnmcNetworkProvider.js
@@ -14,540 +14,615 @@
// KIND, either express or implied. See the License for the
// specific language governing permissions and limitations
// under the License.
-(function($, cloudStack) {
- cloudStack.modules.vnmcNetworkProvider = function(module) {
- var vnmcDeviceViewAll = window._m = [
- {
- label: 'VNMC Devices',
- path: '_zone.vnmcDevices'
- }
- ];
-
- var vnmcListView = {
- id: 'vnmcDevices',
- fields: {
- resourcename: { label: 'Resource Name' },
- provider: { label: 'Provider' }
- },
- dataProvider: function(args) {
- $.ajax({
- url: createURL('listCiscoVnmcResources'),
- data: {
- physicalnetworkid: args.context.physicalNetworks[0].id
- },
- success: function(json){
- var items = json.listCiscoVnmcResources.CiscoVnmcResource;
- args.response.success({
- data: items
- });
- }
- });
- },
- actions: {
- add: {
- label: 'Add VNMC device',
-
- messages: {
- notification: function(args) {
- return 'Add VNMC device';
- }
- },
-
- createForm: {
- title: 'Add VNMC device',
+(function ($, cloudStack) {
+ cloudStack.modules.vnmcNetworkProvider = function (module) {
+ var vnmcDeviceViewAll = window._m = [{
+ label: 'VNMC Devices',
+ path: '_zone.vnmcDevices'
+ }];
+
+ var vnmcListView = {
+ id: 'vnmcDevices',
fields: {
- hostname: {
- label: 'label.host',
- validation: { required: true }
- },
- username: {
- label: 'label.username',
- validation: { required: true }
- },
- password: {
- label: 'label.password',
- isPassword: true,
- validation: { required: true }
- }
- }
- },
-
- action: function(args) {
- $.ajax({
- url: createURL('listNetworkServiceProviders'),
- data: {
- name: 'CiscoVnmc',
- physicalnetworkid: args.context.physicalNetworks[0].id
- },
- success: function(json){
- var items = json.listnetworkserviceprovidersresponse.networkserviceprovider;
- if(items != null && items.length > 0) {
- var ciscoVnmcProvider = items[0];
- if(ciscoVnmcProvider.state == 'Enabled') {
- addCiscoVnmcResourceFn();
- }
- else {
- enableCiscoVnmcProviderFn(ciscoVnmcProvider);
- }
+ resourcename: {
+ label: 'Resource Name'
+ },
+ provider: {
+ label: 'Provider'
}
- else {
- $.ajax({
- url: createURL("addNetworkServiceProvider"),
+ },
+ dataProvider: function (args) {
+ $.ajax({
+ url: createURL('listCiscoVnmcResources'),
data: {
- name: 'CiscoVnmc',
- physicalnetworkid: args.context.physicalNetworks[0].id
+ physicalnetworkid: args.context.physicalNetworks[0].id
},
- success: function(json) {
- var jobId = json.addnetworkserviceproviderresponse.jobid;
- var addVnmcProviderIntervalID = setInterval(function() {
- $.ajax({
- url: createURL("queryAsyncJobResult&jobId="+jobId),
- dataType: "json",
- success: function(json) {
- var result = json.queryasyncjobresultresponse;
- if (result.jobstatus == 0) {
- return; //Job has not completed
+ success: function (json) {
+ var items = json.listCiscoVnmcResources.CiscoVnmcResource;
+ args.response.success({
+ data: items
+ });
+ }
+ });
+ },
+ actions: {
+ add: {
+ label: 'Add VNMC device',
+
+ messages: {
+ notification: function (args) {
+ return 'Add VNMC device';
+ }
+ },
+
+ createForm: {
+ title: 'Add VNMC device',
+ fields: {
+ hostname: {
+ label: 'label.host',
+ validation: {
+ required: true
+ }
+ },
+ username: {
+ label: 'label.username',
+ validation: {
+ required: true
+ }
+ },
+ password: {
+ label: 'label.password',
+ isPassword: true,
+ validation: {
+ required: true
+ }
}
- else {
- clearInterval(addVnmcProviderIntervalID );
- if (result.jobstatus == 1) {
- //nspMap["CiscoVnmc"] = json.queryasyncjobresultresponse.jobresult.networkserviceprovider;
- var ciscoVnmcProvider = json.queryasyncjobresultresponse.jobresult.networkserviceprovider;
- enableCiscoVnmcProviderFn(ciscoVnmcProvider);
- }
- else if (result.jobstatus == 2) {
- args.response.error(_s(result.jobresult.errortext));
- }
+ }
+ },
+
+ action: function (args) {
+ $.ajax({
+ url: createURL('listNetworkServiceProviders'),
+ data: {
+ name: 'CiscoVnmc',
+ physicalnetworkid: args.context.physicalNetworks[0].id
+ },
+ success: function (json) {
+ var items = json.listnetworkserviceprovidersresponse.networkserviceprovider;
+ if (items != null && items.length > 0) {
+ var ciscoVnmcProvider = items[0];
+ if (ciscoVnmcProvider.state == 'Enabled') {
+ addCiscoVnmcResourceFn();
+ } else {
+ enableCiscoVnmcProviderFn(ciscoVnmcProvider);
+ }
+ } else {
+ $.ajax({
+ url: createURL("addNetworkServiceProvider"),
+ data: {
+ name: 'CiscoVnmc',
+ physicalnetworkid: args.context.physicalNetworks[0].id
+ },
+ success: function (json) {
+ var jobId = json.addnetworkserviceproviderresponse.jobid;
+ var addVnmcProviderIntervalID = setInterval(function () {
+ $.ajax({
+ url: createURL("queryAsyncJobResult&jobId=" + jobId),
+ dataType: "json",
+ success: function (json) {
+ var result = json.queryasyncjobresultresponse;
+ if (result.jobstatus == 0) {
+ return; //Job has not completed
+ } else {
+ clearInterval(addVnmcProviderIntervalID);
+ if (result.jobstatus == 1) {
+ //nspMap["CiscoVnmc"] = json.queryasyncjobresultresponse.jobresult.networkserviceprovider;
+ var ciscoVnmcProvider = json.queryasyncjobresultresponse.jobresult.networkserviceprovider;
+ enableCiscoVnmcProviderFn(ciscoVnmcProvider);
+ } else if (result.jobstatus == 2) {
+ args.response.error(_s(result.jobresult.errortext));
+ }
+ }
+ },
+ error: function (XMLHttpResponse) {
+ args.response.error(parseXMLHttpResponse(data));
+ }
+ });
+ }, g_queryAsyncJobResultInterval);
+ }
+ });
+ }
}
- },
- error: function(XMLHttpResponse) {
- args.response.error(parseXMLHttpResponse(data));
- }
});
- }, g_queryAsyncJobResultInterval);
- }
- });
- }
- }
- });
- var enableCiscoVnmcProviderFn = function(ciscoVnmcProvider){
- $.ajax({
- url: createURL('updateNetworkServiceProvider'),
- data: {
- id: ciscoVnmcProvider.id,
- state: 'Enabled'
- },
- success: function(json) {
- var jid = json.updatenetworkserviceproviderresponse.jobid;
- var enableVnmcProviderIntervalID = setInterval(function(){
- $.ajax({
- url: createURL('queryAsyncJobResult'),
- data: {
- jobid: jid
- },
- success: function(json){
- var result = json.queryasyncjobresultresponse;
- if (result.jobstatus == 0) {
- return; //Job has not completed
+ var enableCiscoVnmcProviderFn = function (ciscoVnmcProvider) {
+ $.ajax({
+ url: createURL('updateNetworkServiceProvider'),
+ data: {
+ id: ciscoVnmcProvider.id,
+ state: 'Enabled'
+ },
+ success: function (json) {
+ var jid = json.updatenetworkserviceproviderresponse.jobid;
+ var enableVnmcProviderIntervalID = setInterval(function () {
+ $.ajax({
+ url: createURL('queryAsyncJobResult'),
+ data: {
+ jobid: jid
+ },
+ success: function (json) {
+ var result = json.queryasyncjobresultresponse;
+ if (result.jobstatus == 0) {
+ return; //Job has not completed
+ } else {
+ clearInterval(enableVnmcProviderIntervalID);
+ if (result.jobstatus == 1) {
+ addCiscoVnmcResourceFn();
+ } else if (result.jobstatus == 2) {
+ args.response.error(_s(result.jobresult.errortext));
+ }
+ }
+ }
+ });
+ }, g_queryAsyncJobResultInterval);
+ }
+ });
+ };
+
+ var addCiscoVnmcResourceFn = function () {
+ var data = {
+ physicalnetworkid: args.context.physicalNetworks[0].id,
+ hostname: args.data.hostname,
+ username: args.data.username,
+ password: args.data.password
+ };
+
+ $.ajax({
+ url: createURL('addCiscoVnmcResource'),
+ data: data,
+ success: function (json) {
+ var item = json.addCiscoVnmcResource.CiscoVnmcResource;
+ args.response.success({
+ data: item
+ });
+ },
+ error: function (data) {
+ args.response.error(parseXMLHttpResponse(data));
+ }
+ });
}
- else {
- clearInterval(enableVnmcProviderIntervalID);
- if (result.jobstatus == 1) {
- addCiscoVnmcResourceFn();
- }
- else if (result.jobstatus == 2) {
- args.response.error(_s(result.jobresult.errortext));
- }
+ },
+
+ notification: {
+ poll: function (args) {
+ args.complete();
}
- }
- });
- }, g_queryAsyncJobResultInterval);
- }
- });
- };
-
- var addCiscoVnmcResourceFn = function(){
- var data = {
- physicalnetworkid: args.context.physicalNetworks[0].id,
- hostname: args.data.hostname,
- username: args.data.username,
- password: args.data.password
- };
-
- $.ajax({
- url: createURL('addCiscoVnmcResource'),
- data: data,
- success: function(json) {
- var item = json.addCiscoVnmcResource.CiscoVnmcResource;
- args.response.success({data: item});
- },
- error: function(data) {
- args.response.error(parseXMLHttpResponse(data));
+ }
}
- });
- }
- },
-
- notification: {
- poll: function(args) {
- args.complete();
- }
- }
- }
- },
-
- detailView: {
- name: 'CiscoVNMC resource details',
- actions: {
- remove: {
- label: 'delete CiscoVNMC resource',
- messages: {
- confirm: function(args) {
- return 'Please confirm you want to delete CiscoVNMC resource';
- },
- notification: function(args) {
- return 'delete CiscoVNMC resource';
- }
},
- action: function(args) {
- $.ajax({
- url: createURL('deleteCiscoVnmcResource'),
- data: {
- resourceid: args.context.vnmcDevices[0].resourceid
- },
- success: function(json) {
- args.response.success();
+
+ detailView: {
+ name: 'CiscoVNMC resource details',
+ actions: {
+ remove: {
+ label: 'delete CiscoVNMC resource',
+ messages: {
+ confirm: function (args) {
+ return 'Please confirm you want to delete CiscoVNMC resource';
+ },
+ notification: function (args) {
+ return 'delete CiscoVNMC resource';
+ }
+ },
+ action: function (args) {
+ $.ajax({
+ url: createURL('deleteCiscoVnmcResource'),
+ data: {
+ resourceid: args.context.vnmcDevices[0].resourceid
+ },
+ success: function (json) {
+ args.response.success();
+ },
+ error: function (data) {
+ args.response.error(parseXMLHttpResponse(data));
+ }
+ });
+ },
+ notification: {
+ poll: function (args) {
+ args.complete();
+ }
+ }
+ }
},
- error: function(data) {
- args.response.error(parseXMLHttpResponse(data));
+
+ tabs: {
+ details: {
+ title: 'label.details',
+ fields: [{
+ resourcename: {
+ label: 'Resource Name'
+ }
+ }, {
+ resourceid: {
+ label: 'Resource ID'
+ },
+ provider: {
+ label: 'Provider'
+ },
+ RESOURCE_NAME: {
+ label: 'Resource Name'
+ }
+ }],
+ dataProvider: function (args) {
+ $.ajax({
+ url: createURL('listCiscoVnmcResources'),
+ data: {
+ resourceid: args.context.vnmcDevices[0].resourceid
+ },
+ success: function (json) {
+ var item = json.listCiscoVnmcResources.CiscoVnmcResource[0];
+ args.response.success({
+ data: item
+ });
+ }
+ });
+ }
+ }
}
- });
- },
- notification: {
- poll: function(args) {
- args.complete();
- }
- }
- }
- },
-
- tabs: {
- details: {
- title: 'label.details',
- fields: [
- {
- resourcename: { label: 'Resource Name' }
- },
- {
- resourceid: { label: 'Resource ID'},
- provider: { label: 'Provider' },
- RESOURCE_NAME: { label: 'Resource Name'}
- }
- ],
- dataProvider: function(args) {
- $.ajax({
- url: createURL('listCiscoVnmcResources'),
- data: {
- resourceid: args.context.vnmcDevices[0].resourceid
- },
- success: function(json){
- var item = json.listCiscoVnmcResources.CiscoVnmcResource[0];
- args.response.success({
- data: item
- });
- }
- });
}
- }
- }
- }
- };
+ };
+
+ var vnmcProviderDetailView = {
+ id: 'vnmcProvider',
+ label: 'VNMC',
+ viewAll: vnmcDeviceViewAll,
+ actions: {
+ add: {
+ label: 'Add VNMC provider',
+
+ messages: {
+ confirm: function (args) {
+ return 'Please confirm you would like to add the VNMC provider.';
+ },
+ notification: function (args) {
+ return 'Add VNMC device';
+ }
+ },
- var vnmcProviderDetailView = {
- id: 'vnmcProvider',
- label: 'VNMC',
- viewAll: vnmcDeviceViewAll,
- actions: {
- enable: {
- label: 'Enable VNMC provider',
-
- messages: {
- confirm: function(args) {
- return 'Please confirm you would like to enable the VNMC provider.';
- },
- notification: function(args) {
- return 'Enable VNMC device';
- }
- },
+ action: function (args) {
+ $.ajax({
+ url: createURL("addNetworkServiceProvider"),
+ data: {
+ name: 'CiscoVnmc',
+ physicalnetworkid: args.context.physicalNetworks[0].id
+ },
+ success: function (json) {
+ var jobId = json.addnetworkserviceproviderresponse.jobid;
+ var addVnmcProviderIntervalID = setInterval(function () {
+ $.ajax({
+ url: createURL("queryAsyncJobResult&jobId=" + jobId),
+ dataType: "json",
+ success: function (json) {
+ var result = json.queryasyncjobresultresponse;
+ if (result.jobstatus == 0) {
+ return; //Job has not completed
+ } else {
+ clearInterval(addVnmcProviderIntervalID);
+ if (result.jobstatus == 1) {
+ var item = json.queryasyncjobresultresponse.jobresult.networkserviceprovider;
+ args.response.success({
+ data: item
+ });
+ } else if (result.jobstatus == 2) {
+ args.response.error(_s(result.jobresult.errortext));
+ }
+ }
+ },
+ error: function (XMLHttpResponse) {
+ args.response.error(parseXMLHttpResponse(data));
+ }
+ });
+ }, g_queryAsyncJobResultInterval);
+ }
+ });
+ }
+ },
+ enable: {
+ label: 'Enable VNMC provider',
+
+ messages: {
+ confirm: function (args) {
+ return 'Please confirm you would like to enable the VNMC provider.';
+ },
+ notification: function (args) {
+ return 'Enable VNMC device';
+ }
+ },
- action: function(args) {
- $.ajax({
- url: createURL('listNetworkServiceProviders'),
- data: {
- name: 'CiscoVnmc',
- physicalnetworkid: args.context.physicalNetworks[0].id
- },
- success: function(json){
- var items = json.listnetworkserviceprovidersresponse.networkserviceprovider;
- if(items != null && items.length > 0) {
- var ciscoVnmcProvider = items[0];
-
- enableCiscoVnmcProviderFn(ciscoVnmcProvider);
- } else {
- args.response.error('VNMC is not available from provider list.');
- }
- }
- });
+ action: function (args) {
+ $.ajax({
+ url: createURL('listNetworkServiceProviders'),
+ data: {
+ name: 'CiscoVnmc',
+ physicalnetworkid: args.context.physicalNetworks[0].id
+ },
+ success: function (json) {
+ var items = json.listnetworkserviceprovidersresponse.networkserviceprovider;
+ if (items != null && items.length > 0) {
+ var ciscoVnmcProvider = items[0];
+
+ enableCiscoVnmcProviderFn(ciscoVnmcProvider);
+ } else {
+ args.response.error('VNMC is not available from provider list.');
+ }
+ }
+ });
- var enableCiscoVnmcProviderFn = function(ciscoVnmcProvider){
- $.ajax({
- url: createURL('updateNetworkServiceProvider'),
- data: {
- id: ciscoVnmcProvider.id,
- state: 'Enabled'
- },
- success: function(json) {
- var jid = json.updatenetworkserviceproviderresponse.jobid;
- var enableVnmcProviderIntervalID = setInterval(function(){
- $.ajax({
- url: createURL('queryAsyncJobResult'),
- data: {
- jobid: jid
- },
- success: function(json){
- var result = json.queryasyncjobresultresponse;
- if (result.jobstatus == 0) {
- return; //Job has not completed
+ var enableCiscoVnmcProviderFn = function (ciscoVnmcProvider) {
+ $.ajax({
+ url: createURL('updateNetworkServiceProvider'),
+ data: {
+ id: ciscoVnmcProvider.id,
+ state: 'Enabled'
+ },
+ success: function (json) {
+ var jid = json.updatenetworkserviceproviderresponse.jobid;
+ var enableVnmcProviderIntervalID = setInterval(function () {
+ $.ajax({
+ url: createURL('queryAsyncJobResult'),
+ data: {
+ jobid: jid
+ },
+ success: function (json) {
+ var result = json.queryasyncjobresultresponse;
+ if (result.jobstatus == 0) {
+ return; //Job has not completed
+ } else {
+ if (result.jobstatus == 1) {
+ args.response.success({
+ data: {
+ state: 'Enabled'
+ }
+ });
+ } else if (result.jobstatus == 2) {
+ args.response.error(_s(result.jobresult.errortext));
+ }
+ }
+ }
+ });
+ }, g_queryAsyncJobResultInterval);
+ }
+ });
}
- else {
- if (result.jobstatus == 1) {
- args.response.success({ data: { state: 'Enabled' } });
- }
- else if (result.jobstatus == 2) {
- args.response.error(_s(result.jobresult.errortext));
- }
+
+ var addCiscoVnmcResourceFn = function () {
+ var data = {
+ physicalnetworkid: args.context.physicalNetworks[0].id,
+ hostname: args.data.hostname,
+ username: args.data.username,
+ password: args.data.password
+ };
+
+ $.ajax({
+ url: createURL('addCiscoVnmcResource'),
+ data: data,
+ success: function (json) {
+ var item = json.addCiscoVnmcResource.CiscoVnmcResource;
+ args.response.success({
+ data: item
+ });
+ },
+ error: function (data) {
+ args.response.error(parseXMLHttpResponse(data));
+ }
+ });
}
- }
- });
- }, g_queryAsyncJobResultInterval);
- }
- });
- }
+ },
- var addCiscoVnmcResourceFn = function(){
- var data = {
- physicalnetworkid: args.context.physicalNetworks[0].id,
- hostname: args.data.hostname,
- username: args.data.username,
- password: args.data.password
- };
-
- $.ajax({
- url: createURL('addCiscoVnmcResource'),
- data: data,
- success: function(json) {
- var item = json.addCiscoVnmcResource.CiscoVnmcResource;
- args.response.success({data: item});
+ notification: {
+ poll: function (args) {
+ args.complete();
+ }
+ }
},
- error: function(data) {
- args.response.error(parseXMLHttpResponse(data));
- }
- });
- }
- },
- notification: {
- poll: function(args) {
- args.complete();
- }
- }
- },
-
- disable: {
- label: 'Disable VNMC provider',
+ disable: {
+ label: 'Disable VNMC provider',
- messages: {
- confirm: function(args) {
- return 'Please confirm you would like to disable the VNMC provider.';
- },
- notification: function(args) {
- return 'Disable VNMC device';
- }
- },
+ messages: {
+ confirm: function (args) {
+ return 'Please confirm you would like to disable the VNMC provider.';
+ },
+ notification: function (args) {
+ return 'Disable VNMC device';
+ }
+ },
- action: function(args) {
- $.ajax({
- url: createURL('listNetworkServiceProviders'),
- data: {
- name: 'CiscoVnmc',
- physicalnetworkid: args.context.physicalNetworks[0].id
- },
- success: function(json){
- var items = json.listnetworkserviceprovidersresponse.networkserviceprovider;
- if(items != null && items.length > 0) {
- var ciscoVnmcProvider = items[0];
-
- disableCiscoVnmcProviderFn(ciscoVnmcProvider);
- } else {
- args.response.error('VNMC is not available from provider list.');
- }
- }
- });
+ action: function (args) {
+ $.ajax({
+ url: createURL('listNetworkServiceProviders'),
+ data: {
+ name: 'CiscoVnmc',
+ physicalnetworkid: args.context.physicalNetworks[0].id
+ },
+ success: function (json) {
+ var items = json.listnetworkserviceprovidersresponse.networkserviceprovider;
+ if (items != null && items.length > 0) {
+ var ciscoVnmcProvider = items[0];
+
+ disableCiscoVnmcProviderFn(ciscoVnmcProvider);
+ } else {
+ args.response.error('VNMC is not available from provider list.');
+ }
+ }
+ });
- var disableCiscoVnmcProviderFn = function(ciscoVnmcProvider){
- $.ajax({
- url: createURL('updateNetworkServiceProvider'),
- data: {
- id: ciscoVnmcProvider.id,
- state: 'Disabled'
- },
- success: function(json) {
- var jid = json.updatenetworkserviceproviderresponse.jobid;
- var disableVnmcProviderIntervalID = setInterval(function(){
- $.ajax({
- url: createURL('queryAsyncJobResult'),
- data: {
- jobid: jid
- },
- success: function(json){
- var result = json.queryasyncjobresultresponse;
- if (result.jobstatus == 0) {
- return; //Job has not completed
+ var disableCiscoVnmcProviderFn = function (ciscoVnmcProvider) {
+ $.ajax({
+ url: createURL('updateNetworkServiceProvider'),
+ data: {
+ id: ciscoVnmcProvider.id,
+ state: 'Disabled'
+ },
+ success: function (json) {
+ var jid = json.updatenetworkserviceproviderresponse.jobid;
+ var disableVnmcProviderIntervalID = setInterval(function () {
+ $.ajax({
+ url: createURL('queryAsyncJobResult'),
+ data: {
+ jobid: jid
+ },
+ success: function (json) {
+ var result = json.queryasyncjobresultresponse;
+ if (result.jobstatus == 0) {
+ return; //Job has not completed
+ } else {
+ clearInterval(disableVnmcProviderIntervalID);
+ if (result.jobstatus == 1) {
+ args.response.success({
+ data: {
+ state: 'Disabled'
+ }
+ });
+ } else if (result.jobstatus == 2) {
+ args.response.error(_s(result.jobresult.errortext));
+ }
+ }
+ }
+ });
+ }, g_queryAsyncJobResultInterval);
+ }
+ });
+ };
+
+ var addCiscoVnmcResourceFn = function () {
+ var data = {
+ physicalnetworkid: args.context.physicalNetworks[0].id,
+ hostname: args.data.hostname,
+ username: args.data.username,
+ password: args.data.password
+ };
+
+ $.ajax({
+ url: createURL('addCiscoVnmcResource'),
+ data: data,
+ success: function (json) {
+ var item = json.addCiscoVnmcResource.CiscoVnmcResource;
+ args.response.success({
+ data: item
+ });
+ },
+ error: function (data) {
+ args.response.error(parseXMLHttpResponse(data));
+ }
+ });
}
- else {
- clearInterval(disableVnmcProviderIntervalID);
- if (result.jobstatus == 1) {
- args.response.success({ data: { state: 'Disabled' } });
- }
- else if (result.jobstatus == 2) {
- args.response.error(_s(result.jobresult.errortext));
- }
+ },
+
+ notification: {
+ poll: function (args) {
+ args.complete();
}
- }
- });
- }, g_queryAsyncJobResultInterval);
- }
- });
- };
-
- var addCiscoVnmcResourceFn = function(){
- var data = {
- physicalnetworkid: args.context.physicalNetworks[0].id,
- hostname: args.data.hostname,
- username: args.data.username,
- password: args.data.password
- };
-
- $.ajax({
- url: createURL('addCiscoVnmcResource'),
- data: data,
- success: function(json) {
- var item = json.addCiscoVnmcResource.CiscoVnmcResource;
- args.response.success({data: item});
- },
- error: function(data) {
- args.response.error(parseXMLHttpResponse(data));
+ }
}
- });
- }
- },
-
- notification: {
- poll: function(args) {
- args.complete();
- }
- }
- }
- },
- tabs: {
- details: {
- title: 'label.details',
- fields: [
- {
- name: { label: 'label.name' }
},
- {
- state: { label: 'label.state' },
- id: { label: 'label.id' },
- servicelist: {
- label: 'Services',
- converter: function(args){
- if(args)
- return args.join(', ');
- else
- return '';
+ tabs: {
+ details: {
+ title: 'label.details',
+ fields: [{
+ name: {
+ label: 'label.name'
+ }
+ }, {
+ state: {
+ label: 'label.state'
+ },
+ id: {
+ label: 'label.id'
+ },
+ servicelist: {
+ label: 'Services',
+ converter: function (args) {
+ if (args)
+ return args.join(', ');
+ else
+ return '';
+ }
+ }
+ }],
+ dataProvider: function (args) {
+ $.ajax({
+ url: createURL('listNetworkServiceProviders'),
+ data: {
+ 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]
+ });
+ } else {
+ args.response.success({
+ data: {
+ name: 'CiscoVnmc',
+ state: 'Disabled'
+ },
+ actionFilter: vnmcActionFilter
+ });
+ }
+ }
+ });
+ }
}
- }
}
- ],
- dataProvider: function(args) {
+ };
+
+ var vnmcActionFilter = function (args) {
+ var allowedActions = [];
$.ajax({
- url: createURL('listNetworkServiceProviders'),
- data: {
- 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] });
- }
- else {
- args.response.success({
- data: {
- name: 'CiscoVnmc',
- state: 'Disabled'
- },
- actionFilter: vnmcActionFilter
- });
+ url: createURL('listNetworkServiceProviders'),
+ data: {
+ name: 'CiscoVnmc',
+ physicalnetworkid: args.context.physicalNetworks[0].id
+ },
+ async: false,
+ success: function (json) {
+ var items = json.listnetworkserviceprovidersresponse.networkserviceprovider;
+ if (items != null && items.length > 0) {
+ var ciscoVnmcProvider = items[0];
+ if (ciscoVnmcProvider.state == 'Enabled') {
+ allowedActions.push('disable');
+ } else if (ciscoVnmcProvider.state == 'Disabled') {
+ allowedActions.push('enable');
+ }
+ } else {
+ allowedActions.push('add');
+ }
}
- }
});
- }
- }
- }
- };
-
- var vnmcActionFilter = function(args) {
- var enabledActions = ['enable'];
-
- $.ajax({
- url: createURL('listNetworkServiceProviders'),
- async: false,
- data: {
- name: 'CiscoVnmc',
- physicalnetworkid: args.context.physicalNetworks[0].id
- },
- success: function(json){
- var items = json.listnetworkserviceprovidersresponse.networkserviceprovider;
- if(items != null && items.length > 0) {
- var ciscoVnmcProvider = items[0];
-
- if (ciscoVnmcProvider.state === 'Enabled') {
- enabledActions = ['disable'];
+ return allowedActions;
+ };
+
+ module.pluginAPI.extend({
+ addDevice: function (device) {
+ cloudStack.sections.system.subsections[device.id] = device;
+ vnmcDeviceViewAll.push({
+ label: device.title,
+ path: '_zone.' + device.id
+ });
}
- }
- }
- });
+ });
- return enabledActions;
- };
+ module.infrastructure.networkServiceProvider({
+ id: 'CiscoVnmc',
+ name: 'Cisco VNMC',
+ //state: 'Disabled', //don't know state until log in and visit Infrastructure menu > zone detail > physical network > network service providers
+ listView: vnmcListView,
- module.pluginAPI.extend({
- addDevice: function(device) {
- cloudStack.sections.system.subsections[device.id] = device;
- vnmcDeviceViewAll.push({ label: device.title, path: '_zone.' + device.id });
- }
- });
-
- module.infrastructure.networkServiceProvider({
- id: 'CiscoVnmc',
- name: 'Cisco VNMC',
- //state: 'Disabled', //don't know state until log in and visit Infrastructure menu > zone detail > physical network > network service providers
- listView: vnmcListView,
-
- detailView: vnmcProviderDetailView
- });
- };
-}(jQuery, cloudStack));
+ detailView: vnmcProviderDetailView
+ });
+ };
+}(jQuery, cloudStack));
\ No newline at end of file