blob: a197ab2a838ede94153c4b1163e607a2b4a31c54 [file] [log] [blame]
angular
.module('app.controllers', [])
.controller('loginController', ['$scope', '$window', 'APIUtils', 'dataService', function($scope, $window, APIUtils, dataService){
$scope.login = function(username, password){
$scope.error = false;
$scope.dataService = dataService;
if(!username || username == "" ||
!password || password == ""){
return false;
}else{
//@TODO: service should handle
if(username == APIUtils.LOGIN_CREDENTIALS.username &&
password == APIUtils.LOGIN_CREDENTIALS.password){
$window.location.hash = '#/dashboard';
}else{
$scope.error = true;
//@TODO: show error message
}
}
}
}])
.controller('dashboardController', ['$scope', 'dataService', function($scope, dataService){
$scope.dataService = dataService;
}])
.controller('systemOverviewController', ['$scope', 'dataService', function($scope, dataService){
$scope.dataService = dataService;
}])
.controller('powerOperationsController', ['$scope', 'APIUtils', 'dataService', function($scope, APIUtils, dataService){
$scope.dataService = dataService;
$scope.confirm = false;
$scope.power_confirm = false;
$scope.warmboot_confirm = false;
$scope.coldboot_confirm = false;
$scope.orderly_confirm = false;
$scope.immediately_confirm = false;
//@TODO: call api and get proper state
$scope.toggleState = function(){
dataService.server_state = (dataService.server_state == 'On') ? 'Off': 'On';
}
$scope.togglePower = function(){
var method = (dataService.server_state == 'On') ? 'chassisPowerOff' : 'chassisPowerOn';
//@TODO: show progress or set class orange
APIUtils[method](function(response){
//update state based on response
//error case?
if(response == null){
console.log("Failed request.");
}else{
dataService.server_state = response;
}
});
}
$scope.powerOnConfirm = function(){
if($scope.confirm) {
return;
}
$scope.confirm = true;
$scope.power_confirm = true;
};
$scope.warmReboot = function(){
//@TODO:show progress
APIUtils.hostPowerOff(function(response){
if(response){
APIUtils.hostPowerOn(function(response){
if(response){
}else{
//@TODO:show error message
}
//@TODO:hide progress, set proper server state
});
}else{
//@TODO:hide progress & show error message
}
});
};
$scope.warmRebootConfirm = function(){
if($scope.confirm) {
return;
}
$scope.confirm = true;
$scope.warmboot_confirm = true;
};
$scope.coldReboot = function(){
//@TODO:show progress
APIUtils.chassisPowerOff(function(response){
if(response){
APIUtils.chassisPowerOn(function(response){
if(response){
}else{
//@TODO:show error message
}
//@TODO:hide progress, set proper server state
});
}else{
//@TODO:hide progress & show error message
}
});
};
$scope.coldRebootConfirm = function(){
if($scope.confirm) {
return;
}
$scope.confirm = true;
$scope.coldboot_confirm = true;
};
$scope.orderlyShutdown = function(){
//@TODO:show progress
APIUtils.hostPowerOff(function(response){
if(response){
APIUtils.chassisPowerOff(function(response){
if(response){
}else{
//@TODO:show error message
}
//@TODO:hide progress, set proper server state
});
}else{
//@TODO:hide progress & show error message
}
});
};
$scope.orderlyShutdownConfirm = function(){
if($scope.confirm) {
return;
}
$scope.confirm = true;
$scope.orderly_confirm = true;
};
$scope.immediateShutdown = function(){
//@TODO:show progress
APIUtils.chassisPowerOff(function(response){
if(response){
//@TODO: set proper server state
}else{
//@TODO:show error message
}
//@TODO:hide progress
});
};
$scope.immediateShutdownConfirm = function(){
if($scope.confirm) {
return;
}
$scope.confirm = true;
$scope.immediately_confirm = true;
};
}]);