blob: 4dc739871ca122dcc7e295d804f01affa2a76c93 [file] [log] [blame]
<!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() {
$('#vnf_data').DataTable( {
"order": [[ 0, "asc" ]]
} );
} );
</script>
</head>
<body>
<div class="well well-sm">
<h3>Pre-load VNF Data</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">
<table id="vnf_data" class="table table-hover table-condensed">
<thead>
<tr>
<th>ID</th>
<th>SVC_REQUEST_ID</th>
<th>VNF_NAME</th>
<th>VNF_TYPE</th>
<th>SVC_ACTION</th>
<th>UPLOAD STATUS</th>
<th>FILENAME</th>
<th>IMPORT/UPLOAD TIMESTAMP</th>
<% if(priv == 'A'){ %>
<th>Action</th>
<% } %>
</tr>
</thead>
<tbody>
<% var i=0; retData.forEach( function(rowObj) { %>
<tr>
<td><%= rowObj.row.id %></td>
<td><a href="javascript:getVnfData('<%= rowObj.vnf_name %>','<%= rowObj.vnf_type %>');"><%= rowObj.row.svc_request_id %></a></td>
<td><%= rowObj.vnf_name %></td>
<td><%= rowObj.vnf_type %></td>
<td><%= rowObj.row.svc_action %></td>
<td><%= rowObj.row.status %></td>
<td>
<a data-toggle="collapse"
href="#collapseExample<%= i %>" aria-expanded="false"
aria-controls="collapseExample"><%= rowObj.row.filename %>
</a>
<div class="collapse" id="collapseExample<%= i %>">
<div class="well">
<pre><%= JSON.stringify(rowObj.filecontent,null,4) %></pre>
</div>
</div>
</td>
<td><%= rowObj.row.ts %></td>
<% if(priv == 'A' ) { %>
<td>
<button type="button" class="btn btn-default btn-xs"
onclick="deleteVnfData('<%= rowObj.row.id %>','<%= rowObj.row.svc_request_id %>','<%= rowObj.row.filename %>','<%= rowObj.row.status %>','<%= rowObj.vnf_name %>','<%= rowObj.vnf_type %>');">Delete</button>
<% if (typeof rowObj.vnf_name != 'undefined' || typeof rowObj.vnf_type != 'undefined'){ %>
<button type="button" class="btn btn-default btn-xs"
onclick="loadVnfData('<%= rowObj.row.id %>','<%= rowObj.row.svc_request_id %>','<%= rowObj.row.svc_action %>','<%= rowObj.row.status %>','<%= rowObj.row.filename %>','<%= rowObj.row.ts %>');">Load Data</button>
<% } %>
</td>
<% } %>
</tr>
<% i++; }); %>
</tbody>
</table>
<% if(priv == 'A'){ %>
<div class="row">
<div class="col-md-8 col-md-push-4">
<form method="POST" action="/mobility/uploadVnfData" enctype="multipart/form-data">
<div class="form-group">
<input type="hidden" name="_csrf" value="<%= privilege.csrfToken %>" />
<label for="dest">Upload pre processed JSON file.</label>
<input name="filename" type="file" id="dest" />
<p class="help-block">Choose a JSON file to upload.</p>
<button type="button" class="btn btn-default"
data-toggle="tooltip" data-placement="bottom"
title="Upload a JSON file that has already been pre processed."
onclick="uploadFile(this.form);">Upload JSON File</button>
</div>
</form>
</div>
<div class="col-md-4 col-md-pull-8">
<form method="POST" action="/preload/uploadVnfCsv" enctype="multipart/form-data">
<div class="form-group">
<input type="hidden" name="_csrf" value="<%= privilege.csrfToken %>" />
<label for="dest">Upload Worksheet CSV files from the <%= preloadImportDirectory %> directory.</label>
<input name="filename" type="file" id="dest" multiple />
<p class="help-block">Choose Worksheet CSV files to upload.</p>
<button type="button" class="btn btn-default"
data-toggle="tooltip" data-placement="bottom"
title="Must upload all the VNF CSV files from <%= preloadImportDirectory %>"
onclick="importWorksheet(this.form);">Upload VNF Worksheet CSV files
</button>
</div>
</form>
</div>
</div>
<% } %>
</div>
<% include ../partials/add_service_homing %>
<% include ../partials/update_service_homing %>
<footer>
<% include ../partials/footer %>
</footer>
<script type="text/javascript">
function importWorksheet(form)
{
if ( form.filename.value.length == 0)
{
bootbox.alert('Must select a file.');
return false;
}
else {
bootbox.confirm({
message: "Are you sure you want to import VNF WORKSHEET .csv files from <%= preloadImportDirectory %>",
callback: function(result) {
if ( result )
{
form.submit();
}
return;
},
buttons: {
cancel: {
label: "Cancel"
},
confirm: {
label: "Yes"
}
}
});
}
}
function getVnfData(vnf_name,vnf_type,svc_request_id)
{
location.assign("/mobility/viewVnfData?vnf_name=" + vnf_name + "&vnf_type=" + vnf_type );
return;
}
function loadVnfData(id,svc_request_id,svc_action,status,filename,ts)
{
if ( status != 'pending' )
{
bootbox.alert("Upload Status must be in 'pending' state.");
return;
}
bootbox.confirm({
message: "Are you sure you want to load file [" + filename + "]? ",
callback: function(result) {
if ( result )
{
location.assign("/mobility/loadVnfData?id=" + id + "&svc_request_id=" + svc_request_id + "&filename=" + filename + "&status=" + status);
}
return;
},
buttons: {
cancel: {
label: "Cancel"
},
confirm: {
label: "Yes"
}
}
});
}
function deleteVnfData(id,svc_request_id,filename,status,vnf_name,vnf_type) {
bootbox.confirm({
message: "Are you sure you want to delete uploaded file [" + filename + "]? ",
callback: function(result) {
if ( result )
{
location.assign("/mobility/deleteVnfData?id="
+ id
+ "&svc_request_id=" + svc_request_id
+ "&filename=" + filename
+ "&status=" + status
+ "&vnf_name=" + vnf_name
+ "&vnf_type=" + vnf_type);
}
return;
},
buttons: {
cancel: {
label: "Cancel"
},
confirm: {
label: "Yes"
}
}
});
}
</script>
</body>
</html>