From 658b5f929bef78c2cd50761b97e895bac7ed9c89 Mon Sep 17 00:00:00 2001 From: Jessica Wang Date: Fri, 18 Nov 2011 15:50:27 -0800 Subject: [PATCH] cloudStack 3.0 new UI - NaaS - implement add SRX firewall on listView. --- ui/scripts/system.js | 165 ++++++++++++++++++++++++++++++++++++++----- 1 file changed, 148 insertions(+), 17 deletions(-) diff --git a/ui/scripts/system.js b/ui/scripts/system.js index 8111344b5df..10eef50337e 100644 --- a/ui/scripts/system.js +++ b/ui/scripts/system.js @@ -1142,7 +1142,7 @@ array1.push("&password=" + todb(args.data.password)); array1.push("&networkdevicetype=" + todb(args.data.networkdevicetype)); - //*** construct URL (begin) *** + //construct URL starts here var url = []; var ip = args.data.ip; @@ -1223,7 +1223,7 @@ } array1.push("&url=" + todb(url.join(""))); - //*** construct URL (end) *** + //construct URL ends here $.ajax({ url: createURL("addF5LoadBalancer" + array1.join("")), @@ -1267,7 +1267,7 @@ array1.push("&password=" + todb(args.data.password)); array1.push("&networkdevicetype=" + todb(args.data.networkdevicetype)); - //*** construct URL (begin) *** + //construct URL starts here var url = []; var ip = args.data.ip; @@ -1348,7 +1348,7 @@ } array1.push("&url=" + todb(url.join(""))); - //*** construct URL (end) *** + //construct URL ends here $.ajax({ url: createURL("addF5LoadBalancer" + array1.join("")), @@ -1418,8 +1418,7 @@ add: { label: 'Add new SRX', createForm: { - title: 'Add new SRX', - //??? + title: 'Add new SRX', fields: { ip: { label: 'IP address' @@ -1518,8 +1517,7 @@ $("body").stopTime(timerKey); if (result.jobstatus == 1) { //alert("addNetworkServiceProvider&name=JuniperSRX succeeded."); - - //??? + //addSrxFirewall starts here var array1 = []; array1.push("&physicalnetworkid=" + physicalNetworkObj.id); @@ -1527,12 +1525,12 @@ array1.push("&password=" + todb(args.data.password)); array1.push("&networkdevicetype=" + todb(args.data.networkdevicetype)); - //*** construct URL (begin) *** + //construct URL starts here var url = []; var ip = args.data.ip; url.push("https://" + ip); - debugger; + var isQuestionMarkAdded = false; var publicInterface = args.data.publicinterface; @@ -1656,7 +1654,7 @@ } array1.push("&url=" + todb(url.join(""))); - //*** construct URL (end) *** + //construct URL ends here $.ajax({ url: createURL("addSrxFirewall" + array1.join("")), @@ -1676,7 +1674,7 @@ } }); //addSrxFirewall ends here - //??? + } else if (result.jobstatus == 2) { alert("addNetworkServiceProvider&name=JuniperSRX failed. Error: " + fromdb(result.jobresult.errortext)); @@ -1692,18 +1690,150 @@ } }); } - else { //naasStatusMap["srx"] == "enabled" + else { //naasStatusMap["srx"] == "enabled" + //addSrxFirewall starts here var array1 = []; - array1.push("&physicalnetworkid=" + physicalNetworkObj.id) - array1.push("&url=" + todb(args.data.url)); + array1.push("&physicalnetworkid=" + physicalNetworkObj.id); array1.push("&username=" + todb(args.data.username)); array1.push("&password=" + todb(args.data.password)); array1.push("&networkdevicetype=" + todb(args.data.networkdevicetype)); + + //construct URL starts here + var url = []; + + var ip = args.data.ip; + url.push("https://" + ip); + + var isQuestionMarkAdded = false; + + var publicInterface = args.data.publicinterface; + if(publicInterface != null && publicInterface.length > 0) { + if(isQuestionMarkAdded == false) { + url.push("?"); + isQuestionMarkAdded = true; + } + else { + url.push("&"); + } + url.push("publicinterface=" + publicInterface); + } + + var privateInterface = args.data.privateinterface; + if(privateInterface != null && privateInterface.length > 0) { + if(isQuestionMarkAdded == false) { + url.push("?"); + isQuestionMarkAdded = true; + } + else { + url.push("&"); + } + url.push("privateinterface=" + privateInterface); + } + + var usageInterface = args.data.usageinterface; + if(usageInterface != null && usageInterface.length > 0) { + if(isQuestionMarkAdded == false) { + url.push("?"); + isQuestionMarkAdded = true; + } + else { + url.push("&"); + } + url.push("usageinterface=" + usageInterface); + } + + var numretries = args.data.numretries; + if(numretries != null && numretries.length > 0) { + if(isQuestionMarkAdded == false) { + url.push("?"); + isQuestionMarkAdded = true; + } + else { + url.push("&"); + } + url.push("numretries=" + numretries); + } + + var timeout = args.data.timeout; + if(timeout != null && timeout.length > 0) { + if(isQuestionMarkAdded == false) { + url.push("?"); + isQuestionMarkAdded = true; + } + else { + url.push("&"); + } + url.push("timeout=" + timeout); + } + + var isInline = args.data.inline; + if(isInline != null && isInline.length > 0) { + if(isQuestionMarkAdded == false) { + url.push("?"); + isQuestionMarkAdded = true; + } + else { + url.push("&"); + } + url.push("inline=" + isInline); + } + + var publicNetwork = args.data.publicnetwork; + if(publicNetwork != null && publicNetwork.length > 0) { + if(isQuestionMarkAdded == false) { + url.push("?"); + isQuestionMarkAdded = true; + } + else { + url.push("&"); + } + url.push("publicnetwork=" + publicNetwork); + } + + var privateNetwork = args.data.privatenetwork; + if(privateNetwork != null && privateNetwork.length > 0) { + if(isQuestionMarkAdded == false) { + url.push("?"); + isQuestionMarkAdded = true; + } + else { + url.push("&"); + } + url.push("privatenetwork=" + privateNetwork); + } + + var capacity = args.data.capacity; + if(capacity != null && capacity.length > 0) { + if(isQuestionMarkAdded == false) { + url.push("?"); + isQuestionMarkAdded = true; + } + else { + url.push("&"); + } + url.push("capacity=" + capacity); + } + + var dedicated = (args.data.dedicated == "on"); + if(dedicated != null && dedicated.length > 0) { + if(isQuestionMarkAdded == false) { + url.push("?"); + isQuestionMarkAdded = true; + } + else { + url.push("&"); + } + url.push("dedicated=" + dedicated.toString()); + } + + array1.push("&url=" + todb(url.join(""))); + //construct URL ends here + $.ajax({ url: createURL("addSrxFirewall" + array1.join("")), dataType: "json", - success: function(json) { - var jid = json.addsrxfirewallresponse.jobid; + success: function(json) { + var jid = json.addsrxfirewallresponse.jobid; args.response.success( {_custom: {jobId: jid, @@ -1716,6 +1846,7 @@ ); } }); + //addSrxFirewall ends here } }, messages: {