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

rawlin 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 eff7c18  TP: do not mark DSR (ds request) complete if ds update fails 
due to validation error (#5198)
eff7c18 is described below

commit eff7c18fd31d861e0a8e83781dacccb387b3dc05
Author: Jeremy Mitchell <[email protected]>
AuthorDate: Mon Oct 26 16:39:44 2020 -0600

    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 8d61122..17afded 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 ceef853..26fa786 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);

Reply via email to