4 <meta charset="UTF-8" />
5 <meta http-equiv="X-UA-Compatible" content="IE=edge">
6 <% include ../partials/head %>
7 <% include ../partials/header %>
8 <script type="text/javascript" src="/javascripts/admportal.js" async></script>
9 <title>SDN-C AdminPortal</title>
11 $(document).ready(function() {
12 $('#vnf_profile').DataTable( {
13 "order": [[ 0, "asc" ]]
21 <div class="well well-sm">
25 <% if ( typeof result != 'undefined' ) {
26 if (result.code.length > 0) {
27 if ( result.code == 'success' ) { %>
28 <div class='alert alert-success' role='alert'>
30 for ( x in result.msg ){ %>
31 <div><%= result.msg[x] %></div>
35 <div class='alert alert-danger' role='danger'>
37 for ( x in result.msg ){ %>
38 <div><%= result.msg[x] %></div>
45 <% if( typeof privilege != 'undefined'){
46 var priv = privilege.privilege;
52 <div class="container-fluid">
54 <% if (priv == 'A'){ %>
55 <div class="actions" style="padding:15px 0px;">
56 <button class="btn btn-primary btn-md" data-toggle="modal" data-target="#add_vnf_profile">
62 <table id="vnf_profile" class="table table-hover table-condensed">
66 <th>AVAILABILITY_ZONE_COUNT</th>
67 <th>EQUIPMENT_ROLE</th>
68 <% if(priv == 'A'){ %>
74 <% rows.forEach( function(row) { %>
76 <td><%= row.vnf_type %></td>
77 <td><%= row.availability_zone_count %></td>
78 <td><%= row.equipment_role %></td>
79 <% if(priv == 'A' ) { %>
81 <button type="button" class="btn btn-default btn-xs"
82 onclick="deleteVnfProfile('<%= row.vnf_type %>');">Delete</button>
90 <% if(priv == 'A'){ %>
91 <div class="actions" style="padding:0px 25px;">
92 <form method="POST" action="/mobility/uploadVnfProfile" enctype="multipart/form-data">
93 <input type="hidden" name="_csrf" value="<%= privilege.csrfToken %>" />
94 <div class="form-group">
95 <label for="dest">File input</label>
96 <input name="filename" type="file" id="dest">
97 <p class="help-block">Choose a file to upload.</p>
99 <button type="button" class="btn btn-default"
100 onclick="uploadFile(this.form);">Upload File</button>
106 <% include ../partials/vnf_profile %>
108 <% include ../partials/footer %>
111 <script type="text/javascript">
113 function addVnfProfile(form)
117 var availability_zone_count='';
118 var equipment_role='';
120 if ( form.name == 'addForm' )
122 vnf_type = form.nf_vnf_type;
123 availability_zone_count = form.nf_availability_zone_count;
124 equipment_role = form.nf_equipment_role;
127 if ( (vnf_type.value == null) || (vnf_type.value == "") || isblank(vnf_type.value) )
129 errorMsg += 'VNF Type is required.<br>';
131 if ( (availability_zone_count.value == null) || (availability_zone_count.value == "") || isblank(availability_zone_count.value) )
133 errorMsg += 'Availability Zone Count is a required field.<br>';
135 if ( (equipment_role.value == null) || (equipment_role.value == "") || isblank(equipment_role.value) )
137 errorMsg += 'Equipment Role is a required field.<br>';
139 if( errorMsg.length > 0 ) {
140 bootbox.alert(errorMsg);
143 if ( availability_zone_count.value.length > 0 && !isDigit(availability_zone_count.value) )
145 bootbox.alert('Availability Zone Count must be a number.');
151 function deleteVnfProfile(vnf_type) {
154 message: "Are you sure you want to delete VNF_PROFILE [" + vnf_type + "]",
155 callback: function(result) {
158 location.assign("/mobility/deleteVnfProfile?vnf_type=" + vnf_type);