From eff7c18fd31d861e0a8e83781dacccb387b3dc05 Mon Sep 17 00:00:00 2001 From: Jeremy Mitchell Date: Mon, 26 Oct 2020 16:39:44 -0600 Subject: [PATCH] TP: do not mark DSR (ds request) complete if ds update fails due to validation error (#5198) * do not mark dsr complete is ds update fails due to validation error * adds CHANGELOG.md entry * updates comment --- CHANGELOG.md | 1 + .../edit/FormEditDeliveryServiceController.js | 17 ++++++++++++----- 2 files changed, 13 insertions(+), 5 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 8d61122d65..17afded0d6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -71,6 +71,7 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/). - Added default sort logic to GET API calls using Read() ### Fixed +- Fixed #5188 - DSR (delivery service request) incorrectly marked as complete and error message not displaying when DSR fulfilled and DS update fails in Traffic Portal. [Related Github issues](https://github.com/apache/trafficcontrol/issues/5188) - Fixed #3455 - Alphabetically sorting CDN Read API call [Related Github issues](https://github.com/apache/trafficcontrol/issues/3455) - Fixed #5010 - Fixed Reference urls for Cache Config on Delivery service pages (HTTP, DNS) in Traffic Portal. [Related Github issues](https://github.com/apache/trafficcontrol/issues/5010) - Fixed #5147 - GET /servers?dsId={id} should only return mid servers (in addition to edge servers) for the cdn of the delivery service if the mid tier is employed. [Related github issues](https://github.com/apache/trafficcontrol/issues/5147) diff --git a/traffic_portal/app/src/common/modules/form/deliveryService/edit/FormEditDeliveryServiceController.js b/traffic_portal/app/src/common/modules/form/deliveryService/edit/FormEditDeliveryServiceController.js index ceef853fbf..26fa78626f 100644 --- a/traffic_portal/app/src/common/modules/form/deliveryService/edit/FormEditDeliveryServiceController.js +++ b/traffic_portal/app/src/common/modules/form/deliveryService/edit/FormEditDeliveryServiceController.js @@ -149,8 +149,8 @@ var FormEditDeliveryServiceController = function(deliveryService, origin, topolo if (autoFulfilled) { // assign the ds request promises.push(deliveryServiceRequestService.assignDeliveryServiceRequest(response.id, userModel.user.id)); - // set the status to 'complete' - promises.push(deliveryServiceRequestService.updateDeliveryServiceRequestStatus(response.id, 'complete')); + // set the status to 'submitted' + promises.push(deliveryServiceRequestService.updateDeliveryServiceRequestStatus(response.id, 'submitted')); } } ); @@ -234,13 +234,20 @@ var FormEditDeliveryServiceController = function(deliveryService, origin, topolo deliveryServiceService.updateDeliveryService(deliveryService). then( function() { + // upon successful update of ds, set the dsr to 'complete' + deliveryServiceRequestService.getDeliveryServiceRequests({ xmlId: deliveryService.xmlId, status: 'submitted' }).then( + function(response) { + deliveryServiceRequestService.updateDeliveryServiceRequestStatus(response[0].id, 'complete'); + } + ); $state.reload(); // reloads all the resolves for the view messageModel.setMessages([ { level: 'success', text: 'Delivery Service [ ' + deliveryService.xmlId + ' ] updated' } ], false); } ).catch(function(fault) { - $anchorScroll(); // scrolls window to top - messageModel.setMessages(fault.data.alerts, false); - }); + // if the ds update fails, send to dsr view w/ error message + locationUtils.navigateToPath('/delivery-service-requests'); + messageModel.setMessages(fault.data.alerts, true); + }); }).catch(function(fault) { $anchorScroll(); // scrolls window to top messageModel.setMessages(fault.data.alerts, false);