Xin 00f8049442 Delete words added by mistake
Change-Id: Ic76e1b8bc2e2da55aa592a47eb623237de6a0a33
2015-12-01 12:01:19 -08:00

219 lines
6.4 KiB
JavaScript

//Copyright 2015 Cisco Systems, Inc. All rights reserved.
//
// Licensed under the Apache License, Version 2.0 (the "License"); you may
//not use this file except in compliance with the License. You may obtain
//a copy of the License at
//
//http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
//distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
//WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
//License for the specific language governing permissions and limitations
//under the License.
/**
* Created by xiyu3 on 10/12/15.
*/
'use strict';
angular.module('kbWebApp')
.controller('LoginCtrl', function ($scope, $http, $location, showAlert, $q, kbHttp, kbCookie, locationChange) {
this.awesomeThings = [
'HTML5 Boilerplate',
'AngularJS',
'Karma'
];
//if(kbCookie.getSessionID()!="") $location.path('/');
//---------------------------------top navigation bar---------------------------------
$(window).on('hashchange', locationChange.change());
//---------------------------------for uploading files---------------------------------
(function (e, t, n) {
var r = e.querySelectorAll("html")[0];
r.className = r.className.replace(/(^|\s)no-js(\s|$)/, "$1js$2")
})(document, window, 0);
( function (document, window, index) {
var inputs = document.querySelectorAll('.inputfile');
Array.prototype.forEach.call(inputs, function (input) {
var label = input.nextElementSibling,
labelVal = label.innerHTML;
input.addEventListener('change', function (e) {
var fileName = '';
fileName = e.target.value.split('\\').pop();
if (fileName)
label.querySelector('span').innerHTML = fileName;
else
label.innerHTML = labelVal;
});
// Firefox bug fix
input.addEventListener('focus', function () {
input.classList.add('has-focus');
});
input.addEventListener('blur', function () {
input.classList.remove('has-focus');
});
});
}(document, window, 0));
$scope.deleteSession = function () {
kbHttp.delMethod("/config/running_config/" + $scope.sessionID)
.then(
function (response) { // .resolve
console.log("del sessionID");
},
function (response) { // .reject
//console.log("delete error:");
//console.log(response);
}
);
};
$scope.CleanUp = function () {
var deferred = $q.defer();
if (kbCookie.getStatus() != "READY" && kbCookie.getStatus() != "CLEANING") {
kbHttp.postMethod("/kloudbuster/cleanup/" + $scope.sessionID)
.then(
function (response) { // .resolve
console.log("clean up successfully");
},
function (response) { // .reject
//console.log("clean error:");
//console.log(response);
}
);
deferred.resolve(1);
}
else deferred.resolve(1);
return deferred.promise;
};
//-----init-----
if (kbCookie.getSessionID() != "") {
$scope.sessionID = kbCookie.getSessionID();
var promise = $scope.CleanUp();
promise.then(function () {
$scope.deleteSession();
kbCookie.init();
});
}
//---------------------------------credentials--------------------------------
$scope.samecloud = true;
$scope.clouds = function () {
if ($scope.samecloud === true) {
$('#inputPassword2').attr("disabled", true);
$('#file2').attr("disabled", true);
$('#rcfile2').attr("disabled", true);
}
else {
$('#inputPassword2').attr("disabled", false);
$('#file2').attr("disabled", false);
$('#rcfile2').attr("disabled", false);
}
//console.log($scope.samecloud);
};
var test_rc;
function readFile(evt) {
var files = evt.target.files;
var file = files[0];
var reader = new FileReader();
reader.onload = function () {
test_rc = this.result;
//console.log(this.result);
};
reader.readAsText(file);
}
document.getElementById('file1').addEventListener('change', readFile, false);
var test_rc2;
function readFile2(evt) {
var files = evt.target.files;
var file = files[0];
var reader = new FileReader();
reader.onload = function () {
test_rc2 = this.result;
//console.log(this.result);
};
reader.readAsText(file);
}
document.getElementById('file2').addEventListener('change', readFile2, false);
$("#inputPassword1").keydown(function (e) {
var curKey = e.which;
if (curKey == 13) {
$scope.setConfig();
}
});
$("#inputPassword2").keydown(function (e) {
var curKey = e.which;
if (curKey == 13) {
$scope.setConfig();
}
});
$scope.setConfig = function () {
if ($scope.samecloud === true) {
kbCookie.setIsOneCloud(true);
$scope.credentials = { "tested-passwd": $scope.inputPassword1, "tested-rc": test_rc};
}
else {
kbCookie.setIsOneCloud(false);
$scope.credentials = {
"tested-passwd": $scope.inputPassword1,
"tested-rc": test_rc,
"testing-passwd": inputPassword2,
"testing-rc": test_rc2
};
}
//no sessionID but have cred
$scope.runCon = {"credentials": {}, kb_cfg: ""};
//console.log($scope.credentials);
$scope.runCon.credentials = $scope.credentials;
kbCookie.setCredentials($scope.credentials);
kbHttp.postMethod("/config/running_config", $scope.runCon)
.then(
function (response) { // .resolve
kbCookie.setSessionID(response.data);
$scope.sessionID = kbCookie.getSessionID();
console.log("set config & get sesID:" + $scope.sessionID);
$location.path('/');
},
function (response) { // .reject
//console.log("set config error:");
//console.log(response);
//$scope.showAlert(response.data);
if (response.status == 400)
showAlert.showAlert("Error while parsing configurations! Please check your inputs!");
else if (response.status == -1)
showAlert.showAlert("Error while connecting kloudbuster server!");
}
);
}
});