From c0a35610ccb95a45a5074a325e1307ff71d933d7 Mon Sep 17 00:00:00 2001 From: Stanislav Jamrich Date: Mon, 5 Sep 2016 18:56:48 +0200 Subject: [PATCH] Yangman - fix delete operation - do not remove request content when performing delete operation Change-Id: Ib7a3bb1ed81d76ae766be0a6c7c439937d6355a3 Signed-off-by: Stanislav Jamrich --- .../controllers/request-header.controller.js | 28 +++++++++++++++---- .../yangman/controllers/yangman.controller.js | 1 + .../yangman/services/yangman.services.js | 23 +++++++++++---- 3 files changed, 40 insertions(+), 12 deletions(-) diff --git a/modules/yangman-resources/src/main/resources/yangman/controllers/request-header.controller.js b/modules/yangman-resources/src/main/resources/yangman/controllers/request-header.controller.js index f6e593a0..79ea725c 100644 --- a/modules/yangman-resources/src/main/resources/yangman/controllers/request-header.controller.js +++ b/modules/yangman-resources/src/main/resources/yangman/controllers/request-header.controller.js @@ -286,6 +286,12 @@ define([ }); } + /** + * Try to set current (depending on url) selectedApi and selectedSubApi to $scope if it exists in api tree data + * @param url + * @param cbk + * @param fill + */ function setApiByUrl(url, cbk, fill){ $scope.rootBroadcast(constants.YANGMAN_GET_API_TREE_DATA, null, function (treeApis) { var apisIndexes = @@ -352,18 +358,28 @@ define([ requestHeader.selectedShownDataType === constants.DISPLAY_TYPE_FORM && $scope.selectedSubApi ? !PathUtilsService.checkEmptyIdentifiers($scope.selectedSubApi.pathArray) : true; + if ( allowExecuteOperation ) { showRequestProgress(); - setRequestUrl(requestHeader.selectedShownDataType === constants.DISPLAY_TYPE_REQ_DATA ? requestHeader.requestUrl : null); $scope.rootBroadcast(constants.YANGMAN_SET_ERROR_MESSAGE, ''); - if ( requestHeader.selectedShownDataType !== constants.DISPLAY_TYPE_FORM ){ + setRequestUrl( + requestHeader.selectedShownDataType === constants.DISPLAY_TYPE_REQ_DATA ? + requestHeader.requestUrl : + null + ); + if ( requestHeader.selectedShownDataType === constants.DISPLAY_TYPE_REQ_DATA ){ setApiByUrl(requestHeader.requestUrl, null, true); } - var historyReq = RequestService.createHistoryRequest(null, null, requestHeader.requestUrl, - requestHeader.selectedOperation, '', '', ''); + var historyReq = RequestService.createHistoryRequest( + null, + null, + requestHeader.requestUrl, + requestHeader.selectedOperation, + '', '', '' + ); YangmanService.executeRequestOperation( $scope.selectedApi, @@ -391,6 +407,7 @@ define([ * @param response */ function executeReqSuccCbk(reqInfo, response) { + var preparedReceivedData = YangmanService.prepareReceivedData( $scope.node, requestHeader.selectedOperation, @@ -412,7 +429,7 @@ define([ sendRequestData(reqInfo.requestSrcData || {}, 'SENT'); } else { - if ($scope.node){ + if ($scope.node && requestHeader.selectedOperation !== constants.OPERATION_DELETE){ YangmanService.fillNodeFromResponse($scope.node, preparedReceivedData); YangmanService.handleNodeIdentifier( @@ -444,7 +461,6 @@ define([ (executeCbk || angular.noop)(historyReq); - } /** diff --git a/modules/yangman-resources/src/main/resources/yangman/controllers/yangman.controller.js b/modules/yangman-resources/src/main/resources/yangman/controllers/yangman.controller.js index 907b6e33..571b1a51 100644 --- a/modules/yangman-resources/src/main/resources/yangman/controllers/yangman.controller.js +++ b/modules/yangman-resources/src/main/resources/yangman/controllers/yangman.controller.js @@ -231,6 +231,7 @@ define([ /** * Set global necessary params * @param apis + * @param augmentations */ function setGlobalParams(apis, augmentations){ $scope.apis = apis; diff --git a/modules/yangman-resources/src/main/resources/yangman/services/yangman.services.js b/modules/yangman-resources/src/main/resources/yangman/services/yangman.services.js index 6ff2979c..5be603d0 100644 --- a/modules/yangman-resources/src/main/resources/yangman/services/yangman.services.js +++ b/modules/yangman-resources/src/main/resources/yangman/services/yangman.services.js @@ -225,8 +225,19 @@ define([], function () { * @param requestUrl * @param requestData * @param params - * @returns {{customRestangular: null, headers: {}, operation: string, reqString: string, reqHeaders: {}, - * reqData: {}}} + * @returns { + * { + * customRestangular: null, + * headers: {}, + * operation: string, + * reqString: string, + * reqHeaders: {}, + * reqData: string, + * srcData: string, + * reqFullUrl: + * string + * } + * } */ function prepareAllRequestData(selectedApi, selectedSubApi, operation, node, dataType, requestUrl, requestData, params) { @@ -246,7 +257,7 @@ define([], function () { setParametrizedData(allPreparedData, params, selSubApiCopy, requestUrl); // prepare req data - if (operation === constants.OPERATION_GET || operation === constants.OPERATION_DELETE){ + if (operation === constants.OPERATION_GET){ allPreparedData.srcData = null; allPreparedData.reqData = null; } @@ -309,9 +320,9 @@ define([], function () { YangUtilsRestangularService.setFullResponse(true); - // prepare all necessary data - var allPreparedData = prepareAllRequestData(selectedApi, selectedSubApi, operation, node, dataType, - requestUrl, requestData, params); + var allPreparedData = prepareAllRequestData( + selectedApi, selectedSubApi, operation, node, dataType, requestUrl, requestData, params + ); // executing operation allPreparedData.customRestangular.customOperation( -- 2.36.6