github.com/justinjmoses/evergreen@v0.0.0-20170530173719-1d50e381ff0d/public/static/js/host_admin.js (about)

     1  mciModule.controller('AdminOptionsCtrl', ['$scope', 'mciHostRestService', 'notificationService', function($scope, hostRestService, notifier) {
     2    $scope.setHostId = function(host) {
     3      $scope.host = host;
     4    };
     5  
     6    $scope.filterCurrentHostStatus = function(status) {
     7      return status != $scope.host.status;
     8    }
     9  
    10    $scope.validHostStatuses = ["running", "decommissioned", "quarantined"].filter($scope.filterCurrentHostStatus);
    11    $scope.newStatus = $scope.validHostStatuses[0];
    12    $scope.modalTitle = 'Modify Host';
    13    
    14    $scope.updateStatus = function() {
    15      hostRestService.updateStatus(
    16        $scope.host.id,
    17        'updateStatus',
    18        { status: $scope.newStatus },
    19        {
    20          success: function(data, status) {
    21            window.location.reload();
    22          },
    23          error: function(jqXHR, status, errorThrown) {
    24            notifier.pushNotification('Error updating host status: ' + jqXHR, 'errorModal');
    25          }
    26        }
    27      );
    28    };
    29  
    30    $scope.setHostStatus = function(status) {
    31      $scope.newStatus = status;
    32    };
    33  
    34    $scope.openAdminModal = function(opt) {
    35      $scope.adminOption = opt;
    36      $scope.modalOpen = true;
    37      var modal = $('#admin-modal').modal('show');
    38  
    39      if (opt === "statusChange") {
    40        modal.on('shown.bs.modal', function() {
    41          $scope.modalOpen = true;
    42        });
    43  
    44        modal.on('hide.bs.modal', function() {
    45          $scope.modalOpen = false;
    46        });
    47      }
    48  
    49      $(document).keyup(function(ev) {
    50        if ($scope.modalOpen && ev.keyCode === 13) {
    51          if ($scope.adminOption === 'statusChange') {
    52            $scope.updateStatus();
    53            $('#admin-modal').modal('hide');
    54          }
    55        }
    56      });
    57    };
    58  }]);
    59  
    60  
    61  mciModule.directive('adminUpdateStatus', function() {
    62    return {
    63      restrict: 'E',
    64      templateUrl: '/static/partials/host_status_update.html'
    65    };
    66  });
    67