Fix activate image and reboot BMC

- Change bmcReboot callback in apiutils.js to HTTP request that returns a promise that is resolved with response object
- Remove emitted 'user-logged-in' as it is not needed to reboot BMC on firmware controller and bmc reboot controller
- Add toast message for visual confirmation of successful BMC reboot

Tested: On Server Configuration > Firmware page uploaded new image to activate and automatically reboot. After 2-3 minutes confirmed image activated and then BMC rebooted after image activation. Tested Server Control > Reboot BMC page by selecting Reboot BMC, confirmed BMC rebooted.

Resolves openbmc/phosphor-webui#79

Signed-off-by: Dixsie Wolmers <dixsiew@gmail.com>
Change-Id: Ied6809ad1ed6cc3c73ac5c818c7a06607810c396
diff --git a/app/server-control/controllers/bmc-reboot-controller.js b/app/server-control/controllers/bmc-reboot-controller.js
index ea50bf3..2282627 100644
--- a/app/server-control/controllers/bmc-reboot-controller.js
+++ b/app/server-control/controllers/bmc-reboot-controller.js
@@ -10,8 +10,8 @@
   'use strict';
 
   angular.module('app.serverControl').controller('bmcRebootController', [
-    '$scope', '$window', 'APIUtils', 'dataService',
-    function($scope, $window, APIUtils, dataService) {
+    '$scope', '$window', 'APIUtils', 'dataService', 'toastService',
+    function($scope, $window, APIUtils, dataService, toastService) {
       $scope.dataService = dataService;
       $scope.confirm = false;
       APIUtils.getLastRebootTime().then(
@@ -28,12 +28,14 @@
         $scope.confirm = true;
       };
       $scope.reboot = function() {
-        dataService.setUnreachableState();
-        APIUtils.bmcReboot(function(response) {
-          //@NOTE: using common event to reload server status, may be a better
-          // event listener name?
-          $scope.$emit('user-logged-in', {});
-        });
+        APIUtils.bmcReboot().then(
+            function(response) {
+              toastService.success('BMC is rebooting.')
+            },
+            function(error) {
+              console.log(JSON.stringify(error));
+              toastService.error('Unable to reboot BMC.');
+            });
       };
     }
   ]);