From 55e8135cc8a766a0869611f067490bec98a51d7c Mon Sep 17 00:00:00 2001 From: Jose Ignacio Recuerda Cambil Date: Mon, 15 Oct 2018 17:25:34 +0200 Subject: [PATCH] TSK-733 - Modify response deleteWorkbasket --- .../taskana/impl/WorkbasketServiceImpl.java | 4 ++-- .../workbasket/DeleteWorkbasketAccTest.java | 3 ++- .../taskana/rest/WorkbasketController.java | 5 +---- .../workbasket-information.component.ts | 21 +++++++++---------- .../http-client-interceptor.service.ts | 5 +---- 5 files changed, 16 insertions(+), 22 deletions(-) diff --git a/lib/taskana-core/src/main/java/pro/taskana/impl/WorkbasketServiceImpl.java b/lib/taskana-core/src/main/java/pro/taskana/impl/WorkbasketServiceImpl.java index 7ab4b0f6e..f50ecd999 100644 --- a/lib/taskana-core/src/main/java/pro/taskana/impl/WorkbasketServiceImpl.java +++ b/lib/taskana-core/src/main/java/pro/taskana/impl/WorkbasketServiceImpl.java @@ -754,10 +754,10 @@ public class WorkbasketServiceImpl implements WorkbasketService { if (numTasksInWorkbasket == 0) { workbasketMapper.delete(workbasketId); - return false; + return true; } else { markWorkbasketForDeletion(workbasketId); - return true; + return false; } } finally { taskanaEngine.returnConnection(); diff --git a/lib/taskana-core/src/test/java/acceptance/workbasket/DeleteWorkbasketAccTest.java b/lib/taskana-core/src/test/java/acceptance/workbasket/DeleteWorkbasketAccTest.java index 1a2628ab7..cee0bcbdf 100644 --- a/lib/taskana-core/src/test/java/acceptance/workbasket/DeleteWorkbasketAccTest.java +++ b/lib/taskana-core/src/test/java/acceptance/workbasket/DeleteWorkbasketAccTest.java @@ -2,6 +2,7 @@ package acceptance.workbasket; import static org.hamcrest.core.IsEqual.equalTo; import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertThat; import static org.junit.Assert.assertTrue; import static org.junit.Assert.fail; @@ -213,7 +214,7 @@ public class DeleteWorkbasketAccTest extends AbstractAccTest { taskService.forceCompleteTask(task.getId()); markedForDeletion = workbasketService.deleteWorkbasket(wb.getId()); - assertTrue(markedForDeletion); + assertFalse(markedForDeletion); wb = workbasketService.getWorkbasket(wb.getId()); assertTrue(wb.isMarkedForDeletion()); diff --git a/rest/taskana-rest-spring/src/main/java/pro/taskana/rest/WorkbasketController.java b/rest/taskana-rest-spring/src/main/java/pro/taskana/rest/WorkbasketController.java index 2c0c8899e..721d3cd94 100644 --- a/rest/taskana-rest-spring/src/main/java/pro/taskana/rest/WorkbasketController.java +++ b/rest/taskana-rest-spring/src/main/java/pro/taskana/rest/WorkbasketController.java @@ -146,10 +146,7 @@ public class WorkbasketController extends AbstractPagingController { public ResponseEntity markWorkbasketForDeletion(@PathVariable(value = "workbasketId") String workbasketId) throws NotAuthorizedException, InvalidArgumentException, WorkbasketNotFoundException, WorkbasketInUseException { - if (!workbasketService.deleteWorkbasket(workbasketId)) { - return new ResponseEntity<>("It not possible to mark the workbasket for deletion", HttpStatus.BAD_REQUEST); - } - return ResponseEntity.status(HttpStatus.ACCEPTED).build(); + return new ResponseEntity<>(workbasketService.deleteWorkbasket(workbasketId), HttpStatus.ACCEPTED); } @PostMapping diff --git a/web/src/app/administration/workbasket/details/information/workbasket-information.component.ts b/web/src/app/administration/workbasket/details/information/workbasket-information.component.ts index 4766eee49..913e47680 100644 --- a/web/src/app/administration/workbasket/details/information/workbasket-information.component.ts +++ b/web/src/app/administration/workbasket/details/information/workbasket-information.component.ts @@ -278,18 +278,17 @@ export class WorkbasketInformationComponent response => { this.requestInProgressService.setRequestInProgress(false); this.workbasketService.triggerWorkBasketSaved(); - this.alertService.triggerAlert( - new AlertModel( - AlertType.SUCCESS, - 'The Workbasket ' + - this.workbasket.workbasketId + - ' has been marked for deletion' - ) - ); + if (response) { + this.errorModalService.triggerError( + new ErrorModel('There was an error marking workbasket for deletion', + 'It not possible to mark the workbasket for deletion, It has been deleted.') + ); + } else { + this.alertService.triggerAlert( + new AlertModel(AlertType.SUCCESS, 'The Workbasket ' + this.workbasket.workbasketId + ' has been marked for deletion') + ); + } this.router.navigate(['administration/workbaskets']); - }, - error => { - this.requestInProgressService.setRequestInProgress(false); } ); } diff --git a/web/src/app/shared/services/httpClientInterceptor/http-client-interceptor.service.ts b/web/src/app/shared/services/httpClientInterceptor/http-client-interceptor.service.ts index 886485df8..d19ea79a2 100644 --- a/web/src/app/shared/services/httpClientInterceptor/http-client-interceptor.service.ts +++ b/web/src/app/shared/services/httpClientInterceptor/http-client-interceptor.service.ts @@ -30,10 +30,7 @@ export class HttpClientInterceptor implements HttpInterceptor { new ErrorModel('You have no access to this resource ', error)); } else if (error instanceof HttpErrorResponse && (error.status === 404) && error.url.indexOf('environment-information.json')) { // ignore this error message - } if (error.status === 400 && error.error.indexOf('mark')) { - this.errorModalService.triggerError( - new ErrorModel('There was error marking workbasket for deletion', error.error)) - } else { + } else { this.errorModalService.triggerError( new ErrorModel('There was error, please contact with your administrator ', error)) }