bug 10340: cloudStack - extend createPortFowardingRule to support CIDRList instead of CIDR.

This commit is contained in:
Jessica Wang 2011-06-28 18:15:58 -07:00
parent 0059dd0e57
commit 7f47f7b04b
3 changed files with 38 additions and 12 deletions

View File

@ -289,9 +289,9 @@ dictionary = {
<div id="tab_container">
<div class="grid_container" id="grid_container">
<div class="grid_header">
<div class="grid_header_cell" style="width: 10%; ">
<div class="grid_header_cell" style="width: 25%; ">
<div class="grid_header_title">
<fmt:message key="label.cidr"/></div>
<fmt:message key="label.cidr.list"/></div>
</div>
<div class="grid_header_cell" style="width: 15%; ">
<div class="grid_header_title">
@ -305,11 +305,11 @@ dictionary = {
<div class="grid_header_title">
<fmt:message key="label.protocol"/></div>
</div>
<div class="grid_header_cell" style="width: 25%; border: none;">
<div class="grid_header_cell" style="width: 15%; border: none;">
<div class="grid_header_title">
<fmt:message key="label.instance"/></div>
</div>
<div class="grid_header_cell" style="width: 10%; ">
<div class="grid_header_cell" style="width: 5%; ">
<div class="grid_header_title">
<fmt:message key="label.state"/></div>
</div>
@ -319,7 +319,7 @@ dictionary = {
</div>
</div>
<div class="grid_rows even" id="create_port_forwarding_row">
<div class="grid_row_cell" style="width: 10%; ">
<div class="grid_row_cell" style="width: 25%; ">
<input id="cidr" class="text" type="text" />
<div id="cidr_errormsg" class="errormsg" style="display: none;">Error msg will appear here</div>
</div>
@ -345,12 +345,12 @@ dictionary = {
<select class="select" id="protocol" style="width:70%;">
</select>
</div>
<div class="grid_row_cell" style="width: 25%; ">
<div class="grid_row_cell" style="width: 15%; ">
<select class="select" id="vm">
</select>
<div id="vm_errormsg" class="errormsg" style="display: none;"></div>
</div>
<div class="grid_row_cell" style="width: 10%; ">
<div class="grid_row_cell" style="width: 5%; ">
<div class="row_celltitles" id="state" style="padding:1px;"></div>
</div>
<div class="grid_row_cell" style="width: 10%; ">
@ -649,7 +649,7 @@ dictionary = {
<!-- Port Forwarding template (begin) -->
<div class="grid_rows odd" id="port_forwarding_template" style="display: none">
<div id="row_container">
<div class="grid_row_cell" style="width: 10%; ">
<div class="grid_row_cell" style="width: 25%; ">
<div class="row_celltitles" id="cidr" style="padding:1px;"></div>
</div>
<div class="grid_row_cell" style="width: 15%; ">
@ -661,10 +661,10 @@ dictionary = {
<div class="grid_row_cell" style="width: 10%; ">
<div class="row_celltitles" id="protocol"></div>
</div>
<div class="grid_row_cell" style="width: 25%; ">
<div class="grid_row_cell" style="width: 15%; ">
<div class="row_celltitles" id="vm_name"></div>
</div>
<div class="grid_row_cell" style="width: 10%; ">
<div class="grid_row_cell" style="width: 5%; ">
<div class="row_celltitles" id="state" style="padding:1px;"></div>
</div>
<div class="grid_row_cell" style="width: 10%; ">

View File

@ -280,8 +280,9 @@ function afterLoadIpJSP() {
*/
$createPortForwardingRow.find("#add_link").bind("click", function(event){
var isValid = true;
isValid &= validateCIDR("CIDR", $createPortForwardingRow.find("#cidr"), $createPortForwardingRow.find("#cidr_errormsg"), true); //optional
var isValid = true;
isValid &= validateCIDRList("CIDR", $createPortForwardingRow.find("#cidr"), $createPortForwardingRow.find("#cidr_errormsg"), true); //optional
isValid &= validateInteger("Public Port", $createPortForwardingRow.find("#public_port"), $createPortForwardingRow.find("#public_port_errormsg"), 1, 65535, false); //required
isValid &= validateInteger("Public End Port", $createPortForwardingRow.find("#public_end_port"), $createPortForwardingRow.find("#public_end_port_errormsg"), 1, 65535, true); //optional

View File

@ -1893,6 +1893,31 @@ function validateCIDR(label, field, errMsgField, isOptional) {
return isValid;
}
function validateCIDRList(label, field, errMsgField, isOptional) {
if(validateString(label, field, errMsgField, isOptional) == false)
return;
var isValid = true;
var errMsg = "";
var cidrList = field.val();
var array1 = cidrList.split(",");
for(var i=0; i < array1.length; i++) {
var value = array1[i];
if(value!=null && value.length>0) {
myregexp = /^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\/\d{1,2}$/;
var isMatch = myregexp.test(value);
if(!isMatch) {
isValid = false;
}
}
}
if(isValid == false)
errMsg = g_dictionary["label.example"] + ": 10.1.1.0/24,10.1.1.1/24,10.1.1.2/24";
showError(isValid, field, errMsgField, errMsg);
return isValid;
}
/*
function validateFilename(label, field, errMsgField, isOptional) {
if(validateString(label, field, errMsgField, isOptional) == false)