Amisha's latest changes to tenant view
[plstackapi.git] / planetstack / templates / admin / dashboard / tenant.html
index 2819fe2..a09cec6 100644 (file)
                        </div>
                        <div class="create-slice-row">
                                 <label for="new-network">Network</label>
-                                <select id="new-network" class="tenant-create-slice"></select>
+                               <input type="text" name="new-network" id="new-network">
                         </div>
+                       <div class="create-slice-row">
+                               <label for="private-vol">Include Private Vol</label>
+                               <input type="checkbox" name="checkbox" id="private-vol" value="value">
+                       </div>
                        <div class="create-slice-row">
                                 <label for="mount-data-sets">Data Sets</label>
                                 <select id="mount-data-sets" class="tenant-create-slice"></select>
        </script>
        <script>
        $(document).ready(function () {
-               function showSliceData(data,value) {
-                       var imageData = data['image']['rows'];
-                       var networkData = data['network']['rows'];
+               function showSliceData(rows,imageData,serviceLevelData,siteRows,dataSet,value) {
                        $("#service-level-value").empty();
                        $("#slice-image-value").empty();
                        $("#tenantSiteTable").empty();
                        $('#tenantSiteTable').html('<table cellpadding="0" cellspacing="0" border="0" class="display" id="tenantSiteTableData"></table>');
                        $("#tenantSliceDropDown").val(value);
-                       var rows = data['userSliceInfo']['rows'];
                        var siteNames = [];
                        var sliverCount;
                        for (row in rows) {
                                if (rows[row]['sliceName'] == value) {
                                        sliceImageData = rows[row]['preferredImage'];
                                        $("#slice-image-value").html(sliceImageData);
-                                       serviceLevelData = rows[row]['sliceServiceClass'];
-                                       $("#service-level-value").html(serviceLevelData);
+                                       serviceLevelDataBasic = rows[row]['sliceServiceClass'];
+                                       $("#service-level-value").html(serviceLevelDataBasic);
                                        var innerRows = rows[row]['sliceSite'];
                                        for (innerRow in innerRows) {
                                                sliverCount = innerRows[innerRow];
                                                "sTitle": "Allocated",
                                                sClass: "alignCenter"
                                        }
-                                       //{ "sTitle": "Allocated" , sClass: "alignCenter"},
-                                       //{ "sTitle": "Desired" , sClass: "alignCenter"},
                                ]
                        });
                                $('#tenantSliceDropDown').on('change', function () {
                                        var value = $("#tenantSliceDropDown").val();
        //alert(value);
-                                       checkForBasicAdvView(value, data);
+                                       checkForBasicAdvView(value,rows,imageData,serviceLevelData,siteRows,dataSet);
                                });
                }
 
-               function downloadSliceInfo(data,value){
+               function downloadSliceInfo(rows,imageData,serviceLevelData,siteRows,dataSet,value){
                         $("#download-details").unbind().click(function(){
                                                 function download(filename, text) {
                                                var sliceDetails = document.createElement('a');
                                                sliceDetails.setAttribute('download', filename);
                                                sliceDetails.click();
                                        }
-                                       var rows = data['userSliceInfo']['rows'];
                                        var sliceInfo;
                                        for (row in rows){
                                                if(rows[row]['sliceName']==value){
-                                                       sliceInfo = "Slice Name: "+rows[row]['sliceName']+"\nNumber of Slivers: "+rows[row]['numOfSlivers']+"\nService Level: "+rows[row]['sliceServiceClass']+"\nImage: "+rows[row]['sliceImage']+"\n";        
+                                                       sliceInfo = "Slice Name: "+rows[row]['sliceName']+"\nNumber of Slivers: "+rows[row]['numOfSlivers']+"\nService Level: "+rows[row]['sliceServiceClass']+"\nImage: "+rows[row]['preferredImage']+"\n";    
                                                for (instanceNodePairs in rows[row]['instanceNodePair']){
                                                        sliceInfo += instanceNodePairs+"@"+rows[row]['instanceNodePair'][instanceNodePairs]+"\n";
                                                }
                                var allocatedSlivers = parseInt($(this).parent().siblings(".allocated").html());
                                var td = $(this).parent().siblings(".allocated");
                                var pos = oTable.fnGetPosition(td[0]);
+                               $("#numOfSlivers").val("");;
+                               $("#advNumOfSlivers").val("");;
                                $("#adv-tooltip").css("display", "none");
-                               $("#numOfSlivers").empty();
                                $("#adv-dialog-form").dialog({
                                        autoOpen: false,
                                        height: 200,
                                        buttons: {
                                                "Add": function () {
                                                        allocatedSlivers += parseInt($("#advNumOfSlivers").val());
-                                                       //if (!(parseInt($("#numOfSlivers").val()))) {
                                                                $("#adv-tooltip").css("display", "block");
-                                                       //} else {
                                                                $(this).dialog("close");
                                                                td.html(allocatedSlivers);
-                                                       //}
                                                },
                                                "Remove": function () {
                                                        allocatedSlivers -= parseInt($("#advNumOfSlivers").val());
-                                               //      if (!(parseInt($("#numOfSlivers").val()))) {
                                                                $("#adv-tooltip").css("display", "block");
-                                               //      } else {
                                                                $(this).dialog("close");
                                                                td.html(allocatedSlivers);
-                                               //      }
                                                }
                                        }
                                });
                        });
                }
 
-               function advShowSliceData(data,value) {
-                       var serviceLevelData = data['sliceServiceClass']['rows'];
-                       var imageData = data['image']['rows'];
-                       var networkData = data['network']['rows'];
-                       var siteRows = data['sites']['rows'];
-                       var dataSet = data['mountDataSets']['rows'];
+               function advShowSliceData(rows,imageData,serviceLevelData,siteRows,dataSet,value) {
                        $("#adv-service-level-value").empty();
                        $("#adv-slice-image-value").empty();
                        $("#adv-slice-data-set-value").empty();
-                       $("#adv-slice-network-value").empty();
                        $("#advTenantSliceDropDown").val(value);
                        $("<select></select>").attr('id', 'adv-service-level-dropdown').appendTo('#adv-service-level-value');
                        $("<select></select>").attr('id', 'adv-image-dropdown').appendTo('#adv-slice-image-value');
-                       $("<select></select>").attr('id', 'adv-network-dropdown').appendTo('#adv-slice-network-value');
                        $("<select></select>").attr('id', 'adv-dataset-dropdown').appendTo('#adv-slice-data-set-value');
                        $('#advTenantSiteTable').html('<table cellpadding="0" cellspacing="0" border="0" class="display" id="advTenantSiteTableData"></table>');
-                       var rows = data['userSliceInfo']['rows'];
                        var siteNames = [];
                        var sliverCount;
                        var tableData = {};
                         for (row in imageData) {
                                 $("#adv-image-dropdown").append("<option>" + imageData[row]['Image'] + "</option>");
                         }
-                        for (row in networkData) {
-                                $("#adv-network-dropdown").append("<option>" + networkData[row]['Network'] + "</option>");
-                        }
                         for (row in dataSet) {
                                 $("#adv-dataset-dropdown").append("<option>" + dataSet[row]['DataSet'] + "</option>");
                         }
                                        $("#adv-service-level-dropdown").val(rows[row]['sliceServiceClass']);
                                        $("#adv-image-dropdown").val(rows[row]['preferredImage']);
                                        $("#adv-dataset-dropdown").val(rows[row]['sliceDataSet']);
-                                       $("#adv-network-dropdown").val(rows[row]['sliceNetwork']);
                                        for (innerRow in innerRows) {
                                                tableData[innerRow] = innerRows[innerRow];
                                        }
                                                        },
                                                        type: 'POST',
                                                        complete: function () {
-                                                                //oTable.fnReloadAjax();
-                                                               location.reload();
+                                                               //location.reload();
+                                                               
                                                         }
                                                });
                                        } else if (newTableData[newRow] < tableData[newRow]) {
                                                        },
                                                        type: 'POST',
                                                        complete: function () {
-                                                               // oTable.fnReloadAjax();
-                                                               location.reload();
+                                                               //location.reload();
                                                         }
                                                });
                                        }
                                                                 sliceName: $("#advTenantSliceDropDown").val(),
                                                                serviceClass: $("#adv-service-level-dropdown").val(),
                                                                imageName: $("#adv-image-dropdown").val(),
-                                                               network: $("#adv-network-dropdown").val(),
                                                                dataSet: $("#adv-dataset-dropdown").val(),
                                                                 actionToDo: "update",
                                                                 csrfmiddlewaretoken: "{{ csrf_token }}", // < here
                                                         },
                                                         type: 'POST',
                                                         complete: function () {
-                                                                //oTable.fnReloadAjax();
-                                                                location.reload();
+                                                               $("#tabs-5").empty();
+                                                                initTenant();    //location.reload();
                                                         }
                                                 });
 
                        });
                        editSliverAdv();
                                $('#advTenantSliceDropDown').on('change', function () {
-       var selectedValue = $("#advTenantSliceDropDown").val();
-       //alert(selectedValue);
-                                       checkForBasicAdvView(selectedValue, data);
-                                       //editSliverAdv();
+                                       var selectedValue = $("#advTenantSliceDropDown").val();
+                                       checkForBasicAdvView(selectedValue, rows,imageData,serviceLevelData,siteRows,dataSet);
                                });
                }
 
-               function checkForBasicAdvView(value, data) {
-                       var rows = data['userSliceInfo']['rows'];
+               function checkForBasicAdvView(value, rows,imageData,serviceLevelData,siteRows,dataSet) {
                        for (row in rows) {
                                if (rows[row]['sliceName'] == value) {
                                        if (rows[row]['numOfSites'] > 1) {
-                                               advShowSliceData(data,value);
-                                               downloadSliceInfo(data,value);
+                                               advShowSliceData(rows,imageData,serviceLevelData,siteRows,dataSet,value);
+                                               downloadSliceInfo(rows,imageData,serviceLevelData,siteRows,dataSet,value);
                                                $("#tenantSliceDataWrapper").css("display","none");
                                                $("#advancedTenantSliceDataWrapper").css("display","block");
                                                $("#advTenantSiteTable").css("display","block");
                                                $("#save-btn").css("display","block");
                                                break;
                                        } else if(rows[row]['numOfSites'] <= 1){
-                                               showSliceData(data,value);
-                                               downloadSliceInfo(data,value);
-                                               //editSliverAdv();
+                                               showSliceData(rows,imageData,serviceLevelData,siteRows,dataSet,value);
+                                               downloadSliceInfo(rows,imageData,serviceLevelData,siteRows,dataSet,value);
                                                $("#tenantSliceDataWrapper").css("display","block");
                                                $("#advancedTenantSliceDataWrapper").css("display","none");
                                                $("#advTenantSiteTable").css("display","none");
                        }
                }
 
-               function UserSliceTable(data) {
+               function UserSliceTable(rows,imageData,serviceLevelData,siteRows,dataSet) {
                                //Add check for #dynamicusersliceinfo_filter label-> input having focus here
-                               var rows = data['userSliceInfo']['rows'];
                                $("<div></div>").attr('id', 'tenantSliceDataWrapper').appendTo('#tabs-5');
                                $("<div></div>").attr('id', 'advancedTenantSliceDataWrapper').appendTo('#tabs-5');
                                var sliceData = '';
-                               sliceData += '<div class="tenant-row"><span class="summary-attr"><b>Slice Name:</b> <span id="slice-name-value"> </span> </span><br></div><div class="tenant-row"><span class="summary-attr"><b>Service Level:</b> <span id="service-level-value"> </span>  </span><br></div><div class="tenant-row"><span class="summary-attr"><b>Image:</b> <span id="slice-image-value"> </span>  </span><br></div><div class="btn btn-high btn-info" id="advanced-tenant">Go to Advanced View</div>';
+                               sliceData += '<div class="tenant-row public-key-warning"><span class="summary-attr">You have not uploaded your Public Key. <a href="http://{{ request.get_host}}/admin/core/user/{{user.id}}">Click here</a> to upload it now.</span></div><div class="tenant-row"><span class="summary-attr"><b>Slice Name:</b> <span id="slice-name-value"> </span> </span><br></div><div class="tenant-row"><span class="summary-attr"><b>Service Level:</b> <span id="service-level-value"> </span>  </span><br></div><div class="tenant-row"><span class="summary-attr"><b>Image:</b> <span id="slice-image-value"> </span>  </span><br></div><div class="btn btn-high btn-info" id="advanced-tenant">Go to Advanced View</div>';
                                var advSliceData = '';
-                               advSliceData += '<div class="adv-tenant-row"><span class="summary-attr"><b>Slice Name:</b> <span id="adv-slice-name-value"> </span> </span><br><br></div><div class="tenant-row"><span class="summary-attr"><b>Service Level:</b> <span id="adv-service-level-value"> </span> <span class="help-inline">Changes are potentially disruptive to existing slivers</span> </span><br></div><div class="tenant-row"><span class="summary-attr"><b>Image:</b> <span id="adv-slice-image-value"> </span><span class="help-inline">Changes are potentially disruptive to existing slivers</span>  </span><br></div><div class="tenant-row"><span class="summary-attr"><b>Network:</b> <span id="adv-slice-network-value"> </span>  <span class="help-inline">Changes are potentially disruptive to existing slivers</span></span></div><div class="tenant-row"><span class="summary-attr"><b>Data Sets:</b> <span id="adv-slice-data-set-value"> </span>  </span></div>';
+                               advSliceData += '<div class="tenant-row public-key-warning"><span class="summary-attr">You have not uploaded your Public Key. <a href="http://{{ request.get_host}}/admin/core/user/{{user.id}}">Click here</a> to upload it now.</span></div><div class="adv-tenant-row"><span class="summary-attr"><b>Slice Name:</b> <span id="adv-slice-name-value"> </span> </span><br><br></div><div class="tenant-row"><span class="summary-attr"><b>Service Level:</b> <span id="adv-service-level-value"> </span> <span class="help-inline">Changes are potentially disruptive to existing slivers</span> </span><br></div><div class="tenant-row"><span class="summary-attr"><b>Image:</b> <span id="adv-slice-image-value"> </span><span class="help-inline">Changes are potentially disruptive to existing slivers</span>  </span><br></div><div class="tenant-row"><span class="summary-attr"><b>Network:</b> <input type="text" name="adv-network-value" id="adv-network-value"> <span class="help-inline">List of port ranges(if any) e.g. 1021-1026,1029</span><br></div><div class="tenant-row"><span class="summary-attr"><b>Data Sets:</b> <span id="adv-slice-data-set-value"> </span>  <input type="checkbox" name="checkbox" id="private-vol-checkbox" value="value"><span class="help-inline">Include Private Volume</span></span></div>';
                                $('#tenantSliceDataWrapper').append(sliceData).css("display", "none");
                                $('#advancedTenantSliceDataWrapper').append(advSliceData);
                                $("#advancedTenantSliceDataWrapper").css("display", "none");
                                $('<div class="btn btn-high btn-info" id="save-btn">Save</div>').appendTo("#tabs-5").css("display", "none");
                                $("#advanced-tenant").unbind().click(function () {
                                        var value = $("#tenantSliceDropDown").val();
-                                       advShowSliceData(data,value);
+                                       advShowSliceData(rows,imageData,serviceLevelData,siteRows,dataSet,value);
                                                 $("#tenantSliceDataWrapper").css("display","none");
                                                 $("#advancedTenantSliceDataWrapper").css("display","block");
                                                 $("#advTenantSiteTable").css("display","block");
 
                        });
                        $("#sliver-btn").click(function () {
-                               $("#numOfSlivers").empty();
                                $("#basic-tooltip").css("display", "none");
                                $("#dialog-form").dialog({
                                        autoOpen: false,
                                                                                return true;
                                                                        }
                                                                },
-                                                               complete: function () {
+                                                               success: function () {
                                                                        location.reload();
+$("#dialog-form").dialog("close");
                                                                }
                                                        });
                                                },
                                                                                return true;
                                                                        }
                                                                },
-                                                               complete: function () {
-                                                                       location.reload();
+                                                               success: function () {
+$("#dialog-form").dialog("close");                                                             
+location.reload();
+
                                                                }
                                                        });
                                                }
                                $("#dialog-form").dialog("open");
                        });
                        $("#create-slice-btn").unbind().click(function () {
-                               var serviceLevelData = data['sliceServiceClass']['rows'];
-                               var imageData = data['image']['rows'];
-                               var dataSet = data['mountDataSets']['rows'];
-                               var networkData = data['network']['rows'];
                                $("#new-service-class").empty();
                                $("#new-image").empty();
                                $("#mount-data-sets").empty();
                                for (row in dataSet) {
                                         $("#mount-data-sets").append("<option>" + dataSet[row]['DataSet'] + "</option>");
                                 }
-                               for (row in networkData) {
-                                        $("#new-network").append("<option>" + networkData[row]['Network'] + "</option>");
-                                }
                                var nameOfSlice = $("#new-slice-name").val();
                                var nameOfServiceClass = $("#new-service-class").val();
                                var nameOfImage = $("#new-image").val();
                                $("#create-slice-form").dialog("open");
                        });
                        $("#delete-slice-btn").unbind().click(function () {
-                               var rows = data['userSliceInfo']['rows'];
                                $("#delete-slice").empty();
                                for (row in rows) {
                                        $("#delete-slice").append("<option>" + rows[row]['sliceName'] + "</option>");
                        url: '/tenantview',
                        dataType: 'json',
                        success: function (data) {
-                               UserSliceTable(data);
+                               var rows = data['userSliceInfo']['rows'];
+                               var imageData = data['image']['rows'];
+                               //var networkData = data['network']['rows'];
+                               var serviceLevelData = data['sliceServiceClass']['rows'];
+                               var siteRows = data['sites']['rows'];
+                               var dataSet = data['mountDataSets']['rows'];
+                               UserSliceTable(rows,imageData,serviceLevelData,siteRows,dataSet);
+                               if(!(data['publicKey'])){
+                                       $(".public-key-warning").css("display","block");
+                               }
                                var value = $("#tenantSliceDropDown").val();
-                               checkForBasicAdvView(value, data);
+                               checkForBasicAdvView(value,rows,imageData,serviceLevelData,siteRows,dataSet);
                                $("#tooltip").css("display", "none");
                                $("#basic-tooltip").css("display", "none");
                                $("#adv-tooltip").css("display", "none");