hooks  up queue/dequeue single server updates

Project: http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/repo
Commit: 
http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/commit/9aeb10ac
Tree: 
http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/tree/9aeb10ac
Diff: 
http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/diff/9aeb10ac

Branch: refs/heads/master
Commit: 9aeb10ac0f3853662730ddac892b141efacdcb84
Parents: 52511d0
Author: Jeremy Mitchell <mitchell...@gmail.com>
Authored: Thu Feb 16 20:52:16 2017 -0700
Committer: Dewayne Richardson <dewr...@apache.org>
Committed: Fri Feb 17 08:33:17 2017 -0700

----------------------------------------------------------------------
 .../ui/app/src/common/api/CDNService.js         |  2 +-
 .../ui/app/src/common/api/CacheGroupService.js  |  2 +-
 .../ui/app/src/common/api/ServerService.js      | 23 +++++++++++++++++
 .../modules/form/server/FormServerController.js | 27 ++++++++++++++++++--
 .../modules/form/server/form.server.tpl.html    |  5 ++--
 .../table/servers/table.servers.tpl.html        |  6 ++---
 6 files changed, 55 insertions(+), 10 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/blob/9aeb10ac/traffic_ops/experimental/ui/app/src/common/api/CDNService.js
----------------------------------------------------------------------
diff --git a/traffic_ops/experimental/ui/app/src/common/api/CDNService.js 
b/traffic_ops/experimental/ui/app/src/common/api/CDNService.js
index d3f562d..2616c80 100644
--- a/traffic_ops/experimental/ui/app/src/common/api/CDNService.js
+++ b/traffic_ops/experimental/ui/app/src/common/api/CDNService.js
@@ -80,7 +80,7 @@ var CDNService = function(Restangular, locationUtils, 
messageModel) {
         return Restangular.one("cdns", id).customPOST( { action: "dequeue"}, 
"queue_update" )
             .then(
                 function() {
-                    messageModel.setMessages([ { level: 'success', text: 
'Cleared CDN server updates' } ], false);
+                    messageModel.setMessages([ { level: 'success', text: 
'Cancelled CDN server updates' } ], false);
                 },
                 function(fault) {
                     messageModel.setMessages(fault.data.alerts, false);

http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/blob/9aeb10ac/traffic_ops/experimental/ui/app/src/common/api/CacheGroupService.js
----------------------------------------------------------------------
diff --git 
a/traffic_ops/experimental/ui/app/src/common/api/CacheGroupService.js 
b/traffic_ops/experimental/ui/app/src/common/api/CacheGroupService.js
index 5f996e7..2f30df0 100644
--- a/traffic_ops/experimental/ui/app/src/common/api/CacheGroupService.js
+++ b/traffic_ops/experimental/ui/app/src/common/api/CacheGroupService.js
@@ -80,7 +80,7 @@ var CacheGroupService = function(Restangular, locationUtils, 
messageModel) {
         return Restangular.one("cachegroups", cgId).customPOST( { action: 
"dequeue", cdnId: cdnId}, "queue_update" )
             .then(
                 function() {
-                    messageModel.setMessages([ { level: 'success', text: 
'Cleared cache group server updates' } ], false);
+                    messageModel.setMessages([ { level: 'success', text: 
'Cancelled cache group server updates' } ], false);
                 },
                 function(fault) {
                     messageModel.setMessages(fault.data.alerts, false);

http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/blob/9aeb10ac/traffic_ops/experimental/ui/app/src/common/api/ServerService.js
----------------------------------------------------------------------
diff --git a/traffic_ops/experimental/ui/app/src/common/api/ServerService.js 
b/traffic_ops/experimental/ui/app/src/common/api/ServerService.js
index c661e80..e130376 100644
--- a/traffic_ops/experimental/ui/app/src/common/api/ServerService.js
+++ b/traffic_ops/experimental/ui/app/src/common/api/ServerService.js
@@ -68,6 +68,29 @@ var ServerService = function(Restangular, locationUtils, 
messageModel) {
         return Restangular.one('deliveryservices', dsId).getList('servers');
     };
 
+    this.queueServerUpdates = function(id) {
+        return Restangular.one("servers", id).customPOST( { action: "queue"}, 
"queue_update" )
+            .then(
+                function() {
+                    messageModel.setMessages([ { level: 'success', text: 
'Queued server updates' } ], false);
+                },
+                function(fault) {
+                    messageModel.setMessages(fault.data.alerts, false);
+                }
+            );
+    };
+
+    this.clearServerUpdates = function(id) {
+        return Restangular.one("servers", id).customPOST( { action: 
"dequeue"}, "queue_update" )
+            .then(
+                function() {
+                    messageModel.setMessages([ { level: 'success', text: 
'Cancelled server updates' } ], false);
+                },
+                function(fault) {
+                    messageModel.setMessages(fault.data.alerts, false);
+                }
+            );
+    };
 
 };
 

http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/blob/9aeb10ac/traffic_ops/experimental/ui/app/src/common/modules/form/server/FormServerController.js
----------------------------------------------------------------------
diff --git 
a/traffic_ops/experimental/ui/app/src/common/modules/form/server/FormServerController.js
 
b/traffic_ops/experimental/ui/app/src/common/modules/form/server/FormServerController.js
index f35759e..49af665 100644
--- 
a/traffic_ops/experimental/ui/app/src/common/modules/form/server/FormServerController.js
+++ 
b/traffic_ops/experimental/ui/app/src/common/modules/form/server/FormServerController.js
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-var FormServerController = function(server, $scope, $location, formUtils, 
stringUtils, locationUtils, cacheGroupService, cdnService, physLocationService, 
profileService, statusService, typeService) {
+var FormServerController = function(server, $scope, $location, $state, 
formUtils, stringUtils, locationUtils, serverService, cacheGroupService, 
cdnService, physLocationService, profileService, statusService, typeService) {
 
     var getPhysLocations = function() {
         physLocationService.getPhysLocations()
@@ -61,6 +61,11 @@ var FormServerController = function(server, $scope, 
$location, formUtils, string
             });
     };
 
+    var refresh = function() {
+        $state.reload(); // reloads all the resolves for the view
+    };
+
+
     // supposedly matches IPv4 and IPv6 formats. but actually need one that 
matches each. todo.
     var ipRegex = new 
RegExp(/^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$|^(([a-zA-Z]|[a-zA-Z][a-zA-Z0-9\-]*[a-zA-Z0-9])\.)*([A-Za-z]|[A-Za-z][A-Za-z0-9\-]*[A-Za-z0-9])$|^\s*((([0-9A-Fa-f]{1,4}:){7}([0-9A-Fa-f]{1,4}|:))|(([0-9A-Fa-f]{1,4}:){6}(:[0-9A-Fa-f]{1,4}|((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){5}(((:[0-9A-Fa-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){4}(((:[0-9A-Fa-f]{1,4}){1,3})|((:[0-9A-Fa-f]{1,4})?:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){3}(((:[0-9A-Fa-f]{1,4}){1,4})|((:[0-9A-Fa-f]{1,4}){0,2}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){2}(((:[0-9A-Fa-f]{1,4}){1,5})|((:[0-9A-Fa-f]{1,4}){0,3}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){
 
3}))|:))|(([0-9A-Fa-f]{1,4}:){1}(((:[0-9A-Fa-f]{1,4}){1,6})|((:[0-9A-Fa-f]{1,4}){0,4}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(:(((:[0-9A-Fa-f]{1,4}){1,7})|((:[0-9A-Fa-f]{1,4}){0,5}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))(%.+)?\s*$/);
 
@@ -101,6 +106,24 @@ var FormServerController = function(server, $scope, 
$location, formUtils, string
         { value: true, label: 'true' }
     ];
 
+    $scope.queueServerUpdates = function(server) {
+        serverService.queueServerUpdates(server.id)
+            .then(
+                function() {
+                    refresh();
+                }
+            );
+    };
+
+    $scope.clearServerUpdates = function(server) {
+        serverService.clearServerUpdates(server.id)
+            .then(
+                function() {
+                    refresh();
+                }
+            );
+    };
+
     $scope.queueUpdates = function() {
         alert('not hooked up yet: queuing updates for server');
     };
@@ -143,5 +166,5 @@ var FormServerController = function(server, $scope, 
$location, formUtils, string
 
 };
 
-FormServerController.$inject = ['server', '$scope', '$location', 'formUtils', 
'stringUtils', 'locationUtils', 'cacheGroupService', 'cdnService', 
'physLocationService', 'profileService', 'statusService', 'typeService'];
+FormServerController.$inject = ['server', '$scope', '$location', '$state', 
'formUtils', 'stringUtils', 'locationUtils', 'serverService', 
'cacheGroupService', 'cdnService', 'physLocationService', 'profileService', 
'statusService', 'typeService'];
 module.exports = FormServerController;

http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/blob/9aeb10ac/traffic_ops/experimental/ui/app/src/common/modules/form/server/form.server.tpl.html
----------------------------------------------------------------------
diff --git 
a/traffic_ops/experimental/ui/app/src/common/modules/form/server/form.server.tpl.html
 
b/traffic_ops/experimental/ui/app/src/common/modules/form/server/form.server.tpl.html
index c14b264..b64dad9 100644
--- 
a/traffic_ops/experimental/ui/app/src/common/modules/form/server/form.server.tpl.html
+++ 
b/traffic_ops/experimental/ui/app/src/common/modules/form/server/form.server.tpl.html
@@ -26,9 +26,8 @@ under the License.
         <div class="pull-right" role="group" ng-show="!settings.isNew">
             <button class="btn btn-danger" ng-click="offlineServer()">Offline 
Server &nbsp;&nbsp;<i class="fa fa-warning"></i></button>
             <!--<button class="btn btn-success" 
ng-click="onlineServer()">Online Server</button>-->
-            <button class="btn btn-primary" ng-show="!server.updPending" 
ng-click="queueUpdates()">Queue Update &nbsp;&nbsp;<i class="fa 
fa-flag"></i></button>
-            <button class="btn btn-primary" ng-show="server.updPending" 
ng-click="dequeueUpdates()">Dequeue Update &nbsp;&nbsp;<i class="fa 
fa-times"></i></button>
-
+            <button class="btn btn-primary" title="Queue {{server.hostName}} 
updates" ng-show="!server.updPending" ng-click="queueServerUpdates(server)"><i 
class="fa fa-flag"></i></button>
+            <button class="btn btn-primary" title="Cancel {{server.hostName}} 
updates" ng-show="server.updPending" ng-click="clearServerUpdates(server)"><i 
class="fa fa-ban"></i></button>
             <div class="btn-group" role="group" uib-dropdown 
is-open="more.isopen">
                 <button type="button" class="btn btn-default dropdown-toggle" 
uib-dropdown-toggle aria-haspopup="true" aria-expanded="false">
                     More

http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/blob/9aeb10ac/traffic_ops/experimental/ui/app/src/common/modules/table/servers/table.servers.tpl.html
----------------------------------------------------------------------
diff --git 
a/traffic_ops/experimental/ui/app/src/common/modules/table/servers/table.servers.tpl.html
 
b/traffic_ops/experimental/ui/app/src/common/modules/table/servers/table.servers.tpl.html
index 4b89b47..df95acd 100644
--- 
a/traffic_ops/experimental/ui/app/src/common/modules/table/servers/table.servers.tpl.html
+++ 
b/traffic_ops/experimental/ui/app/src/common/modules/table/servers/table.servers.tpl.html
@@ -23,8 +23,8 @@ under the License.
             <li class="active">Servers</li>
         </ol>
         <div class="pull-right">
+            <button class="btn btn-primary" title="Create Server" 
ng-click="createServer()"><i class="fa fa-plus"></i></button>
             <button class="btn btn-default" ng-click="refresh()"><i class="fa 
fa-refresh"></i></button>
-            <button class="btn btn-primary" ng-click="createServer()"><i 
class="fa fa-plus"></i>&nbsp;&nbsp; Create Server</button>
             <div class="btn-group" role="group" uib-dropdown 
is-open="more.isopen">
                 <button type="button" class="btn btn-default dropdown-toggle" 
uib-dropdown-toggle aria-haspopup="true" aria-expanded="false">
                     More
@@ -42,7 +42,7 @@ under the License.
         <table id="serversTable" class="table responsive-utilities 
jambo_table">
             <thead>
             <tr class="headings">
-                <th>Update?</th>
+                <th></th>
                 <th>hostName</th>
                 <th>domainName</th>
                 <th>cdn</th>
@@ -59,7 +59,7 @@ under the License.
             </thead>
             <tbody>
             <tr ng-click="editServer(server.id)" ng-repeat="server in servers" 
ng-class="{'active': server.updPending}">
-                <td>{{server.updPending}}</td>
+                <td><i class="fa fa-flag" ng-show="server.updPending"></i></td>
                 <td>{{server.hostName}}</td>
                 <td>{{server.domainName}}</td>
                 <td>{{server.cdnName}}</td>

Reply via email to