diff --git a/app/server-health/controllers/diagnostics-controller.js b/app/server-health/controllers/diagnostics-controller.js
index 1613d8d..2306747 100644
--- a/app/server-health/controllers/diagnostics-controller.js
+++ b/app/server-health/controllers/diagnostics-controller.js
@@ -13,9 +13,9 @@
     angular
         .module('app.serverHealth')
         .controller('diagnosticsController', [
-            '$scope', 
-            '$window', 
-            'APIUtils', 
+            '$scope',
+            '$window',
+            'APIUtils',
             'dataService',
             function($scope, $window, APIUtils, dataService){
                 $scope.dataService = dataService;
diff --git a/app/server-health/controllers/inventory-controller.js b/app/server-health/controllers/inventory-controller.js
index 7196f7b..3c8ac40 100644
--- a/app/server-health/controllers/inventory-controller.js
+++ b/app/server-health/controllers/inventory-controller.js
@@ -13,9 +13,9 @@
     angular
         .module('app.serverHealth')
         .controller('inventoryController', [
-            '$scope', 
-            '$window', 
-            'APIUtils', 
+            '$scope',
+            '$window',
+            'APIUtils',
             'dataService',
             function($scope, $window, APIUtils, dataService){
                 $scope.dataService = dataService;
diff --git a/app/server-health/controllers/inventory-overview-controller.js b/app/server-health/controllers/inventory-overview-controller.js
index 7a62d40..6a3fd77 100644
--- a/app/server-health/controllers/inventory-overview-controller.js
+++ b/app/server-health/controllers/inventory-overview-controller.js
@@ -13,9 +13,9 @@
     angular
         .module('app.serverHealth')
         .controller('inventoryOverviewController', [
-            '$scope', 
-            '$window', 
-            'APIUtils', 
+            '$scope',
+            '$window',
+            'APIUtils',
             'dataService',
             function($scope, $window, APIUtils, dataService){
                 $scope.dataService = dataService;
@@ -62,7 +62,7 @@
 
                 $scope.filterBySearchTerms = function(hardware){
 
-                    if(!$scope.searchTerms.length) return true; 
+                    if(!$scope.searchTerms.length) return true;
 
                     for(var i = 0, length = $scope.searchTerms.length; i < length; i++){
                         if(hardware.search_text.indexOf($scope.searchTerms[i].toLowerCase()) == -1) return false;
diff --git a/app/server-health/controllers/log-controller.html b/app/server-health/controllers/log-controller.html
index 3e1be4f..ba21bc6 100644
--- a/app/server-health/controllers/log-controller.html
+++ b/app/server-health/controllers/log-controller.html
@@ -64,8 +64,8 @@
             </div>
         </div>
         <log-event
-        dir-paginate="event in (filteredLogs = (logs|filter:filterBySeverity|filter:filterByStatus|filter:filterByDate|filter:filterBySearchTerms | orderBy:'+Id'))| itemsPerPage: itemsPerPage" 
-        event="event" 
+        dir-paginate="event in (filteredLogs = (logs|filter:filterBySeverity|filter:filterByStatus|filter:filterByDate|filter:filterBySearchTerms | orderBy:'+Id'))| itemsPerPage: itemsPerPage"
+        event="event"
         tmz="tmz"
         multi-selected="selectedEvents.length > 1"
         >
diff --git a/app/server-health/controllers/log-controller.js b/app/server-health/controllers/log-controller.js
index 62750de..7493ba5 100644
--- a/app/server-health/controllers/log-controller.js
+++ b/app/server-health/controllers/log-controller.js
@@ -15,9 +15,9 @@
             paginationTemplateProvider.setString(require('../../common/directives/dirPagination.tpl.html'));
         })
         .controller('logController', [
-            '$scope', 
-            '$window', 
-            'APIUtils', 
+            '$scope',
+            '$window',
+            'APIUtils',
             'dataService',
             'Constants',
             '$routeParams',
@@ -117,7 +117,7 @@
                 }
 
                 $scope.filterBySearchTerms = function(log){
-                    if(!$scope.searchItems.length) return true; 
+                    if(!$scope.searchItems.length) return true;
 
                     for(var i = 0, length = $scope.searchItems.length; i < length; i++){
                         if(log.search_text.indexOf($scope.searchItems[i].toLowerCase()) == -1) return false;
@@ -130,7 +130,7 @@
                     terms.forEach(function(searchTerm){
                         if($scope.searchItems.indexOf(searchTerm) == -1){
                             $scope.searchItems.push(searchTerm);
-                        }  
+                        }
                     });
                 }
 
diff --git a/app/server-health/controllers/power-consumption-controller.js b/app/server-health/controllers/power-consumption-controller.js
index 893ca31..aa97e19 100644
--- a/app/server-health/controllers/power-consumption-controller.js
+++ b/app/server-health/controllers/power-consumption-controller.js
@@ -13,9 +13,9 @@
     angular
         .module('app.serverHealth')
         .controller('powerConsumptionController', [
-            '$scope', 
-            '$window', 
-            'APIUtils', 
+            '$scope',
+            '$window',
+            'APIUtils',
             'dataService',
             function($scope, $window, APIUtils, dataService){
                 $scope.dataService = dataService;
diff --git a/app/server-health/controllers/sensors-controller.js b/app/server-health/controllers/sensors-controller.js
index 307a451..71d4033 100644
--- a/app/server-health/controllers/sensors-controller.js
+++ b/app/server-health/controllers/sensors-controller.js
@@ -15,8 +15,8 @@
         .controller('sensorsController', [
             '$scope',
             '$log',
-            '$window', 
-            'APIUtils', 
+            '$window',
+            'APIUtils',
             'dataService',
             '$routeParams',
             function($scope, $log, $window, APIUtils, dataService, $routeParams){
@@ -51,8 +51,8 @@
                 $scope.toggleSeverity = function(severity){
                     $scope.selectedSeverity[severity] = !$scope.selectedSeverity[severity];
 
-                    if($scope.selectedSeverity.normal && 
-                       $scope.selectedSeverity.warning && 
+                    if($scope.selectedSeverity.normal &&
+                       $scope.selectedSeverity.warning &&
                        $scope.selectedSeverity.critical){
                         $scope.selectedSeverity.all = true;
                         $scope.selectedSeverity.normal = false;
@@ -104,7 +104,7 @@
                 }
                 $scope.filterBySearchTerms = function(sensor){
 
-                    if(!$scope.searchTerms.length) return true; 
+                    if(!$scope.searchTerms.length) return true;
 
                     for(var i = 0, length = $scope.searchTerms.length; i < length; i++){
                         if(sensor.search_text.indexOf($scope.searchTerms[i].toLowerCase()) == -1) return false;
diff --git a/app/server-health/controllers/sensors-overview-controller.js b/app/server-health/controllers/sensors-overview-controller.js
index b90ca0e..04502ca 100644
--- a/app/server-health/controllers/sensors-overview-controller.js
+++ b/app/server-health/controllers/sensors-overview-controller.js
@@ -14,8 +14,8 @@
         .controller('sensorsOverviewController', [
             '$scope',
             '$log',
-            '$window', 
-            'APIUtils', 
+            '$window',
+            'APIUtils',
             'dataService',
             'Constants',
             function($scope, $log, $window, APIUtils, dataService, Constants){
@@ -93,7 +93,7 @@
                        }
                    }
 
-                    if($scope.selectedSeverity.warning && 
+                    if($scope.selectedSeverity.warning &&
                        $scope.selectedSeverity.critical){
                         $scope.selectedSeverity.all = true;
                         $scope.selectedSeverity.warning = false;
@@ -113,7 +113,7 @@
                 }
                 $scope.filterBySearchTerms = function(sensor){
 
-                    if(!$scope.searchTerms.length) return true; 
+                    if(!$scope.searchTerms.length) return true;
 
                     for(var i = 0, length = $scope.searchTerms.length; i < length; i++){
                         if(sensor.search_text.indexOf($scope.searchTerms[i].toLowerCase()) == -1) return false;
diff --git a/app/server-health/controllers/unit-id-controller.js b/app/server-health/controllers/unit-id-controller.js
index 42f855d..a91094d 100644
--- a/app/server-health/controllers/unit-id-controller.js
+++ b/app/server-health/controllers/unit-id-controller.js
@@ -13,9 +13,9 @@
     angular
         .module('app.serverHealth')
         .controller('unitIdController', [
-            '$scope', 
-            '$window', 
-            'APIUtils', 
+            '$scope',
+            '$window',
+            'APIUtils',
             'dataService',
             function($scope, $window, APIUtils, dataService){
                 $scope.dataService = dataService;
