From cfce59d6dc120848624e105614575ae0f48af81b Mon Sep 17 00:00:00 2001 From: Yoggzo Date: Mon, 29 Feb 2016 14:20:13 +0100 Subject: merge --- client/images/spin/128x128/Preloader_1.gif | Bin 0 -> 71831 bytes client/images/spin/128x128/Preloader_10.gif | Bin 0 -> 19793 bytes client/images/spin/128x128/Preloader_2.gif | Bin 0 -> 7879 bytes client/images/spin/128x128/Preloader_3.gif | Bin 0 -> 22053 bytes client/images/spin/128x128/Preloader_4.gif | Bin 0 -> 19963 bytes client/images/spin/128x128/Preloader_5.gif | Bin 0 -> 84698 bytes client/images/spin/128x128/Preloader_6.gif | Bin 0 -> 19299 bytes client/images/spin/128x128/Preloader_7.gif | Bin 0 -> 12651 bytes client/images/spin/128x128/Preloader_8.gif | Bin 0 -> 81985 bytes client/images/spin/128x128/Preloader_9.gif | Bin 0 -> 48009 bytes client/images/spin/32x32/Preloader_1.gif | Bin 0 -> 17796 bytes client/images/spin/32x32/Preloader_10.gif | Bin 0 -> 5943 bytes client/images/spin/32x32/Preloader_2.gif | Bin 0 -> 3551 bytes client/images/spin/32x32/Preloader_3.gif | Bin 0 -> 7980 bytes client/images/spin/32x32/Preloader_4.gif | Bin 0 -> 6852 bytes client/images/spin/32x32/Preloader_5.gif | Bin 0 -> 22755 bytes client/images/spin/32x32/Preloader_6.gif | Bin 0 -> 5965 bytes client/images/spin/32x32/Preloader_7.gif | Bin 0 -> 4217 bytes client/images/spin/32x32/Preloader_8.gif | Bin 0 -> 13706 bytes client/images/spin/32x32/Preloader_9.gif | Bin 0 -> 13661 bytes client/images/spin/64x64/Preloader_1.gif | Bin 0 -> 35166 bytes client/images/spin/64x64/Preloader_10.gif | Bin 0 -> 10015 bytes client/images/spin/64x64/Preloader_2.gif | Bin 0 -> 4799 bytes client/images/spin/64x64/Preloader_3.gif | Bin 0 -> 12080 bytes client/images/spin/64x64/Preloader_4.gif | Bin 0 -> 10456 bytes client/images/spin/64x64/Preloader_5.gif | Bin 0 -> 41405 bytes client/images/spin/64x64/Preloader_6.gif | Bin 0 -> 9959 bytes client/images/spin/64x64/Preloader_7.gif | Bin 0 -> 6225 bytes client/images/spin/64x64/Preloader_8.gif | Bin 0 -> 25056 bytes client/images/spin/64x64/Preloader_9.gif | Bin 0 -> 23767 bytes client/index.html | 5 ++ client/js/controllers/home/machineDetails.js | 39 +++++++++++++ client/js/controllers/home/main.js | 13 ++++- client/js/controllers/login.js | 9 ++- client/js/controllers/status.js | 6 +- client/js/services/Compute.js | 25 ++++++-- client/js/services/Identity.js | 79 ++++++++++++++++++------- client/partials/home/machineDetails.html | 84 +++++++++++++++++++++++++++ client/partials/home/main.html | 7 ++- client/partials/nav.html | 2 +- 40 files changed, 232 insertions(+), 37 deletions(-) create mode 100644 client/images/spin/128x128/Preloader_1.gif create mode 100644 client/images/spin/128x128/Preloader_10.gif create mode 100644 client/images/spin/128x128/Preloader_2.gif create mode 100644 client/images/spin/128x128/Preloader_3.gif create mode 100644 client/images/spin/128x128/Preloader_4.gif create mode 100644 client/images/spin/128x128/Preloader_5.gif create mode 100644 client/images/spin/128x128/Preloader_6.gif create mode 100644 client/images/spin/128x128/Preloader_7.gif create mode 100644 client/images/spin/128x128/Preloader_8.gif create mode 100644 client/images/spin/128x128/Preloader_9.gif create mode 100644 client/images/spin/32x32/Preloader_1.gif create mode 100644 client/images/spin/32x32/Preloader_10.gif create mode 100644 client/images/spin/32x32/Preloader_2.gif create mode 100644 client/images/spin/32x32/Preloader_3.gif create mode 100644 client/images/spin/32x32/Preloader_4.gif create mode 100644 client/images/spin/32x32/Preloader_5.gif create mode 100644 client/images/spin/32x32/Preloader_6.gif create mode 100644 client/images/spin/32x32/Preloader_7.gif create mode 100644 client/images/spin/32x32/Preloader_8.gif create mode 100644 client/images/spin/32x32/Preloader_9.gif create mode 100644 client/images/spin/64x64/Preloader_1.gif create mode 100644 client/images/spin/64x64/Preloader_10.gif create mode 100644 client/images/spin/64x64/Preloader_2.gif create mode 100644 client/images/spin/64x64/Preloader_3.gif create mode 100644 client/images/spin/64x64/Preloader_4.gif create mode 100644 client/images/spin/64x64/Preloader_5.gif create mode 100644 client/images/spin/64x64/Preloader_6.gif create mode 100644 client/images/spin/64x64/Preloader_7.gif create mode 100644 client/images/spin/64x64/Preloader_8.gif create mode 100644 client/images/spin/64x64/Preloader_9.gif create mode 100644 client/js/controllers/home/machineDetails.js create mode 100644 client/partials/home/machineDetails.html (limited to 'client') diff --git a/client/images/spin/128x128/Preloader_1.gif b/client/images/spin/128x128/Preloader_1.gif new file mode 100644 index 0000000..dafe17e Binary files /dev/null and b/client/images/spin/128x128/Preloader_1.gif differ diff --git a/client/images/spin/128x128/Preloader_10.gif b/client/images/spin/128x128/Preloader_10.gif new file mode 100644 index 0000000..cdfa680 Binary files /dev/null and b/client/images/spin/128x128/Preloader_10.gif differ diff --git a/client/images/spin/128x128/Preloader_2.gif b/client/images/spin/128x128/Preloader_2.gif new file mode 100644 index 0000000..3cb9003 Binary files /dev/null and b/client/images/spin/128x128/Preloader_2.gif differ diff --git a/client/images/spin/128x128/Preloader_3.gif b/client/images/spin/128x128/Preloader_3.gif new file mode 100644 index 0000000..7f7d415 Binary files /dev/null and b/client/images/spin/128x128/Preloader_3.gif differ diff --git a/client/images/spin/128x128/Preloader_4.gif b/client/images/spin/128x128/Preloader_4.gif new file mode 100644 index 0000000..78baff6 Binary files /dev/null and b/client/images/spin/128x128/Preloader_4.gif differ diff --git a/client/images/spin/128x128/Preloader_5.gif b/client/images/spin/128x128/Preloader_5.gif new file mode 100644 index 0000000..c9c1530 Binary files /dev/null and b/client/images/spin/128x128/Preloader_5.gif differ diff --git a/client/images/spin/128x128/Preloader_6.gif b/client/images/spin/128x128/Preloader_6.gif new file mode 100644 index 0000000..3203d7f Binary files /dev/null and b/client/images/spin/128x128/Preloader_6.gif differ diff --git a/client/images/spin/128x128/Preloader_7.gif b/client/images/spin/128x128/Preloader_7.gif new file mode 100644 index 0000000..2eb19be Binary files /dev/null and b/client/images/spin/128x128/Preloader_7.gif differ diff --git a/client/images/spin/128x128/Preloader_8.gif b/client/images/spin/128x128/Preloader_8.gif new file mode 100644 index 0000000..3ba8217 Binary files /dev/null and b/client/images/spin/128x128/Preloader_8.gif differ diff --git a/client/images/spin/128x128/Preloader_9.gif b/client/images/spin/128x128/Preloader_9.gif new file mode 100644 index 0000000..7018192 Binary files /dev/null and b/client/images/spin/128x128/Preloader_9.gif differ diff --git a/client/images/spin/32x32/Preloader_1.gif b/client/images/spin/32x32/Preloader_1.gif new file mode 100644 index 0000000..b810330 Binary files /dev/null and b/client/images/spin/32x32/Preloader_1.gif differ diff --git a/client/images/spin/32x32/Preloader_10.gif b/client/images/spin/32x32/Preloader_10.gif new file mode 100644 index 0000000..f9c462f Binary files /dev/null and b/client/images/spin/32x32/Preloader_10.gif differ diff --git a/client/images/spin/32x32/Preloader_2.gif b/client/images/spin/32x32/Preloader_2.gif new file mode 100644 index 0000000..f23998f Binary files /dev/null and b/client/images/spin/32x32/Preloader_2.gif differ diff --git a/client/images/spin/32x32/Preloader_3.gif b/client/images/spin/32x32/Preloader_3.gif new file mode 100644 index 0000000..bb7c60d Binary files /dev/null and b/client/images/spin/32x32/Preloader_3.gif differ diff --git a/client/images/spin/32x32/Preloader_4.gif b/client/images/spin/32x32/Preloader_4.gif new file mode 100644 index 0000000..117c756 Binary files /dev/null and b/client/images/spin/32x32/Preloader_4.gif differ diff --git a/client/images/spin/32x32/Preloader_5.gif b/client/images/spin/32x32/Preloader_5.gif new file mode 100644 index 0000000..7169708 Binary files /dev/null and b/client/images/spin/32x32/Preloader_5.gif differ diff --git a/client/images/spin/32x32/Preloader_6.gif b/client/images/spin/32x32/Preloader_6.gif new file mode 100644 index 0000000..9087ded Binary files /dev/null and b/client/images/spin/32x32/Preloader_6.gif differ diff --git a/client/images/spin/32x32/Preloader_7.gif b/client/images/spin/32x32/Preloader_7.gif new file mode 100644 index 0000000..0b1e633 Binary files /dev/null and b/client/images/spin/32x32/Preloader_7.gif differ diff --git a/client/images/spin/32x32/Preloader_8.gif b/client/images/spin/32x32/Preloader_8.gif new file mode 100644 index 0000000..6816be3 Binary files /dev/null and b/client/images/spin/32x32/Preloader_8.gif differ diff --git a/client/images/spin/32x32/Preloader_9.gif b/client/images/spin/32x32/Preloader_9.gif new file mode 100644 index 0000000..e38dd5a Binary files /dev/null and b/client/images/spin/32x32/Preloader_9.gif differ diff --git a/client/images/spin/64x64/Preloader_1.gif b/client/images/spin/64x64/Preloader_1.gif new file mode 100644 index 0000000..2004c5f Binary files /dev/null and b/client/images/spin/64x64/Preloader_1.gif differ diff --git a/client/images/spin/64x64/Preloader_10.gif b/client/images/spin/64x64/Preloader_10.gif new file mode 100644 index 0000000..944ec82 Binary files /dev/null and b/client/images/spin/64x64/Preloader_10.gif differ diff --git a/client/images/spin/64x64/Preloader_2.gif b/client/images/spin/64x64/Preloader_2.gif new file mode 100644 index 0000000..9821827 Binary files /dev/null and b/client/images/spin/64x64/Preloader_2.gif differ diff --git a/client/images/spin/64x64/Preloader_3.gif b/client/images/spin/64x64/Preloader_3.gif new file mode 100644 index 0000000..52b81ba Binary files /dev/null and b/client/images/spin/64x64/Preloader_3.gif differ diff --git a/client/images/spin/64x64/Preloader_4.gif b/client/images/spin/64x64/Preloader_4.gif new file mode 100644 index 0000000..3408b5d Binary files /dev/null and b/client/images/spin/64x64/Preloader_4.gif differ diff --git a/client/images/spin/64x64/Preloader_5.gif b/client/images/spin/64x64/Preloader_5.gif new file mode 100644 index 0000000..6f0585d Binary files /dev/null and b/client/images/spin/64x64/Preloader_5.gif differ diff --git a/client/images/spin/64x64/Preloader_6.gif b/client/images/spin/64x64/Preloader_6.gif new file mode 100644 index 0000000..c577f24 Binary files /dev/null and b/client/images/spin/64x64/Preloader_6.gif differ diff --git a/client/images/spin/64x64/Preloader_7.gif b/client/images/spin/64x64/Preloader_7.gif new file mode 100644 index 0000000..5f6dd5e Binary files /dev/null and b/client/images/spin/64x64/Preloader_7.gif differ diff --git a/client/images/spin/64x64/Preloader_8.gif b/client/images/spin/64x64/Preloader_8.gif new file mode 100644 index 0000000..b57e4d8 Binary files /dev/null and b/client/images/spin/64x64/Preloader_8.gif differ diff --git a/client/images/spin/64x64/Preloader_9.gif b/client/images/spin/64x64/Preloader_9.gif new file mode 100644 index 0000000..fc3ddb7 Binary files /dev/null and b/client/images/spin/64x64/Preloader_9.gif differ diff --git a/client/index.html b/client/index.html index ba183df..8d81ac3 100644 --- a/client/index.html +++ b/client/index.html @@ -26,6 +26,9 @@
+ +
+
@@ -81,7 +84,9 @@ + + diff --git a/client/js/controllers/home/machineDetails.js b/client/js/controllers/home/machineDetails.js new file mode 100644 index 0000000..f84a073 --- /dev/null +++ b/client/js/controllers/home/machineDetails.js @@ -0,0 +1,39 @@ +/** + * The home controller + * + * @param {$scope} $scope The $scope service from angular + */ +mainApp.controller('machineDetailsCtrl', [ '$scope', 'Compute', '$rootScope', '$timeout', function ($scope, Compute, $rootScope, $timeout) +{ + + $scope.machine={}; + $("#waitingForToggleMachine").hide(); + + $scope.$on('showMachineDetailsEvent', function(eventName ,machine){ + $scope.machine=machine; + $('#machineDetailsModal').modal({backdrop: false, keyboard: true}); + }); + + + $scope.toggleMachineState=function(){ + $("#waitingForToggleMachine").show(); + + // Fake timeout + $timeout(function(){ + $("#waitingForToggleMachine").hide(); + }, 3000); + $timeout(function(){ + $scope.machine.online=!$scope.machine.online; + + }, 3000); + + + }; + + $scope.applyModifications=function(){ + //Todo + } + + + +}]); diff --git a/client/js/controllers/home/main.js b/client/js/controllers/home/main.js index d25bfad..4e3bcda 100644 --- a/client/js/controllers/home/main.js +++ b/client/js/controllers/home/main.js @@ -3,15 +3,22 @@ * * @param {$scope} $scope The $scope service from angular */ -mainApp.controller('homeCtrl', [ '$scope', 'Compute', function ($scope, Compute) +mainApp.controller('homeCtrl', [ '$scope', 'Compute', '$rootScope', function ($scope, Compute, $rootScope) { - var updatePage=function(){ // TODO Update graph etc... } // Retrieve all Data Compute.pullData(updatePage); - + + Compute.getMachines(function(adzda){}); + + $scope.raiseShowMachineDetailsEvent=function(){ + var machine={name: "Machine 1", online:true}; + $rootScope.$broadcast("showMachineDetailsEvent", machine); + } + + }]); diff --git a/client/js/controllers/login.js b/client/js/controllers/login.js index 829fc1d..1a89563 100644 --- a/client/js/controllers/login.js +++ b/client/js/controllers/login.js @@ -13,14 +13,19 @@ mainApp.controller('loginCtrl', ['$scope','$sce','Identity', function ($scope,$s if(!Identity.isAlreadyLogin()){ $('#loginModal').modal({backdrop: 'static', keyboard: false}); } + + // Manager logout event $scope.$on('logoutEvent', function(){ + Identity.logout(); $('#loginModal').modal({backdrop: 'static', keyboard: false}); }); - + + // Hide loading button and message alert $('#loadingLoginButton').hide(); $('#failedToLoginAlert').hide(); - + + // Defined function for login $scope.loginAction=function(){ // Begin login state for template diff --git a/client/js/controllers/status.js b/client/js/controllers/status.js index e01df34..940d794 100644 --- a/client/js/controllers/status.js +++ b/client/js/controllers/status.js @@ -10,13 +10,11 @@ mainApp.controller('statusCtrl', ['$scope','Identity', '$rootScope', function ($ { // Give profile to model - $scope.profile=Identity.profile; + $scope.profile=Identity.getProfile(); // Function to logout - $scope.logout=function(){ - Identity.logout(); + $scope.raiseLogoutEvent=function(){ $rootScope.$broadcast('logoutEvent'); - }; }]); diff --git a/client/js/services/Compute.js b/client/js/services/Compute.js index c5c8da9..8148948 100644 --- a/client/js/services/Compute.js +++ b/client/js/services/Compute.js @@ -2,11 +2,12 @@ mainApp.factory('Compute',[ '$http', 'Identity', function($http, Identity){ - + // Create data var data={}; data.machines={}; + // Parser var parseGetMachinesAnswer=function(response, failedToSendRequest){ @@ -16,8 +17,24 @@ mainApp.factory('Compute',[ '$http', 'Identity', function($http, Identity){ // Get Machine var getMachines=function(callback){ + var params={ + "token" : Identity.getToken(), + "task" : "compute", + "action":"getServer", + "serverId":"69d5bcc4-2fab-4634-b0d2-f455fee5b7bd" + }; + var result=$http.post('../server/index.php', - $.param({"token" : Identity.profile.token, "task" : "Compute"})); + $.param(params)); + + // Wait and handle the response + result.then(function (response){ + console.log(response.data.Servers); + callback(parseGetMachinesAnswer(response, false)); + },function(response){ + alert(response.status); + callback(parseGetMachinesAnswer(response, true)); + }); }; @@ -31,8 +48,8 @@ mainApp.factory('Compute',[ '$http', 'Identity', function($http, Identity){ // Return services objects return { - getMachines: getMachines - pullData: pullData + getMachines: getMachines, + pullData: pullData, data:data }; diff --git a/client/js/services/Identity.js b/client/js/services/Identity.js index 8ee664c..b1d2a48 100644 --- a/client/js/services/Identity.js +++ b/client/js/services/Identity.js @@ -7,37 +7,47 @@ mainApp.factory('Identity',[ '$http', '$cookies', function($http, $cookies){ var profile={}; profile.username=null; profile.projectname=null; - profile.token=null; - - - /** - * Save profile in cookies - */ - var saveCookieForSession=function(){ - $cookies.putObject('profile', 5); - }; - + var token=null; + /* * @returns {boolean} Return true if a cookie is found (and load it in profile) false else */ var isAlreadyLogin=function(){ + + // Load cookies var profileInCookie=$cookies.getObject('profile'); - console.log(profileInCookie); + var tokenPart_0InCookie=$cookies.getObject('token.part_0'); + var tokenPart_1InCookie=$cookies.getObject('token.part_1'); + - if(typeof profileInCookie !== 'undefined'){ + // Check if cookie is defined + if(typeof profileInCookie !== 'undefined' + && typeof tokenPart_0InCookie !== 'undefined' + && typeof tokenPart_1InCookie !== 'undefined' + ){ + + // If yes, put it into variables angular.extend(profile, profileInCookie); + token=tokenPart_0InCookie+tokenPart_1InCookie; + + // Return I'm Login return true; } + // Return I'm not Login return false; } + + /* * Destroy profile cookies */ var logout=function(){ $cookies.remove('profile'); + $cookies.remove('token.part_0'); + $cookies.remove('token.part_1'); } @@ -49,15 +59,28 @@ mainApp.factory('Identity',[ '$http', '$cookies', function($http, $cookies){ */ var parseLoginAnswer=function(response, failedToSendRequest){ - + // Defined return object var requestParserResult={}; requestParserResult.status=1; requestParserResult.failReason=null; if (typeof response.data.token !== 'undefined') { + // Set status code requestParserResult.status=0; - profile.token=response.data.token; - saveCookieForSession(); + + // Find the middle of the token to split it + var middle=parseInt(response.data.token.length/2); + + // Create expire date (cookie expire in 55 mins) + var expireDate=new Date(); + expireDate.setMinutes(expireDate.getMinutes()+55); + + // Save profile + $cookies.putObject('profile', profile, {'expires': expireDate}); + // Save first part of token + $cookies.putObject('token.part_0', response.data.token.substring(0, middle), {'expires': expireDate}); + // Save second part of token + $cookies.putObject('token.part_1', response.data.token.substring(middle, response.data.token.length), {'expires': expireDate}); } else if(failedToSendRequest){ requestParserResult.failReason="Failed to send request"; @@ -69,7 +92,6 @@ mainApp.factory('Identity',[ '$http', '$cookies', function($http, $cookies){ return requestParserResult; }; - /** * Function to connect to OpenStack @@ -87,24 +109,39 @@ mainApp.factory('Identity',[ '$http', '$cookies', function($http, $cookies){ profile.projectname=projectname; var result=$http.post('../server/index.php', - $.param({"task" : "Authenticate", "user" : username, "password" : password, "project" : projectname})); + $.param({"task" : "Authenticate", "user" : username, "password" : password, "project" : projectname})); // Wait and handle the response result.then(function (response){ - callback(parseLoginAnswer(response), false); + callback(parseLoginAnswer(response, false)); },function(response){ - callback(parseLoginAnswer(response), true) + callback(parseLoginAnswer(response, true)); }); }; + /* + * Get the profile + */ + var getProfile=function(){ + return profile; + } + + /* + * Get the token + */ + var getToken=function(){ + return token; + } + // Return services objects return { login: login, - profile: profile, + getProfile: getProfile, isAlreadyLogin: isAlreadyLogin, - logout:logout + logout:logout, + getToken:getToken }; diff --git a/client/partials/home/machineDetails.html b/client/partials/home/machineDetails.html new file mode 100644 index 0000000..606edcf --- /dev/null +++ b/client/partials/home/machineDetails.html @@ -0,0 +1,84 @@ + diff --git a/client/partials/home/main.html b/client/partials/home/main.html index 7a5045a..37638d3 100644 --- a/client/partials/home/main.html +++ b/client/partials/home/main.html @@ -1,8 +1,11 @@ -
+
Home
Main Content + +
+
-
\ No newline at end of file +
diff --git a/client/partials/nav.html b/client/partials/nav.html index 3c72844..b3ef76a 100644 --- a/client/partials/nav.html +++ b/client/partials/nav.html @@ -32,7 +32,7 @@
  • Informations
  • Settings
  • -
  • Logout
  • +
  • Logout
  • -- cgit v1.2.3