<!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">
    		<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">
    		<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>