TSK-1977: fix setting ownerLongName while claiming
This commit is contained in:
parent
291cc38ea6
commit
8bfb7fae95
|
@ -19,6 +19,7 @@ import org.junit.jupiter.api.TestTemplate;
|
|||
import pro.taskana.classification.api.ClassificationService;
|
||||
import pro.taskana.classification.api.models.ClassificationSummary;
|
||||
import pro.taskana.common.api.BulkOperationResults;
|
||||
import pro.taskana.common.api.TaskanaEngine;
|
||||
import pro.taskana.common.api.exceptions.InvalidArgumentException;
|
||||
import pro.taskana.common.api.exceptions.TaskanaException;
|
||||
import pro.taskana.common.api.security.CurrentUserContext;
|
||||
|
@ -35,8 +36,10 @@ import pro.taskana.testapi.DefaultTestEntities;
|
|||
import pro.taskana.testapi.TaskanaInject;
|
||||
import pro.taskana.testapi.TaskanaIntegrationTest;
|
||||
import pro.taskana.testapi.builder.TaskBuilder;
|
||||
import pro.taskana.testapi.builder.UserBuilder;
|
||||
import pro.taskana.testapi.builder.WorkbasketAccessItemBuilder;
|
||||
import pro.taskana.testapi.security.WithAccessId;
|
||||
import pro.taskana.user.api.UserService;
|
||||
import pro.taskana.workbasket.api.WorkbasketPermission;
|
||||
import pro.taskana.workbasket.api.WorkbasketService;
|
||||
import pro.taskana.workbasket.api.exceptions.MismatchedWorkbasketPermissionException;
|
||||
|
@ -48,6 +51,10 @@ class CompleteTaskAccTest {
|
|||
@TaskanaInject TaskService taskService;
|
||||
@TaskanaInject CurrentUserContext currentUserContext;
|
||||
|
||||
@TaskanaInject UserService userService;
|
||||
|
||||
@TaskanaInject TaskanaEngine taskanaEngine;
|
||||
|
||||
ClassificationSummary defaultClassificationSummary;
|
||||
WorkbasketSummary defaultWorkbasketSummary;
|
||||
ObjectReference defaultObjectReference;
|
||||
|
@ -68,6 +75,11 @@ class CompleteTaskAccTest {
|
|||
.buildAndStore(workbasketService);
|
||||
|
||||
defaultObjectReference = DefaultTestEntities.defaultTestObjectReference().build();
|
||||
|
||||
taskanaEngine.getConfiguration().setAddAdditionalUserInfo(true);
|
||||
UserBuilder user11 = UserBuilder.newUser().id("user-1-1")
|
||||
.longName("Mustermann, Max - (user-1-1)").firstName("Max").lastName("Mustermann");
|
||||
user11.buildAndStore(userService);
|
||||
}
|
||||
|
||||
@WithAccessId(user = "user-1-1")
|
||||
|
@ -246,6 +258,7 @@ class CompleteTaskAccTest {
|
|||
|
||||
assertThat(claimedTask).isNotNull();
|
||||
assertThat(claimedTask.getOwner()).isEqualTo("user-1-1");
|
||||
assertThat(claimedTask.getOwnerLongName()).isEqualTo("Mustermann, Max - (user-1-1)");
|
||||
assertThat(claimedTask.getState()).isEqualTo(TaskState.CLAIMED);
|
||||
assertThat(claimedTask.isRead()).isTrue();
|
||||
assertThat(claimedTask.getClaimed())
|
||||
|
@ -266,6 +279,7 @@ class CompleteTaskAccTest {
|
|||
|
||||
assertThat(claimedTask).isNotNull();
|
||||
assertThat(claimedTask.getOwner()).isEqualTo("user-1-1");
|
||||
assertThat(claimedTask.getOwnerLongName()).isEqualTo("Mustermann, Max - (user-1-1)");
|
||||
assertThat(claimedTask.getState()).isEqualTo(TaskState.CLAIMED);
|
||||
assertThat(claimedTask.isRead()).isTrue();
|
||||
assertThat(claimedTask.getClaimed())
|
||||
|
|
|
@ -1110,13 +1110,24 @@ public class TaskServiceImpl implements TaskService {
|
|||
addErrorToBulkLog(this::checkPreconditionsForCompleteTask, bulkLog));
|
||||
} else {
|
||||
String userId = taskanaEngine.getEngine().getCurrentUserContext().getUserid();
|
||||
String userLongName;
|
||||
if (taskanaEngine.getEngine().getConfiguration().getAddAdditionalUserInfo()) {
|
||||
User user = userMapper.findById(userId);
|
||||
if (user != null) {
|
||||
userLongName = user.getLongName();
|
||||
} else {
|
||||
userLongName = null;
|
||||
}
|
||||
} else {
|
||||
userLongName = null;
|
||||
}
|
||||
filteredSummaries =
|
||||
filteredSummaries.filter(
|
||||
addErrorToBulkLog(
|
||||
summary -> {
|
||||
if (taskIsNotClaimed(summary)) {
|
||||
checkPreconditionsForClaimTask(summary, true);
|
||||
claimActionsOnTask(summary, userId, now);
|
||||
claimActionsOnTask(summary, userId, userLongName, now);
|
||||
}
|
||||
},
|
||||
bulkLog));
|
||||
|
@ -1208,6 +1219,13 @@ public class TaskServiceImpl implements TaskService {
|
|||
throws TaskNotFoundException, InvalidStateException, InvalidOwnerException,
|
||||
NotAuthorizedException {
|
||||
String userId = taskanaEngine.getEngine().getCurrentUserContext().getUserid();
|
||||
String userLongName = null;
|
||||
if (taskanaEngine.getEngine().getConfiguration().getAddAdditionalUserInfo()) {
|
||||
User user = userMapper.findById(userId);
|
||||
if (user != null) {
|
||||
userLongName = user.getLongName();
|
||||
}
|
||||
}
|
||||
TaskImpl task;
|
||||
try {
|
||||
taskanaEngine.openConnection();
|
||||
|
@ -1217,7 +1235,7 @@ public class TaskServiceImpl implements TaskService {
|
|||
Instant now = Instant.now();
|
||||
|
||||
checkPreconditionsForClaimTask(task, forceClaim);
|
||||
claimActionsOnTask(task, userId, now);
|
||||
claimActionsOnTask(task, userId, userLongName, now);
|
||||
taskMapper.update(task);
|
||||
if (LOGGER.isDebugEnabled()) {
|
||||
LOGGER.debug("Task '{}' claimed by user '{}'.", taskId, userId);
|
||||
|
@ -1339,8 +1357,10 @@ public class TaskServiceImpl implements TaskService {
|
|||
return task;
|
||||
}
|
||||
|
||||
private static void claimActionsOnTask(TaskSummaryImpl task, String userId, Instant now) {
|
||||
private static void claimActionsOnTask(
|
||||
TaskSummaryImpl task, String userId, String userLongName, Instant now) {
|
||||
task.setOwner(userId);
|
||||
task.setOwnerLongName(userLongName);
|
||||
task.setModified(now);
|
||||
task.setClaimed(now);
|
||||
task.setRead(true);
|
||||
|
|
Loading…
Reference in New Issue