You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@trafficcontrol.apache.org by mi...@apache.org on 2018/06/20 18:35:54 UTC

[trafficcontrol] branch master updated: Filter the list of potential Steering Targets in Traffic Portal

This is an automated email from the ASF dual-hosted git repository.

mitchell852 pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/trafficcontrol.git


The following commit(s) were added to refs/heads/master by this push:
     new e99a0ff  Filter the list of potential Steering Targets in Traffic Portal
e99a0ff is described below

commit e99a0ff50e5dc33049982e056fb4f6fb069726c8
Author: Rawlin Peters <ra...@comcast.com>
AuthorDate: Wed Jun 20 11:13:22 2018 -0600

    Filter the list of potential Steering Targets in Traffic Portal
    
    The old Perl UI lists HTTP-type DSes belonging to the same CDN as the
    Steering DS that aren't already targets, and this makes Traffic Portal
    do the same thing.
---
 .../FormDeliveryServiceTargetController.js                     | 10 ++++++----
 .../edit/FormEditDeliveryServiceTargetController.js            |  6 +++---
 .../new/FormNewDeliveryServiceTargetController.js              |  6 +++---
 .../src/modules/private/deliveryServices/targets/edit/index.js |  3 +++
 .../src/modules/private/deliveryServices/targets/new/index.js  |  3 +++
 5 files changed, 18 insertions(+), 10 deletions(-)

diff --git a/traffic_portal/app/src/common/modules/form/deliveryServiceTarget/FormDeliveryServiceTargetController.js b/traffic_portal/app/src/common/modules/form/deliveryServiceTarget/FormDeliveryServiceTargetController.js
index a01526c..b2ab1ad 100644
--- a/traffic_portal/app/src/common/modules/form/deliveryServiceTarget/FormDeliveryServiceTargetController.js
+++ b/traffic_portal/app/src/common/modules/form/deliveryServiceTarget/FormDeliveryServiceTargetController.js
@@ -17,12 +17,14 @@
  * under the License.
  */
 
-var FormDeliveryServiceTargetController = function(deliveryService, target, $scope, formUtils, locationUtils, deliveryServiceService, typeService) {
+var FormDeliveryServiceTargetController = function(deliveryService, currentTargets, target, $scope, formUtils, locationUtils, deliveryServiceService, typeService) {
 
 	var getDeliveryServices = function() {
-		deliveryServiceService.getDeliveryServices()
+		deliveryServiceService.getDeliveryServices({ cdn: deliveryService.cdnId })
 			.then(function(result) {
-				$scope.deliveryServices = result;
+				$scope.deliveryServices = _.filter(result, function(ds) {
+					return ds.type.startsWith('HTTP') && _.findWhere(currentTargets, {targetId: ds.id}) == undefined;
+				});
 			});
 	};
 
@@ -53,5 +55,5 @@ var FormDeliveryServiceTargetController = function(deliveryService, target, $sco
 
 };
 
-FormDeliveryServiceTargetController.$inject = ['deliveryService', 'target', '$scope', 'formUtils', 'locationUtils', 'deliveryServiceService', 'typeService'];
+FormDeliveryServiceTargetController.$inject = ['deliveryService', 'currentTargets', 'target', '$scope', 'formUtils', 'locationUtils', 'deliveryServiceService', 'typeService'];
 module.exports = FormDeliveryServiceTargetController;
diff --git a/traffic_portal/app/src/common/modules/form/deliveryServiceTarget/edit/FormEditDeliveryServiceTargetController.js b/traffic_portal/app/src/common/modules/form/deliveryServiceTarget/edit/FormEditDeliveryServiceTargetController.js
index 77ffa8b..4be2219 100644
--- a/traffic_portal/app/src/common/modules/form/deliveryServiceTarget/edit/FormEditDeliveryServiceTargetController.js
+++ b/traffic_portal/app/src/common/modules/form/deliveryServiceTarget/edit/FormEditDeliveryServiceTargetController.js
@@ -17,10 +17,10 @@
  * under the License.
  */
 
-var FormEditDeliveryServiceTargetController = function(deliveryService, target, $scope, $controller, $uibModal, $anchorScroll, locationUtils, deliveryServiceService) {
+var FormEditDeliveryServiceTargetController = function(deliveryService, currentTargets, target, $scope, $controller, $uibModal, $anchorScroll, locationUtils, deliveryServiceService) {
 
 	// extends the FormDeliveryServiceTargetController to inherit common methods
-	angular.extend(this, $controller('FormDeliveryServiceTargetController', { deliveryService: deliveryService, target: target, $scope: $scope }));
+	angular.extend(this, $controller('FormDeliveryServiceTargetController', { deliveryService: deliveryService, currentTargets: currentTargets, target: target, $scope: $scope }));
 
 	var deleteTarget = function(target) {
 		deliveryServiceService.deleteDeliveryServiceTarget(target.deliveryServiceId, target.targetId)
@@ -65,5 +65,5 @@ var FormEditDeliveryServiceTargetController = function(deliveryService, target,
 
 };
 
-FormEditDeliveryServiceTargetController.$inject = ['deliveryService', 'target', '$scope', '$controller', '$uibModal', '$anchorScroll', 'locationUtils', 'deliveryServiceService'];
+FormEditDeliveryServiceTargetController.$inject = ['deliveryService', 'currentTargets', 'target', '$scope', '$controller', '$uibModal', '$anchorScroll', 'locationUtils', 'deliveryServiceService'];
 module.exports = FormEditDeliveryServiceTargetController;
diff --git a/traffic_portal/app/src/common/modules/form/deliveryServiceTarget/new/FormNewDeliveryServiceTargetController.js b/traffic_portal/app/src/common/modules/form/deliveryServiceTarget/new/FormNewDeliveryServiceTargetController.js
index 581909b..b3f2dd0 100644
--- a/traffic_portal/app/src/common/modules/form/deliveryServiceTarget/new/FormNewDeliveryServiceTargetController.js
+++ b/traffic_portal/app/src/common/modules/form/deliveryServiceTarget/new/FormNewDeliveryServiceTargetController.js
@@ -17,10 +17,10 @@
  * under the License.
  */
 
-var FormNewDeliveryServiceTargetController = function(deliveryService, target, $scope, $controller, deliveryServiceService) {
+var FormNewDeliveryServiceTargetController = function(deliveryService, currentTargets, target, $scope, $controller, deliveryServiceService) {
 
 	// extends the FormDeliveryServiceTargetController to inherit common methods
-	angular.extend(this, $controller('FormDeliveryServiceTargetController', { deliveryService: deliveryService, target: target, $scope: $scope }));
+	angular.extend(this, $controller('FormDeliveryServiceTargetController', { deliveryService: deliveryService, currentTargets: currentTargets, target: target, $scope: $scope }));
 
 	$scope.targetName = 'New';
 
@@ -35,5 +35,5 @@ var FormNewDeliveryServiceTargetController = function(deliveryService, target, $
 
 };
 
-FormNewDeliveryServiceTargetController.$inject = ['deliveryService', 'target', '$scope', '$controller', 'deliveryServiceService'];
+FormNewDeliveryServiceTargetController.$inject = ['deliveryService', 'currentTargets', 'target', '$scope', '$controller', 'deliveryServiceService'];
 module.exports = FormNewDeliveryServiceTargetController;
diff --git a/traffic_portal/app/src/modules/private/deliveryServices/targets/edit/index.js b/traffic_portal/app/src/modules/private/deliveryServices/targets/edit/index.js
index 3f67710..2bb3b98 100644
--- a/traffic_portal/app/src/modules/private/deliveryServices/targets/edit/index.js
+++ b/traffic_portal/app/src/modules/private/deliveryServices/targets/edit/index.js
@@ -30,6 +30,9 @@ module.exports = angular.module('trafficPortal.private.deliveryServices.targets.
 							deliveryService: function($stateParams, deliveryServiceService) {
 								return deliveryServiceService.getDeliveryService($stateParams.deliveryServiceId);
 							},
+							currentTargets: function() {
+								return [];
+							},
 							target: function($stateParams, deliveryServiceService) {
 								return deliveryServiceService.getDeliveryServiceTarget($stateParams.deliveryServiceId, $stateParams.targetId);
 							}
diff --git a/traffic_portal/app/src/modules/private/deliveryServices/targets/new/index.js b/traffic_portal/app/src/modules/private/deliveryServices/targets/new/index.js
index 8a957c1..5579f55 100644
--- a/traffic_portal/app/src/modules/private/deliveryServices/targets/new/index.js
+++ b/traffic_portal/app/src/modules/private/deliveryServices/targets/new/index.js
@@ -30,6 +30,9 @@ module.exports = angular.module('trafficPortal.private.deliveryServices.targets.
 							deliveryService: function($stateParams, deliveryServiceService) {
 								return deliveryServiceService.getDeliveryService($stateParams.deliveryServiceId);
 							},
+							currentTargets: function($stateParams, deliveryServiceService) {
+								return deliveryServiceService.getDeliveryServiceTargets($stateParams.deliveryServiceId);
+							},
 							target: function(deliveryService) {
 								return {
 									deliveryServiceId: deliveryService.id