diff options
Diffstat (limited to 'admportal/views/tunnel')
-rw-r--r-- | admportal/views/tunnel/linkLatencyMaster.ejs | 240 | ||||
-rw-r--r-- | admportal/views/tunnel/linkMaster.ejs | 213 | ||||
-rw-r--r-- | admportal/views/tunnel/metroRoadmServiceRequest.ejs | 300 | ||||
-rw-r--r-- | admportal/views/tunnel/owbcProperties.ejs | 223 | ||||
-rw-r--r-- | admportal/views/tunnel/partnerProperties.ejs | 184 | ||||
-rw-r--r-- | admportal/views/tunnel/roadmMapping.ejs | 230 | ||||
-rw-r--r-- | admportal/views/tunnel/routerMaster.ejs | 167 |
7 files changed, 1557 insertions, 0 deletions
diff --git a/admportal/views/tunnel/linkLatencyMaster.ejs b/admportal/views/tunnel/linkLatencyMaster.ejs new file mode 100644 index 00000000..c09adc4e --- /dev/null +++ b/admportal/views/tunnel/linkLatencyMaster.ejs @@ -0,0 +1,240 @@ +<!DOCTYPE html> +<html lang="en"> +<head> + +<meta charset="UTF-8" /> +<meta http-equiv="X-UA-Compatible" content="IE=edge"> +<% include ../partials/head %> +<% include ../partials/header %> +<script type="text/javascript" src="/javascripts/admportal.js" async></script> +<title>SDNC-MLC AdminPortal</title> + + +<script class="init"> + $(document).ready(function() { + $('#linkLatencyMaster').DataTable( { + "order": [[ 0, "asc" ]] + } ); +} ); +</script> +</head> + +<body> + +<div class="well well-sm"> +<h3>Link Latency Master</h3> +</div> + +<% if ( typeof result != 'undefined' ) { + if (result.code.length > 0) { + if ( result.code == 'success' ) { %> + <div class='alert alert-success' role='alert'> + <% + for ( x in result.msg ){ %> + <div><%= result.msg[x] %></div> + <% } %> + </div> + <% } else { %> + <div class='alert alert-danger' role='danger'> + <% + for ( x in result.msg ){ %> + <div><%= result.msg[x] %></div> + <% } %> + </div> + <% } %> + <% } %> +<% } %> + +<% if( typeof privilege != 'undefined'){ + var priv = privilege.privilege; +} else { + var priv = 'A'; +} %> + + +<div class="container-fluid"> + + <% if(priv == 'A'){ %> + <div class="actions" style="padding:15px 0px;"> + <button class="btn btn-primary btn-md" data-toggle="modal" data-target="#add_link_latency_master">Add Link Latency</button> + </div> + <% } %> + + <table id="linkLatencyMaster" class="table table-hover table-condensed"> + <thead> + <tr> + <th>*Src CRS Name</th> + <th>*Dest CRS Name</th> + <th>*Bundle Name</th> + <th>*Latency</th> + <th>*Intra Inter SNRC</th> + <th>*Final Latency</th> + <th>*Augmentable</th> + <% if(priv == 'A'){ %> + <th>Action</th> + <% } %> + </tr> + </thead> + <tbody> + <% rows.forEach( function(row) { %> + <tr> + <td><%= row.source_crs_name %></td> + <td><%= row.destination_crs_name %></td> + <td><%= row.bundle_name %></td> + <td><%= row.latency %></td> + <td><%= row.intra_inter_snrc %></td> + <td><%= row.final_latency %></td> + <td><%= row.augmentable %></td> + <% if(priv == 'A') { %> + <td> + <button type="button" class="btn btn-default btn-xs" onclick="updateLinkLatencyMaster('<%= row.source_crs_name %>', '<%= row.destination_crs_name %>', '<%= row.bundle_name %>', '<%= row.latency %>', '<%= row.intra_inter_snrc %>', '<%= row.final_latency %>', '<%= row.augmentable %>');">Update</button> + <button type="button" class="btn btn-default btn-xs" onclick="deleteLinkLatencyMaster('<%= row.source_crs_name %>','<%= row.destination_crs_name %>','<%= row.bundle_name %>');">Delete</button> + </td> + <% } %> + </tr> + <% }); %> + </tbody> + </table> + + <% if(priv == 'A'){ %> + <div class="actions" style="padding:0px 25px;"> + <form method="POST" action="/tunnel/uploadLinkLatencyMaster" enctype="multipart/form-data"> + <div class="form-group"> + <label for="dest">File input</label> + <input name="filename" type="file" id="dest"> + <p class="help-block">Choose a file to upload.</p> + </div> + <button type="button" class="btn btn-default" onclick="uploadFile(this.form);">Upload File</button> + </form> + </div> + <% } %> + +</div> + +<% include ../partials/link_latency_master %> +<footer> + <% include ../partials/footer %> +</footer> + +<script type="text/javascript"> +function submitLinkLatencyMaster(form) +{ + var errorMsg=''; + var source_crs_name = ''; + var destination_crs_name = ''; + var bundle_name = ''; + var latency = ''; + var intra_inter_snrc = ''; + var final_latency = ''; + var augmentable = ''; + + if ( form.name == 'addForm' ) + { + source_crs_name = form.nf_source_crs_name; + destination_crs_name = form.nf_destination_crs_name; + bundle_name = form.nf_bundle_name; + latency = form.nf_latency; + intra_inter_snrc = form.nf_intra_inter_snrc; + final_latency = form.nf_final_latency; + augmentable = form.nf_augmentable; + } + else + { + source_crs_name = form.uf_source_crs_name; + destination_crs_name = form.uf_destination_crs_name; + bundle_name = form.uf_bundle_name; + latency = form.uf_latency; + intra_inter_snrc = form.uf_intra_inter_snrc; + final_latency = form.uf_final_latency; + augmentable = form.uf_augmentable; + } + + if ( (source_crs_name.value == null) || (source_crs_name.value == "") || isblank(source_crs_name.value) ) + { + errorMsg += 'Source CRS Name is required.<br>'; + } + if ( (destination_crs_name.value == null) || (destination_crs_name.value == "") || isblank(destination_crs_name.value) ) + { + errorMsg += 'Destination CRS Name is required.<br>'; + } + if ( (bundle_name.value == null) || (bundle_name.value == "") || isblank(bundle_name.value) ) + { + errorMsg += 'Bundle Name is required.<br>'; + } + if ( (latency.value == null) || (latency.value == "") || isblank(latency.value) ) + { + errorMsg += 'Latency is required.<br>'; + } + if ( (intra_inter_snrc.value == null) || (intra_inter_snrc.value == "") || isblank(intra_inter_snrc.value) ) + { + errorMsg += 'Intra Inter SNRC is required.<br>'; + } + if ( (final_latency.value == null) || (final_latency.value == "") || isblank(final_latency.value) ) + { + errorMsg += 'Final Latency is required.<br>'; + } + if ( (augmentable.value == null) || (augmentable.value == "") || isblank(augmentable.value) ) + { + errorMsg += 'Augmentable is required.<br>'; + } + if( errorMsg.length > 0 ) { + bootbox.alert(errorMsg); + return; + } + + if (augmentable.value != 'Y' && augmentable.value != 'N'){ + bootbox.alert('Augmentable must be Y or N'); + return; + } + + form.submit(); +} + +function updateLinkLatencyMaster(source_crs_name,destination_crs_name,bundle_name,latency,intra_inter_snrc,final_latency,augmentable) { + + document.getElementById('uf_source_crs_name').value=source_crs_name; + document.getElementById('uf_destination_crs_name').value=destination_crs_name; + document.getElementById('uf_bundle_name').value=bundle_name; + document.getElementById('uf_latency').value=latency; + document.getElementById('uf_intra_inter_snrc').value=intra_inter_snrc; + document.getElementById('uf_final_latency').value=final_latency; + document.getElementById('uf_augmentable').value=augmentable; + + document.getElementById('uf_key_source_crs_name').value=source_crs_name; + document.getElementById('uf_key_destination_crs_name').value=destination_crs_name; + document.getElementById('uf_key_bundle_name').value=bundle_name; + + $('#update_link_latency_master').modal('show'); +} + +function deleteLinkLatencyMaster(source_crs_name,destination_crs_name,bundle_name) { + + var url_string = encodeURI("/tunnel/deleteLinkLatencyMaster?source_crs_name=" + source_crs_name + + "&destination_crs_name=" + destination_crs_name + + "&bundle_name=" + bundle_name); + + bootbox.confirm({ + message: "Are you sure you want to delete this Link Latency entry? [" + source_crs_name + ":" + destination_crs_name + ":" + bundle_name + "]", + callback: function(result) { + if ( result ) + { + location.assign(url_string); + } + return; + }, + buttons: { + cancel: { + label: "Cancel" + }, + confirm: { + label: "Yes" + } + } + }); +} + +</script> + +</body> +</html> + diff --git a/admportal/views/tunnel/linkMaster.ejs b/admportal/views/tunnel/linkMaster.ejs new file mode 100644 index 00000000..160bb7e6 --- /dev/null +++ b/admportal/views/tunnel/linkMaster.ejs @@ -0,0 +1,213 @@ +<!DOCTYPE html> +<html lang="en"> +<head> + +<meta charset="UTF-8" /> +<meta http-equiv="X-UA-Compatible" content="IE=edge"> +<% include ../partials/head %> +<% include ../partials/header %> +<script type="text/javascript" src="/javascripts/admportal.js" async></script> +<title>SDNC-MLC AdminPortal</title> + + +<script class="init"> + $(document).ready(function() { + $('#linkMaster').DataTable( { + "order": [[ 0, "asc" ]] + } ); +} ); +</script> +</head> + +<body> + +<div class="well well-sm"> +<h3>Link Master</h3> +</div> + +<% if ( typeof result != 'undefined' ) { + if (result.code.length > 0) { + if ( result.code == 'success' ) { %> + <div class='alert alert-success' role='alert'> + <% + for ( x in result.msg ){ %> + <div><%= result.msg[x] %></div> + <% } %> + </div> + <% } else { %> + <div class='alert alert-danger' role='danger'> + <% + for ( x in result.msg ){ %> + <div><%= result.msg[x] %></div> + <% } %> + </div> + <% } %> + <% } %> +<% } %> + +<% if( typeof privilege != 'undefined'){ + var priv = privilege.privilege; +} else { + var priv = 'A'; +} %> + + +<div class="container-fluid"> + + <% if(priv == 'A'){ %> + <div class="actions" style="padding:15px 0px;"> + <button class="btn btn-primary btn-md" data-toggle="modal" data-target="#add_link_master">Add Link</button> + </div> + <% } %> + + <table id="linkMaster" class="table table-hover table-condensed"> + <thead> + <tr> + <th>*Link Interface IP</th> + <th>Source CRS Name</th> + <th>Destination CRS Name</th> + <th>Max Reserved BW</th> + <th>Default Cost</th> + <th>Bundle Name</th> + <th>Shutdown</th> + <% if(priv == 'A'){ %> + <th>Action</th> + <% } %> + </tr> + </thead> + <tbody> + <% rows.forEach( function(row) { %> + <tr> + <td><%= row.link_interface_ip %></td> + <td><%= row.source_crs_name %></td> + <td><%= row.destination_crs_name %></td> + <td><%= row.link_speed %></td> + <td><%= row.default_cost %></td> + <td><%= row.bundle_name %></td> + <td><%= row.shutdown %></td> + <% if(priv == 'A') { %> + <td> + <button type="button" class="btn btn-default btn-xs" onclick="updateLinkMaster('<%= row.link_interface_ip %>', + '<%= row.source_crs_name %>', '<%= row.destination_crs_name %>', '<%= row.link_speed %>', '<%= row.default_cost %>', + '<%= row.bundle_name %>', '<%= row.shutdown %>');">Update</button> + <button type="button" class="btn btn-default btn-xs" onclick="deleteLinkMaster('<%= row.link_interface_ip %>');">Delete</button> + </td> + <% } %> + </tr> + <% }); %> + </tbody> + </table> +</div> + +<% include ../partials/link_master %> +<footer> + <% include ../partials/footer %> +</footer> + +<script type="text/javascript"> +function saveLinkMaster(form) +{ + var errorMsg=''; + var link_interface_ip = ''; + var source_crs_name = ''; + var destination_crs_name = ''; + var link_speed = ''; + var default_cost = ''; + var bundle_name = ''; + var shutdown = ''; + + if ( form.name == 'addForm' ) + { + link_interface_ip = form.nf_link_interface_ip; + source_crs_name = form.nf_source_crs_name; + destination_crs_name = form.nf_destination_crs_name; + link_speed = form.nf_link_speed; + default_cost = form.nf_default_cost; + bundle_name = form.nf_bundle_name; + shutdown = form.nf_shutdown; + } + else + { + link_interface_ip = form.uf_link_interface_ip; + source_crs_name = form.uf_source_crs_name; + destination_crs_name = form.uf_destination_crs_name; + link_speed = form.uf_link_speed; + default_cost = form.uf_default_cost; + bundle_name = form.uf_bundle_name; + shutdown = form.uf_shutdown; + } + + + if ( (link_interface_ip.value == null) || (link_interface_ip.value == "") || isblank(link_interface_ip.value) ) + { + errorMsg += 'Link Interface IP is required.<br>'; + } + if ( (source_crs_name.value == null) || (source_crs_name.value == "") || isblank(source_crs_name.value) ) + { + errorMsg += 'Source CRS Name is required.<br>'; + } + if ( (destination_crs_name.value == null) || (destination_crs_name.value == "") || isblank(destination_crs_name.value) ) + { + errorMsg += 'Destination CRS Name is required.<br>'; + } + if( errorMsg.length > 0 ) { + bootbox.alert(errorMsg); + return; + } + + if ( link_speed.value.length >0 && !isDigit(link_speed.value) ) + { + bootbox.alert('Max Reserved BW must be a number.'); + return; + } + if ( default_cost.value.length >0 && !isDigit(default_cost.value) ) + { + bootbox.alert('Default Cost must be a number.'); + return; + } + form.submit(); +} + +function updateLinkMaster(link_interface_ip,source_crs_name,destination_crs_name,link_speed,default_cost,bundle_name,shutdown) { + + document.getElementById('uf_link_interface_ip').value=link_interface_ip; + document.getElementById('uf_source_crs_name').value=source_crs_name; + document.getElementById('uf_destination_crs_name').value=destination_crs_name; + document.getElementById('uf_link_speed').value=link_speed; + document.getElementById('uf_default_cost').value=default_cost; + document.getElementById('uf_bundle_name').value=bundle_name; + document.getElementById('uf_shutdown').value=shutdown; + document.getElementById('uf_key_link_interface_ip').value=link_interface_ip; + + $('#update_link_master').modal('show'); +} + +function deleteLinkMaster(link_interface_ip) { + + var url_string = encodeURI("/tunnel/deleteLinkMaster?link_interface_ip=" + link_interface_ip); + + bootbox.confirm({ + message: "Are you sure you want to delete this Link [" + link_interface_ip + "]", + callback: function(result) { + if ( result ) + { + location.assign(url_string); + } + return; + }, + buttons: { + cancel: { + label: "Cancel" + }, + confirm: { + label: "Yes" + } + } + }); +} + +</script> + +</body> +</html> + diff --git a/admportal/views/tunnel/metroRoadmServiceRequest.ejs b/admportal/views/tunnel/metroRoadmServiceRequest.ejs new file mode 100644 index 00000000..efc81afe --- /dev/null +++ b/admportal/views/tunnel/metroRoadmServiceRequest.ejs @@ -0,0 +1,300 @@ +<!DOCTYPE html> +<html lang="en"> +<head> + <meta charset="UTF-8" /> + <meta http-equiv="X-UA-Compatible" content="IE=edge"> + <% include ../partials/head %> + <% include ../partials/header %> + <script type="text/javascript" src="/javascripts/admportal.js" async></script> + <title>SDN-C AdminPortal</title> +<script class="init"> + $(document).ready(function() { + $('#metroRoadmServiceRequest').DataTable( { + "order": [[ 0, "asc" ]] + } ); +} ); +</script> + +</head> +<body> + +<div class="well well-sm"> +<h3>Metro ROADM Service Request</h3> +</div> + +<% if ( typeof result != 'undefined' ) { + if (result.code.length > 0) { + if ( result.code == 'success' ) { %> + <div class='alert alert-success' role='alert'> + <% + for ( x in result.msg ){ %> + <div><%= result.msg[x] %></div> + <% } %> + </div> + <% } else { %> + <div class='alert alert-danger' role='danger'> + <% + for ( x in result.msg ){ %> + <div><%= result.msg[x] %></div> + <% } %> + </div> + <% } %> + <% } %> +<% } %> + +<% if( typeof privilege != 'undefined'){ + var priv = privilege.privilege; +} else { + var priv = 'A'; +} %> + + +<div class="container-fluid"> + + <!-- + <% if(priv == 'A'){ %> + <div class="actions" style="padding:15px 0px;"> + <button class="btn btn-primary" data-toggle="modal" data-target="#add_metroroadm_service_request"> + Add Metro ROADM Serice Request + </button> + </div> + <% } %> + --> + + <table id="metroRoadmServiceRequest" class="table table-hover table-condensed"> + <thead> + <tr> + <th>ReqId</th> + <th>ReqSource</th> + <th>NotificationURL</th> + <th>Action</th> + <th>ReqTimestamp</th> + <th>UpdateTimestamp</th> + <th>ReqStatus</th> + <th>ProcStatus</th> + <th>ReasonCode</th> + <th>ReasonMsg</th> + <th>ServiceId</th> + <th>CommonId</th> + <th>Clli_A</th> + <th>Clli_Z</th> + <th>Customer</th> + <th>ControllerId</th> + <% if(priv == 'A'){ %> + <th>Action</th> + <% } %> + </tr> + </thead> + <tbody> + <% rows.forEach( function(row) { %> + <tr> + <td><%= row.request_id %></td> + <td><%= row.request_source %></td> + <td><%= row.notification_url %></td> + <td><%= row.action %></td> + <td><%= row.request_timestamp %></td> + <td><%= row.update_timestamp %></td> + <td><%= row.request_status %></td> + <td><%= row.processing_status %></td> + <td><%= row.reason_code %></td> + <td><%= row.reason_message %></td> + <td><%= row.service_id %></td> + <td><%= row.common_id %></td> + <td><%= row.clli_a %></td> + <td><%= row.clli_z %></td> + <td><%= row.customer %></td> + <td><%= row.controller_id %></td> + <% if(priv == 'A') { %> + <td> + <button type="button" class="btn btn-default btn-xs" + onclick="updateMetroRoadmServiceRequest('<%=row.request_id %>','<%= row.request_source %>', + '<%=row.notification_url %>','<%= row.action %>','<%= row.request_timestamp %>', + '<%= row.update_timestamp %>','<%= row.request_status %>', '<%= row.processing_status %>', + '<%= row.reason_code %>', '<%= row.reason_message %>','<%= row.service_id %>', + '<%= row.common_id %>','<%= row.clli_a %>', '<%= row.clli_z %>','<%= row.customer %>', + '<%= row.controller_id %>');">Update</button> + <button type="button" class="btn btn-default btn-xs" + onclick="deleteMetroRoadmServiceRequest('<%= row.request_id %>');">Delete</button> + </td> + <% } %> + </tr> + <% }); %> + </tbody> + </table> +</div> + +<% include ../partials/metroroadm_service_request %> +<footer> + <% include ../partials/footer %> +</footer> + +<script type="text/javascript"> +function submitMetroRoadmServiceRequest(form) +{ + var errorMsg=''; + var request_id=''; + var request_source = ''; + var notification_url = ''; + var action = ''; + var request_timestamp = ''; + var update_timestamp = ''; + var request_status = ''; + var processing_status = ''; + var reason_code = ''; + var reason_message = ''; + var service_id = ''; + var common_id = ''; + var clli_a = ''; + var clli_z = ''; + var customer = ''; + var controller_id = ''; + + if ( form.name == 'addForm' ) + { + request_id = form.nf_request_id; + request_source = form.nf_request_source; + notification_url = form.nf_notification_url; + action = form.nf_l_action; + request_timestamp = form.nf_request_timestamp; + update_timestamp = form.nf_update_timestamp; + request_status = form.nf_request_status; + processing_status = form.nf_processing_status; + reason_code = form.nf_reason_code; + reason_message = form.nf_reason_message; + service_id = form.nf_service_id; + common_id = form.nf_common_id; + clli_a = form.nf_clli_a; + clli_z = form.nf_clli_z; + customer = form.nf_customer; + controller_id = form.nf_controller_id; + } + else + { + request_id = form.uf_request_id; + request_source = form.uf_request_source; + notification_url = form.uf_notification_url; + action = form.uf_l_action; + request_timestamp = form.uf_request_timestamp; + update_timestamp = form.uf_update_timestamp; + request_status = form.uf_request_status; + processing_status = form.uf_processing_status; + reason_code = form.uf_reason_code; + reason_message = form.uf_reason_message; + service_id = form.uf_service_id; + common_id = form.uf_common_id; + clli_a = form.uf_clli_a; + clli_z = form.uf_clli_z; + customer = form.uf_customer; + controller_id = form.uf_controller_id; + } + if ( (request_id.value == null) || (request_id.value == "") || isblank(request_id.value) ) + { + errorMsg += 'Request Id is required.\n'; + } + if ( (action.value == null) || (action.value == "") || isblank(action.value) ) + { + errorMsg += 'Action is required.\n'; + } + if ( (request_timestamp.value == null) || (request_timestamp.value == "") || isblank(request_timestamp.value) ) + { + errorMsg += 'Request Timestamp is required.\n'; + } + if ( (request_status.value == null) || (request_status.value == "") || isblank(request_status.value) ) + { + errorMsg += 'Request Status is required.\n'; + } + if ( (processing_status.value == null) || (processing_status.value == "") || isblank(processing_status.value) ) + { + errorMsg += 'Processing Status is required.\n'; + } + if ( (service_id.value == null) || (service_id.value == "") || isblank(service_id.value) ) + { + errorMsg += 'Service Id is required.\n'; + } + if ( (controller_id.value == null) || (controller_id.value == "") || isblank(controller_id.value) ) + { + errorMsg += 'Controller Id is required.\n'; + } + if( errorMsg.length > 0 ) { + alert(errorMsg); + return; + } + + // edit request_timestamp, update_timestamp + if (!isValid(request_timestamp.value)){ + alert('Request Timestamp must be in format YYYY-MM-DD HH:MM:SS'); + return; + } + if ( update_timestamp.length > 0 ) + { + if (!isValid(update_timestamp.value)){ + alert('Update Timestamp must be in format YYYY-MM-DD HH:MM:SS'); + return; + } + } + form.submit(); +} + +function isValid(dateString) { + if (dateString == '0000-00-00 00:00:00'){ + return(true); + } + var minDate = new Date('1970-01-01 00:00:01'); + var maxDate = new Date('2038-01-19 03:14:07'); + var date = new Date(dateString); + return date > minDate && date < maxDate; +} + +function updateMetroRoadmServiceRequest(request_id,request_source,notification_url,action,request_timestamp,update_timestamp, + request_status,processing_status,reason_code,reason_message,service_id,common_id,clli_a,clli_z,customer,controller_id) { + + document.getElementById('uf_request_id').value=request_id; + document.getElementById('uf_key_request_id').value=request_id; + document.getElementById('uf_request_source').value=request_source; + document.getElementById('uf_notification_url').value=notification_url; + document.getElementById('uf_l_action').value=action; + document.getElementById('uf_request_timestamp').value=request_timestamp; + document.getElementById('uf_update_timestamp').value=update_timestamp; + document.getElementById('uf_request_status').value=request_status; + document.getElementById('uf_processing_status').value=processing_status; + document.getElementById('uf_reason_code').value=reason_code; + document.getElementById('uf_reason_message').value=reason_message; + document.getElementById('uf_service_id').value=service_id; + document.getElementById('uf_common_id').value=common_id; + document.getElementById('uf_clli_a').value=clli_a; + document.getElementById('uf_clli_z').value=clli_z; + document.getElementById('uf_customer').value=customer; + document.getElementById('uf_controller_id').value=controller_id; + + $('#update_metroroadm_service_request').modal('show'); +} + +function deleteMetroRoadmServiceRequest(request_id) { + + var url_string = encodeURI("/tunnel/deleteMetroRoadmServiceRequest?request_id=" + request_id ); + + bootbox.confirm({ + message: "Are you sure you want to delete Metro ROADM Service Request? " + request_id, + callback: function(result) { + if ( result ) + { + location.assign(url_string); + } + return; + }, + buttons: { + cancel: { + label: "Cancel" + }, + confirm: { + label: "Yes" + } + } + }); +} + +</script> + +</body> +</html> + diff --git a/admportal/views/tunnel/owbcProperties.ejs b/admportal/views/tunnel/owbcProperties.ejs new file mode 100644 index 00000000..37b02fea --- /dev/null +++ b/admportal/views/tunnel/owbcProperties.ejs @@ -0,0 +1,223 @@ +<!DOCTYPE html> +<html lang="en"> +<head> + <meta charset="UTF-8" /> + <meta http-equiv="X-UA-Compatible" content="IE=edge"> + <% include ../partials/head %> + <% include ../partials/header %> + <script type="text/javascript" src="/javascripts/admportal.js" async></script> + <title>SDN-C AdminPortal</title> +<script class="init"> + $(document).ready(function() { + $('#owbc_properties').DataTable( { + "order": [[ 0, "asc" ]] + } ); +} ); +</script> + +</head> +<body> + +<div class="well well-sm"> +<h3>OWBC Properties</h3> +</div> + +<% if ( typeof result != 'undefined' ) { + if (result.code.length > 0) { + if ( result.code == 'success' ) { %> + <div class='alert alert-success' role='alert'> + <% + for ( x in result.msg ){ %> + <div><%= result.msg[x] %></div> + <% } %> + </div> + <% } else { %> + <div class='alert alert-danger' role='danger'> + <% + for ( x in result.msg ){ %> + <div><%= result.msg[x] %></div> + <% } %> + </div> + <% } %> + <% } %> +<% } %> + +<% if( typeof privilege != 'undefined'){ + var priv = privilege.privilege; +} else { + var priv = 'A'; +} %> + + +<div class="container-fluid"> + + <% if(priv == 'A'){ %> + <div class="actions" style="padding:15px 0px;"> + <button class="btn btn-primary" data-toggle="modal" data-target="#add_owbc_properties"> + Add OWBC Properties + </button> + </div> + <% } %> + + <table id="owbc_properties" class="table table-hover table-condensed"> + <thead> + <tr> + <th>Controller ID</th> + <th>Base URL</th> + <th>Service Create Extension</th> + <th>Service Delete Extension</th> + <th>Auth Username</th> + <th>Auth Password</th> + <% if(priv == 'A'){ %> + <th>Action</th> + <% } %> + </tr> + </thead> + <tbody> + <% rows.forEach( function(row) { %> + <tr> + <td><%= row.controller_id %></td> + <td><%= row.base_uri %></td> + <td><%= row.service_create_extension %></td> + <td><%= row.service_delete_extension %></td> + <td><%= row.auth_username %></td> + <td>*****</td> + <% if(priv == 'A') { %> + <td> + <button type="button" class="btn btn-default btn-xs" + onclick="updateOwbcProperties('<%=row.controller_id %>','<%= row.base_uri %>','<%= row.service_create_extension %>','<%= row.service_delete_extension %>','<%= row.auth_username %>','<%= row.auth_password %>');">Update</button> + <button type="button" class="btn btn-default btn-xs" + onclick="deleteOwbcProperties('<%= row.controller_id %>');">Delete</button> + </td> + <% } %> + + </tr> + <% }); %> + </tbody> + </table> + +</div> + +<% include ../partials/owbc_properties %> +<footer> + <% include ../partials/footer %> +</footer> + +<script type="text/javascript"> +function submitOwbcProperties(form) +{ + var errorMsg=''; + var controller_id = ''; + var base_uri = ''; + var service_create_extension = ''; + var service_delete_extension = ''; + var auth_username = ''; + var auth_password = ''; + var confirm_auth_password = ''; + + if ( form.name == 'addForm' ) + { + controller_id = form.nf_controller_id; + base_uri = form.nf_base_uri; + service_create_extension = form.nf_service_create_extension; + service_delete_extension = form.nf_service_delete_extension; + auth_username = form.nf_auth_username; + auth_password = form.nf_auth_password; + confirm_auth_password = form.nf_confirm_auth_password; + + if ( auth_password.value != confirm_auth_password.value ) + { + bootbox.alert('Passwords do not match.'); + return; + } + } + else + { + controller_id = form.uf_controller_id; + base_uri = form.uf_base_uri; + service_create_extension = form.uf_service_create_extension; + service_delete_extension = form.uf_service_delete_extension; + auth_username = form.uf_auth_username; + auth_password = form.uf_auth_password; + confirm_auth_password = form.uf_confirm_auth_password; + + if ( auth_password.value != confirm_auth_password.value ) + { + bootbox.alert('Passwords do not match.'); + return; + } + } + if ( (controller_id.value == null) || (controller_id.value == "") || isblank(controller_id.value) ) + { + errorMsg += 'Controller Id is required.<br>'; + } + if ( (base_uri.value == null) || (base_uri.value == "") || isblank(base_uri.value) ) + { + errorMsg += 'Base URL is required.<br>'; + } + if ( (service_create_extension.value == null) || (service_create_extension.value == "") || isblank(service_create_extension.value) ) + { + errorMsg += 'Service Create Extension is required.<br>'; + } + if ( (service_delete_extension.value == null) || (service_delete_extension.value == "") || isblank(service_delete_extension.value) ) + { + errorMsg += 'Service Delete Extension is required.<br>'; + } + if ( (auth_username.value == null) || (auth_username.value == "") || isblank(auth_username.value) ) + { + errorMsg += 'Auth Username is required.<br>'; + } + if ( (auth_password.value == null) || (auth_password.value == "") || isblank(auth_password.value) ) + { + errorMsg += 'Auth Password is required.<br>'; + } + if( errorMsg.length > 0 ) { + bootbox.alert(errorMsg); + return; + } + form.submit(); +} + +function updateOwbcProperties(controller_id,base_uri,service_create_extension,service_delete_extension,auth_username,auth_password) { + + document.getElementById('uf_controller_id').value=controller_id; + document.getElementById('uf_key_controller_id').value=controller_id; + document.getElementById('uf_base_uri').value=base_uri; + document.getElementById('uf_service_create_extension').value=service_create_extension; + document.getElementById('uf_service_delete_extension').value=service_delete_extension; + document.getElementById('uf_auth_username').value=auth_username; + document.getElementById('uf_auth_password').value=auth_password; + document.getElementById('uf_confirm_auth_password').value=auth_password; + + $('#update_owbc_properties').modal('show'); +} + +function deleteOwbcProperties(controller_id) { + + var url_string = encodeURI("/tunnel/deleteOwbcProperties?controller_id=" + controller_id ); + + bootbox.confirm({ + message: "Are you sure you want to delete OWBC Properties? " + controller_id, + callback: function(result) { + if ( result ) + { + location.assign(url_string); + } + return; + }, + buttons: { + cancel: { + label: "Cancel" + }, + confirm: { + label: "Yes" + } + } + }); +} + +</script> + +</body> +</html> + diff --git a/admportal/views/tunnel/partnerProperties.ejs b/admportal/views/tunnel/partnerProperties.ejs new file mode 100644 index 00000000..af51c864 --- /dev/null +++ b/admportal/views/tunnel/partnerProperties.ejs @@ -0,0 +1,184 @@ +<!DOCTYPE html> +<html lang="en"> +<head> + <meta charset="UTF-8" /> + <meta http-equiv="X-UA-Compatible" content="IE=edge"> + <% include ../partials/head %> + <% include ../partials/header %> + <script type="text/javascript" src="/javascripts/admportal.js" async></script> + <title>SDNC-MLC AdminPortal</title> +<script class="init"> + $(document).ready(function() { + $('#partner_properties').DataTable( { + "order": [[ 0, "asc" ]] + } ); +} ); +</script> + +</head> +<body> + +<div class="well well-sm"> +<h3>Partner Properties</h3> +</div> + +<% if ( typeof result != 'undefined' ) { + if (result.code.length > 0) { + if ( result.code == 'success' ) { %> + <div class='alert alert-success' role='alert'> + <% + for ( x in result.msg ){ %> + <div><%= result.msg[x] %></div> + <% } %> + </div> + <% } else { %> + <div class='alert alert-danger' role='danger'> + <% + for ( x in result.msg ){ %> + <div><%= result.msg[x] %></div> + <% } %> + </div> + <% } %> + <% } %> +<% } %> + +<% if( typeof privilege != 'undefined'){ + var priv = privilege.privilege; +} else { + var priv = 'A'; +} %> + + +<div class="container-fluid"> + + <% if(priv == 'A'){ %> + <div class="actions" style="padding:15px 0px;"> + <button class="btn btn-primary" data-toggle="modal" data-target="#add_partner_properties"> + Add Partner Properties + </button> + </div> + <% } %> + + <table id="partner_properties" class="table table-hover table-condensed"> + <thead> + <tr> + <th>*Partner</th> + <th>*Username</th> + <th>*Password</th> + <% if(priv == 'A'){ %> + <th>Action</th> + <% } %> + </tr> + </thead> + <tbody> + <% rows.forEach( function(row) { %> + <tr> + <td><%= row.partner %></td> + <td><%= row.auth_username %></td> + <td>*****</td> + <% if(priv == 'A') { %> + <td> + <button type="button" class="btn btn-default btn-xs" + onclick="updatePartnerProperties('<%= row.partner %>','<%= row.auth_username %>','<%= row.auth_password %>');">Update</button> + <button type="button" class="btn btn-default btn-xs" + onclick="deletePartnerProperties('<%= row.partner %>');">Delete</button> + </td> + <% } %> + + </tr> + <% }); %> + </tbody> + </table> + +</div> + +<% include ../partials/partner_properties %> +<footer> + <% include ../partials/footer %> +</footer> + +<script type="text/javascript"> +function submitPartnerProperties(form) +{ + var errorMsg=''; + var partner = ''; + var auth_username = ''; + var auth_password = ''; + var confirm_auth_password = ''; + + if ( form.name == 'addForm' ) + { + partner = form.nf_partner; + auth_username = form.nf_auth_username; + auth_password = form.nf_auth_password; + confirm_auth_password = form.nf_confirm_auth_password; + + if ( (partner.value == null) || (partner.value == "") || isblank(partner.value) ) + { + errorMsg += 'Partner is required.<br>'; + } + if( errorMsg.length > 0 ) { + bootbox.alert(errorMsg); + return; + } + if ( auth_password.value != confirm_auth_password.value ) + { + bootbox.alert('Passwords do not match.'); + return; + } + } + else + { + partner = form.uf_partner; + auth_username = form.uf_auth_username; + auth_password = form.uf_auth_password; + confirm_auth_password = form.uf_confirm_auth_password; + if ( auth_password.value != confirm_auth_password.value ) + { + bootbox.alert('Passwords do not match.'); + return; + } + } + form.submit(); +} + +function updatePartnerProperties(partner,auth_username,auth_password) { + + document.getElementById('uf_partner').value=partner; + document.getElementById('uf_key_partner').value=partner; + document.getElementById('uf_auth_username').value=auth_username; + document.getElementById('uf_auth_password').value=auth_password; + document.getElementById('uf_confirm_auth_password').value=auth_password; + + $('#update_partner_properties').modal('show'); +} + +function deletePartnerProperties(partner) { + + var url_string = encodeURI("/tunnel/deletePartnerProperties?partner=" + partner); + + bootbox.confirm({ + message: "Are you sure you want to delete Partner Property [ " + partner + " ]", + callback: function(result) { + if ( result ) + { + location.assign(url_string); + } + return; + }, + buttons: { + cancel: { + label: "Cancel" + }, + confirm: { + label: "Yes" + } + } + }); +} + +</script> + +</body> +</html> + diff --git a/admportal/views/tunnel/roadmMapping.ejs b/admportal/views/tunnel/roadmMapping.ejs new file mode 100644 index 00000000..347cf03e --- /dev/null +++ b/admportal/views/tunnel/roadmMapping.ejs @@ -0,0 +1,230 @@ +<!DOCTYPE html> +<html lang="en"> +<head> + +<meta charset="UTF-8" /> +<meta http-equiv="X-UA-Compatible" content="IE=edge"> +<% include ../partials/head %> +<% include ../partials/header %> +<script type="text/javascript" src="/javascripts/admportal.js" async></script> +<title>SDNC-MLC AdminPortal</title> + + +<script class="init"> + $(document).ready(function() { + $('#roadmMapping').DataTable( { + "order": [[ 0, "asc" ]] + } ); +} ); +</script> +</head> + +<body> + +<div class="well well-sm"> +<h3>ROADM Mapping</h3> +</div> + +<% if ( typeof result != 'undefined' ) { + if (result.code.length > 0) { + if ( result.code == 'success' ) { %> + <div class='alert alert-success' role='alert'> + <% + for ( x in result.msg ){ %> + <div><%= result.msg[x] %></div> + <% } %> + </div> + <% } else { %> + <div class='alert alert-danger' role='danger'> + <% + for ( x in result.msg ){ %> + <div><%= result.msg[x] %></div> + <% } %> + </div> + <% } %> + <% } %> +<% } %> + +<% if( typeof privilege != 'undefined'){ + var priv = privilege.privilege; +} else { + var priv = 'A'; +} %> + + +<div class="container-fluid"> + + <% if(priv == 'A'){ %> + <div class="actions" style="padding:15px 0px;"> + <button class="btn btn-primary btn-md" data-toggle="modal" data-target="#add_roadm_mapping">Add Mapping</button> + </div> + <% } %> + + <table id="roadmMapping" class="table table-hover table-condensed"> + <thead> + <tr> + <th>*Router Name</th> + <th>*ROADM Name</th> + <th>*CLLI</th> + <th>*City Name</th> + <th>*LAT</th> + <th>*LON</th> + <th>*SNRC</th> + <% if(priv == 'A'){ %> + <th>Action</th> + <% } %> + </tr> + </thead> + <tbody> + <% rows.forEach( function(row) { %> + <tr> + <td><%= row.router_name %></td> + <td><%= row.roadm_name %></td> + <td><%= row.clli %></td> + <td><%= row.city_name %></td> + <td><%= row.lat %></td> + <td><%= row.lon %></td> + <td><%= row.snrc %></td> + <% if(priv == 'A') { %> + <td> + <button type="button" class="btn btn-default btn-xs" onclick="updateRoadmMapping('<%= row.router_name %>', + '<%= row.roadm_name %>', '<%= row.clli %>', '<%= row.city_name %>', '<%= row.lat %>', '<%= row.lon %>', '<%= row.snrc %>');">Update</button> + <button type="button" class="btn btn-default btn-xs" onclick="deleteRoadmMapping('<%= row.router_name %>');">Delete</button> + </td> + <% } %> + </tr> + <% }); %> + </tbody> + </table> + + <% if(priv == 'A'){ %> + <div class="actions" style="padding:0px 25px;"> + <form method="POST" action="/tunnel/uploadRoadmMapping" enctype="multipart/form-data"> + <div class="form-group"> + <label for="dest">File input</label> + <input name="filename" type="file" id="dest"> + <p class="help-block">Choose a file to upload.</p> + </div> + <button type="button" class="btn btn-default" onclick="uploadFile(this.form);">Upload File</button> + </form> + </div> + <% } %> + +</div> + +<% include ../partials/roadm_mapping %> +<footer> + <% include ../partials/footer %> +</footer> + +<script type="text/javascript"> +function saveRoadmMapping(form) +{ + var errorMsg=''; + var router_name = ''; + var roadm_name = ''; + var clli = ''; + var city_name = ''; + var lat = ''; + var lon = ''; + var snrc = ''; + + if ( form.name == 'addForm' ) + { + router_name = form.nf_router_name; + roadm_name = form.nf_roadm_name; + clli = form.nf_clli; + city_name = form.nf_city_name; + lat = form.nf_lat; + lon = form.nf_lon; + snrc = form.nf_snrc; + } + else + { + router_name = form.uf_router_name; + roadm_name = form.uf_roadm_name; + clli = form.uf_clli; + city_name = form.uf_city_name; + lat = form.uf_lat; + lon = form.uf_lon; + snrc = form.uf_snrc; + } + + if ( (router_name.value == null) || (router_name.value == "") || isblank(router_name.value) ) + { + errorMsg += 'Router Name is required.<br>'; + } + if ( (roadm_name.value == null) || (roadm_name.value == "") || isblank(roadm_name.value) ) + { + errorMsg += 'ROADM Name is required.<br>'; + } + if ( (clli.value == null) || (clli.value == "") || isblank(clli.value) ) + { + errorMsg += 'CLLI is required.<br>'; + } + if ( (city_name.value == null) || (city_name.value == "") || isblank(city_name.value) ) + { + errorMsg += 'City Name is required.<br>'; + } + if ( (lat.value == null) || (lat.value == "") || isblank(lat.value) ) + { + errorMsg += 'LAT (latitude) is required.<br>'; + } + if ( (lon.value == null) || (lon.value == "") || isblank(lon.value) ) + { + errorMsg += 'LON (longitude) is required.<br>'; + } + if ( (snrc.value == null) || (snrc.value == "") || isblank(snrc.value) ) + { + errorMsg += 'SNRC is required.<br>'; + } + if( errorMsg.length > 0 ) { + bootbox.alert(errorMsg); + return; + } + form.submit(); +} + +function updateRoadmMapping(router_name,roadm_name,clli,city_name,lat,lon,snrc) { + + document.getElementById('uf_router_name').value=router_name; + document.getElementById('uf_roadm_name').value=roadm_name; + document.getElementById('uf_clli').value=clli; + document.getElementById('uf_city_name').value=city_name; + document.getElementById('uf_lat').value=lat; + document.getElementById('uf_lon').value=lon; + document.getElementById('uf_snrc').value=snrc; + document.getElementById('uf_key_router_name').value=router_name; + + $('#update_roadm_mapping').modal('show'); +} + +function deleteRoadmMapping(router_name) { + + var url_string = encodeURI("/tunnel/deleteRoadmMapping?router_name=" + router_name); + + bootbox.confirm({ + message: "Are you sure you want to delete this mapping? [" + router_name + "]", + callback: function(result) { + if ( result ) + { + location.assign(url_string); + } + return; + }, + buttons: { + cancel: { + label: "Cancel" + }, + confirm: { + label: "Yes" + } + } + }); +} + +</script> + +</body> +</html> + diff --git a/admportal/views/tunnel/routerMaster.ejs b/admportal/views/tunnel/routerMaster.ejs new file mode 100644 index 00000000..eada3f39 --- /dev/null +++ b/admportal/views/tunnel/routerMaster.ejs @@ -0,0 +1,167 @@ +<!DOCTYPE html> +<html lang="en"> +<head> + +<meta charset="UTF-8" /> +<meta http-equiv="X-UA-Compatible" content="IE=edge"> +<% include ../partials/head %> +<% include ../partials/header %> +<script type="text/javascript" src="/javascripts/admportal.js" async></script> +<title>SDN-C AdminPortal</title> + + +<script class="init"> + $(document).ready(function() { + $('#routerMaster').DataTable( { + "order": [[ 0, "asc" ]] + } ); +} ); +</script> +</head> + +<body> + +<div class="well well-sm"> +<h3>Router Master</h3> +</div> + +<% if ( typeof result != 'undefined' ) { + if (result.code.length > 0) { + if ( result.code == 'success' ) { %> + <div class='alert alert-success' role='alert'> + <% + for ( x in result.msg ){ %> + <div><%= result.msg[x] %></div> + <% } %> + </div> + <% } else { %> + <div class='alert alert-danger' role='danger'> + <% + for ( x in result.msg ){ %> + <div><%= result.msg[x] %></div> + <% } %> + </div> + <% } %> + <% } %> +<% } %> + +<% if( typeof privilege != 'undefined'){ + var priv = privilege.privilege; +} else { + var priv = 'A'; +} %> + + +<div class="container-fluid"> + + <% if(priv == 'A'){ %> + <div class="actions" style="padding:15px 0px;"> + <button class="btn btn-primary btn-md" data-toggle="modal" data-target="#add_router_master">Add Router</button> + </div> + <% } %> + + <table id="routerMaster" class="table table-hover table-condensed"> + <thead> + <tr> + <th>*CRS Name</th> + <th>Loopback IP</th> + <% if(priv == 'A'){ %> + <th>Action</th> + <% } %> + </tr> + </thead> + <tbody> + <% rows.forEach( function(row) { %> + <tr> + <td><%= row.crs_name %></td> + <td><%= row.loopback_ip %></td> + <% if(priv == 'A') { %> + <td> + <button type="button" class="btn btn-default btn-xs" onclick="updateRouterMaster('<%= row.crs_name %>', + '<%= row.loopback_ip %>');">Update</button> + <button type="button" class="btn btn-default btn-xs" onclick="deleteRouterMaster('<%= row.crs_name %>');">Delete</button> + </td> + <% } %> + </tr> + <% }); %> + </tbody> + </table> +</div> + +<% include ../partials/router_master %> +<footer> + <% include ../partials/footer %> +</footer> + +<script type="text/javascript"> +function saveRouterMaster(form) +{ + var errorMsg=''; + var crs_name = ''; + var loopback_ip = ''; + + if ( form.name == 'addForm' ) + { + crs_name = form.nf_crs_name; + loopback_ip = form.nf_loopback_ip; + } + else + { + crs_name = form.uf_crs_name; + loopback_ip = form.uf_loopback_ip; + } + + + if ( (crs_name.value == null) || (crs_name.value == "") || isblank(crs_name.value) ) + { + errorMsg += 'CRS Name is required.<br>'; + } + if ( (loopback_ip.value == null) || (loopback_ip.value == "") || isblank(loopback_ip.value) ) + { + errorMsg += 'Loopback IP is required.<br>'; + } + if( errorMsg.length > 0 ) { + bootbox.alert(errorMsg); + return; + } + form.submit(); +} + +function updateRouterMaster(crs_name,loopback_ip) { + + document.getElementById('uf_crs_name').value=crs_name; + document.getElementById('uf_loopback_ip').value=loopback_ip; + document.getElementById('uf_key_crs_name').value=crs_name; + + $('#update_router_master').modal('show'); +} + +function deleteRouterMaster(crs_name) { + + var url_string = encodeURI("/tunnel/deleteRouterMaster?crs_name=" + crs_name); + + bootbox.confirm({ + message: "Are you sure you want to delete this Router [" + crs_name + "]", + callback: function(result) { + if ( result ) + { + location.assign(url_string); + } + return; + }, + buttons: { + cancel: { + label: "Cancel" + }, + confirm: { + label: "Yes" + } + } + }); +} + +</script> + +</body> +</html> + |